DE102017101491A1 - Over-the-air trigger zu fahrzeugabfrageaktualisierungen - Google Patents

Over-the-air trigger zu fahrzeugabfrageaktualisierungen Download PDF

Info

Publication number
DE102017101491A1
DE102017101491A1 DE102017101491.8A DE102017101491A DE102017101491A1 DE 102017101491 A1 DE102017101491 A1 DE 102017101491A1 DE 102017101491 A DE102017101491 A DE 102017101491A DE 102017101491 A1 DE102017101491 A1 DE 102017101491A1
Authority
DE
Germany
Prior art keywords
vehicle
updates
service delivery
network
delivery network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017101491.8A
Other languages
English (en)
Inventor
John Naum Vangelov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102017101491A1 publication Critical patent/DE102017101491A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Ein Fahrzeug kann sich bei einem Thema eines Themenbaums anmelden, das durch einen Message Broker verwaltet wird und mit dem Fahrzeug verbunden ist. Das Fahrzeug kann ein Abfrageprotokoll an ein Dienstbereitstellungsnetzwerk senden, das Konfigurationsinformationen des Fahrzeugs spezifiziert, die ansprechend auf eine Triggernachricht erzeugt wurden, die zu dem Thema durch das Netzwerk veröffentlicht wurde, und ein Manifest abrufen, das Netzwerkadressen von Aktualisierungen anzeigt, die durch das Netzwerk vom Abfrageprotokoll bestimmt wurden.

