-
GEBIET DER TECHNIK
-
Aspekte der Offenbarung betreffen im Allgemeinen das Erfassen des Fahrzeugbusverkehrs vor und nach der Installation einer Softwareaktualisierung, um den Erfolg der Aktualisierung zu identifizieren.
-
ALLGEMEINER STAND DER TECHNIK
-
Automobildiagnosedaten wie Diagnosefehlercodes (DTCs) bilden kompakte, informative Nachrichten. Die Diagnosedaten sind dazu ausgelegt, den Fahrzeugsteuerungen zu ermöglichen, einen Systemfehler und/oder einen Reparaturbedarf anzugeben.
-
KURZDARSTELLUNG
-
In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein System einen Prozessor eines Fahrzeugs, der dazu programmiert ist, vor dem Installieren einer Softwareaktualisierung einen Fingerabdruck des Busverkehrs vor der Installation zu erstellen, die Softwareaktualisierung auf dem Fahrzeug zu installieren und nach dem Installieren der Softwareaktualisierung einen Fingerabdruck des Busverkehrs nach der Installation zu erstellen, den Fingerabdruck des Busverkehrs vor der Installation und den Fingerabdruck des Busverkehrs nach der Installation zu vergleichen, um den Erfolg der Installation der Softwareaktualisierung zu identifizieren, und den Erfolg der Installation einem Aktualisierungsserver anzugeben.
-
In einem oder mehreren veranschaulichenden Beispielen beinhaltet ein Verfahren: Herunterladen einer Softwareaktualisierung auf ein Fahrzeug von einem Aktualisierungsserver als Reaktion auf einen Aktualisierungsauslöser; Erzeugen eines Fingerabdrucks des Busverkehrs vor der Installation als Reaktion auf einen Abschluss des Herunterladens; Installieren der Softwareaktualisierung auf dem Fahrzeug als Reaktion auf das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation; Erzeugen eines Fingerabdrucks des Busverkehrs nach der Installation als Reaktion auf das Installieren der Softwareaktualisierung, und Angeben eines Erfolgs der Installation an den Aktualisierungsserver auf Grundlage eines Vergleichens der Fingerabdrücke von vor und nach der Installation.
-
In einem oder mehreren veranschaulichenden Beispielen umfasst ein nichtflüchtiges, computerlesbares Medium Anweisungen, die, wenn sie durch einen Prozessor eines Gateways eines Fahrzeugs ausgeführt werden, bewirken, dass das Gateway als Reaktion auf einen Aktualisierungsauslöser eine Softwareaktualisierung von einem Aktualisierungsserver herunterlädt; als Reaktion auf den Abschluss des Herunterladens einen Fingerabdruck eines Busverkehrs vor der Installation erzeugt, wobei der Fingerabdruck des Busverkehrs vor der Installation einen Datenverkehr beinhaltet, der für eine vordefinierte Anzahl von Fahrzyklen vor der Installation der Softwareaktualisierung auf das Fahrzeug aus Teilnetzen eines Fahrzeugnetzwerks aufgezeichnet wird, wobei der aufgezeichnete Datenverkehr relevante funktionelle Nachrichten beinhaltet, die mit einer Liste von Arten von relevanten Nachrichten abgeglichen sind; als Reaktion auf das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation die Softwareaktualisierung auf dem Fahrzeug zu installieren; einen Fingerabdruck des Busverkehrs nach der Installation zu erzeugen, der weiteren Datenverkehr beinhaltet, der für eine vordefinierte Anzahl von Fahrzyklen nach der Installation der Softwareaktualisierung auf dem Fahrzeug aufgezeichnet ist, wobei der weitere aufgezeichnete Datenverkehr relevante, funktionelle Nachrichten beinhaltet, die mit einer Liste von Arten von relevanten Nachrichten abgeglichen sind; den Fingerabdruck des Busverkehrs vor der Installation und nach der Installation zu vergleichen; und als Reaktion auf ein Ergebnis des Vergleichs dem Aktualisierungsserver einen Erfolg der Installation anzugeben.
-
Figurenliste
-
- 1 veranschaulicht ein beispielhaftes System, das das Erstellen eines Fingerabdrucks des Fahrzeugbusverkehrs vor und nach der Aktualisierung implementiert; und
- 2 veranschaulicht einen beispielhaften Prozess zum Durchführen eines Erstellens von Fingerabdrücken des Fahrzeugbusverkehrs vor und nach der Aktualisierung.
-
DETAILLIERTE BESCHREIBUNG
-
Nach Bedarf werden in der vorliegenden Schrift detaillierte Ausführungsformen der vorliegenden Erfindung offenbart; dabei versteht es sich jedoch, dass die offenbarten Ausführungsformen lediglich beispielhaft für die Erfindung sind, die in verschiedenen und alternativen Formen ausgeführt sein kann. Die Figuren sind nicht zwingend maßstabsgetreu; einige Merkmale können vergrößert oder verkleinert dargestellt sein, um Details bestimmter Komponenten zu zeigen. Demnach sind die in dieser Schrift offenbarten konkreten strukturellen und funktionellen Details nicht als einschränkend auszulegen, sondern lediglich als repräsentative Grundlage, um den Fachmann die vielfältige Verwendung der vorliegenden Erfindung zu lehren.
-
Aktuelle Strategien für Softwareaktualisierungen via Luftschnittstelle (over-the-air - OTA) stützen sich auf einmalige Kennungen (Software-Teilenummern) von Softwarekomponenten sowie auf einen Ansatz zum Lesen, Überprüfen und Verifizieren der Aktualisierungsgültigkeit und -kompatibilität. Selbst bei korrekten Teilenummern kann die Funktionalität des Fahrzeugs nach einer OTA-Softwareaktualisierung beeinträchtigt sein. Möglicherweise liegt das Problem jedoch nicht an der OTA-Softwareaktualisierung selbst, sondern es kann sich stattdessen bei dem Problem um ein Ergebnis einer nicht getesteten Softwarekomponentenkombination oder Fehler, die in die neu aktualisierte Software eingebracht werden, handeln. In einigen Fällen können Qualitätsprobleme als OTA-Softwareaktualisierungsprobleme aufgeworfen werden.
-
Um diese und andere Probleme zu beheben, kann ein verbessertes Softwareaktualisierungsverfahren ein Fahrzeug untersuchen, bevor und nachdem die Aktualisierung angewendet wird, um eine Hauptursache für identifizierte Probleme zu identifizieren.
-
Beispielsweise kann ein Fahrzeug einen Auslöser für eine Softwareaktualisierung empfangen. Als Reaktion auf den Auslöser beginnt das erweiterte zentrale Gateway mit der Aufzeichnung relevanter funktioneller Nachrichten für eine vordefinierte Anzahl von Fahrzyklen, sendet eine Selbsttestanforderung an Steuerungen des Fahrzeugs mit einer Selbsttestfähigkeit und zeichnet die Ergebnisse auf. Das erweiterte zentrale Gateway könnte zusätzlich alle angegebenen DTCs und Fehlercodes auslesen. Diese gesammelten Informationen können als Fingerabdruck für den Fahrzeugbusverkehr vor der Aktualisierung verwendet werden.
-
Die Aktualisierung kann dann installiert werden. Nach der OTA-Softwareaktualisierung kann das erweiterte zentrale Gateway erneut relevante funktionelle Nachrichten für eine vordefinierte Anzahl von Fahrzyklen aufzeichnen, eine Selbsttestanforderung an Steuerung des Fahrzeugs mit einer Selbsttestfähigkeit senden und die Ergebnisse aufzeichnen. Diese Fingerabdrücke vor und nach der Aktualisierung können dann verglichen werden. Falls irgendwelche Probleme identifiziert werden, kann der Benutzer darauf hingewiesen werden, dass das Fahrzeug gewartet werden muss. Falls die Testergebnisse des Vergleichens der Fingerabdrücke von vor und nach der Aktualisierung einen Erfolg angeben, kann das Fahrzeug den Benutzer zu einer Rückmeldung auffordern (z. B. in der HMI des Fahrzeugs). Diese Rückmeldung kann zum Beispiel Anfragen an den Benutzer dazu beinhalten, anzugeben, ob irgendwelche Probleme in Bezug auf Fahreigenschaften identifiziert wurden.
-
1 veranschaulicht ein beispielhaftes System 100 zum Durchführen eines Erstellens von Fingerabdrücken des Fahrzeugbusverkehrs für ein Fahrzeug 102 vor und nach der Aktualisierung. Das Fahrzeug 102 beinhaltet eine Vielzahl von Steuerungen 106, wobei jede mit einem von einer Vielzahl von Teilnetzen 112 verbunden ist (wie bei den gezeigten Teilnetzen 112-A, 112-B und 112-C), die jeweils mit einem Teilsatz der Steuerungen 106 verbunden sind (Steuerungen 106-A, 106-B und 106-C mit Teilnetz 112-A, Steuerungen 106-D, 106-E, 106-F, verbunden mit Teilnetz 112-B, und Steuerungen 106-G und 106-H, verbunden mit Teilnetz 112-C). Eine Telematiksteuereinheit (telematics control unit - TCU) 108 ist beinhaltet, um die Kommunikation über ein Weitverkehrsnetzwerk 104 zwischen verschiedenen Komponenten des Fahrzeugs 102 und einem Aktualisierungsserver 118, der Softwareaktualisierungen 116 speichert, zu erleichtern. Die TCU 108 kann mit einem Abschnitt eines Backbones 114 der Topologie 300 verbunden sein und über ein Gateway 110 mit den Steuerungen 106 kommunizieren. Während ein beispielhaftes System 100 gezeigt ist, sind die beispielhaften Komponenten, wie veranschaulicht, nicht als Einschränkung auszulegen. Tatsächlich kann das System 100 mehr oder weniger Komponenten aufweisen und es können zusätzliche oder alternative Komponenten und/oder Umsetzungen verwendet werden. Als ein Beispiel können die Steuerungen 106 und die TCU 108 jeweils mit einem oder mehreren gleichen oder unterschiedlichen Arten von Knoten als die Teilnetze 112 und das Backbone 114 verbunden sein.
-
Das Fahrzeug 102 beinhaltet ein Fahrzeug, wie etwa unter anderem verschiedene Arten von Kraftfahrzeugen, einen Softroader (crossover utility vehicle - CUV), einen Stadtgeländewagen (sport utility vehicle - SUV), einen Lastkraftwagen, ein Wohnmobil (recreational vehicle - RV), ein Boot, ein Flugzeug oder eine andere mobile Maschine zum Befördern von Personen oder Transportieren von Gütern. In vielen Fällen kann das Fahrzeug 102 durch eine Brennkraftmaschine mit Leistung versorgt sein. Als eine andere Möglichkeit kann das Fahrzeug 102 ein Hybridelektrofahrzeug (hybrid electric vehicle - HEV) sein, das sowohl durch eine Brennkraftmaschine als auch einen oder mehrere Elektromotoren angetrieben wird, wie etwa ein Serienhybrid-Elektrofahrzeug (series hybrid electric vehicle - SHEV), ein Parallelhybrid-Elektrofahrzeug (parallel hybrid electrical vehicle - PHEV) oder ein Parallel-/Serienhybrid-Elektrofahrzeug (parallel/series hybrid electric vehicle - PSHEV). Da Art und Konfiguration des Fahrzeugs 102 variieren können, können entsprechend auch die Betriebseigenschaften des Fahrzeugs variieren. Als einige andere Möglichkeiten kann das Fahrzeug unterschiedliche Eigenschaften in Bezug auf Fahrgastkapazität, Zugfähigkeit und -kapazität sowie Lagervolumen aufweisen.
-
Das Weitverkehrsnetzwerk 104 kann ein oder mehrere miteinander verbundene Kommunikationsnetzwerke, wie etwa als einige nicht einschränkende Beispiele das Internet, ein Kabelfernsehverteilungsnetzwerk, ein Satellitenverbindungsnetzwerk, ein lokales Netzwerk und ein Telefonnetzwerk, beinhalten. Durch Zugriff auf das Weitverkehrsnetzwerk 104 kann das Fahrzeug 102 dazu in der Lage sein, ausgehende Daten von dem Fahrzeug 102 an Netzwerkziele im Weitverkehrsnetzwerk 104 zu senden und eingehende Daten von Netzwerkzielen im Weitverkehrsnetzwerk 104 am Fahrzeug 102 zu empfangen.
-
Die Steuerungen 106 können verschiedene Hardware- und Softwarekomponenten beinhalten, die dazu konfiguriert sind, verschiedene Fahrzeugfunktionen zu überwachen und zu verwalten. Die Steuerungen 106 können dementsprechend einen oder mehrere Prozessoren (z. B. Mikroprozessoren) (nicht gezeigt) beinhalten, die dazu konfiguriert sind, Firmware- oder Softwareprogramme auszuführen, die in einer oder mehreren Speichervorrichtungen (nicht gezeigt) der Steuerungen 106 gespeichert sind. Während die Steuerungen 106 zwar als separate Komponenten veranschaulicht sind, können die Fahrzeugsteuerungen 106 jedoch gemeinsame physische Hardware, Firmware und/oder Software besitzen, sodass die Funktionalität mehrerer Steuerungen 106 in eine einzelne Steuerung 106 integriert werden kann und sodass die Funktionalität von verschiedenen derartigen Steuerungen 106 auf eine Vielzahl von Steuerungen 106 verteilt werden kann.
-
Die Steuerungen 106 können eine Antriebsstrangsteuerung 106-A, die dazu konfiguriert ist, mit einer oder mehreren Leistungsquellen des Fahrzeugs, wie etwa Motor, Batterie usw., verbundene Betriebskomponenten zu verwalten, eine Getriebesteuerung 106-B, die dazu konfiguriert ist, die Leistungsübertragung zwischen Antriebsstrang und Rädern des Fahrzeugs zu verwalten, eine Karosseriesteuerung 106-C, die dazu konfiguriert ist, verschiedene Leistungssteuerfunktionen, wie etwa Außenbeleuchtung, Innenbeleuchtung, schlüssellosen Zugang, Fernstart und Verifizierung des Status von Zugangspunkten, zu verwalten, ein Scheinwerfersteuermodul (Headlamp Control Module - HCM) 106-D, das dazu konfiguriert ist, Licht-Ein/Aus-Einstellungen zu steuern, eine Kopfeinheitensteuerung 106-E, die dazu konfiguriert ist, Benutzerschnittstellenanzeigen für den Benutzer anzusteuern, erweiterte Fahrassistenzsysteme (Advanced Driver Assistance Systems - ADAS) 106-F, wie etwa adaptive Geschwindigkeitsregelung oder automatisches Bremsen, eine Klimaregelungsverwaltungssteuerung 106-G, die dazu konfiguriert ist, Heiz- und Kühlsystemkomponenten (z. B.Kompressorkupplung, Gebläselüfter, Temperatursensoren usw.) zu überwachen und verwalten, und eine Steuerung für ein globales Positionsbestimmungssystem (Global Positioning System - GPS) 106-H, die dazu konfiguriert ist, Fahrzeugstandortinformationen bereitzustellen, beinhalten. Es ist anzumerken, dass es sich hierbei lediglich um Beispiele handelt und Fahrzeuge 102 verwendet werden können, die mehr, weniger oder andere Steuerungen 106 aufweisen.
-
Die TCU 108 kann einen oder mehrere Prozessoren (nicht gezeigt) (z. B. Mikroprozessoren) beinhalten, die dazu konfiguriert sind, Firmware- oder Softwareprogramme auszuführen, die in einer oder mehreren jeweiligen Speichervorrichtungen der TCU 108 gespeichert sind. Die TCU 108 kann ein Modem oder andere Netzwerkhardware beinhalten, um die Kommunikation zwischen dem Fahrzeug 102 und anderen mit dem Weitverkehrsnetzwerk 104 verbundenen Vorrichtungen zu vereinfachen.
-
Das Gateway 110 kann dazu konfiguriert sein, einen Datenaustausch zwischen Fahrzeugsteuerungen 106 zu erleichtern. Das Gateway 110 kann ferner dazu konfiguriert sein, einen Datenaustausch zwischen den Fahrzeugsteuerungen 106 und der im Backbone 114 befindlichen TCU 108 zu erleichtern. In einem Beispiel können die Fahrzeugsteuerungen 106 und die TCU 108 mit dem Gateway 110 unter Verwendung eines CAN-Kommunikationsprotokolls, wie etwa unter anderem eines Hochgeschwindigkeits(High-Speed - HS)-CAN, eines Mittelgeschwindigkeits(Mid-Speed - MS)-CAN oder eines Niedriggeschwindigkeits(Low-Speed - LS)-CAN, kommunizieren. Unterschiedliche Teilnetze 112 können unterschiedliche CAN-Protokoll-Geschwindigkeiten nutzen. In einem Beispiel können eines oder mehrere der Teilnetze HS-CAN umsetzen, während ein oder mehrere andere Teilnetze 112 MS-CAN umsetzen können. In noch anderen Beispielen kann das Gateway 110 dazu konfiguriert sein, Kommunikation unter Verwendung eines oder mehrerer von einem Ethernet-Netzwerk, einem Media-Oriented-System-Transfer(MOST)-Netzwerk, einem FlexRay-Netzwerk oder einem Local-Interconnect-Netzwerk (LIN) zu ermöglichen.
-
Eines oder mehrere der Teilnetze 112 können ein Hauptteilnetz definieren, das als Backbone 114 bezeichnet werden kann. Das Backbone 114 kann einen Abschnitt der Topologie 300 beinhalten, der dazu konfiguriert ist, als Kommunikationsverbindungspunkt für die anderen Teilnetze 112 des Fahrzeugs 102 zu dienen. Demnach kann das Backbone 114 dazu konfiguriert sein, Datenverkehr in einem größeren Volumen als dem über die anderen Teilnetze 112 bereitgestellten zu verwalten und weiterzuleiten. Unter Verwendung der Nachrichtenverarbeitungsfunktionen des Gateways 110 kann das Gateway 110 dazu konfiguriert sein, Nachrichtenframes zwischen der im Backbone 114 befindlichen TCU 108 und der einen oder den mehreren in den anderen Teilnetzen 112 befindlichen Fahrzeugsteuerungen 106 zu übertragen.
-
Das Gateway 110 kann dazu konfiguriert sein, zu identifizieren, in welchem Teilnetz 112 sich die Steuerungen 106 und die TCU 108 jeweils befinden. Dies kann anhand einer entsprechenden physischen Netzwerkadresse der Steuerungen 106 und der TCU 108 erfolgen. In einem Beispiel kann das Gateway 110 als Reaktion darauf, dass es eine Anforderung zum Weiterleiten einer Nachricht an eine jeweilige Steuerungen 106 oder die TCU 108 empfängt, einen Speicher abfragen, um eine Netzwerkadresse zu identifizieren, die der Steuerung 106 oder der TCU 108 entspricht. Beispielsweise kann das Gateway 110 einen Speicher, der dazu konfiguriert ist, die Netzwerkadressen zu speichern, sowie ein Weiterleitungsschema, das definiert, welche Nachrichten an welche Teilnetze 112 und/oder das Backbone 114 weitergeleitet werden, beinhalten. Dieses Weiterleiten kann durch das Gateway 110 basierend auf in der Nachricht beinhalteten vordefinierten Parametern, wie z. B. eines Nachrichtentyps und/oder Kennungen der Steuerungen 106 oder der TCU 108, welche die Quelle und/oder das Ziel der Nachricht angeben, bestimmt werden.
-
Die Software-Updates 116 können Software-Code, Konfigurationseinstellungen und/oder Datenressourcen beinhalten, die auf eine oder mehrere Steuerungen 106 des Fahrzeugs 102 anzuwenden sind. Der Update-Server 118 kann Rechenhardware beinhalten, die dazu konfiguriert ist, den Fahrzeugen 102 OTA-Software-Updatedienste bereitzustellen.
-
Das Fahrzeug 102 kann dem Update-Server 118 eine Konfiguration von sich selbst bereitstellen. Beispielsweise kann das Fahrzeug 102 über das Weitverkehrsnetz 104 kommunizieren, indem abgefragte Informationen über die Steuerungen 106 des Fahrzeugs 102 sowie zusätzliche Informationen, die das spezifische Fahrzeug 102 identifizieren, verwendet werden (z. B. auf dem CAN-Bus veröffentlichte FIN-Informationen, Informationen über das Teilnehmeridentifikationsmodul (subscriber identitiy module - SIM) der TCU 108, wie etwa die International Mobile Station Equipment Identity (IMEI)). Der Aktualisierungsserver 118 kann diese Kommunikationen von dem Fahrzeug 102 empfangen und kann einen Datenspeicher der Hardwarekonfigurationen und Softwareversionen (z. B. Firmware) im Zusammenhang mit den Kennungen des Fahrzeugs 102 pflegen.
-
Basierend auf den Fahrzeugkonfigurationsinformationen kann der Aktualisierungsserver 118 Softwareaktualisierungen 116 an das Fahrzeug 102 senden und/oder dem Fahrzeug 102 einen Auslöser oder andere Informationen bereitstellen, um das Fahrzeug 102 zum Herunterladen der Softwareaktualisierungen 116 aufzufordern.
-
Als Reaktion auf den Auslöser kann das Gateway 110 beginnen, für eine vordefinierte Anzahl von Fahrzyklen einen Datenverkehr aus den Subnetzen 112 aufzuzeichnen, der relevante funktionelle Nachrichten angibt. In einem Beispiel können diese relevanten funktionellen Nachrichten Nachrichten vordefinierter Kategorien oder Nachrichten, die in einer vordefinierten Liste von Nachrichten beinhaltet sind, die als relevant gelten (z. B. Fehlerzustände, Diagnosecodes usw.), beinhalten. In einem anderen Beispiel können die relevanten Nachrichten Nachrichten beinhalten, die vordefinierte Nachrichten oder vordefinierte Kategorien von Nachrichten, die als nicht relevant gelten (z. B. Motordrehzahl, Fahrzeuggeschwindigkeit usw.) ausschließen. Zusätzlich kann das Gateway 110 Selbsttestanforderungen über die Subnetze 112 an Steuerungen 106 des Fahrzeugs 102 mit einer Selbsttestfähigkeit senden. Dies kann bewirken, dass die Steuerungen 106 Selbsttestoperationen durchführen und die Ergebnisse der Selbsttests an das Gateway 110 zurücksenden, damit sie von dem Gateway 110 aufgezeichnet werden. Das Gateway 110 könnte zusätzlich alle angegebenen DTCs und Fehlercodes auslesen. Diese gesammelten Informationen können als ein Fingerabdruck 122 für den Busverkehr vor der Aktualisierung zusammengefasst werden.
-
Danach kann die Softwareaktualisierung 116 installiert werden. Nach der Installation der Softwareaktualisierung 116 kann das Gateway 110 erneut relevante funktionelle Nachrichten für eine vordefinierte Anzahl von Fahrzyklen aufzeichnen, Selbsttestanforderungen an Steuerungen 106 mit einer Selbsttestfähigkeit senden und die Ergebnisse aufzeichnen. Diese Fingerabdrücke 122 von vor und nach der Aktualisierung können dann verglichen werden. Falls irgendwelche Probleme identifiziert werden, kann der Benutzer darauf hingewiesen werden, dass das Fahrzeug 102 gewartet werden muss. Falls der Vergleichstest der Fingerabdrücke 122 von vor und nach der Aktualisierung zu einem Erfolg führt, kann das Fahrzeug 102 den Benutzer zu einer Rückmeldung auffordern (z. B.in der HMI des Fahrzeugs 102). Diese Rückmeldung kann zum Beispiel Anfragen an den Benutzer dazu beinhalten, anzugeben, ob irgendwelche Probleme in Bezug auf Fahreigenschaften identifiziert wurden.
-
Als Reaktion auf die Installation der Softwareaktualisierung 116 kann das Fahrzeug 102 eine Aktualisierungsantwort 120 an den Aktualisierungsserver 118 senden. Die Aktualisierungsantwort 120 kann angeben, ob die Installation der Softwareaktualisierung 116 erfolgreich war. Diese Bestimmung kann auf dem Ergebnis des Vergleichstests des Fingerabdrucks 122 von vor und nach der Installation basieren. Die Aktualisierungsantwort 120 kann zusätzlich oder alternativ Benutzerkommentare beinhalten, die über die HMI des Fahrzeugs 102 empfangen wurden.
-
2 veranschaulicht einen beispielhaften Prozess 200 zum Durchführen eines Erstellens eines Fingerabdrucks des Fahrzeugbusverkehrs vor und nach der Aktualisierung. In einem Beispiel kann der Prozess 200 vom System 100 durchgeführt werden, das vorstehend ausführlich erläutert wurde.
-
Bei Vorgang 202 empfängt das Fahrzeug 102 einen Auslöser für die Installation einer Softwareaktualisierung 116. In einem Beispiel kann der Auslöser von dem Aktualisierungsserver 118 empfangen werden. Als eine Möglichkeit kann das Fahrzeug 102 dem Aktualisierungsserver 118 eine Konfiguration von sich selbst bereitstellen und als Reaktion den Auslöser empfangen. Als Reaktion auf den Auslöser kann das Fahrzeug 102 die Softwareaktualisierung 116, z. B. von dem Aktualisierungsserver 118 oder von einem anderen Standort herunterladen.
-
Bei 204 erzeugt das Fahrzeug 102 einen Fingerabdruck 122 eines Busverkehrs vor der Installation. In einem Beispiel kann das Gateway 110 als Reaktion auf den Empfang eines Auslösers für eine vordefinierte Anzahl von Fahrzyklen einen Datenverkehr aus Teilnetzen 112 aufzeichnen, der relevante funktionelle Nachrichten angibt, und/oder kann eine Selbsttestanforderung über die Teilnetze 112 an Steuerungen 106 des Fahrzeugs 102 mit einer Selbsttestfähigkeit aussenden. Diese gesammelten Informationen können als ein Fingerabdruck 122 für den Busverkehr vor der Installation zusammengefasst werden.
-
Bei 206 installiert das Fahrzeug 102 die Softwareaktualisierung 116. In einem Beispiel kann das Gateway 110 die Softwareaktualisierung 116 an die Steuerung 106 des Fahrzeugs 102 senden, die die Softwareaktualisierung 116 installieren soll. Die Steuerung 106 kann wiederum die Aktualisierung installieren und eine Benachrichtigung an das Gateway 110 senden, dass die Installation abgeschlossen wurde.
-
Bei 208 erzeugt das Fahrzeug 102 einen Fingerabdruck 122 eines Busverkehrs nach der Installation. In einem Beispiel kann das Gateway 110 als Reaktion auf den Empfang einer Benachrichtigung über die Installation der Softwareaktualisierung 116 einen Datenverkehr aus den Teilnetzen 112, der relevante funktionelle Nachrichten angibt, für eine vordefinierte Anzahl von Fahrzyklen aufzeichnen, oder kann eine Selbsttestanforderung über die Teilnetze 112 an die Steuerungen 106 des Fahrzeugs 102 mit einer Selbsttestfähigkeit aussenden. Diese Informationen können als ein Fingerabdruck 122 für den Busverkehr nach der Installation zusammengefasst werden.
-
Bei 210 vergleicht das Fahrzeug 102 den Fingerabdruck 122 des Busverkehrs vor der Installation mit dem Fingerabdruck 204 des Busverkehrs nach der Installation. Die Fingerabdrücke 122 können unter Verwendung verschiedener Techniken verglichen werden. Falls in einem einfachen Beispiel in dem Fingerabdruck 122 des Busverkehrs nach der Installation Diagnosecodes beinhaltet sind, in dem Fingerabdruck 122 des Busverkehrs vor der Installation jedoch nicht, kann geschlussfolgert werden, dass ein Problem aufgetreten ist, das aus der Installation der Softwareaktualisierung 116 resultiert. Falls in einem einfachen Beispiel in dem Fingerabdruck 122 des Busverkehrs vor der Installation Diagnosecodes beinhaltet sind, in dem Fingerabdruck 122 des Busverkehrs nach der Installation jedoch nicht, kann geschlussfolgert werden, dass die Softwareaktualisierung 116 ein Problem gelöst hat.
-
Als ein anderes Beispiel kann die Menge verschiedener Nachrichten, die in dem Fingerabdruck 122 des Busverkehrs vor der Installation beinhaltet ist, mit der Menge der gleichen Nachrichten verglichen werden, die in dem Fingerabdruck 122 des Busverkehrs nach der Installation beinhaltet ist. Wenn sich die Mengen unterscheiden, kann geschlussfolgert werden, dass die Softwareaktualisierung 116 ein Problem verursacht hat, obwohl aus diesen Ergebnissen möglicherweise nicht klar hervorgeht, um welches Problem es sich handelt. Zusätzlich oder alternativ können maschinelle Lernalgorithmen unter Verwendung des Fingerabdrucks 122 des Busverkehrs vor der Installation trainiert werden und können dazu verwendet werden, Daten in dem Fingerabdruck 122 des Busverkehrs nach der Installation zu identifizieren, die sich von der Struktur der Daten in dem Fingerabdruck 122 des Busverkehrs vor der Installation unterscheiden. Falls es wesentliche Unterschiede gibt, kann geschlussfolgert werden, dass die Softwareaktualisierung 116 ein Problem verursacht hat.
-
In einigen Beispielen kann das Fahrzeug 102 den Benutzer zur Eingabe von Informationen auffordern, wenn der Vergleich ein mögliches Problem angibt. In einem Beispiel kann der Benutzer innerhalb der HMI des Fahrzeugs aufgefordert werden, Informationen einzugeben, die jegliche Veränderungen beschreiben, die der Benutzer seit der Installation der Softwareaktualisierung 116 mit dem Fahrzeug 102 erlebt hat.
-
Bei 212 identifiziert das Fahrzeug 102 die Aktualisierungsantwort 120 basierend auf dem Vergleich. In einem Beispiel kann das Fahrzeug 102 die Ergebnisse des Vergleichs und/oder jegliche Informationen, die von einem Benutzer in der Aktualisierungsantwort 120 empfangen werden, beinhalten. Das Fahrzeug 102 sendet die Aktualisierungsantwort 120 bei Vorgang 214. In einem Beispiel kann das Fahrzeug 102 die Aktualisierungsantwort 120 an den Aktualisierungsserver 118 senden. Nach dem Vorgang 214 endet das Verfahren 200.
-
Die im vorliegenden Zusammenhang beschriebenen Rechenvorrichtungen, wie etwa die Steuerungen 106, die TCU 108 und der Aktualisierungsserver 118, beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen von einer oder mehreren Rechenvorrichtungen, wie etwa den vorstehend aufgelisteten, ausführbar sein können. Computerausführbare Anweisungen können von Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmiersprachen und/oder -technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination, Java™, C, C++, C#, VISUAL BASIC, JAVASCRIPT, PYTHON, JAVASCRIPT, PERL, PL/SQL usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der hier beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielzahl von computerlesbaren Medien gespeichert und übertragen werden.
-
Hinsichtlich der hier beschriebenen Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäß einer bestimmten Reihenfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der hier beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte hierin beschriebene Schritte weggelassen werden könnten. Mit anderen Worten dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung bestimmter Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Patentansprüche einschränken.
-
Dementsprechend versteht es sich, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, erschließen sich beim Lesen der vorstehenden Beschreibung. Der Umfang sollte nicht unter Bezugnahme auf die vorstehende Beschreibung, sondern stattdessen unter Bezugnahme auf die beigefügten Ansprüche gemeinsam mit dem vollständigen Umfang von Äquivalenten, zu denen derartige Ansprüche berechtigen, bestimmt werden. Es wird erwartet und beabsichtigt, dass es hinsichtlich der hier erläuterten Technologien künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftige Ausführungsformen aufgenommen werden. Insgesamt versteht es sich, dass die Anmeldung modifiziert und variiert werden kann.
-
Allen in den Patentansprüchen verwendeten Ausdrücken sollen deren umfassendste nachvollziehbare Konstruktionen und deren allgemeine Bedeutungen zugeordnet werden, wie sie den mit den hier beschriebenen Techniken vertrauten Fachleuten bekannt sind, sofern hier kein ausdrücklicher Hinweis auf das Gegenteil erfolgt. Insbesondere ist die Verwendung der Singularartikel wie etwa „ein“, „eine“, „der“, „die“, „das“ usw. dahingehend auszulegen, dass eines oder mehrere der aufgeführten Elemente genannt wird bzw. werden, es sei denn, ein Patentanspruch enthält ausdrücklich eine gegenteilige Einschränkung.
-
Die Zusammenfassung der Offenbarung wird bereitgestellt, um dem Leser einen schnellen Überblick über den Charakter der technischen Offenbarung zu ermöglichen. Sie wird in der Auffassung eingereicht, dass sie nicht dazu verwendet wird, den Umfang oder die Bedeutung der Patentansprüche auszulegen oder einzuschränken. Darüber hinaus ist bezüglich der vorstehenden detaillierten Beschreibung zu erkennen, dass der Vereinfachung der Offenbarung halber verschiedene Merkmale in verschiedenen Ausführungsformen zusammengefasst sind. Dieses Offenbarungsverfahren ist nicht dahingehend auszulegen, dass es eine Absicht widerspiegelt, die beanspruchten Ausführungsformen würden mehr Merkmale als ausdrücklich in jedem Anspruch genannt erfordern. Vielmehr liegt der Gegenstand der Erfindung in weniger als allen Merkmalen einer einzelnen offenbarten Ausführungsform, wie die folgenden Patentansprüche widerspiegeln. Somit werden die folgenden Patentansprüche hiermit in die detaillierte Beschreibung aufgenommen, wobei jeder Patentanspruch für sich als separat beanspruchter Gegenstand steht.
-
Wenngleich vorstehend beispielhafte Ausführungsformen beschrieben sind, sollen diese Ausführungsformen nicht alle möglichen Formen der Erfindung beschreiben. Vielmehr sind die in der Beschreibung verwendeten Ausdrücke beschreibende und nicht einschränkende Ausdrücke, und es versteht sich, dass verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Umfang der Offenbarung abzuweichen. Zusätzlich können die Merkmale verschiedener umsetzender Ausführungsformen miteinander kombiniert werden, um weitere erfindungsgemäße Ausführungsformen bilden.
-
Gemäß der vorliegenden Erfindung wird ein System bereitgestellt, das Folgendes aufweist: einen Prozessor eines Fahrzeugs, der dazu programmiert ist, vor dem Installieren einer Softwareaktualisierung einen Fingerabdruck des Busverkehrs vor der Installation zu erstellen, die Softwareaktualisierung auf dem Fahrzeug zu installieren und nach dem Installieren der Softwareaktualisierung einen Fingerabdruck des Busverkehrs nach der Installation zu erstellen, den Fingerabdruck des Busverkehrs vor der Installation und den Fingerabdruck des Busverkehrs nach der Installation zu vergleichen, um den Erfolg der Installation der Softwareaktualisierung zu identifizieren, und den Erfolg der Installation einem Aktualisierungsserver anzugeben.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, die Softwareaktualisierung von dem Aktualisierungsserver zu empfangen und die Softwareaktualisierung als Reaktion auf den Empfang der Softwareaktualisierung zu initiieren.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dazu programmiert, als Reaktion auf das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation und des Fingerabdrucks des Busverkehrs nach der Installation, das einen Misserfolg identifiziert, eine Eingabe bezüglich der Fahrzeugfunktion über eine Mensch-Maschine-Schnittstelle (HMI) des Fahrzeugs anzufordern.
-
Gemäß einer Ausführungsform beinhaltet das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation durch den Prozessor das Aufzeichnen des Datenverkehrs aus Teilnetzen eines Netzwerks des Fahrzeugs, wobei die Daten relevante funktionelle Nachrichten beinhalten, die für eine vordefinierte Anzahl von Fahrzyklen vor der Installation der Softwareaktualisierung aufgezeichnet wurden.
-
Gemäß einer Ausführungsform beinhaltet das Erzeugen des Fingerabdrucks des Busverkehrs nach der Installation durch den Prozessor das Aufzeichnen des Datenverkehrs aus Teilnetzen eines Netzwerks des Fahrzeugs, wobei die Daten relevante funktionelle Nachrichten beinhalten, die für eine vordefinierte Anzahl von Fahrzyklen nach der Installation der Softwareaktualisierung aufgezeichnet wurden.
-
Gemäß einer Ausführungsform beinhaltet das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation durch den Prozessor ferner das Senden einer Selbsttestanforderung über die Teilnetze an Steuerungen des Fahrzeugs mit einer Selbsttestfähigkeit und das Empfangen von Selbsttestergebnissen von den Steuerungen als Reaktion auf die Selbsttestanforderung.
-
Gemäß einer Ausführungsform beinhaltet das Erzeugen des Fingerabdrucks des Busverkehrs nach der Installation durch den Prozessor ferner das Senden einer Selbsttestanforderung über die Teilnetze an Steuerungen des Fahrzeugs mit einer Selbsttestfähigkeit und das Empfangen von Selbsttestergebnissen von den Steuerungen als Reaktion auf die Selbsttestanforderung.
-
Gemäß einer Ausführungsform beinhaltet das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation mit dem Fingerabdruck des Busverkehrs nach der Installation ein Schlussfolgern, dass es ein Problem gibt, das aus der Installation der Softwareaktualisierung resultiert, als Reaktion auf das Identifizieren davon, dass Diagnosecodes in dem Fingerabdruck des Busverkehrs nach der Installation beinhaltet sind, in dem Fingerabdruck des Busverkehrs vor der Installation jedoch nicht.
-
Gemäß einer Ausführungsform beinhaltet das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation mit dem Fingerabdruck des Busverkehrs nach der Installation ein Schlussfolgern, dass es einen Installationserfolg der Softwareaktualisierung gab, als Reaktion auf das Identifizieren davon, dass Diagnosecodes in dem Fingerabdruck des Busverkehrs vor der Installation vorhanden sind, in dem Fingerabdruck des Busverkehrs nach der Installation jedoch nicht.
-
Gemäß einer Ausführungsform beinhaltet das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation mit dem Fingerabdruck des Busverkehrs nach der Installation ein Vergleichen einer Menge an Nachrichten, die in dem Fingerabdruck des Busverkehrs vor der Installation beinhaltet ist, mit einer Menge derselben Nachrichten, die in dem Fingerabdruck des Busverkehrs nach der Installation beinhaltet ist, und, wenn die Mengen sich unterscheiden, ein Schlussfolgern, dass die Softwareaktualisierung ein Problem verursacht hat.
-
Gemäß einer Ausführungsform beinhaltet das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation mit dem Fingerabdruck des Busverkehrs nach der Installation ein Nutzen eines maschinellen Lernalgorithmus, der unter Verwendung des Fingerabdrucks des Busverkehrs vor der Installation dazu trainiert ist, Daten in dem Fingerabdruck des Busverkehrs nach der Installation zu identifizieren, die sich von der Struktur der Daten in dem Fingerabdruck des Busverkehrs vor der Installation unterscheiden, und als Reaktion auf das Identifizieren von Unterschieden in der Struktur der Daten in dem Fingerabdruck des Busverkehrs nach der Installation im Vergleich zu dem Fingerabdruck des Busverkehrs vor der Installation zu schlussfolgern, dass die Softwareaktualisierung ein Problem verursacht hat.
-
Gemäß der vorliegenden Erfindung wird ein Verfahren, bereitgestellt, das Folgendes aufweist: Herunterladen einer Softwareaktualisierung auf ein Fahrzeug von einem Aktualisierungsserver als Reaktion auf einen Aktualisierungsauslöser; Erzeugen eines Fingerabdrucks eines Busverkehrs vor der Installation als Reaktion auf einen Abschluss des Herunterladens; Installieren der Softwareaktualisierung auf dem Fahrzeug als Reaktion auf das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation; Erzeugen eines Fingerabdrucks eines Busverkehrs nach der Installation als Reaktion auf das Installieren der Softwareaktualisierung, und Angeben eines Erfolgs der Installation an den Aktualisierungsserver auf Grundlage eines Vergleichens der Fingerabdrücke von vor und nach der Installation.
-
Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass in dem Fingerabdruck des Busverkehrs vor der Installation Selbsttestergebnisse von Steuerungen des Fahrzeugs beinhaltet sind, die vor der Installation der Softwareaktualisierung erfasst wurden; und dadurch, dass Selbsttestergebnisse von Steuerungen des Fahrzeugs, die nach der Installation des Softwareaktualisierung erfasst wurden, in dem Fingerabdruck des Busverkehrs nach der Installation der Softwareaktualisierung beinhaltet sind.
-
Gemäß einer Ausführungsform ist der Prozessor ferner dadurch gekennzeichnet, dass er als Reaktion auf das Vergleichen des Fingerabdrucks des Busverkehrs vor der Installation und des Fingerabdrucks des Busverkehrs nach der Installation, das einen Misserfolg identifiziert, eine Eingabe bezüglich der Fahrzeugfunktion über eine Mensch-Maschine-Schnittstelle (HMI) des Fahrzeugs anfordert.
-
Gemäß einer Ausführungsform ist die Erfindung ferner dadurch gekennzeichnet, dass in dem Fingerabdruck des Busverkehrs vor der Installation ein Datenverkehr, der aus den Teilnetzen eines Fahrzeugnetzwerks für eine vordefinierte Anzahl von Fahrzyklen vor dem Installieren der Softwareaktualisierung aufgezeichnet wird, der relevante funktionelle Nachrichten angibt, beinhaltet ist, und dadurch, dass in dem Fingerabdruck des Busverkehrs nach der Installation, der aus den Teilnetzen eines Fahrzeugnetzwerks für eine vordefinierte Anzahl von Fahrzyklen nach dem Installieren der Softwareaktualisierung aufgezeichnet wird, der relevante funktionelle Informationen angibt, beinhaltet ist.
-
Gemäß der vorliegenden Erfindung wird ein nichtflüchtiges, computerlesbares Medium bereitgestellt, das Anweisungen aufweist, die, wenn sie durch einen Prozessor eines Gateways eines Fahrzeugs ausgeführt werden, bewirken, dass das Gateway als Reaktion auf einen Aktualisierungsauslöser eine Softwareaktualisierung von einem Aktualisierungsserver herunterlädt; als Reaktion auf den Abschluss des Herunterladens einen Fingerabdruck eines Busverkehrs vor der Installation erzeugt, wobei der Fingerabdruck des Busverkehrs vor der Installation einen Datenverkehr beinhaltet, der für eine vordefinierte Anzahl von Fahrzyklen vor der Installation der Softwareaktualisierung auf das Fahrzeug aus Teilnetzen eines Fahrzeugnetzwerks aufgezeichnet wird, wobei der aufgezeichnete Datenverkehr relevante funktionelle Nachrichten beinhaltet, die mit einer Liste von Arten von relevanten Nachrichten abgeglichen sind; als Reaktion auf das Erzeugen des Fingerabdrucks des Busverkehrs vor der Installation die Softwareaktualisierung auf dem Fahrzeug zu installieren; einen Fingerabdruck des Busverkehrs nach der Installation zu erzeugen, der weiteren Datenverkehr beinhaltet, der für eine vordefinierte Anzahl von Fahrzyklen nach der Installation der Softwareaktualisierung auf dem Fahrzeug aufgezeichnet ist, wobei der weitere aufgezeichnete Datenverkehr relevante, funktionelle Nachrichten beinhaltet, die mit einer Liste von Arten von relevanten Nachrichten abgeglichen sind; den Fingerabdruck des Busverkehrs vor der Installation und nach der Installation zu vergleichen; und als Reaktion auf ein Ergebnis des Vergleichs dem Aktualisierungsserver einen Erfolg der Installation anzugeben.