Description

  • TECHNISCHES GEBIET
  • Die veranschaulichenden Ausführungsformen betreffen generell ein Verfahren und eine Vorrichtung, um ansprechend auf einen veröffentlichten Over-the-air-Trigger Overthe-air-Softwareaktualisierungen auszuführen, um eine Fahrzeugabfrage auszuführen.
  • ALLGEMEINER STAND DER TECHNIK
  • Um eine Softwareversion einer Komponente eines Fahrzeugs zu aktualisieren, kann das Fahrzeug zu einem Händler gefahren und von einem Techniker gewartet werden. Der Techniker kann ein System einsetzen, das die individuellen Softwareebenen jeder Komponente im Fahrzeug sowie verfügbare Softwareaktualisierungen nachverfolgt. Der Techniker kann die Softwareaktualisierungen, die vom System angezeigt werden, manuell anwenden und kann jegliche Änderungen wiederum im System aufzeichnen.
  • Over-the-air-(OTA)-Softwareaktualisierungen sind eine Technik, durch welche die Software eines Fahrzeugs über eine drahtlose Verbindung aktualisiert werden kann. Unter Verwendung eines eingebetteten Modems oder einer anderen drahtlosen Datenverbindung zum Fahrzeug, ermöglichen OTA-Aktualisierungen Softwareänderungen in elektronischen Fahrzeugsteuergeräten (ECUs) ohne einen Händlerbesuch.
  • KURZDARSTELLUNG
  • Bei einer ersten veranschaulichenden Ausführungsform umfasst ein System ein Fahrzeug, das zu einem Thema angemeldet ist, das durch einen Message Broker verwaltet wird und mit dem Fahrzeug verbunden ist, mindestens eine Steuerung, die programmiert ist, Abfrageprotokollspezifizierungskonfigurationsinformationen des Fahrzeugs ansprechend auf eine Triggernachricht, die zu dem Thema durch den Server veröffentlicht wurde, an einen Dienstbereitstellungsnetzwerkserver zu senden und ein Manifest abzurufen, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt wurden.
  • Bei einer zweiten veranschaulichenden Ausführungsform umfasst ein Verfahren das Empfangen einer Nachricht durch einen Fahrzeugprozessor, die durch ein Dienstbereitstellungsnetzwerk zu einem Thema veröffentlicht wurde, das durch einen Message Broker verwaltet wird und mit einem Fahrzeug verbunden ist, das Fahrzeugaktualisierungsverfügbarkeit anzeigt; das Erzeugen eines Abfrageprotokolls, das ansprechend auf das Empfangen der Nachricht Fahrzeugausstattungsinformationen spezifiziert; das Senden des Abfrageprotokolls an das Dienstbereitstellungsnetzwerk; und das Abrufen eines Manifests, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt wurden.
  • Bei einer dritten veranschaulichenden Ausführungsform umfasst ein nicht flüchtiges computerlesbares Medium Befehle, die bei Ausführung durch ein Computersystem eines Fahrzeugs das Fahrzeug veranlassen, ein Manifest von Dienstbereitstellungsnetzwerkadressen für Aktualisierungen abzurufen, die durch einen Webserver bedient werden, wobei die Aktualisierungen basierend auf einem Protokoll mit Fahrzeugausstattungsinformationen ausgewählt werden, die durch das Fahrzeugcomputersystem als Reaktion auf das Empfangen einer Nachricht kompiliert wurden, die zu einem fahrzeugangemeldeten Thema veröffentlicht wurde, das durch einen Message Broker verwaltet wird, der Fahrzeugaktualisierungsverfügbarkeit anzeigt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht eine beispielhafte Blocktopologie für eine fahrzeugbasierte Computerplattform;
  • 2 veranschaulicht ein beispielhaftes Dienstbereitstellungsnetzwerk, das über das Netzwerk mit einem Fahrzeug mit einem konfigurierbaren Modul in Kommunikation ist;
  • Die 3A und 3B veranschaulichen beispielhafte Kommunikationsnachrichtenflüsse zwischen dem Fahrzeug und dem Dienstbereitstellungsnetzwerk über den Message Broker;
  • 4 veranschaulicht einen beispielhaften Themenbaum zur Verwendung bei einer fahrzeugbasierten Computerplattform zur Dienstbereitstellungsnetzwerkkommunikation; und
  • 5 veranschaulicht einen beispielhaften Prozess zum Aktualisieren von Software der Computerplattform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie erforderlich werden detaillierte Ausführungsformen der vorliegenden Erfindung hierin offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen verkörpert werden kann. Die Figuren sind nicht unbedingt maßstäblich; einige Merkmale können übertrieben dargestellt oder minimiert sein, um Details von bestimmten Komponenten zu zeigen. Deshalb sollen hier offenbarte spezielle strukturelle und funktionelle Details nicht als begrenzend, sondern lediglich als eine repräsentative Basis für das Lehren eines Fachmanns interpretiert werden, um die vorliegende Erfindung verschiedenartig einzusetzen.
  • Ein Softwareaktualisierungssystem kann ein Veröffentlichungs-/Anmeldemodell verwenden, um Nachrichten zu und von Fahrzeugen zu veröffentlichen. Das Veröffentlichungs-/Anmeldemodell kann Themen verwenden, die auch als logische Kanäle bekannt sind, durch die Veröffentlicher Nachrichten senden und Teilnehmer Nachrichten empfangen können. In einigen Fällen kann ein Fahrzeug ein Veröffentlicher sein und kann Fahrzeugbenachrichtigungen an ein Dienstbereitstellungsnetzwerk senden, kann auf Befehle vom Dienstbereitstellungsnetzwerk ansprechen oder das Dienstbereitstellungsnetzwerk über einen Fahrzeugkonnektivitätsstatus benachrichtigen. In anderen Fällen kann ein Fahrzeug ein Teilnehmer sein und kann Steuerungsnachrichten oder Hinweise über verfügbare Softwareaktualisierungen von einem Dienstbereitstellungsnetzwerk empfangen.
  • Es kann eine Themenbaumstruktur verwendet werden, um eine Struktur der Themen und Unterthemen zu definieren, die beim Senden von Nachrichten zwischen den Fahrzeugen und dem Dienstbereitstellungsnetzwerk verwendet werden. Eine Computerplattform des Fahrzeugs kann sich bei Knoten des Themenbaums anmelden, die der installierten Software-/Firmwareversion von einem oder mehreren innerhalb des Fahrzeugs beinhalteten Modulen entsprechen. Diese Module, können als ein Beispiel eine Telematikeinheit (TCU) umfassen.
  • Ein Dienstbereitstellungsnetzwerk kann eine Benachrichtigung über eine Softwareaktualisierung von einem Veröffentlicher empfangen. Die Benachrichtigung kann darin resultieren, dass das Dienstbereitstellungsnetzwerk eine Triggerbenachrichtigung in einem Themenknoten veröffentlicht, der einem Fahrzeug, das zu aktualisieren ist, oder einer Version der zu aktualisierenden Software entspricht. Das Dienstbereitstellungsnetzwerk kann weiter die Softwareaktualisierungbinärdatei auf einem Webserver bei einer für die Aktualisierung spezifischen Webadresse veröffentlichen. Der Veröffentlicher kann ein entfernter Originalhersteller-(OEM)-Server oder ein Drittparteisoftwareprovider sein.
  • Das Fahrzeug kann basierend auf dem Empfang der Triggernachricht-Benachrichtigung im Themenbaum ein Abfrageprotokoll erzeugen, das anzeigt, dass Aktualisierungen verfügbar sind. Das Abfrageprotokoll kann Versionsinformationen von mindestens einem Hardware- oder Softwaremodul umfassen, das im Fahrzeug installiert ist, und kann verwendet werden, um zu bestimmen, welche Module zu aktualisieren sind. Das Abfrageprotokoll kann Informationen umfassen, die gemäß einer Datenbezeichnerliste kompiliert sind, die definiert, welche Informationen im Abfrageprotokoll einzuschließen sind und wo sich diese Informationen in der aktiven Softwareinstallation befinden.
  • Das Fahrzeug kann konfiguriert sein, das Abfrageprotokoll an das Dienstbereitstellungsnetzwerk zu senden. Bei einem Beispiel kann das Fahrzeug das Abfrageprotokoll an eine Adresse des Dienstbereitstellungsnetzwerks über eine sichere Hyper-Text Transport Protocol-(HTTPS)-Verbindung senden. Das Dienstbereitstellungsnetzwerk kann das Abfrageprotokoll empfangen und dem Fahrzeug mit einem Manifest basierend auf den im bereitgestellten Abfrageprotokoll beinhalteten Informationen antworten. Das Manifest kann Webserverstandorte von mindestens einer Softwareaktualisierung anzeigen, die durch das Fahrzeug zu installieren ist, und kann über HTTPS zurück an das Fahrzeug bereitgestellt werden.
  • Basierend auf dem Manifest kann das Fahrzeug konfiguriert sein, von den spezifizierten Webserverorten abgerufene aktualisierte Binärdateien und/oder Konfigurationen zu installieren. Da die Aktualisierungen vom Webserver verfügbar gemacht werden, können die Fahrzeuge in der Lage sein, die Aktualisierungen unter Verwendung einer Wiederaufnahmefunktionalität, die von Webserverdownloads verfügbar ist, herunterzuladen. Da die Abfrageprotokollerzeugung und das Hochladen ansprechend auf eine Dienstbenachrichtigung ausgeführt werden, dass Aktualisierungen verfügbar sind, wird des Weiteren ein periodisches Abfragen auf Aktualisierungen durch das Fahrzeug vermieden und dadurch die Ressourcenverwendung des periodischen Erzeugens und Hochladens von Abfrageprotokollen vermieden. Weitere Aspekte des Systems werden nachfolgend im Detail beschrieben.
  • 1 veranschaulicht ein beispielhaftes Diagramm eines Systems 100, das verwendet werden kann, um Telematikdienste an ein Fahrzeug 102 bereitzustellen. Das Fahrzeug 102 kann unterschiedliche Arten von Personenfahrzeugen sein, wie beispielsweise Crossover-Nutzfahrzeug (CUV), Geländewagen (SUV), Lastwagen, Campingfahrzeug (RV), Boot, Flugzeug oder andere mobile Maschinen zum Transportieren von Personen oder Waren. Telematikdienste können als einige nicht begrenzende Möglichkeiten Navigation, Wegbeschreibungen, Fahrzeugerhaltungszustandsberichte, Suche nach lokalen Geschäften, Unfallbericht und Freisprechen umfassen. Bei einem Beispiel kann das System 100 das von Ford Motor Company in Dearborne, Michigan hergestellte SYNC-System umfassen. Es sollte beachtet werden, dass das veranschaulichte System 100 lediglich ein Beispiel ist und mehr, weniger und/oder unterschiedlich angeordnete Elemente verwendet werden können.
  • Die Computerplattform 104 kann einen oder mehrere Prozessoren 106, die sowohl mit einem Speicher 108 als auch mit einem computerlesbaren Speichermedium 112 verbunden und konfiguriert sind, Anweisungen, Befehle und andere Routinen zur Unterstützung der hierin beschriebenen Prozesse auszuführen, umfassen. Zum Beispiel kann die Computerplattform 104 konfiguriert sein, Befehle von Fahrzeuganwendungen 110 auszuführen, um Merkmale wie Navigation, Unfallbericht, Satellitenradiodecodierung und Freisprechen bereitzustellen. Diese Befehle und andere Daten können in einer nicht flüchtigen Weise unter Verwendung von einer Vielzahl von Arten von einem computerlesbaren Speichermedium 112 gespeichert werden. Das computerlesbare Medium 112 (das auch als prozessorlesbares Medium oder prozessorlesbarer Speicher bezeichnet wird) umfasst irgendein nicht flüchtiges (z. B., körperliches) Medium, das am Bereitstellen von Befehlen oder von anderen Daten, die durch den Prozessor 106 der Computerplattform 104 gelesen werden können, teilnimmt. Computerausführbare Befehle können von Computerprogrammen, die unter Verwendung von einer Vielzahl von Programmiersprachen und/oder Technologien erstellt werden, einschließlich, ohne Einschränkung und entweder allein oder in Kombination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java-Skript, Python, Perl und PL/SQL kompiliert oder interpretiert werden.
  • Die Computerplattform 104 kann mit verschiedenen Merkmalen ausgestattet sein, die den Fahrzeuginsassen ermöglichen, sich mit der Computerplattform 104 zu verbinden. Beispielsweise kann die Computerplattform 104 einen Audioeingang 114 umfassen, der konfiguriert ist, gesprochene Befehle von Fahrzeuginsassen durch ein angeschlossenes Mikrofon 116 und einen Hilfsaudioeingang 118 zu empfangen, um Audiosignale von verbundenen Vorrichtungen zu empfangen. Der Hilfsaudioeingang 118 kann eine verdrahtete Buchse, wie ein Stereoeingang oder ein drahtloser Eingang wie eine BLUETOOTH(R)-Audioverbindung sein. Bei einigen Beispielen kann der Audioeingang 114 konfiguriert sein, Audioverarbeitungsfähigkeiten wie Vorverstärkung von Niederpegelsignalen und Umwandlung von Analogeingängen in digitale Daten zum Verarbeiten durch den Prozessor 106 bereitstellen.
  • Die Computerplattform 104 kann auch einen oder mehrere Audioausgänge 120 zu einem Eingang der Audiowiedergabefunktionalität des Audiomoduls 122 bereitstellen. Bei anderen Beispielen kann die Computerplattform 104 eine Audioausgabe an die Insassen unter Verwendung von einem oder mehreren zugehörigen Lautsprechern (nicht veranschaulicht) bereitstellen. Das Audiomodul 122 kann einen Eingangswahlschalter 124 umfassen, der konfiguriert ist, Audioinhalt von einer ausgewählten Audioquelle 126 an einen Audioverstärker 128 zur Wiedergabe durch Fahrzeuglautsprecher 130 bereitzustellen. Die Audioquellen 126 können beispielsweise decodierte amplitudenmodulierte (AM) oder frequenzmodulierte (FM) Funksignale und Compact Disc-(CD) oder Digital Versatile Disk-(DVD)-Audiowiedergabe umfassen. Die Audioquellen 126 können auch Audio umfassen, das von der Computerplattform 104 empfangen wurde, wie beispielsweise Audioinhalt, der von der Computerplattform 104 erzeugt wurde, Audioinhalt, der von Flash-Speichern decodiert wurde, die mit einem universellen seriellen Bus-(USB)-Subsystem 132 der Computerplattform 104 verbunden sind, und Audioinhalt, der durch die Computerplattform 104 vom Hilfsaudioeingang 118 weitergeleitet wird.
  • Die Computerplattform 104 kann eine Sprachschnittstelle 134 verwenden, um eine freihändige Schnittstelle zur Computerplattform 104 bereitzustellen. Die Sprachschnittstelle 134 kann Spracherkennung von Audio, das über das Mikrofon 116 gemäß einer Grammatik von verfügbaren Befehlen empfangen wird, und Sprachausgabeerzeugung zur Ausgabe über das Audiomodul 122 unterstützen. In einigen Fällen kann das System konfiguriert sein, die Audioquelle, die durch den Eingangswahlschalter 124 spezifiziert ist, wenn ein Tonsignal zur Präsentation durch die Computerplattform 104 bereit ist und eine andere Audioquelle 126 für die Wiedergabe ausgewählt wird vorübergehend stumm zu schalten, zu überblenden oder anderweitig zu übersteuern.
  • Die Computerplattform 104 kann auch eine Eingabe von Mensch-Maschine-Schnittstellen-(HMI)-Bedienelementen 136 empfangen, die konfiguriert sind, eine Insasseninteraktion mit dem Fahrzeug 102 bereitzustellen. Die Computerplattform 104 kann beispielsweise mit ein oder mehreren Tasten oder anderen HMI-Bedienelementen verbunden sein, die konfiguriert sind, Funktionen der Computerplattform 104 aufzurufen (z. B. Lenkradaudiotasten, eine Sprechtaste, Armaturenbrettbedienelemente usw.). Die Computerplattform 104 kann auch eine oder mehrere Anzeigen 138 ansteuern oder anderweitig damit kommunizieren, um eine visuelle Ausgabe an Fahrzeuginsassen mittels eines Videocontrollers 140 bereitzustellen. In einigen Fällen kann die Anzeige 138 ein Touchscreen sein, der weiter konfiguriert ist, Benutzerberührungseingaben über den Videocontroller 140 zu empfangen, während in anderen Fällen die Anzeige 138 nur eine Anzeige ohne Berührungseingabefähigkeiten sein kann.
  • Die Computerplattform 104 kann weiter konfiguriert sein, mit anderen Komponenten des Fahrzeugs 102 über ein oder mehrere Fahrzeugnetzwerke 142 zu kommunizieren. Die Fahrzeugnetzwerke 142 können unter anderem ein oder mehrere von einem Fahrzeug-Controller Area Network (CAN) einem Ethernetnetzwerk oder einem medienorientierten Systemtransfer (MOST) umfassen. Die Fahrzeugnetzwerke 142 können der Computerplattform 104 ermöglichen, mit anderen Fahrzeug- 102 -Systemen, wie einem Fahrzeugmodem 144 (das in einigen Konfigurationen nicht vorhanden sein kann), einem globalen Positionsbestimmungssystem-(GPS)-Modul 146, das konfiguriert ist, gegenwärtige Orts- und Steuerinformationen des Fahrzeugs 102 bereitzustellen, und verschiedenen elektronischen Fahrzeugsteuergeräten (ECUs) 148, die konfiguriert sind, andere Arten von Informationen bezüglich der Systeme des Fahrzeugs 102 bereitzustellen, zu kommunizieren. Als einige nicht begrenzende Möglichkeiten können die Fahrzeug-ECUs 148 eine Antriebsstrangsteuerung umfassen, die konfiguriert ist, das Steuern von Motorbetriebskomponenten (z. B. Leerlaufsteuerungskomponenten, Kraftstoffzuführungskomponenten, Emissionskontrollenkomponenten usw.) und das Überwachen von Motorbetriebskomponenten (z. B. Status von Motordiagnosecodes); eine Zentralsteuerung, die konfiguriert ist, verschiedene Leistungssteuerungsfunktionen wie Außenbeleuchtung, Innenbeleuchtung, schlüsselloser Zugang, entferntes Starten und Zugangszustandsüberprüfung (z. B. Schließzustand der Haube, der Türen und/oder des Kofferraums des Fahrzeugs 102); eine Funkvorrichtung, die konfiguriert ist, mit Schlüsselanhängern oder anderen lokalen Fahrzeug- 102 -Vorrichtungen zu kommunizieren; und ein Managementcontroller der konfiguriert ist, die Steuerung und Überwachung von Heiz- und Kühlsystemkomponenten (z. B. Kompressorkupplungs- und Heizgebläsesteuerung, Temperatursensorinformationen usw.) bereitzustellen.
  • Wie gezeigt, können das Audiomodul 122 und die HMI-Bedienelemente 136 mit der Computerplattform 104 über ein erstes Fahrzeugnetzwerk 142A kommunizieren und das Fahrzeugmodem 144, GPS-Modul 146 und die Fahrzeug-ECUs 148 können mit der Computerplattform 104 über ein zweites Fahrzeugnetzwerk 142B kommunizieren. Bei anderen Beispielen kann die Computerplattform 104 mit mehr oder weniger Fahrzeugnetzwerken 142 verbunden sein. Zusätzlich oder alternativ können eine oder mehrere HMI-Bedienelemente 136 oder andere Komponenten mit der Computerplattform 104 über unterschiedliche Fahrzeugnetzwerke 142 verbunden sein als gezeigt sind oder direkt ohne Verbindung mit einem Fahrzeugnetzwerk 142.
  • Die Computerplattform 104 kann auch konfiguriert sein, mit mobilen Vorrichtungen 152 der Fahrzeuginsassen zu kommunizieren. Die mobilen Vorrichtungen 152 können irgendwelche von verschiedenen Arten einer tragbaren Computervorrichtung sie, wie beispielsweise Mobiltelefone, Tabletcomputer, Smartwatches, Laptopcomputer, tragbare Musikwiedergabegeräte oder andere Vorrichtungen, die zu Kommunikation mit der Computerplattform 104 fähig sind. In vielen Beispielen kann die Computerplattform 104 einen drahtlosen Transceiver 150 (z. B. ein BLUETOOTH(R)-Modul, ein ZIGBEE(R)-Transceiver, ein Wi-Fi-Transceiver usw.) umfassen, der konfiguriert ist, mit einem kompatiblen drahtlosen Transceiver 154 der mobilen Vorrichtung 152 zu kommunizieren. Zusätzlich oder alternativ kann die Computerplattform 104 mit der mobilen Vorrichtung 152 über eine verdrahtete Verbindung, wie beispielsweise über einen USB-Anschluss zwischen der mobilen Vorrichtung 152 und dem USB-Subsystem 132 kommunizieren.
  • Das Weitverkehrsnetzwerk 156 kann Kommunikationsdienste wie Paketvermittlungsnetzwerkdienste (z. B. Internetzugriff, VoIP-Datenübertragungsdienste) zu Vorrichtungen bereitstellen, die mit dem Weitverkehrsnetzwerk 156 verbunden sind. Ein Beispiel eines Weitverkehrsnetzwerks 156 kann ein Mobiltelefonnetzwerk umfassen. Mobile Vorrichtungen 152 können Netzwerkkonnektivität zum Weitverkehrsnetzwerk 156 über ein Vorrichtungsmodem 158 der mobilen Vorrichtung 152 bereitstellen. Um die Kommunikationen über das Weitverkehrsnetzwerk 156 zu erleichtern, können mobile Vorrichtungen 152 mit einzigartigen Vorrichtungskennungen (z. B. Media Access Control-(MAC)-Adressen, mobilen Vorrichtungsnummern (MDNs), Internetprotokoll-(IP)-Adressen, Mobile Station International Subscriber Directory Numbers (MSISDNs), internationale Mobilfunkteilnehmerkennung (IMSI) usw.) verbunden werden. um die Kommunikationen der mobilen Vorrichtungen 152 über das Weitverkehrsnetzwerk 156 zu identifizieren. In einigen Fällen können Insassen des Fahrzeugs 102 oder Vorrichtungen mit der Genehmigung, sich mit der Computerplattform 104 zu verbinden, durch die Computerplattform 104 gemäß Daten einer gepaarten Vorrichtung 160, die im Speichermedium 112 gespeichert sind, identifiziert werden. Die Daten einer gepaarten Vorrichtung 160 können beispielsweise die einzigartigen Vorrichtungskennungen von mobilen Vorrichtungen 152, die zuvor mit der Computerplattform 104 des Fahrzeugs 102 gepaart wurden, geheime Informationen, die zwischen der gepaarten mobilen Vorrichtung 152 und der Computerplattform 104 geteilt werden, wie Verbindungsschlüssel, und/oder persönliche Identifikationsnummern (PIN) und zuletzt verwendete oder Vorrichtungsprioritätsinformationen anzeigen, sodass sich die Computerplattform 104 automatisch mit übereinstimmenden Daten der mobilen Vorrichtungen 152 in den Daten der gepaarten Vorrichtung 160 ohne Benutzereingriff erneut verbinden kann. In einigen Fällen können die Daten einer gepaarten Vorrichtung 160 auch zusätzliche Informationen oder Optionen anzeigen, die mit den Berechtigungen oder der Funktionalität der Computerplattform 104 verbunden sind, für die die gepaarte mobile Vorrichtung 152 autorisiert ist, darauf zuzugreifen, wenn sie verbunden ist.
  • Wenn eine gepaarte mobile Vorrichtung 152, die Netzwerkkonnektivität unterstützt, automatisch oder manuell mit der Computerplattform 104 verbunden wird, kann die mobile Vorrichtung 152 der Computerplattform 104 ermöglichen, die Netzwerkkonnektivität des Vorrichtungsmodems 158 zu verwenden, um über das Weitverkehrsnetzwerk 156 zu kommunizieren. Bei einem Beispiel kann die Computerplattform 104 eine Dataover-voice-Verbindung über eine Sprachanruf- oder eine Datenverbindung der mobilen Vorrichtung 152 verwenden, um Informationen zwischen der Computerplattform 104 und dem Weitverkehrsnetzwerk 156 zu kommunizieren. Zusätzlich oder alternativ kann die Computerplattform 104 das Fahrzeugmodem 144 verwenden, um Informationen zwischen der Computerplattform 104 und dem Weitverkehrsnetzwerk 156, ohne Verwendung der Kommunikationseinrichtungen der mobilen Vorrichtung 152 zu kommunizieren.
  • Ähnlich der Computerplattform 104 kann die mobile Vorrichtung 152 einen oder mehrere Prozessoren 164 umfassen, die konfiguriert sind, Befehle von mobilen Anwendungen 170, die in einen Speicher 166 der mobilen Vorrichtung 152 von dem Speichermedium 168 der mobilen Vorrichtung 152 geladen wurden, auszuführen. Bei einigen Beispielen können die mobilen Anwendungen 170 konfiguriert sein, mit der Computerplattform 104 oder anderen lokal vernetzten Vorrichtungen und mit dem Weitverkehrsnetzwerk 156 zu kommunizieren.
  • Die Computerplattform 104 kann auch eine Vorrichtungsverbindungsschnittstelle 172 umfassen, um die Integration der Funktionalität der mobilen Anwendungen 170 in die Grammatik von Befehlen, die über die Sprachschnittstelle 134 verfügbar sind, zu erleichtern. Die Vorrichtungsverbindungsschnittstelle 172 kann die mobilen Anwendungen 170 auch mit Zugriff auf Fahrzeugmerkmale, wie Informationen, die der Computerplattform 104 über die Fahrzeugnetzwerke 142 verfügbar sind, oder Zugriff auf die Anzeige 138, versehen. Ein Beispiel einer Vorrichtungsverbindungsschnittstelle 172 kann die SYNC APPLINK-Komponente des SYNC-Systems sein, das von Ford Motor Company in Dearborn, MI geliefert wird.
  • 2 veranschaulicht ein beispielhaftes Diagramm 200 eines Dienstbereitstellungsnetzwerks 202, das über das Netzwerk 156 mit einem Fahrzeug 102 mittels eines Message Brokers 204 in Kommunikation ist. Das Fahrzeug 102 kann mit dem Netzwerk 156 mittels der Computerplattform 104 des Fahrzeugs 102 in drahtloser Kommunikation sein. Wenn ein Fahrzeug 102 zusammengebaut ist, kann das Fahrzeug 102 verschiedene Hardware- und Softwarekomponenten umfassen. Bei oder nach dem Zusammenbau kann eine Computerplattform 104 des Fahrzeugs 102 konfiguriert sein, die Existenz und Versionsinformationen für mindestens einen Teil dieser Hardware- und Softwarekomponenten des Fahrzeugs 102 abzufragen. Unter Verwendung der abgefragten Informationen und von zusätzlichen Informationen, die das spezifische Fahrzeug 102 identifizieren (z. B. Fahrzeugidentifikationsnummer-(VIN)-Informationen, die im Car Area Network-(CAN)-Bus, Subscriber Identity Module-(SIM)-Informationen des Fahrzeugmodems 144 wie internationale Mobilgerätekennung (IMEI) usw.), kann die Computerplattform 104 über das Netzwerk 156 und Message Broker 204 kommunizieren, um ein Konto mit dem Dienstbereitstellungsnetzwerk 202 einzurichten. Das Dienstbereitstellungsnetzwerk 202 kann diese Kommunikationen von den Fahrzeugen 102 empfangen und einen Datenspeicher der Hardwarekonfigurationen und Software-(z. B. Firmware usw.)-Versionen, die mit Bezeichnern der Fahrzeuge 102 verbunden sind, verwalten.
  • Der Message Broker 204 kann zusätzlich Veröffentlichungs-/Anmeldemessagingfunktionalität für die Kommunikation zwischen dem Dienstbereitstellungsnetzwerk 202 und den Fahrzeugen 102 bereitstellen. Das Veröffentlichungs-/Anmeldemodell kann ein oder mehrere Themen 206 verwenden, wobei Themen 206 logische Kanäle genannt werden, durch die Veröffentlicher Nachrichten 208 senden können und Teilnehmer Nachrichten 208 empfangen können. Anstatt die gesamten Nachrichten 208 zu empfangen, empfangen Teilnehmer der Themen 206 die Nachrichten 208 für die Themen 206, für die sie angemeldet sind, und alle Teilnehmer an einem Thema 206 empfangen im Wesentlichen die gleichen Themanachrichten 208.
  • Die 3A und 3B veranschaulichen beispielhafte Kommunikationsnachrichtenflüsse 208 zwischen dem Fahrzeug 102 und dem Dienstbereitstellungsnetzwerk 202 über den Message Broker 204. Die Nachrichten 208 können von verschiedenen Kategorien stammen, wie beispielsweise Befehle 302, Befehlsantworten 304 und Benachrichtigungen 306.
  • Wie gezeigt in 3A kann ein Befehl 302 durch das Dienstbereitstellungsnetzwerk 202 zu einem Thema des Message Brokers 204 veröffentlicht werden, für das das Fahrzeug 102 angemeldet ist. Ein Befehl 302 ist eine Nachrichtenart 208, die einen Empfänger des Befehls 302 auffordert, eine Aktion auszuführen, die durch den Befehl 302 spezifiziert ist. Eine Befehlsantwort 304 ist eine Nachricht 208, die ansprechend auf das Empfangen eines Befehls 302 zurück an einen Sender bereitgestellt wird. Die Antwort 304 auf den Befehl 302 kann durch das Fahrzeug 102 zu einem Thema 206 veröffentlicht werden, für das es beim Dienstbereitstellungsnetzwerk 202 angemeldet ist.
  • Wie gezeigt in 3B kann eine Benachrichtigung 306 durch das Fahrzeug 102 zu einem Thema des Message Brokers 204, für das es beim Dienstbereitstellungsnetzwerk 202 angemeldet ist, veröffentlicht werden. Eine Benachrichtigung 306 ist eine Nachrichtenart, die Informationen von einem Sender an einen Empfänger 208 bereitstellt, ohne die Ausführung einer bestimmten Aktion anzufordern. Ansprechend auf die Benachrichtigung 306 kann der Message Broker 204 eine Benachrichtigungsantwort 308 zum Fahrzeug 102 veröffentlichen, da das Dienstbereitstellungsnetzwerk 202 keine Antwort auf die Benachrichtigung 306 bereitstellen muss.
  • Ein Veröffentlicher der Nachrichten 208 kann für das Bereitstellen von Nachrichten 208 zu den Themen 206 verantwortlich sein, die mit dem Thema 206 übereinstimmen. Der Veröffentlicher kann beispielsweise für die Befehle 302 einen OEM oder eine andere Entität umfassen, die verantwortlich dafür ist, Fahrzeugsoftware/Firmware zu verwalten und/oder zu aktualisieren. In einigen Fällen kann ein Fahrzeug 102 ein Veröffentlicher sein und kann Fahrzeugbenachrichtigungen 306 zu einem Thema 206 senden, für das es beim Dienstbereitstellungsnetzwerk 202 angemeldet ist, kann Benachrichtigungen 306 verwenden, um das Dienstbereitstellungsnetzwerk 202 über den Fahrzeug- 102 -Konnektivitätsstatus zum Netzwerk 156 zu benachrichtigen, oder kann auf Nachrichten 208 vom Dienstbereitstellungsnetzwerk 202 mit Befehlsantworten 304 antworten. In anderen Fällen kann ein Fahrzeug 102 ein Teilnehmer sein und kann Befehle 302 oder andere Informationen von einem Dienstbereitstellungsnetzwerk 202 über den Message Broker 204 empfangen.
  • Die Nachrichten 208 können ein Name-/Wertepaarmodell verwenden, das ermöglicht, dass Datenelemente der Nachrichten 208 durch die Fahrzeuge 102 und das Dienstbereitstellungsnetzwerk 202 mittels Name definiert und referenziert werden. Jede Nachricht 208 kann bestimmte Basisfelder umfassen, die in allen Nachrichten 208 vorhanden sind. Des Weiteren kann jede Nachrichtenkategorie 208 einen bestimmten minimalen Satz an Datenelementen umfassen, die in allen Nachrichten 208 dieser Kategorie vorhanden sind. Die Benachrichtigungen 306 oder andere Nachrichten 208 vom Fahrzeug 102 zum Dienstbereitstellungsnetzwerk 202 können beispielsweise einen ersten Satz von gemeinsamen Informationen umfassen, die für Empfänger von Nachrichten 208 von Fahrzeugen nützlich sind, und Befehle 302 oder andere Nachrichten 208 vom Dienstbereitstellungsnetzwerk 202 zum Fahrzeug 102 können einen zweiten Satz von gemeinsamen Informationen umfassen, die für Empfänger von Nachrichten 208 vom Dienstbereitstellungsnetzwerk 202 nützlich sind.
  • Abhängig von der Art der Nachricht 208 (z. B. die Befehlsart 302) kann die Nachricht 208 weiter zusätzliche Felder umfassen, die für diesen spezifischen Nachrichtentyp 208 relevant sind. Um dies zu tun, kann das Name-/Wertepaarmodell Untergruppen von zu definierenden Daten ermöglichen (z. B. Informationen, die in Nachrichten 208 von Fahrzeugen 102 einzuschließen sind, Informationen, die in Nachrichten 208 vom Dienstbereitstellungsnetzwerk 202 einzuschließen sind, Informationen, die den Status des Fahrzeugs 102 beschreiben, usw.), die dann in Definitionen der Nachricht 208 eingeschlossen sein können, ohne eine redundante Neudefinition für jede Nachrichtenart 208 zu erfordern, welche die gemeinsamen Informationen erfordert. Da die Felder der Nachricht 208 durch die Fahrzeuge 102 und das Dienstbereitstellungsnetzwerk 202 anhand Name oder Bezeichner referenziert werden können (anstatt durch einen Roh-Byte-Offset in die Nachricht 208), kann das System das Hinzufügen von Datenelementen zu den Definitionen der Nachricht 208 (oder zu den gemeinsamen Informationsdefinitionen) ermöglichen, ohne Fahrzeuge 102, die Kommunikation mit dem Dienstbereitstellungsnetzwerk 202 unter Verwendung einer Vorgängerversion der Definitionen der Nachricht 208 implementieren, unerwünscht zu beeinflussen.
  • In Bezug auf das Verarbeiten der verschiedenen Kategorien von Nachrichten 208, die zu den Themen 206 veröffentlicht wurden, kann das Fahrzeug 102 konfiguriert sein, Befehle 302, die es vom Dienstbereitstellungsnetzwerk 202 empfangen hat, in der Reihenfolge, in der die Befehle 302 empfangen wurden, auszuführen. Um dies zu tun, kann das Fahrzeug 102 konfiguriert sein, eine Befehlswarteschlange von empfangenen Befehlen 302 zu verwalten, um dem Fahrzeug 102 zu ermöglichen, die empfangenen Befehle 302 aus der Warteschlange in einer First-in-First-out-(FIFO)-Weise auszuführen. Das Fahrzeug 102 kann auch konfiguriert sein, die Benachrichtigungen 306 in der Reihenfolge auszuführen, in der sie auf der Fahrzeug- 102 -Seite erfolgen. Um dies zu tun, kann das Fahrzeug 102 konfiguriert sein, eine Benachrichtigungswarteschlange zu verwalten, sodass es die Benachrichtigungen 306 von der Warteschlange in einer Last-in-First-out-(LIFO)-Weise ausführen kann. Im Fall eines Konflikts zwischen einem Befehl 302 und einer Benachrichtigung 306 kann das Fahrzeug 102 konfiguriert sein, die Nachrichten 208 in der Reihenfolge auszuführen, in der sie vom Dienstbereitstellungsnetzwerk 202 empfangen wurden oder im Fahrzeug 102 auftraten, basierend auf Zeitstempeln der Nachrichten 208.
  • Die Themen 206 können verwendet werden, um zu ermöglichen, dass die Nachrichten 208, zu oder von den geeigneten Fahrzeugen 102 und in der geeigneten Nachrichtenkategorie 208 veröffentlicht werden. Um das Veröffentlichen von Nachrichten 208 zu geeigneten Themen 206 zu erleichtern, können die Themen 206 in einen Themenbaum 210 angeordnet werden. Der Themenbaum 210 kann durch das Dienstbereitstellungsnetzwerk 202 definiert sein, um eine Struktur der Themen 206 und Unterthemen 206 bereitzustellen, die beim Senden von Nachrichten 208 zwischen den Fahrzeugen 102 und dem Dienstbereitstellungsnetzwerk 202 verwendet werden.
  • 4 veranschaulicht einen beispielhaften Themenbaum 210 zur Verwendung im Fahrzeug 102 für die Kommunikation zum Dienstbereitstellungsnetzwerk 202. Eine Computerplattform 104, wie beispielsweise eine Telematikeinheit eines Fahrzeugs 102, kann sich bei Knoten des Themenbaums 210 anmelden, die der installierten Region, der Software-/Firmwareversion, Merkmalen, der Konfigurationsdateiversion des Fahrzeugs 102 usw. entsprechen. Es sollte beachtet werden, dass das spezielle Layout des beispielhaften Themenbaums 210 nur zum Zweck der Darstellung dient und andere Layouts des Themenbaums 210 verwendet werden können. Es können beispielsweise andere Themenbäume 210 vom Dienstbereitstellungsnetzwerk 202 verwendet werden, die mehr, weniger oder unterschiedliche Kategorisierungsebenen aufweisen.
  • Unter Bezugnahme auf den Themenbaum 210 von 4 kann ein Regionsknoten 400 des Themenbaums 210 eine Region anzeigen, auf die sich die Unterthema- 206 -Knoten unter dem Regionsknoten 400 beziehen können. In einigen Fällen können die Regionsknoten 400 unterschiedliche regionale Marktbereiche darstellen, in denen Fahrzeuge 102 verkauft werden können, wie beispielsweise Nordamerika, Europa und Asien-Pazifik. Bei anderen Beispielen können sich die Regionsknoten 400 auf andere geografische Räume, wie Länder, Staaten, Postleitzahlen und Telefonvorwahlen beziehen. Indem der Themenbaum 210 nach Region segmentiert wird, kann das Dienstbereitstellungsnetzwerk 202 dementsprechend unterschiedliche Informationen für Fahrzeuge 102, die mit unterschiedlichen Regionen verbunden sind, veröffentlichen.
  • Unter jedem Regionsknoten 400 kann der Themenbaum 210 ein oder mehrere fahrzeugspezifische Knoten 402 umfassen, wobei jeder fahrzeugspezifische Knoten 402 ein Fahrzeug 102 betrifft, der mit dem Elternregionsknoten 400 verbunden ist. Als eine Möglichkeit kann das Dienstbereitstellungsnetzwerk 202 fahrzeugspezifische Knoten 402 für Fahrzeuge 102 gemäß der VIN oder einem anderen eindeutigen Bezeichner von Fahrzeugen 102 schaffen, die sich beim Dienstbereitstellungsnetzwerk 202 als zu einer bestimmten Region gehörig, registrieren. Unterknoten zu den fahrzeugspezifischen Knoten 402 können verwendet werden, um Themen 206 weitergehend zu organisieren, die für die Kommunikation zu und von den individuellen Fahrzeugen 102 konfiguriert sind.
  • Zum Beispiel kann der Themenbaum 210 unter den fahrzeugspezifischen Knoten 402 weiter einen oder mehrere Fahrzeugthemaknoten 404 für die Kommunikation zu den spezifischen Fahrzeugen 102 umfassen. Ein Fahrzeug 102 kann sich beim Fahrzeugthemaknoten 404 anmelden, welcher der VIN oder einem anderen eindeutigen Bezeichner des Fahrzeugs 102 entspricht, sodass das Fahrzeug 102 in der Lage sein kann, Nachrichten 208 in Themen 206 zu empfangen, die sich speziell auf das Fahrzeug 102 selbst beziehen.
  • Ein Fahrzeug 102 kann sich beispielsweise bei einem zeitkritischen Aktualisierungsfahrzeugthemaknoten 404-A anmelden, um Nachrichten 208 (wie zeitkritische Befehle 302, die nachfolgend ausführlicher beschrieben werden) für das bestimmte Fahrzeug 102 zu empfangen, das eine zeitkritische Art aufweist. Aufgrund ihrer zeitkritischen Art können Nachrichten 208, die beim zeitkritischen Aktualisierungsfahrzeugthemaknoten 404-A gepostet werden, ablaufen und von dem Thema 206 entfernt werden, wenn sie von dem Fahrzeug 102 nicht innerhalb einer Zeitdauer (z. B. einer Zeitdauer spezifiziert durch die Nachricht 208, eine Zeitdauer die allen zeitkritischen Nachrichten 208 gemeinsam ist usw.) empfangen werden. Als ein weiteres Beispiel kann sich ein Fahrzeug 102 bei einem nicht zeitkritischen Fahrzeugthemaknoten 404-B anmelden, um Nachrichten 208 für das bestimmte Fahrzeug 102 zu empfangen, die nicht von einer zeitkritischen Art sind (z. B. nicht zeitkritische Befehle 302, die auch nachfolgend ausführlicher beschrieben werden).
  • Aktualisierungen wie Kalenderaktualisierungen können bei dem nicht zeitkritischen Fahrzeugthemaknoten 404-B gepostet werden und können im Thema 206 verbleiben, bis sie von dem angemeldeten Fahrzeug 102 empfangen werden. Als ein weiteres Beispiel kann sich ein Fahrzeug 102 bei einem Merkmalaktualisierungsfahrzeugthemaknoten 404-C anmelden, um Nachrichten 208 in einem Thema 206 zu empfangen, das an bestimmte Fahrzeuge 102 gerichtet ist und in Zusammenhang mit Aktualisierungen bezüglich der Merkmale des Fahrzeugs 102 steht. In diesem Inhalt kann ein Merkmal auf ein Gruppieren von Konfigurationsparametern verweisen, die auf das spezifizierte Fahrzeug 102 anwendbar sind und im Themenbaum 210 beinhaltet sind. Ein Merkmal kann beispielsweise Einstellungen darstellen, um einen verfügbaren verbundenen Dienst (z. B. MY FORD MOBILE(R)) oder eine kundenspezifische Sammlung von Einstellungen (z. B. eine Serie von Merkmalen, die zur Verwendung durch einen bestimmten Flottenerwerber aktiviert und/oder deaktiviert sein sollen) zu implementieren. Als noch ein weiteres Beispiel kann sich ein Fahrzeug 102 bei einem Firmwareaktualisierungsfahrzeugthemaknoten 404-D anmelden, um Nachrichten 208 in einem Thema 206 zu empfangen, die an bestimmte Fahrzeuge 102 gerichtet sind und in Zusammenhang mit Aktualisierungen der Firmware des Fahrzeugs 102 stehen.
  • Die fahrzeugspezifischen Knoten 402 des Themenbaums 210 können weiter einen oder mehrere Fahrzeugthemaknoten 406 für die Kommunikation von den spezifischen Fahrzeugen 102 (z. B. zum Dienstbereitstellungsnetzwerk 202) umfassen. Es kann beispielsweise ein allgemeiner Benachrichtigungsthemaknoten 406-A durch ein Fahrzeug 102 verwendet werden, um Nachrichten 208 (z. B. die Benachrichtigungen 306), wie Hinweise auf niedrigen Kraftstoffstand, unregelmäßiges Fahren des Fahrzeugs 102 oder periodische gegenwärtige GPS-Standorte des Fahrzeugs 102, zu veröffentlichen. Als ein weiteres Beispiel kann ein Verbindungsstatusthemaknoten 406-B durch ein Fahrzeug 102 verwendet werden, um Nachrichten 208 wie beispielsweise der Verbindungsstatus des Fahrzeugs 102 zu veröffentlichen (z. B. die Benachrichtigungen 306, die anzeigen, ob das Fahrzeug 102 vom Netzwerk 156 getrennt war und dann wieder neu verbunden wurde). Als noch ein weiteres Beispiel kann ein Befehlsantwortbenachrichtigungsthemaknoten 406-C durch ein Fahrzeug 102 verwendet werden, um Nachrichten 208 wie die Benachrichtigungen 306 zu veröffentlichen, die den Erfolg oder Misserfolg des Befehls 302 anzeigen, der vom Dienstbereitstellungsnetzwerk 202 angefordert wurde.
  • Des Weiteren kann der Themenbaum 210 unter jedem Regionsknoten 400 einen oder mehrere Hardwareversionsthemaknoten 408 umfassen, wobei jeder Hardwareversionsthemaknoten 408 eine Hardwareversion eines installierten Fahrzeugs 102 betrifft, die von mehreren Fahrzeugen 102 geteilt werden kann (z. B. eine Version der Hardware von Computerplattform 104). Diese Hardwareversionsthemaknoten 408 und Unterthemaknoten können dementsprechend verwendet werden, um die Fahrzeuge 102 gemäß der Hardwareversion zu referenzieren und nicht gemäß dem individuellen Fahrzeug 102.
  • Unter jedem Hardwareversionsthemaknoten 408 kann der Themenbaum 210 einen oder mehrere Firmwareversionsknoten 410 umfassen. Jeder Firmwareversionsknoten 410 kann Knoten des Themenbaums 210, die mit einer Firmwareversion verbunden sind, organisieren, die in der Hardware des Elternbaumbeziehungsfahrzeugs 102 für eine bestimmte Region installiert sein kann.
  • Der Firmwareversionsknoten 410 kann weiter Merkmalknoten 412 umfassen, die Knoten des Themenbaums 210, die mit einem bestimmten Merkmal verbunden sind, organisieren. Wie vorstehend erwähnt, kann ein Merkmal Einstellungen darstellen, um einen verfügbaren verbundenen Dienst oder eine kundenspezifische Sammlung von Einstellungen zu implementieren. Daher kann eine Firmwareversion mehrere unterschiedliche Merkmale unterstützen, wo unterschiedliche Teile von Funktionalität der Firmware für die verschiedenen Merkmale in Eingriff sind oder nicht in Eingriff sind.
  • Die Merkmalknoten 412 können weiter Konfigurationsversionsknoten 414 umfassen, von denen jeder ein Thema 206 darstellt, das mit einer Version einer Konfigurationsdatei für das verbundene Merkmal, der Firmwareversion, Hardwareversion und der Region in Zusammenhang steht. Die Konfigurationsdateien können Einstellungen und andere Informationen umfassen, die mit den Elternmerkmalen verbunden sind, die sie konfigurieren (z. B. für die Version der Firmware, die auf der Version der Hardware für die bestimmte Region installiert ist). Da sich Einstellungen und andere Optionen von Version zu Version ändern können, können die Konfigurationsdateien auch eine Versionsnummer der Firmware umfassen, für die sie kompatibel sind.
  • Ein Fahrzeug 102 kann sich bei Themen von 206 des Themenbaums 210 anmelden, die sich auf die Konfiguration des Fahrzeugs 102 beziehen. Als ein Beispiel kann sich ein Fahrzeug bei einem Fahrzeugthemaknoten 404 anmelden, welcher der VIN des Fahrzeugs 102 entspricht, um irgendwelche Aktualisierungen zu empfangen, die das spezifische Fahrzeug 102 adressieren. Als ein weiteres Beispiel kann sich eine Computerplattform 104 eines Fahrzeugs 102 bei einem Konfigurationsversionsknoten 414 des Themenbaums 210 anmelden, um Konfigurationsaktualisierungen oder andere Aktualisierungen zu empfangen, die der installierten Region, der Hardwareversion, der Firmwareversion, dem Merkmal und der globalen Konfigurationsversion des Fahrzeugs 102 entsprechen. Das abonnierte Fahrzeug 102 kann Nachrichten 208, die zu den abonnierten Themen 206 veröffentlicht werden überprüfen oder anderweitig darüber informiert werden.
  • Das Dienstbereitstellungsnetzwerk 202 kann Nachrichten 208 in Themen 206 des Themenbaums 210 veröffentlichen für die Aktualisierungen auszuführen sind. Als eine Möglichkeit kann das Dienstbereitstellungsnetzwerk 202 einen Befehl 302 in einen Fahrzeugthema-Knoten 404 veröffentlichen, um zu bewirken, dass ein bestimmtes Fahrzeug 102 darüber informiert wird, dass eine Aktualisierung für das Fahrzeug 102 ausgeführt werden sollte. Als eine weitere Möglichkeit kann das Dienstbereitstellungsnetzwerk 202 einen Befehl 302 in einen Konfigurationsversionsknoten 414 veröffentlichen, um irgendwelche abonnierten Fahrzeuge 102 mit einer bestimmten Region, Hardwareversion, Firmwareversion, einem Merkmal und einer globalen Konfigurationsversion zu veranlassen, eine Aktualisierung auszuführen.
  • Unter erneuter Bezugnahme auf 2 kann sich ein Benutzer des Fahrzeugs 102 bei Softwareaktualisierungen eintragen, die von dem Fahrzeug 102 ausgeführt werden. Um den Anmeldeprozess zu erleichtern, kann bei einigen Beispielen die Computerplattform 104 eine Eingabeaufforderung an den Benutzer über die Anzeige 138 und/oder das Audiomodul 122 bereitstellen, welche die Autorisierung des Benutzers anfordert. Eine beispielhafte Eingabeaufforderung kann den Benutzer zur Zustimmung zu Over-the-air-Aktualisierungen auffordern, die über das Fahrzeugmodem 144 (oder über WiFi oder durch eine Datenverbindung einer verbundenen mobilen Vorrichtung 152) ausgeführt werden sollen. Die Zustimmung kann einmal angefordert, aber über mehrere Aktualisierungszyklen verwendet werden. Als eine weitere Möglichkeit kann sich der Benutzer bei Over-the-air-Aktualisierungen unter Verwendung einer mobilen Vorrichtung 152 eintragen, die mit dem Fahrzeug 102 gepaart oder anderweitig verbunden ist (z. B. durch Bereitstellen der Zustimmung über eine mobilen Anwendung, die von der mobilen Vorrichtung 152 ausgeführt wird, über das Senden einer Kurznachrichtendienst-(SMS)-Nachricht von der mobilen Vorrichtung 152 an eine bestimmte Nummer, mittels Verwendung einer Autorisierungswebseite, die von der mobilen Vorrichtung 152 zugänglich ist, usw.).
  • Sobald die Autorisierung erfolgt ist (z. B. mittels Empfangen von Tastendrücken oder gesprochenem Dialog vom Benutzer), kann die Computerplattform 104 konfiguriert sein, Softwareaktualisierungen der Fahrzeug-ECUs 148 abzufragen. Dieses Abfragen kann still ausgeführt werden, ohne eine Benutzereingabe zu erfordern.
  • Die Computerplattform 104 kann konfiguriert sein, Informationen, die mit den Modulen des Fahrzeugs 102 verbunden sind, zu erfassen. Der Prozess des Erfassens von Daten kann als Abfrage bezeichnet werden und die Datenzusammenstellung kann als Abfrageprotokoll 212 bezeichnet werden. Die abzufragenden Informationen können als einige nicht begrenzende Beispiele Modulname, Modulseriennummer, VIN, Hardwareteilenummer, MAC-Adresse, Teilenummern von Softwareanwendungen, Sprachen und Service Packs, die auf dem Modul verfügbar sind, Speicherplatz auf dem Modul und Statusinformationen bezüglich der Installation von vorhergehenden Aktualisierungen umfassen.
  • Die Computerplattform 104 kann weiter konfiguriert sein, zu bestimmen, welche Informationen zu erfassen sind, durch die Verwendung einer optimierten Datenbezeichnerlisten-(ODL)-Datei 214, welche die spezifischen abzufragenden Informationen definiert und wo solche Informationen sich befinden können. Insbesondere können die zu erfassenden Informationen Datenelemente von den Fahrzeug-ECUs 148 oder anderen Steuerungen des Fahrzeugs 102 umfassen und können über das Controller Area Network (CAN) oder eine andere Fahrzeug- 102 -Kommunikationsarchitektur abgerufen werden, die eine Datenübertragung zwischen Steuerungen unterstützen. Die Informationen können auch Diagnosecodes und andere Fahrzeugzustandsinformationen umfassen, die während der Wartung des Fahrzeugs 102 von einem Händler erfasst werden können. Die Informationen können auch Analytikdaten einschließlich Verwendungs- und Protokollierungsdaten umfassen, die einen Einblick in die Verwendung von verschiedenen Fahrzeugmerkmalen umfassen. In einigen Fällen kann die ODL-Datei 214 als Teil einer Installation der Software auf der Computerplattform 104 installiert werden, während in anderen Fällen die ODL-Datei 214 zuvor gemäß früher ausgeführten Aktualisierungen (die nachfolgend ausführlicher beschrieben werden) empfangen worden sein kann. Als noch ein weiteres Beispiel kann die Computerplattform 104 konfiguriert sein, eine ODL-Anforderung zu einem fahrzeugspezifischen Thema 206 des Message Brokers 204 (z. B. das Thema allgemeine Benachrichtigung 406-A) veröffentlichen und eine ODL- 214 -Datei empfangen, die als Antwort veröffentlicht wurde und definiert, welche Informationen für die bestimmte VIN abzufragen sind.
  • Die Computerplattform 104 kann konfiguriert sein, das Abfrageprotokoll 212 zum Dienstbereitstellungsnetzwerk 202 zu senden. Bei einem Beispiel kann die Computerplattform 104 das Abfrageprotokoll 212 zum Dienstbereitstellungsnetzwerk 202 über HTTPS (z. B. durch die Verbindung der Computerplattform 104 mit einer vordefinierten Webadresse des Dienstbereitstellungsnetzwerks 202, die der Computerplattform 104 bekannt ist) senden. Variationen beim Senden des Abfrageprotokolls 212 zum Dienstbereitstellungsnetzwerk 202 sind möglich. Als ein weiteres Beispiel kann die Computerplattform 104 konfiguriert sein, das Abfrageprotokoll 212 zu einem Thema 206 des Message Brokers 204, das spezifisch für das Fahrzeug 102 ist, das durch das Dienstbereitstellungsnetzwerk 202 abzurufen ist, veröffentlichen.
  • Das Dienstbereitstellungsnetzwerk 202 kann die Themen 206 überprüfen, zu denen das Fahrzeug 102 angemeldet ist. Wenn das Fahrzeug 102 das Abfrageprotokoll 212 veröffentlicht hat, kann das Dienstbereitstellungsnetzwerk 202 die gegenwärtige Modulkonfiguration und gegenwärtige Version der Computerplattform 104 prüfen und bestimmen, ob irgendwelche Softwareaktualisierungen im Fahrzeug 102 installiert werden sollten. Basierend auf der Bestimmung kann das Dienstbereitstellungsnetzwerk 202 Binärdateien identifizieren, die im Fahrzeug 102 installiert werden sollten, um die identifizierten Aktualisierungen auszuführen. Diese Binärdateien können in einem Manifest 216 identifiziert werden. Des Weiteren kann das Manifest 216 Netzwerkadressen spezifizieren, an denen jede der spezifizierten Aktualisierungsbinärdateien abgerufen werden kann. Als ein Beispiel kann das Manifest 216 die Netzwerkadressen als URLs spezifizieren, die durch einen Webserver 218 des Dienstbereitstellungsnetzwerks 202 bedient werden. In einigen Fällen können die Binärdateien neue Versionen von zu installierenden Dateien umfassen, während in anderen Fällen die Binärdateien auf gegenwärtig installierten Binärdateien anzuwendende schrittweise Aktualisierungen umfassen können, um die gegenwärtig installierten Binärdateien von einer Version zu einer nächsten Version zu aktualisieren.
  • Um die Softwareaktualisierungen zu identifizieren, kann das Dienstbereitstellungsnetzwerk 202 konfiguriert sein, die gegenwärtigen Versionen von Modulen, die im Abfrageprotokoll 212 angezeigt sind, mit der neuesten Version der Module zu vergleichen, die mit der Computerplattform 104 kompatibel sind. Das Dienstbereitstellungsnetzwerk 202 kann weiter konfiguriert sein, irgendwelche Komponenten zu identifizieren, die aktualisiert werden sollten, irgendwelche zusätzlichen Abhängigkeiten, die diese aktualisierten Versionen erfordern können. Diese zusätzlichen Abhängigkeiten können weiter zu dem Manifest 216 hinzugefügt werden.
  • Sobald es abgeschlossen ist, kann das Dienstbereitstellungsnetzwerk 202 das Manifest 216 zur Computerplattform 104 senden. Bei einem Beispiel kann das Dienstbereitstellungsnetzwerk 202 das Manifest 216 zum Fahrzeug 102 über HTTPS senden (z. B. über die HTTP-Verbindung, zu der die Computerplattform 104 das Abfrageprotokoll 212 zur Computerplattform 104 gesendet hat, über eine unterschiedliche Verbindung zur gleichen oder einer unterschiedlichen vordefinierten Webadresse des Dienstbereitstellungsnetzwerks 202, das der Computerplattform 104 bekannt ist, usw.). Variationen beim Senden des Manifests 216 zum Fahrzeug 102 sind möglich. Zum Beispiel kann das Dienstbereitstellungsnetzwerk 202 das Manifest 216 zu einem Thema 206 des Message Brokers 204 veröffentlichen, das durch das Fahrzeug 102 abzurufen ist. Die Computerplattform 104 kann die Themen 206 überprüfen, zu dem das Fahrzeug 102 angemeldet ist.
  • Unabhängig von der Herangehensweise kann die Computerplattform 104 konfiguriert sein, die durch das Manifest 216 angezeigten Aktualisierungen zu installieren, sobald sie empfangen wurden. Basierend auf dem Manifest 216 kann die Computerplattform 104 zum Herunterladen der aktualisierten Binärdateien und/oder Konfigurationen konfiguriert sein, die von den durch das Manifest 216 spezifizierten Webserver-Orten abgerufen werden. Als ein Beispiel kann das Manifest 216 die Netzwerkadressen als durch einen Webserver 218 bediente URLs des Dienstbereitstellungsnetzwerks 202 spezifizieren und die Computerplattform 104 kann die aktualisierten von den durch das Manifest 216 spezifizierten URLs herunterladen. Da die Aktualisierungen vom Webserver 218 über HTTPS verfügbar gemacht sein können, kann die Computerplattform 104 in der Lage sein, die Aktualisierungen unter Verwendung von Wiederaufnahmefunktionalität, die für Downloads von Webservern 218 verfügbar ist, herunterzuladen.
  • Bei einigen Beispielen kann die Computerplattform 104 konfiguriert sein, die Installation einer zweiten Installation der Computerplattform 104 außer der gegenwärtig aktiven Installation, von der die Computerplattform 104 gebootet wurde, auszuführen, um eine Unterbrechung der gegenwärtigen Version der Software zu vermeiden, die auf der Computerplattform 104 installiert ist. Die Installation der Aktualisierungen zur zweiten Installation kann geräuschlos ausgeführt werden, ohne eine Eingabe vom Benutzer zu erfordern.
  • Nach dem Abschluss der Installation der durch das Manifest 216 spezifizierten Softwareaktualisierungen kann die Computerplattform 104 konfiguriert sein, eine zusätzliche Abfrage der Module des Fahrzeugs 102 auszuführen, um ein neues Abfrageprotokoll 212 zu erzeugen. Ähnlich wie vorstehend beschrieben kann die Computerplattform 104 das Abfrageprotokoll 212 erzeugen, aber dieses Mal unter Verwendung der empfangenen ODL 214, die eine aktualisierte Definition bereitstellt, welche Informationen für die gegenwärtig ausgeführte Softwareaktualisierung abzufragen sind. Ähnlich wie vorstehend beschrieben kann die Computerplattform 104 außerdem konfiguriert sein, das Abfrageprotokoll 212 zum Message Broker 204 zu veröffentlichen, das durch das Dienstbereitstellungsnetzwerk 202 zu empfangen ist. Dementsprechend kann das Dienstbereitstellungsnetzwerk 202 vom Installationsstatus des Fahrzeugs 102 automatisch aktualisiert werden, ohne eine HMI-Benutzerinteraktion zu erfordern.
  • 5 veranschaulicht einen beispielhaften Prozess 500 zum Aktualisieren von Software der Computerplattform 104. Der Prozess 500 kann beispielsweise durch eine Computerplattform 104 eines Fahrzeugs 102, die in Kommunikation mit einem Dienstbereitstellungsnetzwerk 202 über ein Netzwerk 156 ist, ausgeführt werden.
  • Bei Operation 502 meldet die Computerplattform 104 zu Themen 206 eines Themenbaums 210 an, in dem Befehle 302 zum Aktualisieren der Softwareversion oder Konfiguration von einem oder mehreren Modulen des Fahrzeugs 102 veröffentlicht sind. Diese Module können beispielsweise die Computerplattform 104 selbst und/oder andere Fahrzeug-ECUs 148 umfassen. Die Computerplattform 104 kann beispielsweise zu einem gewünschten Merkmal-Knoten 404-C des Themenbaums 210 anmelden, in den fahrzeugspezifische Aktualisierungen für eine Softwarekomponente eines Moduls des Fahrzeugs 102 durch das Dienstbereitstellungsnetzwerk 202 veröffentlicht werden können. Als ein weiteres Beispiel kann sich die Computerplattform 104 bei einem Konfigurationsversionsknoten 414 anmelden, der ein Thema 206 des Themenbaums 210 darstellt, das durch das Dienstbereitstellungsnetzwerk 202 bedient wird und mit der installierten Version, den Merkmalen und der Region der Komponente oder des Moduls des Fahrzeugs 102 verbunden ist.
  • Bei Operation 504 bestimmt die Computerplattform 104, ob eine Triggerbenachrichtigung 208 in einem von den angemeldeten Themen 206 empfangen wird. Als ein Beispiel kann das Dienstbereitstellungsnetzwerk 202 eine Triggerbenachrichtigung 208 im gewünschten Merkmalknoten 404-C veröffentlichen, um eine Aktualisierung an das Fahrzeug 102 zu adressieren. Als ein weiteres Beispiel kann das Dienstbereitstellungsnetzwerk 202 eine Triggerbenachrichtigung 208 im Konfigurationsversionsknoten 414 veröffentlichen, um Fahrzeuge 102 mit einer bestimmten Konfiguration zu adressieren. Das Fahrzeug 102 kann über die Benachrichtigung 208 aufgrund seiner Anmeldung bei den Themen 206 des Themenbaums 210 benachrichtigt werden oder diese anderweitig empfangen. Die Triggerbenachrichtigung 208 kann dem Fahrzeug 102 anzeigen, dass Softwareaktualisierungen verfügbar sind. Wenn eine Benachrichtigung 208 empfangen wird, geht die Steuerung zu Arbeitsvorgang 506 über. Anderweitig verbleibt die Steuerung bei Operation 504.
  • Bei Operation 506 erzeugt das Fahrzeug 102 ein Abfrageprotokoll 212. Das Abfrageprotokoll 212 kann Versionsinformationen von mindestens einem Softwaremodul umfassen, das im Fahrzeug 102 installiert ist. Die abzufragenden Informationen können als einige nicht begrenzende Beispiele Modulname, Modulseriennummer, VIN, Hardwareteilenummer, MAC-Adresse, Teilenummern von Softwareanwendungen, Sprachen und Service Packs, die auf dem Modul verfügbar sind, Speicherplatz auf dem Modul und Statusinformationen bezüglich der Installation von vorhergehenden Aktualisierungen umfassen. Die Computerplattform 104 kann konfiguriert sein, das Abfrageprotokoll 212 gemäß einer ODL 214 zu erzeugen, die definiert, welche Informationen abzufragen sind und wo sich diese Informationen befinden können. Die abzufragenden Informationen können beispielsweise angeforderte Bezeichner von der Computerplattform 104 und anderen Fahrzeug-ECUs 148 innerhalb des Fahrzeugs 102 umfassen. Die Informationen können über den CAN-Bus oder ein anderes Fahrzeugnetzwerk 142 erfasst und im Abfrageprotokoll 212 eingeschlossen werden. In einigen Fällen kann die ODL 214 als Teil einer Installation der Software im Fahrzeug 102 empfangen werden, während in anderen Fällen die ODL 214 zuvor gemäß früher ausgeführten Aktualisierungen empfangen worden sein kann.
  • Bei Operation 508 sendet das Fahrzeug 102 das Abfrageprotokoll 212 zum Dienstbereitstellungsnetzwerk 202. Bei einem Beispiel kann die Computerplattform 104 das Abfrageprotokoll 212 zum Dienstbereitstellungsnetzwerk 202 über HTTPS (z. B. durch die Verbindung der Computerplattform 104 mit einer vordefinierten Webadresse des Dienstbereitstellungsnetzwerks 202, die der Computerplattform 104 bekannt ist) senden. Variationen beim Senden des Abfrageprotokolls 212 zum Dienstbereitstellungsnetzwerk 202 sind möglich. Als ein weiteres Beispiel kann die Computerplattform 104 das Abfrageprotokoll 212 zu einem Thema 206 des Message Brokers 204, das spezifisch für das Fahrzeug 102 ist und durch das Dienstbereitstellungsnetzwerk 202 abzurufen ist, veröffentlichen.
  • Bei Operation 510 empfängt das Fahrzeug 102 ein Manifest 216 vom Message Broker 204. Das Manifest 216 kann eine oder mehrere Binärdateien anzeigen, die durch das Fahrzeug 102 herunterzuladen und zu installieren sind, sowie andere Informationen, die beim Ausführen der Aktualisierung zu verwenden sind, wie aktualisierte ODL 214 und/oder Schlüssel, um die Binärdateien zu entschlüsseln, die herunterzuladen und zu installieren sind. Bei einem Beispiel kann das Dienstbereitstellungsnetzwerk 202 das Manifest 216 zum Fahrzeug 102 über HTTPS senden (z. B. über die HTTP-Verbindung, zu der die Computerplattform 104 das Abfrageprotokoll 212 zur Computerplattform 104 gesendet hat, über eine unterschiedliche Verbindung zur gleichen oder einer unterschiedlichen vordefinierten Webadresse des Dienstbereitstellungsnetzwerks 202, das der Computerplattform 104 bekannt ist, usw.). Variationen beim Senden des Manifests 216 zum Fahrzeug 102 sind möglich. Zum Beispiel kann das Dienstbereitstellungsnetzwerk 202 das Manifest 216 zu einem Thema 206 des Message Brokers 204 veröffentlichen, das durch das Fahrzeug 102 abzurufen ist. Die Computerplattform 104 kann die Themen 206 überprüfen, zu dem das Fahrzeug 102 angemeldet ist.
  • Bei Operation 512 lädt das Fahrzeug 102 die durch das Manifest 216 spezifizierten Binärdateien herunter. Die Computerplattform 104 des Fahrzeugs 102 kann die Binärdateien beispielsweise vom Webserver 218 des Dienstbereitstellungsnetzwerks 202 bei durch das Manifest 216 spezifizierten Netzwerkadressen herunterladen. Die Computerplattform 104 kann die Binärdateien auch gemäß den empfangenen Schlüsseln in entschlüsselte Binärdateien entschlüsseln.
  • Bei Operation 514 installiert die Computerplattform 104 die Softwareaktualisierung. Die Computerplattform 104 kann die Firmwareaktualisierung beispielsweise ausführen oder anderweitig auf die installierte Firmwareversion anwenden, um die Firmwareversion zu aktualisieren. In einigen Fällen kann die Computerplattform 104 weiter konfiguriert sein, eine Nachricht 208 zu einem Befehlsantwortbenachrichtigungsthemaknoten 406-C des Fahrzeugs 102 zu veröffentlichen, um das Dienstbereitstellungsnetzwerk 202 über Erfolg oder Misserfolg der Softwareaktualisierung zu benachrichtigen. Nach dem Empfangen einer Nachricht 208, die den Erfolg der Softwareaktualisierung anzeigt, kann das Dienstbereitstellungsnetzwerk 202 seine Aufzeichnungen des installierten Konfigurationsstatus des Fahrzeugs 102 aktualisieren. Als eine weitere Möglichkeit kann die Computerplattform 104 eine Fehlernachricht 208 zum Befehlsantwortbenachrichtigungsthemaknoten 406-C veröffentlichen und der Prozess 600 kann enden oder möglicherweise zur Operation 512 übergehen, um das Herunterladen und die Installation erneut zu versuchen.
  • Bei Operation 516 aktualisiert die Computerplattform 104 die Thema- 206 -Anmeldungen des Fahrzeugs 102. Beispielsweise kann die Computerplattform 104 das Fahrzeug 102 aus dem Konfigurationsversionsknoten 414 des Themenbaums 210 und dem Firmwareversionsknoten 410 für die alte Version austragen und es beim Konfigurationsversionsknoten 414 des Themenbaums 210, der mit der neuen installierten Version der Firmware in Zusammenhang steht, anmelden. Daher kann das Fahrzeug 102 in der Lage sein, weitere Triggerbenachrichtigungen 208 zu empfangen, welche der aktualisierten Konfiguration des Fahrzeugs 102 entsprechen. Nach der Operation 516 geht die Steuerung zu Operation 504 über.
  • Daher kann ein Dienstbereitstellungsnetzwerk 202 einen Themenbaum 210 verwenden, um Aktualisierungen an Fahrzeuge 102 gemäß der installierten Softwareversion, wie Firmwareversion eines Moduls des Fahrzeugs 102 oder einer Softwareversion einer Anwendung selektiv bereitzustellen, die auf der Computerplattform 104 installiert ist, ohne die Fahrzeug- 102 -Installationen von Softwareversionen auf Fahrzeugen 102 mit unterschiedlichen Versionen zu beeinflussen. Des Weiteren können diese Aktualisierungen schrittweise und automatisch über den Äther an die Fahrzeuge 102 bereitgestellt werden, ohne Hersteller- oder Händlertechnikerkosten zu verursachen. Da die Aktualisierungen vom Webserver 218 verfügbar gemacht werden, können die Fahrzeuge 102 in der Lage sein, die Aktualisierungen unter Verwendung einer Wiederaufnahmefunktionalität, die von Webserver- 218 -Downloads verfügbar ist, herunterzuladen. Da die Abfrageprotokollerzeugung 212 und das Hochladen ansprechend auf eine Dienstbenachrichtigung ausgeführt wird, dass Aktualisierungen verfügbar sind, wird des Weiteren ein periodisches Abfragen auf Aktualisierungen durch das Fahrzeug 102 vermieden und dadurch die Ressourcenverwendung des periodischen Erzeugens und Hochladens von Abfrageprotokollen 212 vermieden.
  • Hierin beschriebene Computervorrichtungen wie die Computerplattform 104, mobile Vorrichtungen 152, Dienstbereitstellungsnetzwerk 202 und Message Broker 204, umfassen generell computerausführbare Befehle, wobei die Befehle durch eine oder mehrere Computervorrichtungen wie die vorstehend aufgelisteten ausführbar sein können. Computerausführbare Befehle können von Computerprogrammen, die unter Verwendung von einer Vielzahl von Programmiersprachen und/oder Technologien erstellt werden, einschließlich, ohne Einschränkung und entweder allein oder in Kombination, Java, C, C++, C#, Visual Basic, Java-Script, Perl usw. kompiliert oder interpretiert werden. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle beispielsweise von einem Speicher, einem computerlesbaren Medium usw. und führt diese Befehle aus, wodurch ein oder mehrere Prozesse ausgeführt werden, die einen oder mehrere der hier beschriebenen Prozesse aufweisen. Diese Befehle und andere Daten können unter Verwendung von mehreren computerlesbaren Medien gespeichert und übertragen werden.
  • In Bezug auf die Prozesse, Systeme, Verfahren, Heuristik usw., die hierin beschrieben sind, versteht es sich, dass diese Prozesse mit den beschriebenen Schritten in einer anderen Reihenfolge praktiziert werden können als die hierin beschriebene Reihenfolge, obwohl die Schritte von diesen Prozessen usw. als gemäß einer bestimmten geordneten Abfolge erfolgend beschrieben wurden. Es sollte weiter verstanden werden, dass bestimmte Schritte gleichzeitig ausgeführt werden könnten, dass andere Schritte hinzugefügt werden könnten, oder dass bestimmte hierin beschriebene Schritte ausgelassen werden könnten. Die Beschreibungen von Prozessen hierin werden mit anderen Worten zum Zweck bereitgestellt, bestimmte Ausführungsformen zu veranschaulichen, und sollten auf keine Weise derart ausgelegt werden, dass sie die Ansprüche begrenzen.
  • Während Ausführungsbeispiele vorstehend beschrieben wurden, ist es nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen der Erfindung beschreiben. Die in der Spezifikation verwendeten Worte sind vielmehr Worte der Beschreibung anstatt der Begrenzung, und es ist selbstverständlich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Sinn und Umfang der Erfindung abzuweichen. Zusätzlich können die Merkmale von verschiedenen implementierenden Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden.
  • Es wird ferner beschrieben:
    • A. System, umfassend: ein Fahrzeug, das bei einem Thema angemeldet ist, das durch einen Message Broker verwaltet wird und mit dem Fahrzeug verbunden ist, welches mindestens eine Steuerung umfasst, die programmiert ist ein Abfrageprotokoll an einen Dienstbereitstellungsnetzwerkserver zu senden, das Konfigurationsinformationen des Fahrzeugs spezifiziert, die ansprechend auf eine Triggernachricht erzeugt werden, die zu dem Thema durch den Server veröffentlicht wird, und ein Manifest abzurufen, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt sind.
    • B. System nach A, wobei die mindestens eine Steuerung weiter programmiert ist, in das Abfrageprotokoll mindestens eines von (i) aktuellen Zustandsinformationen von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, und (ii) Diagnosecodes von mindestens einer im Fahrzeug installierten Softwarekomponente einzuschließen.
    • C. System nach A, wobei die mindestens eine Steuerung weiter programmiert ist, das Abfrageprotokoll basierend auf einer Datenbezeichnerliste zu erzeugen, welche die Konfigurationsinformationen definiert, die im Abfrageprotokoll einzuschließen sind, und auf welchen von mehreren elektronischen Fahrzeugsteuergeräten (ECUs) sich die Informationen befinden.
    • D. System nach A, wobei das Thema mit einer Fahrzeugidentifikationsnummer (VIN) des Fahrzeugs verbunden ist.
    • E. System nach A, wobei die mindestens eine Steuerung weiter programmiert ist: die Aktualisierungen von den Netzwerkadressen herunterzuladen; die Aktualisierungen im Fahrzeug zu installieren; ansprechend auf das Abschließen des Installierens der Aktualisierungen ein zweites Abfrageprotokoll zu erzeugen; und das zweite Abfrageprotokoll zum Server zu senden.
    • F. System nach E, wobei die mindestens eine Steuerung weiter zum Herunterladen der Aktualisierungen von den Netzwerkadressen über eine oder mehrere sichere Hyper-Text Transport Protocol-(HTTPS)-Verbindungen programmiert ist.
    • G. System nach A, wobei die mindestens eine Steuerung weiter programmiert ist: das Abfrageprotokoll über eine sichere Hyper-Text Transport Protocol-(HTTPS)-Verbindung zum Dienstbereitstellungsnetzwerkserver zu senden; und das Manifest vom Dienstbereitstellungsnetzwerkserver über die HTTPS-Verbindung abzurufen.
    • H. Verfahren, umfassend: Empfangen einer Nachricht durch einen Fahrzeugprozessor, die von einem Dienstbereitstellungsnetzwerk zu einem Thema veröffentlicht wurde, das durch einen Message Broker verwaltet wird und mit einem Fahrzeug verbunden ist, das Fahrzeugaktualisierungsverfügbarkeit anzeigt; Erzeugen eines Abfrageprotokolls, das ansprechend auf das Empfangen der Nachricht Fahrzeugausstattungsinformationen spezifiziert; Senden des Abfrageprotokolls zum Dienstbereitstellungsnetzwerk; und Abrufen eines Manifests vom Dienstbereitstellungsnetzwerk, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt wurden.
    • I. Verfahren nach H, weiter umfassend im Abfrageprotokoll mindestens eines von (i) aktuellen Zustandsinformationen von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, und (ii) Diagnosecodes von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, einzuschließen.
    • J. Verfahren nach H, weiter umfassend das Erzeugen des Abfrageprotokolls basierend auf einer Datenbezeichnerliste, welche die Konfigurationsinformationen definiert, die im Abfrageprotokoll einzuschließen sind, und auf welchen von mehreren elektronischen Fahrzeugsteuergeräten (ECUs) sich die Informationen befinden.
    • K. Verfahren nach H, wobei das Thema mit einer Fahrzeugidentifikationsnummer (VIN) des Fahrzeugs verbunden ist.
    • L. Verfahren nach H, weiter umfassend: Herunterladen der Aktualisierungen von den Netzwerkadressen; Installieren der Aktualisierungen im Fahrzeug; Erzeugen eines zweiten Abfrageprotokolls ansprechend auf das Abschließen des Installierens der Aktualisierungen; und Senden des zweiten Abfrageprotokolls zum Dienstbereitstellungsnetzwerk.
    • M. Verfahren nach L, wobei die Netzwerkadressen mindestens einen Universal Resource Locator (URL) umfassen, der durch einen Webserver des Dienstbereitstellungsnetzwerks bedient wird.
    • N. Nicht flüchtiges computerlesbares Medium, das Befehle umfasst die bei Ausführung durch ein Computersystem eines Fahrzeugs das Fahrzeug veranlassen: ein Manifest von Dienstbereitstellungsnetzwerkadressen für Aktualisierungen abzurufen, die durch einen Webserver bedient werden, wobei die Aktualisierungen basierend auf einem Protokoll mit Fahrzeugausstattungsinformationen ausgewählt werden, die durch das Fahrzeugcomputersystem als Reaktion auf das Empfangen einer Nachricht kompiliert werden, die zu einem fahrzeugangemeldeten Thema veröffentlicht wurde, das durch einen Message Broker verwaltet wird, der Fahrzeugaktualisierungsverfügbarkeit anzeigt.
    • O. Medium nach N, wobei das Protokoll mindestens eines von (i) aktuellen Zustandsinformationen von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, und (ii) Diagnosecodes von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, umfasst.
    • P. Medium nach N, wobei das Protokoll basierend auf einer Datenbezeichnerliste erzeugt wird, welche die Konfigurationsinformationen definiert, die im Protokoll einzuschließen sind, und auf welchen von mehreren elektronischen Fahrzeugsteuergeräten (ECUs) sich die Informationen befinden.
    • Q. Medium nach N, wobei das Thema mit einer Fahrzeugidentifikationsnummer (VIN) des Fahrzeugs verbunden ist.
    • R. Medium nach N, weiter umfassend Befehle, die bei Ausführung durch das Computersystem des Fahrzeugs das Fahrzeug veranlassen: die Aktualisierungen von den Netzwerkadressen herunterzuladen; die Aktualisierungen im Fahrzeug zu installieren; ein zweites Protokoll nach dem Installieren zu erzeugen; und das zweite Protokoll zum Thema zu veröffentlichen.
    • S. Medium nach R, wobei die Netzwerkadressen mindestens einen Universal Resource Locator (URL) umfassen, der durch einen Webserver des Dienstbereitstellungsnetzwerks bedient wird.

Claims (13)

  1. System, umfassend: ein Fahrzeug, das bei einem Thema angemeldet ist, das durch einen Message Broker verwaltet wird und mit dem Fahrzeug verbunden ist, welches mindestens eine Steuerung umfasst, die programmiert ist ein Abfrageprotokoll an einen Dienstbereitstellungsnetzwerkserver zu senden, das Konfigurationsinformationen des Fahrzeugs spezifiziert, die ansprechend auf eine Triggernachricht erzeugt werden, die zu dem Thema durch den Server veröffentlicht wird, und ein Manifest abzurufen, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt sind.
  2. System nach Anspruch 1, wobei die mindestens eine Steuerung weiter programmiert ist, in das Abfrageprotokoll mindestens eines von (i) aktuellen Zustandsinformationen von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, und (ii) Diagnosecodes von mindestens einer im Fahrzeug installierten Softwarekomponente einzuschließen.
  3. System nach Anspruch 1, wobei die mindestens eine Steuerung weiter programmiert ist, das Abfrageprotokoll basierend auf einer Datenbezeichnerliste zu erzeugen, welche die Konfigurationsinformationen definiert, die im Abfrageprotokoll einzuschließen sind, und auf welchen von mehreren elektronischen Fahrzeugsteuergeräten (ECUs) sich die Informationen befinden.
  4. System nach Anspruch 1, wobei das Thema mit einer Fahrzeugidentifikationsnummer (VIN) des Fahrzeugs verbunden ist.
  5. System nach Anspruch 1, wobei die mindestens eine Steuerung weiter programmiert ist: die Aktualisierungen von den Netzwerkadressen herunterzuladen; die Aktualisierungen im Fahrzeug zu installieren; ansprechend auf das Abschließen des Installierens der Aktualisierungen ein zweites Abfrageprotokoll zu erzeugen; und das zweite Abfrageprotokoll zum Server zu senden.
  6. System nach Anspruch 5, wobei die mindestens eine Steuerung weiter zum Herunterladen der Aktualisierungen von den Netzwerkadressen über eine oder mehrere sichere Hyper-Text Transport Protocol-(HTTPS)-Verbindungen programmiert ist.
  7. System nach Anspruch 1, wobei die mindestens eine Steuerung weiter programmiert ist: das Abfrageprotokoll über eine sichere Hyper-Text Transport Protocol-(HTTPS)-Verbindung zum Dienstbereitstellungsnetzwerkserver zu senden; und das Manifest vom Dienstbereitstellungsnetzwerkserver über die HTTPS-Verbindung abzurufen.
  8. Verfahren, umfassend: Empfangen einer Nachricht durch einen Fahrzeugprozessor, die von einem Dienstbereitstellungsnetzwerk zu einem Thema veröffentlicht wurde, das durch einen Message Broker verwaltet wird und mit einem Fahrzeug verbunden ist, das Fahrzeugaktualisierungsverfügbarkeit anzeigt; Erzeugen eines Abfrageprotokolls, das ansprechend auf das Empfangen der Nachricht Fahrzeugausstattungsinformationen spezifiziert; Senden des Abfrageprotokolls zum Dienstbereitstellungsnetzwerk; und Abrufen eines Manifests vom Dienstbereitstellungsnetzwerk, das Netzwerkadressen von Aktualisierungen anzeigt, die unter Verwendung des Abfrageprotokolls bestimmt wurden.
  9. Verfahren nach Anspruch 8, weiter umfassend im Abfrageprotokoll mindestens eines von (i) aktuellen Zustandsinformationen von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, und (ii) Diagnosecodes von mindestens einer Softwarekomponente, die im Fahrzeug installiert ist, einzuschließen.
  10. Verfahren nach Anspruch 8, weiter umfassend das Erzeugen des Abfrageprotokolls basierend auf einer Datenbezeichnerliste, welche die Konfigurationsinformationen definiert, die im Abfrageprotokoll einzuschließen sind, und auf welchen von mehreren elektronischen Fahrzeugsteuergeräten (ECUs) sich die Informationen befinden.
  11. Verfahren nach Anspruch 8, wobei das Thema mit einer Fahrzeugidentifikationsnummer (VIN) des Fahrzeugs verbunden ist.
  12. Verfahren nach Anspruch 8, weiter umfassend: Herunterladen der Aktualisierungen von den Netzwerkadressen; Installieren der Aktualisierungen im Fahrzeug; Erzeugen eines zweiten Abfrageprotokolls ansprechend auf das Abschließen des Installierens der Aktualisierungen; und Senden des zweiten Abfrageprotokolls zum Dienstbereitstellungsnetzwerk.
  13. Verfahren nach Anspruch 12, wobei die Netzwerkadressen mindestens einen Universal Resource Locator (URL) umfassen, der durch einen Webserver des Dienstbereitstellungsnetzwerks bedient wird.
DE102017101491.8A 2016-03-09 2017-01-26 Over-the-air trigger zu fahrzeugabfrageaktualisierungen Pending DE102017101491A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/064,931 US10235154B2 (en) 2016-03-09 2016-03-09 Over-the-air trigger to vehicle interrogator updates
US15/064,931 2016-03-09

Publications (1)

Publication Number Publication Date
DE102017101491A1 true DE102017101491A1 (de) 2017-09-14

Family

ID=59700339

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017101491.8A Pending DE102017101491A1 (de) 2016-03-09 2017-01-26 Over-the-air trigger zu fahrzeugabfrageaktualisierungen

Country Status (3)

Country Link
US (1) US10235154B2 (de)
CN (1) CN107179922B (de)
DE (1) DE102017101491A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3399411A1 (de) * 2017-05-04 2018-11-07 Volvo Car Corporation Verfahren und system zur fehlerhandhabung während der ferninstallation von software in einem fahrzeug
WO2019168907A1 (en) 2018-02-27 2019-09-06 Excelfore Corporation Broker-based bus protocol and multi-client architecture
DK201870700A1 (en) 2018-06-20 2020-01-14 Aptiv Technologies Limited OVER-THE-AIR (OTA) MOBILITY SERVICES PLATFORM
US11513509B2 (en) 2019-09-30 2022-11-29 Ford Global Technologies, Llc Remote automobile telematics control and security
WO2021121674A1 (en) * 2019-12-17 2021-06-24 Abb Schweiz Ag Updating an edge node of a process control system
DE112021001453T5 (de) * 2020-03-06 2023-01-05 Denso Corporation Fahrzeugdatenkommunikationsvorrichtung, zentralvorrichtung, datenkommunikationsverfahren und computerprogramm
CN111752575B (zh) * 2020-05-11 2023-09-19 宁波吉利汽车研究开发有限公司 一种车载应用更新方法、装置、设备及存储介质
US11887411B2 (en) * 2021-01-27 2024-01-30 Amazon Technologies, Inc. Vehicle data extraction service
CN112835616A (zh) * 2021-02-26 2021-05-25 百度在线网络技术(北京)有限公司 一种版本升级方法、装置、电子设备及存储介质
US11902374B2 (en) 2021-11-29 2024-02-13 Amazon Technologies, Inc. Dynamic vehicle data extraction service
US20230305827A1 (en) * 2022-03-24 2023-09-28 International Business Machines Corporation Software package update handling
CN115277522B (zh) * 2022-06-16 2023-05-16 重庆长安汽车股份有限公司 一种服务场景可用性判断的方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103460B1 (en) * 1994-05-09 2006-09-05 Automotive Technologies International, Inc. System and method for vehicle diagnostics
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US7305672B2 (en) * 2004-01-06 2007-12-04 International Business Machines Corporation Dynamic software update system, method and program product
US20090300595A1 (en) 2008-05-30 2009-12-03 Ise Corporation System and Method for Remotely Updating Control Software in a Vehicle With an Electric Drive System
CN201750443U (zh) * 2010-06-25 2011-02-16 大陆汽车亚太管理(上海)有限公司 车载远程信息下载系统
US20140006555A1 (en) 2012-06-28 2014-01-02 Arynga Inc. Remote transfer of electronic images to a vehicle
US9128798B2 (en) * 2012-10-17 2015-09-08 Movimento Group Module updating device
CN103312786A (zh) * 2013-05-17 2013-09-18 广州市雄兵汽车电器有限公司 车载终端远程升级方法及车联网系统
US9253200B2 (en) 2013-10-28 2016-02-02 GM Global Technology Operations LLC Programming vehicle modules from remote devices and related methods and systems
US9524156B2 (en) 2014-01-09 2016-12-20 Ford Global Technologies, Llc Flexible feature deployment strategy
US9766874B2 (en) 2014-01-09 2017-09-19 Ford Global Technologies, Llc Autonomous global software update
US10140109B2 (en) * 2014-02-25 2018-11-27 Ford Global Technologies, Llc Silent in-vehicle software updates
US9323546B2 (en) 2014-03-31 2016-04-26 Ford Global Technologies, Llc Targeted vehicle remote feature updates
US9716762B2 (en) * 2014-03-31 2017-07-25 Ford Global Technologies Llc Remote vehicle connection status
US9325650B2 (en) * 2014-04-02 2016-04-26 Ford Global Technologies, Llc Vehicle telematics data exchange
US10140110B2 (en) 2014-04-02 2018-11-27 Ford Global Technologies, Llc Multiple chunk software updates
US20160294614A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9722781B2 (en) * 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification
CN104468784B (zh) * 2014-12-05 2018-01-02 北京速通科技有限公司 一种通过dsrc接口实现车载单元软件升级的系统及方法
US9604651B1 (en) * 2015-08-05 2017-03-28 Sprint Communications Company L.P. Vehicle telematics unit communication authorization and authentication and communication service provisioning

Also Published As

Publication number Publication date
US20170262274A1 (en) 2017-09-14
CN107179922A (zh) 2017-09-19
CN107179922B (zh) 2022-01-25
US10235154B2 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
DE102017101491A1 (de) Over-the-air trigger zu fahrzeugabfrageaktualisierungen
DE102015104271A1 (de) Zielgerichtete Fernaktualisierung von Fahrzeugfunktionen
DE102015104651B4 (de) Fernfahrzeugkonnektivitätsstatus
DE102017116186A1 (de) Fahrzeugbereichsspezifische Softwareupdateverteilung
DE102014118910A1 (de) Autonome globale Softwareaktualisierung
DE102017108703A1 (de) Regionale Bereitstellung von Software nach Standort der Fahrzeugverbindung
DE102017100750A1 (de) Verfahren und vorrichtung für over-the-air-updates
DE102014119366A1 (de) Flexible merkmalsbereitstellungsstrategie
DE102017121510A1 (de) Priorisierung von Aktualisierungen zur Verbreitung über eine Luftschnittstelle
DE102015103973A1 (de) Mehrblock-Softwareaktualisierungen
DE102015203151A1 (de) Stille Softwareaktualisierungen innerhalb eines Fahrzeugs
US9298649B2 (en) Method and apparatus for dynamically updating a vehicle module configuration record
DE112019003727T5 (de) Elektronisches steuerungssystem für fahrzeug, programmaktualisierungsgenehmigungs-bestimmungsverfahren und programmaktualisierungsgenehmigungs-bestimmungsprogramm
DE102016100203A1 (de) Verfahren und Systeme zur Aktualisierung von Fahrzeugsteuerungen
DE102015103974A1 (de) Fahrzeugtelematik-Datenaustausch
DE102017113295A1 (de) Firewall-fernaktualisierung für bordeigenes webserver-telematiksystem
DE102015107189A1 (de) Modulschnittstelle für Fahrzeugaktualisierungen
DE102015104094A1 (de) Telematik mit variabler Berichtsfrequenz
DE102014118959A1 (de) Verfahren und System für Anwendungskategorie-Benutzerschnittstellen-Templates
DE102017110135A1 (de) Aktualisierungsverfahren für virtuelle DNS-Einträge zur dynamischen IP-Adressänderung eines im Fahrzeug untergebrachten Servers
DE102015108793A1 (de) Fahrzeugdownload mittels entfernter Mobilvorrichtung
DE102014204222A1 (de) Verfahren und vorrichtung für die umprogrammierung mehrerer fahrzeugsoftwaremodule
DE102016125711A1 (de) Applikationssteuerung von primär verbundenen Vorrichtungen ausgehend von sekundär verbundenen Vorrichtungen
DE102016212049A1 (de) Überwachungsvorrichtung für Fahrzeuginformationen
DE102012213027A1 (de) Verfahren und vorrichtungen zur softwareaktualisierung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

Representative=s name: ETL IP PATENT- UND RECHTSANWALTSGESELLSCHAFT M, DE

Representative=s name: ETL WABLAT & KOLLEGEN PATENT- UND RECHTSANWALT, DE

R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

Representative=s name: ETL IP PATENT- UND RECHTSANWALTSGESELLSCHAFT M, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012240000

Ipc: H04L0041000000

R084 Declaration of willingness to licence
R012 Request for examination validly filed