DE102016210674A1 - Verfahren für die Software Aktualisierung von Fahrzeugkomponenten - Google Patents

Verfahren für die Software Aktualisierung von Fahrzeugkomponenten Download PDF

Info

Publication number
DE102016210674A1
DE102016210674A1 DE102016210674.0A DE102016210674A DE102016210674A1 DE 102016210674 A1 DE102016210674 A1 DE 102016210674A1 DE 102016210674 A DE102016210674 A DE 102016210674A DE 102016210674 A1 DE102016210674 A1 DE 102016210674A1
Authority
DE
Germany
Prior art keywords
server
vehicle
driving
data stream
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016210674.0A
Other languages
English (en)
Inventor
Douglas S. Moeller
Ronald W. Pashby
Courtney Joe Holmes
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.)
Lear Corp
Original Assignee
Lear Corp
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 Lear Corp filed Critical Lear Corp
Publication of DE102016210674A1 publication Critical patent/DE102016210674A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

Vorgesehen ist ein Verfahren für die weite Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher umfassen, in Echtzeit. Das Verfahren umfasst: Bereitstellen eines Client-Servers zum Einleiten der Software-Updates; Bereitstellen eines Vermittlungsservers, der in Funktion mit dem Client-Server kommuniziert; Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst, wobei jeder der Kommunikationsserver in Funktion mit einer Vorrichtung in einer Vielzahl von entsprechenden Fahrzeugen kommunizieren kann; Ansteuern der einzelnen Vorrichtungen zur Kommunikation über ein drahtloses Netzwerk mit einem aus der Vielzahl von Kommunikationsservern, um Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) in dem entsprechenden Fahrzeug anzuwenden; Ansteuern der einzelnen Vorrichtungen zum Erzeugen von Status-Updates und zum Kommunizieren der Status-Updates an einen Kommunikationsserver über das drahtlose Netzwerk; und Ansteuern der einzelnen Kommunikationsserver zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen umfasst, und zum Senden des Datenstroms an den Vermittlungsserver.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Fahrzeuge im Allgemeinen sowie Verfahren und Vorrichtungen, mithilfe derer Fahrzeughersteller Fahrzeugsoftware in Massenabfertigung oder individuell unter Verwendung von drahtloser Übermittlung per Luftschnittstelle (Over The Air, OTA) von Aktualisierungspaketen an Fahrzeuge per Fernzugriff aktualisieren können.
  • Hintergrund der Erfindung
  • In Fahrzeugen wird im großen Maßstab programmierte Elektronik eingesetzt, um eine Vielzahl von Vorrichtungen und Funktionen zu steuern. Im Allgemeinen wird die Steuerung von Vorrichtungen und Funktionen von elektronischen Steuereinheiten (Electronic Control Units, ECUs) durchgeführt. ECUs umfassen in der Regel einen Mikrocontroller und einen Flash-Speicher, um Softwareparameter zur Steuerung der speziellen mit der ECU verbundenen Vorrichtungen oder Funktionen zu speichern.
  • Die ECUs sind in einem Fahrzeugnetzwerk über einen Bus miteinander verbunden. Ein allgemein gebräuchlicher Fahrzeugnetzwerkbus ist ein CAN-Bus (Controller Area Network), bei dem es sich um einen standardisierten Fahrzeugbus handelt, über den ECUs und Geräte miteinander kommunizieren können.
  • Moderne Fahrzeuge umfassen außerdem üblicherweise drahtlose Kommunikationsfähigkeiten. Ein solcher Mechanismus zum Bereitstellen von drahtloser Kommunikation kann eine Telematik-Steuereinheit (TCU) beinhalten. Im Allgemeinen bezieht sich TCU auf ein eingebettetes System an Bord eines Fahrzeugs, das Telekommunikation und Informationsverarbeitung kombiniert. Der Begriff bezieht sich mittlerweile auch auf Automobilsysteme, welche GPS-Satellitenverfolgung und drahtlose Kommunikation kombinieren. In der Regel umfasst eine TCU eine GPS-Einheit oder hat darauf Zugriff, die die Position des Fahrzeugs verfolgt, einen Speicher, einen Mikrocontroller und eine oder mehrere Schnittstellen für die drahtlose Kommunikation wie beispielsweise über GPRS, Wi-Fi, WiMAX oder LTE. Eine TCU ist mit dem Fahrzeugnetzwerkbus verbunden oder daran gekoppelt.
  • Von Zeit zu Zeit können die Fahrzeughersteller Software-Updates ausgeben, um Verbesserungen, Korrekturen oder andere Änderungen an Software und in den verschiedenen ECUs gespeicherten Daten bereitzustellen. Die Updates werden durch Überspielen der ECU-Flash-Speicher installiert.
  • In der Regel werden Software-Updates unter Herstellergarantie oder im Rahmen eines Rückrufs bereitgestellt. Die Fahrzeugbesitzer erhalten eine Benachrichtigung, dass sie das Fahrzeug für die Software-Aktualisierung zu einem Vertragshändler bringen sollen. Wenn das Fahrzeug zu dem Händler gebracht wird, installiert der Fahrzeughändler das Software-Update.
  • Mit der Bereitstellung von Fahrzeug-Updates sind signifikante Kosten verbunden. In der Regel müssen die Hersteller den Fahrzeughändler für die Installation der Software entschädigen. Außerdem entstehen Kosten in Verbindung mit dem Senden der Benachrichtigungen an die Fahrzeugbesitzer. Nicht selten reagieren die Fahrzeugbesitzer nicht auf die Benachrichtigungen, so dass zusätzliche Kosten durch weitere Benachrichtigungen erforderlich werden. Häufig verpassen es die Fahrzeugbesitzer auch, das Fahrzeug rechtzeitig zu einem Händler zu bringen.
  • Daher ist es wünschenswert, Verfahren und Vorrichtungen bereitzustellen, welche die Remote-Aktualisierung von Fahrzeug-Software ermöglichen, so dass die Händler Kosten für die Softwareinstallation signifikant reduziert oder vollständig eliminiert werden können.
  • Zusammenfassung
  • Ein Ausführungsbeispiel sieht ein Verfahren für die drahtlose Remote-Aktualisierung von Fahrzeug-Software von einer oder mehreren Ziel-ECUs in einer Ziel-Fahrzeuggruppe vor, die ein oder mehrere Fahrzeuge umfasst, wobei jede ECU einen Flash-Speicher umfasst. Das Verfahren umfasst das Hosten von Manager-Software auf einem Server, bei dem es sich um einen Client-Server oder einen zentralen Server handelt, auf den ein Client zugreifen kann. Das Verfahren umfasst des Weiteren die Verwendung der Manager-Software für Folgendes: Auswählen der Zielfahrzeuggruppe; Erzeugen eines differenziellen Aktualisierungspakets (Differential Update Package, DUP) für die Zielfahrzeuggruppe, wobei das DUP Update-Manager-Software umfasst; Auswählen von Update-Voraussetzungen zur Ausführung des DUP; und Auswählen eines Aktualisierungsplans zum Herunterladen des DUP. Das Verfahren umfasst des Weiteren: Bereitstellen von Download-Manager-Software zum Herunterladen des DUP in jedes der einen oder mehreren Zielfahrzeuge, und Verwenden der Download-Manager-Software für: Aufbauen einer separaten drahtlosen Kommunikationsverbindung zu einer Telematik-Steuereinheit (TCU) in jedem einzelnen Zielfahrzeug der Zielfahrzeuggruppe; und Verwenden der Download-Manager-Software zum Herunterladen des DUP in jede TCU über die einzelnen drahtlosen Kommunikationsverbindungen. Das Verfahren umfasst des Weiteren das Verwenden des Update-Managers in jeder TCU zum Aktualisieren der einen oder mehreren Ziel-ECUs in den einzelnen Zielfahrzeugen durch Verwenden des DUP, um jeden Flash-Speicher der einen oder mehreren Ziel-ECUs zu überspielen.
  • Das Ausführungsbeispiel kann des Weiteren umfassen: Versehen des DUP mit einem Aktualisierungsregelsatz und Verwenden der Update-Manager-Software in den einzelnen TCUs, um die einzelnen Flash-Speicher der Ziel-ECUs durch Durchführen der folgenden Schritte zu aktualisieren: Validieren der einzelnen Ziel-ECU-Flash-Bilder, die in die einzelnen TCUs heruntergeladen wurden; Validieren des aktualisierten Regelsatzes, der in die einzelnen TCUs heruntergeladen wurde; und Aktualisieren der einzelnen Ziel-ECUs in Übereinstimmung mit dem Regelsatz.
  • Das Ausführungsbeispiel kann des Weiteren umfassen: Verwenden der Download-Manager-Software, um eine Aktualisierungsinteraktion mit den einzelnen TCUs über die separate drahtlose Kommunikationsverbindung bereitzustellen.
  • Das Ausführungsbeispiel kann das Ansteuern der einzelnen TCUs zum Berichten des Aktualisierungsstatus an die Download-Manager-Software über die drahtlose Kommunikationsverbindung umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software für Folgendes umfassen: Durchführen einer Fahrzeugsuche; Erzeugen und Verwalten einer Vielzahl von Fahrzeuggruppen; und Auswählen der Zielfahrzeuggruppe aus der Vielzahl von Fahrzeuggruppen.
  • Das Ausführungsbeispiel kann des Weiteren das Anzeigen von ECU-Hardware und Software für jedes einzelne Fahrzeug umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Download-Manager-Software umfassen, um eine Aktualisierungsinteraktion mit den einzelnen TCUs über die drahtlose Kommunikationsverbindung bereitzustellen.
  • Das Ausführungsbeispiel kann das Verwenden der einzelnen TCUs zum Berichten des Aktualisierungsstatus an die Download-Manager-Software über die drahtlose Kommunikationsverbindung umfassen.
  • Das Ausführungsbeispiel kann das Versehen der Manager-Software mit einem ECU-Manager umfassen. Das Verfahren kann das Verwenden des ECU-Managers zum Suchen nach vorgegebenen ECUs umfassen; und das Verwenden des ECU-Managers zum Durchführen von einem oder beidem aus Hochladen von Inhalten der einzelnen Flash-Speicher der vorgegebenen ECUs oder das Verwalten von Flash-Speicherinhalten der vorgegebenen ECUs.
  • Das Ausführungsbeispiel kann das Verwenden der Download-Manager-Software umfassen, um eine Aktualisierungsinteraktion der TCU über die drahtlose Verbindung bereitzustellen.
  • Das Ausführungsbeispiel kann das Ansteuern der TCU zum Berichten des Aktualisierungsstatus an die Download-Manager-Software über die drahtlose Verbindung umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software für Folgendes umfassen: Durchführen einer Fahrzeugsuche; Erzeugen und Verwalten von Fahrzeuggruppen; und Anzeigen der ECUs pro Fahrzeug sowie der aktuellen Hardware- und Softwareversionen der einzelnen angezeigten ECUs.
  • Das Ausführungsbeispiel kann das Bereitstellen von Paket-Manager-Software umfassen, das Verwenden des Paket-Managers zum Auswählen von Update-Voraussetzungen; das Verwenden des Paket-Managers zum Auswählen des Aktualisierungsplans; und das Verwenden des Paket-Managers zum Auswählen von zu erzeugenden Benachrichtigungen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software zum Anfordern einer Genehmigung der einzelnen DUPs von einem oder mehreren vorgegebenen Individuen umfassen.
  • Das Ausführungsbeispiel kann das Empfangen der Genehmigung der einzelnen DUPs von einem oder mehreren vorgegebenen Individuen vor dem Initiieren eines Downloads der einzelnen DUPs umfassen.
  • Ein Ausführungsbeispiel eines Verfahrens zum Aktualisieren einer elektronischen Steuereinheit (ECU) in einem Fahrzeug, wobei die ECU einen Flash-Speicher zum Speichern von einem digitalen Inhaltsbild, einen Arbeitsspeicher (RAM) und einen Startlader umfasst, umfasst Folgendes: Erzeugen eines differenziellen Aktualisierungspakets (DUP) für die ECU zum Aktualisieren des digitalen Inhaltsbildes auf ein aktualisiertes digitales Inhaltsbild. Das DUP umfasst Befehle zum Durchführen von einem oder mehreren aus Kopieren von Bytes aus dem Flash-Speicher, Anwenden eines Satzes von Modifikationen auf die kopierten Bytes und Hinzufügen von zusätzlichen Bytes.
  • Das Verfahren umfasst des Weiteren das Übertragen des DUP über ein drahtloses Trägersystem an ein Telematikgerät des Fahrzeugs; Speichern eines originalen Blocks des Flash-Speichers in den RAM; Modifizieren des Blocks entsprechend dem DUP, um einen modifizierten Block zu erzeugen; Löschen des originalen Blocks aus dem Flash-Speicher; und Schreiben des modifizierten Blocks in den Flash-Speicher anstelle des Blocks.
  • Der Flash-Speicher und der RAM sind so bemessen, dass sie nicht die Kapazität aufweisen, das gegenwärtige digitale Inhaltsbild, das erwünschte digitale Inhaltsbild und das DUP gleichzeitig zu speichern.
  • Das Verfahren umfasst des Weiteren das Erzeugen des DUP durch Vergleichen des gegenwärtigen digitalen Inhaltsbildes des Flash-Speichers mit dem neuen erwünschten digitalen Inhaltsbild des Flash-Speichers und das Erzeugen eines Satzes von Änderungen, die erforderlich sind, um das gegenwärtige digitale Inhaltsbild auf das erwünschte digitale Inhaltsbild zu modifizieren.
  • Das Verfahren kann des Weiteren das Modifizieren des Startladers umfassen, damit ein Flash-Tool Befehle für den Startlader bereitstellen kann, das DUP auf auf das digitale Inhaltsbild anzuwenden.
  • Das Verfahren kann des Weiteren das Verwenden des Flash-Tools umfassen, um den Fortschritt der Aktualisierung des Flash-Speichers zu verfolgen; das Verwenden des Flash-Tools, um eine Unterbrechung des Aktualisierungsfortschrittes zu ermitteln; und das Verwenden des Flash-Tools, um eine Fortsetzung des Aktualisierungsfortschrittes nach der Unterbrechung zu initiieren.
  • Das Verfahren kann des Weiteren das Modifizieren des Startladers umfassen, damit ein Flash-Tool Befehle für den Startlader bereitstellen kann, das DUP auf das digitale Inhaltsbild anzuwenden.
  • Ein Ausführungsbeispiel eines zentralisierten Systems für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeugkomponenten umfasst: einen Vermittlungsserver; ein verteiltes Netzwerk umfassend eine Vielzahl von Kommunikationsservern; und eine Vielzahl von Fahrzeugen, wobei jedes Fahrzeug aus der Vielzahl von Fahrzeugen eine Telematik-Steuereinheit (TCU) umfasst, die in Funktion mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern kommunizieren kann, wobei die TCU dazu eingerichtet ist, Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) in dem Fahrzeug anzuwenden, und die TCU in Funktion Status-Updates für die Software-Updates erzeugen und die Status-Updates an den einen Kommunikationsserver kommunizieren kann. Jeder Kommunikationsserver aus der Vielzahl von Kommunikationsservern kann in Funktion gleichzeitig die Datennachrichten, welche Status-Updates von der Vielzahl von Fahrzeugen umfassen, empfangen und einen Datenstrom erzeugen, der die Datennachrichten von der Vielzahl von Fahrzeugen umfasst, wobei der Datenstrom an eine Protokolldatei gesendet wird.
  • In einem Ausführungsbeispiel ist die Protokolldatei für einen Client dediziert; und der Vermittlungsserver empfängt Filterbegriffe und Parameter von dem Client, um den Datenstrom auf clientbestimmte Daten zu reduzieren.
  • Das Ausführungsbeispiel kann so funktionieren, dass der Vermittlungsserver Parameter von dem Client empfängt, um zumindest eines aus Formatieren und Präsentieren des Datenstroms zu steuern.
  • Darüber hinaus kommuniziert der Vermittlungsserver die Filterbegriffe an ausgewählte Kommunikationsserver aus der Vielzahl von Kommunikationsservern, für welche die Filterbegriffe gelten.
  • Jeder Kommunikationsserver kann die einzelnen Datennachrichten mit den Filterbegriffen vergleichen, um zu bestimmen, ob die einzelnen Datennachrichten mit den Filterbegriffen übereinstimmen und einen gefilterten Datenstrom zu erzeugen. Der gefilterte Datenstrom wird an den Vermittlungsserver kommuniziert.
  • Ein weiteres Ausführungsbeispiel eines zentralisierten Systems für die Echtzeitüberwachung von weit verbreiteten Software-Updates von Fahrzeugkomponenten umfasst einen Client-Server, einen Vermittlungsserver und ein verteiltes Netzwerk, das eine Vielzahl von Kommunikationsservern umfasst. Jeder Server kann in Funktion mit einer entsprechenden Vielzahl von Fahrzeugen kommunizieren. Jedes Fahrzeug aus der entsprechenden Vielzahl von Fahrzeugen umfasst eine Vorrichtung, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern kommunizieren kann. Die Vorrichtung kann in Funktion mit ECUs in den einzelnen Fahrzeugen kommunizieren. Die Vorrichtung kann in Funktion Software-Updates von dem Kommunikationsserver empfangen und die Software-Updates selektiv auf eine oder mehrere ECUs in dem Fahrzeug anwenden. Die Vorrichtung kann in Funktion den Status der Software-Updates überwachen und Status-Updates für die Anwendung der Software-Updates erzeugen. Die Vorrichtung kann in Funktion die Status-Updates an den entsprechenden Kommunikationsserver kommunizieren. Jeder entsprechende Kommunikationsserver kann in Funktion Datennachrichten empfangen, welche Status-Updates von der entsprechenden Vielzahl von Fahrzeugen umfassen, und kann in Funktion die Datennachrichten von der entsprechenden Vielzahl von Fahrzeugen dazu verwenden, einen Datenstrom zu erzeugen.
  • In diesem Ausführungsbeispiel empfängt der Vermittlungsserver Filterbegriffe von dem Client-Server und wendet die Filterbegriffe auf den Datenstrom an, um den Datenstrom auf clientbestimmte Daten zu reduzieren. Der Vermittlungsserver kann Formatierungsparameter von dem Client-Server empfangen, um die Formatierung des Datenstroms zu steuern. Der Vermittlungsserver kommuniziert die Filterbegriffe an ausgewählte Kommunikationsserver aus der Vielzahl von Kommunikationsservern, für welche die Filterbegriffe gelten. Jeder Kommunikationsserver wendet die Filterbegriffe auf die einzelnen Datennachrichten an, um einen gefilterten Datenstrom zu erzeugen, und der gefilterte Datenstrom wird an den Vermittlungsserver kommuniziert. Der Vermittlungsserver kombiniert alle Datenströme, die er von der Vielzahl von Kommunikationsservern für den Client empfängt, um einen kombinierten Datenstrom zu erzeugen, und der Vermittlungsserver wendet die Filter-, die Formatierungs- und Präsentationsparameter auf den kombinierten Datenstrom an, um einen gefilterten Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel eines Verfahrens für die weite Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher umfassen, in Echtzeit umfasst das Bereitstellen eines Client-Servers zum Einleiten der Software-Updates, Bereitstellen eines Vermittlungsservers, der in Funktion mit dem Client-Server kommunizieren kann, und Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst, wobei jeder der Kommunikationsserver in Funktion mit einer Vorrichtung in einer Vielzahl von entsprechenden Fahrzeugen kommunizieren kann. Das Ausführungsbeispiel umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen zur Kommunikation über ein drahtloses Netzwerk mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern, um Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) in dem entsprechenden Fahrzeug anzuwenden. Das Ausführungsbeispiel umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen zum Erzeugen von Status-Updates für die Software-Updates und zum Kommunizieren der Status-Updates an den einen Kommunikationsserver über das drahtlose Netzwerk. Das Verfahren umfasst außerdem das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern, damit sie in Funktion gleichzeitig die Datennachrichten empfangen, welche Status-Updates von der Vielzahl von entsprechenden Fahrzeugen umfassen. Darüber hinaus umfasst das Verfahren das Ansteuern der einzelnen Kommunikationsserver zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen umfasst, wobei der Datenstrom an den Vermittlungsserver gesendet wird.
  • Ein Ausführungsbeispiel eines Verfahrens für die Echtzeitüberwachung von weit verbreiteten Software-Updates von Fahrzeugkomponenten umfasst das Bereitstellen eines Client-Servers, das Bereitstellen eines Vermittlungsservers, das Bereitstellen eines verteilten Netzwerks, das eine Vielzahl von Kommunikationsservern umfasst, und das Ansteuern der einzelnen Kommunikationsserver zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen. Jedes Fahrzeug aus der entsprechenden Vielzahl von Fahrzeugen umfasst eine Vorrichtung, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern über ein drahtloses Netzwerk kommunizieren kann, und in Funktion mit elektronischen Steuereinheiten (ECUs) in den einzelnen Fahrzeugen kommunizieren kann. Das Verfahren umfasst das Ansteuern der einzelnen Kommunikationsserver zum Herunterladen von ausgewählten Software-Updates für eine oder mehrere vorgegebene ECUs in jedem aus der Vielzahl von Fahrzeugen in die einzelnen Fahrzeugvorrichtungen über das drahtlose Netzwerk, das Ansteuern der einzelnen Fahrzeugvorrichtungen zum selektiven Anwenden der Software-Updates auf die eine oder mehrere vorgegebene ECUs in dem Fahrzeug, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates, und das Ansteuern der einzelnen Fahrzeugvorrichtungen zur Kommunikation der Status-Updates an den entsprechenden Kommunikationsserver über das drahtlose Netzwerk. Jeder entsprechende Kommunikationsserver kann in Funktion Datennachrichten empfangen, welche Status-Updates von den einzelnen Fahrzeugvorrichtungen umfassen, und die Datennachrichten von der entsprechenden Vielzahl von Fahrzeugen dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel eines Verfahrens für die Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher umfassen, in Echtzeit umfasst die Schritte zum Bestimmen, dass ein Fahrzeugbesitzer ein Software-Update für das Fahrzeug des Besitzers angefordert hat;
    Bereitstellen eines Client-Servers zum Einleiten des Software-Updates; Bereitstellen eines Vermittlungsservers, der in Funktion mit dem Client-Server kommunizieren kann; Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst, wobei jeder der Kommunikationsserver in Funktion mit einer Vorrichtung in einer Vielzahl von entsprechenden Fahrzeugen kommunizieren kann. Das Verfahren umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen in dem Fahrzeug des Besitzers zur Kommunikation mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern über das drahtlose Netzwerk, zum Empfangen und Anwenden der Software-Updates auf elektronische Steuereinheiten (ECU) in dem Fahrzeug des Besitzers; das Ansteuern der Vorrichtungen in dem Fahrzeug des Besitzers zum Erzeugen von Status-Updates für das Software-Update und zum Kommunizieren des Status-Updates an den einen Kommunikationsserver über das drahtlose Netzwerk;
    das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern, um in Funktion gleichzeitig Datennachrichten über das drahtlose Netzwerk zu empfangen, welche Status-Updates von der Vielzahl von entsprechenden Fahrzeugen umfassen; und Ansteuern der einzelnen Kommunikationsserver, einen Datenstrom zu erzeugen, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen und das Status-Update von dem Fahrzeug des Besitzers umfasst. Der Datenstrom wird über das drahtlose Netzwerk an den Vermittlungsserver gesendet.
  • Ein Ausführungsbeispiel eines Verfahrens für die Echtzeitüberwachung von weit verbreiteten Software-Updates von Fahrzeugkomponenten umfasst das Bereitstellen eines verteilten Netzwerks, das eine Vielzahl von Kommunikationsservern umfasst; und das Ansteuern der einzelnen Kommunikationsserver zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen. Jedes Fahrzeug umfasst eine Vorrichtung, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern über ein drahtloses Netzwerk kommunizieren kann. Die Vorrichtung kann in Funktion mit ECUs in den einzelnen Fahrzeugen kommunizieren. Das Verfahren umfasst des Weiteren das Initiieren eines Software-Updates in einer Vorrichtung in einem vorgegebenen Fahrzeug aus der Vielzahl von Fahrzeugen; das Ansteuern von einem der Kommunikationsserver zum Herunterladen von ausgewählten Software-Updates für eine oder mehrere vorgegebene ECUs in dem vorgegebenen Fahrzeug; und das Ansteuern der einzelnen vorgegebenen Fahrzeugvorrichtungen zum selektiven Anwenden der Software-Updates auf eine oder mehrere vorgegebene ECUs in dem vorgegebenen Fahrzeug, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates; das Ansteuern der Vorrichtung zum Kommunizieren der Status-Updates an den entsprechenden Kommunikationsserver. Der eine Kommunikationsserver kann in Funktion Datennachrichten empfangen, welche die Status-Updates von der einen vorgegebenen Fahrzeugvorrichtung umfassen, und die Datennachrichten dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel einer Telematik-Steuereinheit (TCU), die in einem Fahrzeug installierbar ist, umfasst eine drahtlose Netzwerkschnittstelle; eine Schnittstelle zu einem Fahrzeugbus, der mit einer Vielzahl von elektronischen Steuereinheiten (ECUs) verbunden ist, die in dem Fahrzeug angeordnet sind, wobei jede ECU einen Flash-Speicher, einen Arbeitsspeicher (RAM) und einen Startlader umfasst; einen Speicher; einen Prozessor; und ein differenzielles Aktualisierungspaket (DUP), das über die drahtlose Netzwerkschnittstelle empfangen wird, um ein Update für eine spezifische ECU aus den ECUs bereitzustellen, wobei das DUP ein Flash-Tool umfasst, differenzielle Aktualisierungsbefehle für die spezifische ECU und differenzielle Aktualisierungsdaten für den Flash-Speicher der spezifischen ECU. Der Prozessor verwendet das Flash-Tool, um die differenziellen Aktualisierungsbefehle für den Startlader der spezifischen ECU bereitzustellen. Die differenziellen Aktualisierungsbefehle bewirken sind von der spezifischen ECU dazu ausführbar, einen Block des Flash-Speichers in dem RAM zu speichern; der Prozessor kann in Funktion die differenziellen Aktualisierungsdaten für die spezifische ECU bereitstellen; die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen; die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block aus dem Flash-Speicher zu löschen; und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den modifizierten Block aus dem RAM in den Flash-Speicher anstelle des gelöschten Blockes zu schreiben.
  • Der Prozessor verwendet das Flash-Tool, um einen Fortschrittsstatus des Updates in dem Flash-Speicher zu pflegen. Der Prozessor verwendet den Fortschrittsstatus, um eine Unterbrechung des Updates zu ermitteln. Der Prozessor verwendet das Flash-Tool, um eine Fortsetzung des Updates nach der Unterbrechung zu initiieren.
  • Die drahtlose Netzwerkschnittstelle kann eine Schnittstelle zu einem drahtlosen Weitverkehrsnetz umfassen. Die drahtlose Netzwerkschnittstelle kann eine Schnittstelle zu einem drahtlosen lokalen Netzwerk umfassen.
  • Die TCU kann einen Kommunikationsagenten umfassen, um automatisch eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle auszuwählen, über die das DUP empfangen werden soll.
  • Die TCU kann einen Kommunikationsagenten umfassen, der auf einen Versuch reagiert, das DUP über eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle herunterzuladen, um automatisch das Herunterladen des DUP in die Telematik-Steuereinheit zu ermöglichen.
  • Ein weiteres Ausführungsbeispiel einer Telematik-Steuereinheit (TCU), die in einem Fahrzeug installierbar ist, umfasst eine drahtlose Netzwerkschnittstelle; eine Schnittstelle zu einem Fahrzeugbus, der mit einer Vielzahl von elektronischen Steuereinheiten (ECUs) verbunden ist, die in dem Fahrzeug angeordnet sind, wobei jede ECU einen Flash-Speicher, einen Arbeitsspeicher (RAM) und einen Startlader umfasst; einen Speicher; einen Prozessor; und ein differenzielles Aktualisierungspaket (DUP), das über die drahtlose Netzwerkschnittstelle empfangen wird, um ein Update für eine spezifische ECU aus den ECUs bereitzustellen, wobei das DUP ein Flash-Tool umfasst, differenzielle Aktualisierungsbefehle für die spezifische ECU und differenzielle Aktualisierungsdaten für den Flash-Speicher der spezifischen ECU. Der Prozessor kann in Funktion bestimmen, ob sich das Fahrzeug in einem vorgegebenen Status befindet und der Prozessor kann in Funktion die ECU aktualisieren, wenn sich das Fahrzeug in dem vorgegebenen Status befindet.
  • Der Prozessor kann in Funktion die ECU und den Fahrzeugstatus überwachen und das Update nur dann ausführen, während sich die ECU in einem vorgegebenen ECU-Status befindet und sich das Fahrzeug in dem vorgegebenen Status befindet.
  • Der Prozessor verwendet das Flash-Tool, um die differenziellen Aktualisierungsbefehle für den Startlader der spezifischen ECU bereitzustellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um einen Block des Flash-Speichers in den RAM zu speichern. Der Prozessor kann in Funktion die differenziellen Aktualisierungsdaten für die spezifische ECU bereitstellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block aus dem Flash-Speicher zu löschen, und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den modifizierten Block aus dem RAM anstelle des gelöschten Blockes in den Flash-Speicher zu schreiben.
  • Der Prozessor kann in Funktion die ECU und den Fahrzeugstatus überwachen und das Update nur dann ausführen, während sich die spezifische ECU in einem vorgegebenen ECU-Status befindet und sich das Fahrzeug in dem vorgegebenen Status befindet, und die Updates in einer vorgegebenen Zeitspanne abgeschlossen werden können.
  • In einem Ausführungsbeispiel verwendet der Prozessor das Flash-Tool, um differenzielle Aktualisierungsbefehle für den Startlader der spezifischen ECU bereitzustellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um einen Block des Flash-Speichers in den RAM zu speichern. Der Prozessor kann in Funktion differenzielle Aktualisierungsdaten für die spezifische ECU bereitstellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den Block aus dem Flash-Speicher zu löschen, und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU ausführbar, um den modifizierten Block aus dem RAM anstelle des gelöschten Blockes in den Flash-Speicher zu schreiben.
  • In einem Ausführungsbeispiel verwendet der Prozessor das Flash-Tool, um einen Fortschrittsstatus des Updates in dem Flash-Speicher zu pflegen. Der Prozessor verwendet den Fortschrittsstatus, um eine Unterbrechung des Updates zu ermitteln. Der Prozessor verwendet das Flash-Tool, um eine Fortsetzung des Updates nach der Unterbrechung zu initiieren.
  • In einem Ausführungsbeispiel umfasst die drahtlose Netzwerkschnittstelle eine Schnittstelle zu einem drahtlosen Weitverkehrsnetz. Die drahtlose Netzwerkschnittstelle umfasst eine Schnittstelle zu einem drahtlosen lokalen Netzwerk. Die Telematik-Steuereinheit kann des Weiteren einen Kommunikationsagenten umfassen, um automatisch eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle auszuwählen, über die das DUP empfangen werden soll.
  • In einem Ausführungsbeispiel reagiert der Kommunikationsagent auf einen Versuch, das DUP über eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle herunterzuladen, um automatisch das Herunterladen des DUP in die Telematik-Steuereinheit zu ermöglichen.
  • Ein Ausführungsbeispiel sieht ein Verfahren zum Upgraden von elektronischen Fahrzeug-Steuereinheiten (ECUs) vor, die einen Flash-Speicher umfassen und in einem Fahrzeug angeordnet sind, das eine Telematik-Steuereinheit (TCU) umfasst, die in Funktion mit den ECUs kommunizieren kann. Das Verfahren umfasst das Erzeugen eines differenziellen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU. Das Erstellen umfasst: Vergleichen eines neuen Bildes der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers mit einem gegenwärtigen Bild der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers; und Erzeugen eines Satzes von Änderungen, um das gegenwärtige Bild auf das neue Bild zu modifizieren, wobei die Änderungen einen Satz von Befehlen umfassen. Der Satz von Befehlen umfasst einen Befehl zum Kopieren eines Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher, einen Befehl zum Durchführen von einem oder mehreren aus Anwenden eines Satzes von Modifikationen auf den Block von Bytes und Hinzufügen von zusätzlichen Bytes zu dem Block von Bytes, um einen Block des neuen Bildes zu erzeugen, und einen Befehl zum Kopieren des Blockes des neuen Bildes in den vorgegebenen ECU-Flash-Speicher anstelle des kopierten Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher. Das Verfahren umfasst des Weiteren das Herunterladen des DUP in ein oder mehrere Fahrzeuge, die eine Telematik-Steuereinheit (TCU) umfassen, über ein drahtloses Netzwerk und das Verwenden der Telematik-Steuereinheit dazu, automatisch auf den Empfang des DUP in der vorgegebenen ECU zu reagieren und den vorgegebenen ECU-Flash-Speicher zu aktualisieren.
  • In einem Ausführungsbeispiel umfasst das Verfahren das Verwenden eines verteilten Netzwerkes, um das DUP in eine Vielzahl von Fahrzeugen herunterzuladen und das gleichzeitige Aktualisieren der vorgegebenen ECU in jeder Vielzahl von Fahrzeugen zu ermöglichen.
  • In einem Ausführungsbeispiel umfasst das Verfahren das Bereitstellen eines Client-Servers; das Hochladen des DUP in den Client-Server; und das Verbinden des Client-Servers mit einem verteilten Netzwerk, um das DUP in eine Vielzahl von Fahrzeugen herunterzuladen, die jeweils die vorgegebene ECU umfassen.
  • Ein Ausführungsbeispiel des Verfahrens umfasst des Weiteren das Verwenden eines Vermittlungsservers, der mit einer Vielzahl von Kommunikationsservern verbunden ist, für das verteilte Netzwerk.
  • Das Verfahren kann des Weiteren das Bereitstellen eines verteilten Netzwerkes umfassen, das einen Verbindungsserver und eine Vielzahl von Kommunikationsservern umfasst; das Hochladen des DUP in die Kommunikationsserver über den Vermittlungsserver; und das gleichzeitige Herunterladen des DUP aus der Vielzahl von Kommunikationsservern in eine Vielzahl von Fahrzeugen.
  • Ein weiteres Ausführungsbeispiel eines Verfahrens ist für die Echtzeitüberwachung von weit verbreiteten Software-Updates von elektronischen Fahrzeug-Steuereinheiten (ECUs) vorgesehen, wobei jede ECU einen Flash-Speicher umfasst, jede ECU in einem Fahrzeug aus einer Vielzahl von Fahrzeugen angeordnet ist, und jedes Fahrzeug eine Telematik-Steuereinheit (TCU) umfasst, die in Funktion mit den ECUs kommunizieren kann. Das Verfahren umfasst das Erstellen eines digitalen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU in jedem Fahrzeug aus der Vielzahl von Fahrzeugen. Das Erstellen umfasst: Vergleichen eines neuen Bildes der digitalen Inhalte eines vorgegebenen ECU-Flash-Speichers mit einem gegenwärtigen Bild der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers; und Erzeugen eines Satzes von Änderungen, um das gegenwärtige Bild auf das neue Bild zu modifizieren, wobei die Änderungen einen Satz von Befehlen umfassen. Der Satz von Befehlen umfasst einen Befehl zum Kopieren eines Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher, einen Befehl zum Durchführen von einem oder mehreren aus Anwenden eines Satzes von Modifikationen auf den Block von Bytes und Hinzufügen von zusätzlichen Bytes zu dem Block von Bytes, um einen Block des neuen Bildes zu erzeugen, und einen Befehl zum Kopieren des Blockes des neuen Bildes in den vorgegebenen ECU-Flash-Speicher anstelle des kopierten Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher. Das Verfahren umfasst des Weiteren das Herunterladen des DUP in die Vielzahl von Fahrzeugen über ein drahtloses verteiltes Netzwerk; das Verwenden der einzelnen Telematik-Steuereinheiten dazu, automatisch auf den Empfang des DUP zu reagieren und einen entsprechenden vorgegebenen ECU-Flash-Speicher zu aktualisieren; das Verwenden der einzelnen Telematik-Steuereinheiten dazu, automatisch einen Update-Statusbericht für das DUP-Update des entsprechenden vorgegebenen ECU-Flash-Speichers zu erzeugen; und das Ansteuern der einzelnen Telematik-Steuereinheiten dazu, den Statusbericht automatisch in das drahtlose verteilte Netzwerk hochzuladen.
  • Ein Ausführungsbeispiel kann umfassen: Versehen des drahtlosen verteilten Netzwerkes mit einer Vielzahl von Kommunikationsservern, wobei jeder Kommunikationsserver in Funktion mit einem entsprechenden Teilsatz aus der Vielzahl von Fahrzeugen kommunizieren kann; und Versehen des drahtlosen verteilten Netzwerkes mit einem Vermittlungsserver, der in Funktion mit der Vielzahl von Kommunikationsservern kommunizieren kann.
  • Ein Ausführungsbeispiel kann das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern dazu umfassen, den Update-Statusbericht von jedem Fahrzeug aus dem entsprechenden Teilsatz aus der Vielzahl von Fahrzeugen zu empfangen; und das Ansteuern jedes Kommunikationsservers aus der Vielzahl von Kommunikationsservern dazu, die Update-Statusberichte zu einem entsprechenden Datenstrom zu kombinieren.
  • Ein Ausführungsbeispiel kann das Versehen der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern mit Datenstrom-Filterkriterien umfassen, um die Update-Statusberichte zu filtern und einen gefilterten Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel kann das Hochladen der Datenstrom-Filterkriterien von einem Client in den Vermittlungsserver umfassen, und kann des Weiteren das Versehen der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern mit Formatierungsdaten umfassen, um den gefilterten Datenstrom zu formatieren.
  • Ein Ausführungsbeispiel kann darüber hinaus das Hochladen der Datenstrom-Filterkriterien von einem Client in den Vermittlungsserver umfassen.
  • Ein Ausführungsbeispiel kann das Versehen des Vermittlungsservers mit Datenstrom-Filterkriterien umfassen, um die Update-Statusberichte zu filtern und einen gefilterten Datenstrom zu erzeugen; das Einrichten von Kommunikationsverbindungen mit ausgewählten Kommunikationsservern aus der Vielzahl von Kommunikationsservern, für welche die Datenstromfilterung gültig ist; das Hochladen der Datenstrom-Filterkriterien in die ausgewählten Kommunikationsserver; und das Verwenden der Datenstrom-Filterkriterien in jedem der ausgewählten Kommunikationsserver, um die Update-Statusberichte zu filtern und einen entsprechenden Datenstrom für jeden der ausgewählten Kommunikationsserver zu erzeugen.
  • Ein Ausführungsbeispiel kann des Weiteren das Herunterladen jedes entsprechenden Datenstroms in den Vermittlungsserver umfassen; und das Ansteuern des Vermittlungsservers dazu, alle entsprechenden gefilterten Datenströme zu einem einzelnen Datenstrom zu kombinieren; und das Herunterladen des einzelnen Datenstroms in den Client.
  • Ein Ausführungsbeispiel kann das Versehen des Vermittlungsservers mit Formatierungskriterien umfassen; und das Verwenden des Vermittlungsservers dazu, die Formatierungskriterien auf den einzelnen Datenstrom anzuwenden und einen formatierten Datenstrom bereitzustellen.
  • Ein Ausführungsbeispiel kann das Herunterladen des formatierten Datenstroms in den Client umfassen.
  • Ein Ausführungsbeispiel ist für ein Verfahren für die Echtzeitüberwachung von weit verbreiteten Software-Updates von elektronischen Fahrzeug-Steuereinheiten (ECUs) vorgesehen, wobei jede ECU einen Flash-Speicher umfasst, jede ECU in einem Fahrzeug aus einer Vielzahl von Fahrzeugen angeordnet ist, jedes Fahrzeug eine Telematik-Steuereinheit (TCU) umfasst, die in Funktion mit den ECUs kommunizieren kann. Das Verfahren umfasst das Erstellen eines digitalen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU in jedem Fahrzeug aus der Vielzahl von Fahrzeugen; das Herunterladen des DUP in die Vielzahl von Fahrzeugen über ein drahtloses verteiltes Netzwerk; das Verwenden der einzelnen Telematik-Steuereinheiten dazu, automatisch auf den Empfang des DUP zu reagieren und einen entsprechenden vorgegebenen ECU-Flash-Speicher zu aktualisieren; das Verwenden der einzelnen Telematik-Steuereinheiten dazu, automatisch einen Update-Statusbericht für jedes DUP-Update des entsprechenden vorgegebenen ECU-Flash-Speichers zu erzeugen; und das Ansteuern der einzelnen Telematik-Steuereinheiten dazu, den Statusbericht automatisch in das drahtlose verteilte Netzwerk hochzuladen.
  • Ein Ausführungsbeispiel kann das Versehen des drahtlosen verteilten Netzwerkes mit einer Vielzahl von Kommunikationsservern umfassen, wobei jeder Kommunikationsserver in Funktion mit einer entsprechenden Teilsatz-Vielzahl von Fahrzeugen aus der Vielzahl von Fahrzeugen kommunizieren kann; und Versehen des drahtlosen verteilten Netzwerkes mit einem Vermittlungsserver, der in Funktion mit der Vielzahl von Kommunikationsservern kommunizieren kann.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird durch Lesen der nachfolgenden ausführlichen Beschreibung in Verbindung mit den Zeichnungen besser verständlich, bei welchen gleiche Bezugsziffern gleiche Elemente kennzeichnen:
  • 1 zeigt eine Funktionsübersicht eines Systems zum Bereitstellen von Fahrzeug-Updates;
  • 2 illustriert, wie 2A und 2B angeordnet werden müssen, um einen Screenshot eines Richtlinien-Manager-Dashboards zu zeigen;
  • 2A und 2B sind, wenn sie wie in 2 angeordnet werden, ein Screenshot eines Richtlinien-Manager-Dashboards;
  • 3 ist ein Screenshot einer Fahrzeugauswahl im Fahrzeug-Manager;
  • 4 ist ein Screenshot der Suchergebnisse der Fahrzeugauswahl im Fahrzeug-Manager;
  • 5 ist ein Screenshot einer Gruppenauswahl im Fahrzeug-Manager;
  • 6 ist ein zweiter Screenshot einer Gruppenauswahl im Fahrzeug-Manager;
  • 7 ist ein Screenshot eines ECU-Typ-Managers im Fahrzeug-Manager;
  • 8 ist ein Screenshot einer Herstellerauswahl im Fahrzeug-Manager;
  • 9 ist ein Screenshot einer Auswahl im Paket-Manager;
  • 10 illustriert, wie 10A, 10B und 10C angeordnet werden müssen, um einen Screenshot des Paket-Managers zu zeigen;
  • 10A, 10B und 10C sind, wenn sie wie in 10 angeordnet werden, ein Screenshot des Paket-Managers;
  • 11 illustriert, wie 11A und LB angeordnet werden, um einen zweiten Screenshot eines zweiten Bildschirms des Paket-Managers zu zeigen;
  • 11A und 11B sind, wenn sie wie in 11 angeordnet werden, ein zweiter Screenshot eines zweiten Bildschirms des Paket-Managers;
  • 12 ist ein Screenshot eines Bildschirms, auf den zugegriffen wird, wenn die Registerkarte Qualitätssicherung (QA) ausgewählt wird;
  • 13 illustriert, wie 13A und 13B angeordnet werden, um einen Screenshot zu zeigen;
  • 13A und 13B zeigen, wenn sie wie in 13 angeordnet sind, einen Screenshot;
  • 14 ist ein Blockdiagramm einer Telematik-Steuereinheit;
  • 15 ist ein Blockdiagramm eines Teils eines Aktualisierungssystems;
  • 16 ist eine detailliertere Ansicht des Aktualisierungssystems aus 15;
  • 17 veranschaulicht Einzelheiten eines erweiterbaren Router-Netzwerks; und
  • 18 zeigt weitere Einzelheiten des Netzwerks aus 6.
  • Ausführliche Beschreibung
  • 1 veranschaulicht vereinfacht die Funktionen eines Ausführungsbeispiels eines Systems 100 zum Bereitstellen von Software-Updates für Fahrzeuge. Das System 100 ermöglicht die drahtlose Verteilung von Fahrzeug-Software-Updates, die vom Fahrzeughersteller stammen, wozu unter anderem Verbesserungen oder Korrekturen oder andere Änderungen an der Fahrzeugsoftware und den Fahrzeugdaten zählen. Das System 100 stellt in Funktion vorzugsweise automatisch solche Updates für individuelle ausgewählte Fahrzeuge oder große Gruppen von vorgegebenen Fahrzeugen bereit. Das System 100 kann dazu verwendet werden, automatisch Benachrichtigungen über die Update-Verfügbarkeit für Fahrzeugbesitzer bereitzustellen, die Fahrzeug-Updates automatisch herunterzuladen und Berichte über den Update-Status zu erzeugen.
  • In dem System 100 wird ein Software-Update von oder bei dem Fahrzeughersteller erzeugt.
  • Um die Software-Updates für ECUs bereitzustellen, ist ein Verfahren vorgesehen, um ein differenzielles Bild-Upgrade an Fahrzeug-ECUs mit begrenztem Flash-Speicherplatz und begrenztem Arbeitsspeicherplatz (RAM) durchzuführen, ohne Zugriff auf das originale Flash-Speicher-Datenbild zu benötigen.
  • Um die Bild-Downloadzeit und die Kosten für das OTA-Überspielen von ECU-Bildern zu reduzieren, werden nur die Änderungen an dem originalen Bild anstatt eines vollständig neuen Bildes gesendet. Diese Änderungen werden hier als Differenzielles Upgrade-Paket (DUP) bezeichnet. Ein DUP wird durch Vergleichen des neuen Bildes mit dem originalen Bild und durch Erzeugen eines Satzes von Änderungen erzeugt, die erforderlich sind, um das originale Bild zu dem neuen Bild zu modifizieren. Der Satz von Änderungen umfasst Befehle zum Kopieren von Bytes aus dem originalen Bild und zum Anwenden eines Satzes von Modifikationen auf diese Bytes und/oder zum Hinzufügen von zusätzlichen Bytes zu dem neuen Bild.
  • Ein Ansatz zum Erzeugen des neuen Bildes erfordert genug Speicherplatz, um das originale Bild, das neue Bild und das DUP zu fassen. Außerdem ist dafür Zugriff auf das originale Bild erforderlich. Allerdings verfügen viele ECUs nicht über ausreichend Flash-Speicherplatz und/oder RAM-Speicherplatz, um das originale Bild, das neue Bild und das DUP zu fassen. Aufgrund von Sicherheitsbedenken können die meisten ECU-Bilder nicht extern ausgelesen werden. Dies stellt Hindernisse für Flash-Tools dabei dar, das drahtlose Upgraden von ECUs unter Verwendung von DUPs durchzuführen.
  • In den verschiedenen Ausführungsbeispielen ist ein Verfahren vorgesehen, das nur kleine Änderungen an dem Startlader der ECU erfordert, damit ein Flash-Tool Befehle für den Startlader bereitstellen und das DUP auf dem aktuellen Bild in dem Flash-Speicher der ECU implementieren kann. Der Flash-Speicher ist so aufgebaut, dass zum Beschreiben zunächst ein Bereich des Speichers, der als Block bezeichnet wird, gelöscht wird, und der Block anschließend beschrieben werden kann. Damit ein Teil eines Blockes modifiziert werden kann, wird in der Regel folgende Sequenz eingesetzt:
    • 1) Der Block wird üblicherweise in den RAM eingelesen;
    • 2) Anschließend wird der Block modifiziert, um den zu überschreibenden Wert zu reflektieren;
    • 3) Der Block wird gelöscht; und
    • 4) Der Block wird üblicherweise aus dem RAM geschrieben.
  • Der ECU-Startlader unterstützt folgende Befehle:
    • 1) Verschieben von Quellen_Adresse, Ziel_Adresse, Größe
    • 2) Verschieben_mit_Modifikationen der Quellen_Adresse, Ziel_Adresse, Größe, Modifikations_Bytes...
    • 3) Schreiben von Bytes_Adresse, Größe, Bytes...
  • Das Flash-Tool, welches dieses Verfahren implementiert, nimmt das DUP, erzeugt die Startladerbefehle und führt sie aus, um die Änderungen durchzuführen. Außerdem pflegt das Flash-Tool einen Fortschrittsstatus für den Fall, dass eine Unterbrechung im Überspielfortschritt auftritt.
  • Ein Mitarbeiter des Herstellers greift unter Verwendung eines Endgerätes 101 auf ein Richtlinien-Manager-Computerprogramm 103 zu. In diesem Ausführungsbeispiel wird das Richtlinien-Manager-Programm 103 auf einem oder mehreren Servern gehostet. Die Server können sich bei dem Fahrzeughersteller befinden. Alternativ kann der Richtlinien-Manager als Software as a Service (SAAS) bereitgestellt werden. SAAS ist ein Software-Lizenzierungs- und Bereitstellungsmodell, bei dem Software auf Abonnementbasis lizenziert und zentral gehostet wird. SAAS wird manchmal auch als „Software-On-Demand” bezeichnet. Üblicherweise greifen die Benutzer auf SAAS über einen Webbrowser zu. Darüber hinaus kann der Richtlinien-Manager 103 auf Servern Dritter gehostet und darauf ausgeführt werden.
  • Dem Richtlinien-Manager 103 sind replizierte Datenbanken zugeordnet, die in 1 nicht dargestellt sind. Der Richtlinien-Manager 103 bietet individualisierte Dashboards, die auf dem Endgerät 101 angezeigt werden können. Die individualisierten Dashboards werden nachfolgend beschrieben.
  • In dem dargestellten Ausführungsbeispiel umfasst der Richtlinien-Manager 103 vier verschiedene ineinandergreifende Softwarekomponenten, d. h. einen Fahrzeug-Manager 105, einen ECU-Manager 107, einen Paket-Manager 109 und einen Berichtemanager 111. Jede der vier Komponenten wird nachstehend ausführlich beschrieben.
  • Der Richtlinien-Manager 103 dient dazu, Aktualisierungspakete zu erzeugen und die Genehmigung für die Aktualisierungspakete zu erhalten. Die genehmigten Aktualisierungspakete werden einem Download-Manager 105 bereitgestellt, der dazu dient, die Aktualisierungspakete in die individuellen Fahrzeug-TCUs herunterzuladen.
  • Der Richtlinien-Manager 103 dient dazu, Steuerinformationen für Aktualisierungen zu erzeugen, die ein Fahrzeug, Fahrzeugmodelle und/oder Gruppen von zu aktualisierenden Fahrzeugen beinhalten. Außerdem identifiziert der Richtlinien-Manager 103 die entsprechenden ECUs und ECU-Flash-Speicher-Datenbilder, die aktualisiert werden sollen. Der Richtlinien-Manager 103 dient auch dazu, die Voraussetzungen für die einzelnen Updates, den Aktualisierungsplan und die zu versendenden Benachrichtigungen zu bestimmen. Der Richtlinien-Manager 103 dient außerdem dazu, die Update-Statusberichte auszuwählen, die an den Fahrzeughersteller zurückgesendet werden sollen.
  • Für alle Updates müssen die ECUs der einzelnen Fahrzeuge die korrekten Bedingungen aufweisen, damit das Überspielen der ECU-Speicher effektiv beginnen kann. Bei einigen ECUs könnte es dafür erforderlich sein, dass die Zündung eingeschaltet ist. Bestimmte ECUs werden erst aktiviert, wenn die Zündung eingeschaltet wird. Andere ECUs werden dagegen durch eine Diagnosenachricht aktiviert und überspielt, während die Zündung ausgeschaltet ist. Wenn eine ECU aktiviert werden kann, während die Zündung ausgeschaltet ist, sollte die ECU überspielt werden können, doch zu den Dingen, die berücksichtigt werden sollten, zählen der Stromverbrauch – d. h. es ist nicht wünschenswert, die Fahrzeugbatterie zu belasten – und die Zeit, die es dauert, das Update durchzuführen.
  • Beim Durchführen eines Updates einer ECU müssen alle ECU-internen Bedingungen erfüllt sein, damit das Neubespielen beginnen kann. Außerdem sollte sich der Flash-Lader der ECU im geschützten Speicherbereich befinden. Die ECU sollte verifizieren, ob sich in ihrem Flash-Speicher ein gültiger Code (der neubespielbare Code) befindet, und die ECU sollte im ausfallsicheren Startblock bleiben, d. h. im Flash-Modus, wenn sich der gültige Code nicht im Flash-Speicher befindet. Außerdem sollte der Startblock (Flash-Modus) ein Verfahren zum Wiederherstellen nach einem fehlgeschlagenen Flash-Versuch unterstützen. Die ECU sollte nach dem Neubespielen die Originalteilenummer beibehalten.
  • Der Download-Manager 113 authentifiziert die Softwarepaket-Updates für die einzelnen vorgesehenen Fahrzeuge 115 und lädt sie herunter. Der Download-Manager 113 ist auf einem oder mehreren Servern vorgesehen, wie nachstehend beschrieben, und stellt die Aktualisierungspakete für die Client- oder Ziel-TCUs 119 in den jeweiligen zu aktualisierenden Zielfahrzeugen 115 bereit. Die Update-Downloads werden über das Netzwerk 117 unter Verwendung einer drahtlosen Verbindung, d. h. per Luftschnittstelle (Over The Air, OTA) bereitgestellt. Ein Teil des Aktualisierungspakets umfasst einen Update-Manager 121, den die TCU 119 nutzt, um eine oder mehrere ECUs 123 über einen CAN-Bus 211 des Fahrzeugs 115 zu aktualisieren.
  • In einem anderen Ausführungsbeispiel verwende der Download-Manager 113 ein OMA-DM-Protokoll (Open Mobile Alliance Device Management), um die von dem Richtlinien-Manager 103 identifizierten Software-Aktualisierungspakete für die Zielfahrzeuge bereitzustellen. Das OMA-DM-Protokoll wurde in der Vergangenheit verwendet, um Softwareaktualisierungen für Mobilgeräte wie beispielsweise Mobiltelefone, persönliche digitale Assistenten (PDAs) und Tablet-Computer bereitzustellen, hat für die Aktualisierung von Fahrzeug-Software jedoch noch keinen Einsatz gefunden. Wir haben festgestellt, dass das OMA-DM-Protokoll und seine Verwaltungsmöglichkeiten vorteilhaft zur Aktualisierung von Fahrzeug-Software eingesetzt werden können.
  • OMA-DM bietet Geräteverwaltung durch drahtlose Kommunikation zwischen einem Server, der ein Gerät verwaltet, und einem Client, bei dem es sich um das verwaltete Gerät handelt. OMA-DM ist dafür ausgelegt, eine beliebige Anzahl von Datentransporten sowohl physisch über eine drahtgebundene Leitung, wie beispielsweise einen universalen seriellen Bus (USB) und RS-232, als auch über drahtlose Medien wie beispielsweise GSM, CDMA, IrDA oder Bluetooth zu unterstützen und zu nutzen.
  • Das OMA-DM-Kommunikationsprotokoll ist ein Anfrage-Antwort-Protokoll. Die Authentifizierung und die Abfrage einer Authentifizierung sind eingebaut, um sicherzustellen, dass der Server und der Client nur nach einer korrekten Validierung kommunizieren. Der Server und der Client sind beide zustandsbehaftet, was bedeutet, dass eine bestimmte Sequenz oder Nachrichten nur dann ausgetauscht werden können, nachdem die Authentifizierung abgeschlossen ist, um eine beliebige Aufgabe durchzuführen.
  • In einem Ausführungsbeispiel lädt der Download-Manager 105 unter Verwendung des OMA-DM-Protokolls die einzelnen Aktualisierungspakete in eine ausgewählte Zielfahrzeug-TCU herunter. Die TCU wird dabei als der Client des Download-Manager-Servers 105 angesteuert. In diesem Ausführungsbeispiel wird der OMA-DM-Download für die einzelnen DUP durch eine OMA-Spezifikation für SCOMO (Software Component Management Object) definiert, mithilfe derer eine Verwaltungsautorität die Softwareverwaltung auf einem entfernten Gerät durchführen kann, einschließlich Installation, Deinstallation, Aktivierung und Deaktivierung von Softwarekomponenten per Luftschnittstelle.
  • Das in die TCUs 119 der einzelnen Fahrzeuge 115 heruntergeladene Aktualisierungspaket beinhaltet einen Update-Manager 121, den die TCU 119 ausführt, um einen Update-Flash-Speicherbild zu validieren, einen Aktualisierungsregelsatz zu validieren, die Aktualisierung der einzelnen ECUs 123 zu überwachen, jedes Update zu initiieren und den Update-Status an den Download-Manager 105 zu berichten.
  • Der Fahrzeug-Manager 105 bietet dem Fahrzeughersteller die Möglichkeit, eine Fahrzeugsuche basierend auf der Fahrgestellnummer (Vehicle Identification Number, VIN) für ein bestimmtes Fahrzeug durchzuführen, eine Suche nach einer bestimmten ECU in einem Fahrzeug durchzuführen, und eine Suche nach einem Fahrzeug nach Marke, Modell und Jahr durchzuführen.
  • Ein erstes Ausführungsbeispiel nutzt vorhandene Technologie, um Aktualisierungsdateien an die TCU zu liefern. In diesem Ausführungsbeispiel werden die Fahrzeug-TCUs jeweils als Diagnosetool verwendet und aktualisieren die ECU (Push). Jede TCU dient als Server und unterstützt das Abrufen von Updates durch die ECU (Pull). Alle Updates werden in einem Zyklus mit abgeschalteter Zündung durchgeführt. Die TCU überwacht den Status der zugehörigen ECU, die aktualisiert wird, und anderer Fahrzeugsysteme, um sicherzustellen, dass das Update sicher ist. Wenn das Update durchgeführt wird, ohne dass der Kunde in das Update eingreift, werden nur Updates zugelassen, die in einer vorgegebenen Zeit abgeschlossen werden können. Der Kunde kann größere Updates mittels Kommunikation über eine Website oder per Telefon planen.
  • In bestimmten Ausführungsbeispielen bringt ein Kunde das Fahrzeug zu einer Händlerniederlassung. Die Niederlassung fragt das Update ab und bereitet das Fahrzeug vor. Das Update erfolgt drahtlos unter Verwendung eines OTA-Prozesses. Durch den Einsatz von OTA erfolgt das Update deutlich schneller und es können zahlreiche Updates gleichzeitig durchgeführt werden, so dass Zeit und Geld eingespart werden können. Der Händler stellt sicher, dass die Updates installiert und betriebsfähig sind.
  • In anderen Ausführungsbeispielen wird der Kunde über das Update via E-Mail oder Textnachricht benachrichtigt und erhält eine Telefonnummer, um ein Update mittels eines Anrufs zu initiieren. Bei der Telefonnummer kann es sich um die eines Call-Centers, des Kundendienstes oder einer Niederlassung handeln, und beim Anrufen dieser Telefonnummer erhält der Kunde Informationen darüber, wie er das Fahrzeug behandeln und das Update initiieren soll. Alternativ kann der Kunde via E-Mail und/oder Textnachricht über ein Update informiert werden, und der Kunde muss positiv antworten, um ein Update zu initiieren. Der Kunde erhält Start/Abgeschlossen/Status-Nachrichten mittels E-Mail und/oder Textnachricht. In diesen Ausführungsbeispielen kann der Kunde die Aktualisierung über eine Website oder durch Kontaktieren des Fahrzeughändlers planen oder umplanen. Größere Updates können dennoch einen Besuch beim Händler erfordern und der Händler bestätigt dem Kunden, dass das Fahrzeug vorschriftsmäßig betriebsfähig ist.
  • In wieder anderen Ausführungsbeispielen der Erfindung überträgt der Fahrzeughersteller die Updates direkt auf die einzelnen Fahrzeuge (Push), und jedes Update erfolgt entsprechend den Regeln des Richtlinien-Managers. Optional kann der Fahrzeughersteller den Kunden und/oder den Händler über einen Erfolg benachrichtigen.
  • Beim Anmelden an dem Richtlinien-Manager 103 wird einem Benutzer am Endgerät 101 ein Bildschirm 200 aus 2 präsentiert. Jeder Bildschirm 200 für den Richtlinien-Manager 103 umfasst Werkzeugleisten 201, 203.
  • Unter Verwendung der Werkzeugleiste 201 kann ein Benutzer auf Registerkarten oder Schaltflächen klicken, um eine Dashboard-Schnittstelle durch Klicken auf eine Dashboard-Schaltfläche 201a zur Anzeige auszuwählen, auf den Fahrzeug-Manager und den ECU-Manager 107 durch Klicken auf die Schaltfläche Fahrzeuge 201b zugreifen, auf den Paket-Manager 109 durch Klicken auf die Schaltfläche Pakete 201c zugreifen, auf die Qualitätssicherungsberichte durch Klicken auf eine QA-Schaltfläche 301d zugreifen, und auf den Berichtemanager durch Klicken auf die Schaltfläche Berichte 201e zugreifen.
  • Die Werkzeugleiste 203 ermöglicht einem Benutzer den Zugriff auf zusätzliche Anzeigen. Die Auswahl der Anzeigen variiert je nachdem, ob der angezeigte Bildschirm für den Fahrzeug-Manager 105, den ECU-Manager 107, den Paket-Manager 109, QA oder den Paket-Manager 109 eine Suchauswahl umfasst, die von der mithilfe der Toolbar 203 getroffenen Auswahl abhängt.
  • Die Bildschirmanzeige 200 ist eine Anzeige für den Fahrzeug-Manager 105, und die Werkzeugleiste 203 bietet Schaltflächen zum Bestimmen eines Suchtyps, beliebter Suchanfragen und kürzlich angesehener Posten im Zusammenhang mit dem Fahrzeug-Manager 105. Ein Benutzer kann einen Fahrzeugtyp durch Klicken auf die Schaltfläche Fahrzeuge 203a, die Schaltfläche Gruppen 203b, die Schaltfläche ECU-Typen 203c, die Schaltfläche Hersteller 203d und die Schaltfläche gespeicherte Suchen 203e auswählen. Außerdem kann die Werkzeugleiste 203 dazu verwendet werden, „beliebte Suchen” anzuzeigen, was bevorstehende Updates beinhaltet, durch Klicken auf die Schaltfläche bevorstehende Updates 203f und die Schaltfläche am längsten nicht aktualisierte Fahrzeuge 203g. Außerdem kann ein Benutzer die Anzeige der zuletzt verwendeten Elemente auswählen, indem er auf die Schaltflächen 203h, 203i klickt.
  • In dem dargestellten Ausführungsbeispiel zeigt der präsentierte Startbildschirm 200 ein Dashboard 205. Das Dashboard 205 zeigt Verlaufsdaten in einem grafischen Format an. Wie in dem Ausführungsbeispiel dargestellt, zeigt das Dashboard 205 Herstellerdaten, ein Kreisdiagramm von Paketdaten, einen Graph des Aktualisierungsverlaufs und ein Diagramm der Markennutzer des Systems 100. In anderen Ausführungsbeispielen können dem Benutzer andere Dashboard-Informationen präsentiert werden.
  • In 3 wird angenommen, dass der Benutzer auf die Schaltfläche Fahrzeuge 201a in der Werkzeugleiste 201 geklickt hat, so dass der Bildschirm 300 angezeigt wird. Die Werkzeugleiste 203 bietet dem Benutzer Suchoptionen. Die Bildschirmanzeige 300 bietet Zugriff auf den Fahrzeug-Manager 105 und dient dazu, die Suche nach Fahrzeugen durchzuführen. Durch Klicken auf die Schaltfläche + 305 werden Suchfelder 307 geöffnet, welche die VIN (Fahrgestellnummer), Gruppen (für zuvor ausgewählte Zielgruppen), Fahrzeugmarke, Modell, Jahr, Karosserietyp, ECU-Teilenummer, Hardware-Stufe (HW) und Software-Stufe (SW) beinhalten. Durch Tippen in die erwünschten Suchfelder können die Fahrzeug-Suchkriterien eingegeben werden. Das Klicken auf die Filtertaste 309 bewirkt, dass eine Suche für entsprechende Fahrzeuge in einer Fahrzeugdatenbank durchgeführt wird, und dass die Suchergebnisse auf einer Bildschirmanzeige 400 angezeigt werden, wie in 4 dargestellt.
  • Die Bildschirmanzeige 400 mit den Suchergebnissen enthält die Suchergebnisse 411, wie in 4 dargestellt. Die Suchergebnisse 411 zeigen eine Liste von Fahrzeugen, welche den Suchkriterien entsprechen. Durch Klicken auf die Schaltfläche 113, kann der Benutzer zusätzliche Ergebnisse in die Suche einbringen. Durch Klicken auf die Kästchen 415 kann der Benutzer Suchergebnisse zur Aufnahme in eine Gruppe auswählen.
  • Der Benutzer kann auf die Schaltfläche Diese Suche gruppieren 417 klicken. Nach dem Klicken auf die Schaltfläche Diese Suche gruppieren 417 wird ein Auswahlfeld als überlagerndes Fenster auf der Bildschirmanzeige 400 angezeigt, mithilfe dessen der Benutzer eine neue Gruppe erstellen oder andere Operationen an den ausgewählten Suchergebnissen durchführen kann, einschließlich Hinzufügen der ausgewählten Ergebnisse zu einer anderen Gruppe.
  • Der Benutzer kann die Werkzeugleiste 203 verwenden, um nach Gruppen zu suchen oder Gruppen zu erstellen, indem er auf die Schaltfläche Gruppen 203b klickt. Nach dem Klicken auf die Schaltfläche 203b wird eine Bildschirmanzeige 500 angezeigt, wie in 5 dargestellt. Es kann eine Suche nach einem Gruppennamen durchgeführt werden, indem der erwünschte Name in das Feld 507 eingegeben und auf die Schaltfläche Filtern 509 geklickt wird. Eine Liste der Suchergebnisse wird in einem Fenster 511 angezeigt, wie in 6 dargestellt.
  • Eine Gruppe kann durch Eingeben eines Gruppennamens in das Feld 509 und durch Klicken auf die Schaltfläche Erstellen 519 erstellt werden. Ein Fenster wird geöffnet, welches das Anfügen einer Bilddatei ermöglicht, die dem Gruppennamen in dem Feld 509 zugeordnet werden soll. Es wird eine weitere Schaltfläche Erstellen in dem Fenster angezeigt, und durch Klicken auf die weitere Schaltfläche Erstellen wird die Bilddatei dem Gruppennamen zugeordnet.
  • Durch Klicken auf die Schaltfläche ECU-Typen 203c wird ein ECU-Typ-Manager mit einem Bildschirm ähnlich dem aus 5 geöffnet. Eine Reihe von Feldern 709, ähnlich denen aus 5, darunter ein Namensfeld, ein Herstellerfeld und ein Teilenummernfeld, eine Schaltfläche + 705, eine Schaltfläche Filtern 707, und eine Schaltfläche Erstellen 719 sind auf der Bildschirmanzeige 700 wie dargestellt angeordnet. Eine Suche nach ECUs wird durch eine Eingabe in die erwünschten Suchfelder 709 und durch Klicken auf die Schaltfläche Erstellen 719 initiiert. Die Suchergebnisse werden im Fenster 711 angezeigt.
  • Da die Suchergebnisse in dem Ausführungsbeispiel die Größe des Fensters 711 übersteigen, können die Schaltflächen 713 verwendet werden, um durch die Suchergebnisse zu scrollen oder individuelle Abschnitte der Suchergebnisse auszuwählen. Wenn die Suchergebnisse angezeigt werden, können einzelne Ergebnisse für die Aufnahme in eine Gruppe durch Klicken auf die Auswahlkästchen 715 ausgewählt werden. Eine Gruppe wird durch Klicken auf eine Schaltfläche Erstellen 719 erstellt, wodurch sich ein Fenster öffnet, das Felder für die ECU-Typ-Bezeichnung, den Zulieferer, eine Teilenummer und eine CAN-Identifikation beinhaltet. Außerdem öffnet sich ein Beschreibungsfeld, und der ECU-Typ kann als sicherheitskritisch oder nicht identifiziert werden.
  • Alternativ kann eine Suche nach allen Fahrzeugen durchgeführt werden, die ECUs von einem bestimmten Hersteller enthalten, indem auf die Schaltfläche Hersteller 203d geklickt wird. Durch Klicken auf die Schaltfläche 203 wird die Bildschirmanzeige 800 angezeigt, wie in 8 dargestellt. Der erwünschte Herstellername wird in das Feld 909 eingegeben. Zusätzliche Filterfelder können durch Klicken auf die Schaltfläche + 805 angezeigt werden. Nach dem Ausfüllen der erwünschten Felder wird auf die Schaltfläche Filtern 807 geklickt, so dass die Suchergebnisse in Fenster 811 angezeigt werden. Durch Klicken auf die Schaltflächen 813 kann durch die Suchergebnisse gescrollt werden.
  • Durch Klicken auf die Schaltfläche Erstellen 819 öffnet sich ein Fenster, das zum Erstellen einer neuen Herstellerliste verwendet werden kann.
  • Durch Klicken auf die Schaltfläche Pakete 201c in der Werkzeugleiste 201 wird der Paket-Manager 109 aktiviert, und zeigt den Bildschirm 900 an, wie in 9 dargestellt. Der Startbildschirm zeigt nur das Namensfeld in den Feldern 909 an Zusätzliche Filterfelder können durch Klicken auf die Schaltfläche + 905 angezeigt werden. Nach Eingeben von Informationen in die erwünschten Felder 909 wird auf die Schaltfläche Filtern 907 geklickt, so dass die Suchergebnisse in Fenster 911 angezeigt werden. Durch Klicken auf die Schaltflächen 913 kann durch das Fenster mit den Suchergebnissen gescrollt werden. Jedes angezeigte Suchergebnis beinhaltet den dem Update zugewiesenen Namen, die Fahrzeuggruppe, das aktualisierte Datum und die Zeit für die letzte Aktion an dem Update und den Status des Updates. Der angezeigte Status kann beinhalten, dass das Update erstellt wird (wird erstellt), dass das Update für die Genehmigung überprüft wird (Überprüfung), dass das erstellte Update genehmigt wurde (genehmigt) oder sich das genehmigte Update im Installationsprozess befindet (wird ausgeführt).
  • Durch Klicken auf die Schaltfläche Erstellen 919 auf dem Bildschirm 900 wird der Bildschirm 1000 angezeigt. Der Bildschirm 1000 dient zum Erstellen eines Aktualisierungspakets. Der Bildschirm 1000 umfasst eine Vielzahl von Fenstern oder Abschnitten 1031, 1033, 1035, 1037, 1039, 1041, 1043, die dazu dienen, ein Aktualisierungspaket zu erstellen.
  • Das Fenster 1031 umfasst Felder zur Benennung des Aktualisierungspakets (Name), zum Zuweisen einer Rückrufnummer zu dem Aktualisierungspaket (Rückrufnummer), zum Zuweisen einer Merkblattnummer oder mehrerer Nummern zu dem Aktualisierungspaket (Merkblatt), zum Auswählen einer Fahrzeuggruppe, Auswählen eines Download-Zeitplans zum Herunterladen des Aktualisierungspakets, Auswählen eines Installations-Zeitplans zum Installieren des Aktualisierungspakets, zum Bestimmen, ob die Aktualisierungsfreigabe in kleineren Schritten erfolgen soll und zum Auswählen der Anzahl der kleineren Schritte (Freigabestufen), Auswählen des Fertigstellungsgrades, den die einzelnen Stufen erreichen müssen, bevor die nächste Stufe beginnt (Fertigstellungsgrad), und zum Festlegen der maximalen Zeit, die die einzelnen Stufen benötigen dürfen, um den Grenzwert zu erreichen.
  • Fenster 1033 beinhaltet eine Liste von Genehmigern, die vor der Freigabe eines Aktualisierungspakets benötigt werden. Die Genehmiger können durch Klicken auf die entsprechenden Auswahlkästchen 1033a ausgewählt werden.
  • Das Fenster 1035 bietet eine Auswahl an Laufzeiten für das Aktualisierungspaket. In manchen Fällen kann es wünschenswert sein, das Aktualisierungspaket nur bei einem Fahrzeughändler zu initiieren. In diesem Fall wird der Benutzer das Kästchen 1035a anklicken. In anderen Fällen, wenn ein Kunde über das Update informiert wurde, kann der Händler die Kundenbenachrichtigung überschreiben, indem er auf das Kästchen 1035b klickt. In dem Fall, dass ein Download des Aktualisierungspakets für ein bestimmtes Fahrzeug nicht erfolgt, wenn er geplant ist, kann eine Zeit für einen erneuten Downloadversuch des Aktualisierungspakets nach jedem Versuch durch Einstellen einer Zeit in dem Kästchen 1035c ausgewählt werden. Ein Multiplikator, der auf die Zeit in dem Kästchen 1035c für nachfolgende Downloadversuche angewendet wird, kann in das Kästchen 1035d eingegeben werden.
  • Durch Anklicken der Kästchen 1037a, 1037b, 1037c, 1037d und 1037e kann eine Auswahl der verschiedenen Benachrichtigungen für das Aktualisierungspaket getroffen werden.
  • Der Aktualisierungstext und E-Mail-Benachrichtigungen können an die Fahrzeugbesitzer durch Nutzen der Auswahlschaltflächen für Nachrichten 1039a, 1039b, 1039c, 1039d in Fenster 1039 gesendet werden.
  • Das ECU-Aktualisierungsbild, das in dem Aktualisierungspaket enthalten sein soll, wird in Fenster 1041 eingegeben.
  • Das Fenster 1043 dient dazu, Regeln hinzuzufügen, die für die Aktualisierungsinstallation gelten. Durch Klicken auf die Schaltfläche 1043a öffnen sich verschiedene Auswahloptionen für Regeln. Als nicht einschränkendes Beispiel können die Regeln die ECU-Identifikation, den Zündungsstatus (Zündung ein, Zündung aus, Zubehörposition, Zündschlüssel eingesteckt, Zündschlüssel nicht eingesteckt), Batteriespannungsstand, Getriebestatus (neutral, Parken), Motorstatus (ein, aus), Fahrzeugniveau, Türstatus (verriegelt, entriegelt, offen), Insassenstatus (Fahrer anwesend, Fahrer nicht anwesend, Beifahrer anwesend, Beifahrer nicht anwesend), Bewegungsstatus (Fahrzeug in Bewegung, Fahrzeug angehalten) beinhalten.
  • Nach dem Ausfüllen aller Paketfelder wird das Paket durch Klicken auf die Schaltfläche 1047 erstellt. Alternativ können alle Einträge durch Klicken auf die Schaltfläche 1045 gelöscht werden
  • Durch Klicken auf die Schaltfläche 1003f in der Werkzeugleiste 1003 wird das Aktualisierungspaket angezeigt, das zuletzt bearbeitet wurde. Das ausgewählte Aktualisierungspaket wird in der Bildschirmanzeige 1100 angezeigt, wie in 11 dargestellt. Besonders interessant ist, dass der Status der bevorstehenden Aktualisierungspakete angezeigt wird. Wenn das Aktualisierungspaket noch erstellt wird, wird der Status als „wird erstellt” angezeigt. Sobald das Update erstellt wurde, wird es zur Genehmigung weitergeleitet, der Status wird auf „Überprüfung” gesetzt, und nach der Genehmigung wird der Status als „genehmigt” angezeigt. Durch Klicken auf die Schaltfläche Genehmigungsschlange 1151 wird das konfigurierte Aktualisierungspaket an die für die Genehmigung ausgewählten Individuen gesendet.
  • Durch Klicken auf die Schaltfläche QA 201d wird der Bildschirm 1200 geöffnet, der in 12 dargestellt ist und die Aktualisierungspakete zeigt, die sich in der Warteschlange zur Genehmigung befinden.
  • Durch Klicken auf das Paket, das auf dem Bildschirm 1200 aufgelistet ist, werden die Details des Pakets in Bildschirm 1300 angezeigt, wie in 13 dargestellt. Durch Klicken auf die Schaltfläche Testinstallation 1361 wird ein Fenster geöffnet, um das Aktualisierungspaket in einem Testfahrzeug zu installieren. Dieses Fenster ermöglicht die Identifikation des Testfahrzeugs nach VIN und das Festlegen der Fahrzeugregeln sowie des Installation-Zeitplans. Außerdem ermöglicht das Fenster das Überschreiben von Standard-Zeitplänen der Installationspakete und das Überschreiben von Kundenbenachrichtigungen.
  • Durch Klicken auf die Schaltfläche Ablehnen 1363 kann das Aktualisierungspaket abgelehnt und zur Bearbeitung geöffnet werden.
  • Durch Klicken auf die Schaltfläche Genehmigen 1365 wird die Installation des Aktualisierungspakets genehmigt.
  • Durch Klicken auf die Schaltfläche Klonen 1367 wird das Aktualisierungspaket geklont.
  • In 14a ist ein Elektroniksystem eines Fahrzeugs 1401 dargestellt. Das Fahrzeug 1401 umfasst eine TCU 1403, eine Vielzahl von ECUs 1405, 1407, 1409 und einen Elektronikbus 1411, mithilfe dessen die TCU 1403 mit den einzelnen ECUs 1405, 1407, 1409 kommunizieren kann.
  • Auch wenn nur drei ECUs 1405, 1407, 1409 dargestellt und beschrieben sind, wird sich Fachleuten erschließen, dass die Anzahl der dargestellten ECUs lediglich der Darstellung dient und die Anzahl der ECUs höher oder geringer sein kann. Die ECUs umfassen jeweils einen Prozessor 1405a, 1407a, 1409a und einen Flash-Speicher 1405b, 1407b, 1409b.
  • Wie in 14 dargestellt, umfasst die TCU 1403 einen Prozessor 1403a, einen Speicher 1403b, eine drahtlose Kommunikationsschnittstelle 1403c und eine Schnittstelle zu einem elektronischen Fahrzeugbus 1411. In der vorliegenden Beschreibung kann ein „Prozessor” eine beliebige Steuerung, einen Mikrocontroller, Prozessor oder Mikroprozessor oder eine Kombination aus zwei oder mehreren der zuvor genannten beinhalten. Die drahtlose Kommunikationsschnittstelle 1403c ist dazu in der Lage, Daten drahtlos an einen Gateway 1524 zu senden und davon zu empfangen, wie in 15 dargestellt.
  • Mithilfe der drahtlosen Kommunikationsschnittstelle 1403c kann die TCU 1403 auf ein drahtloses Kommunikationsnetzwerk zugreifen, wie in 15 dargestellt. Die drahtlose Kommunikationsschnittstelle 1403c kann mehr als eine Art von drahtloser Funktionalität umfassen, darunter verschiedene Nahbereichskommunikationsverbindungen wie beispielsweise WiFi und Bluetooth zusätzlich zu Kommunikationsverbindungen mit größerer Reichweite, wie beispielsweise Mobiltelefonfunktionen. In einem Ausführungsbeispiel der Erfindung kann die TCU 1403 dank der drahtlosen Kommunikationsschnittstelle 1403c Aktualisierungspakete drahtlos von einem Fahrzeughändler oder einem Fahrzeughersteller empfangen. Auch wenn es in den Figuren nicht dargestellt ist, kann die drahtlose Kommunikationsschnittstelle eine oder mehrere Antennen beinhalten oder damit verbunden sein.
  • Die drahtlos empfangenen Aktualisierungspakete werden in dem Speicher 1403b gespeichert. Der Speicher 1403b kann einen oder mehrere Speichertypen umfassen.
  • Die Busschnittstelle 1403d verbindet die TCU 1403 mit dem Fahrzeugbus 1411 und dient zur Übertragung von Daten zwischen der TCU 1403 und den einzelnen ECUs 1405, 1407, 1409.
  • Die ECUs 1405, 1407, 1409 umfassen jeweils einen Prozessor 1405a, 1407a, 1409a und einen entsprechenden Flash-Speicher 1405b, 1407b, 1409b. Die Flash-Speicher 1405b, 1407b, 1409b speichern Parameter und Software, die von dem entsprechenden Prozessor 1405a, 1407a, 1409a verwendet wird.
  • In 15a ist ein drahtloses OTA-Aktualisierungssystem 1500 dargestellt, bei dem die simultane drahtlose Aktualisierung einer Vielzahl von Fahrzeugen 1401 verwaltet werden kann. Das System 1500 beinhaltet ein drahtloses Netzwerk 1517, welches simultan eine Verbindung zu der Vielzahl von Fahrzeugen 1401 herstellen kann.
  • Der Download-Manager 113 aus 1 kann auf den Servern 1531 installiert sein und kommuniziert mit den einzelnen TCUs 1403 über das drahtlose Netzwerk 1517. 15 zeigt zwei Server 1531. In dem Ausführungsbeispiel aus Fig. 1531 sind die zwei Server ein Backup-Paar und nur einer der zwei Server kommuniziert über das drahtlose Netzwerk 1517. In anderen Ausführungsbeispielen können ungedoppelte Server verwendet werden und daher ist es bei Bezugnahme auf einen oder mehrere Server auch so zu verstehen, dass der oder die Server gedoppelt sein können oder nicht. Die Server 1531 kommunizieren jeweils mit den TCUs 1403 über das Internet 1529 und drahtlose Anbindungsnetzwerke 1521.
  • 16 zeigt einen Teil des drahtlosen Anbindungsnetzwerks 1521 in größerem Detail. Das Internet 1529 verbindet die Server 1531 mit dem Anbindungsnetzwerk 1521. Das Anbindungsnetzwerk 1521 umfasst in diesem Ausführungsbeispiel einen Gateway 1625, der mit dem Mobilfunknetz 1697 verbunden ist, das drahtlose Verbindungen 1402 20 zu den Fahrzeugen 1401 über Funkzellen 1631 bietet.
  • Die TCU 1430 sendet durchgehend Fortschrittsinformationen an einen Server. Angesichts der großen Anzahl von Fahrzeugen, die gleichzeitig aktualisiert werden müssen, können in einem verteilten Netzwerk zahlreiche Kommunikationsserver zur Verfügung stehen. Die Kommunikationsserver können jeweils Status-Updates von tausenden von Fahrzeugen gleichzeitig empfangen und einen Datenstrom erzeugen, der in der Regel an eine Protokolldatei gesendet wird. Die Überwachung aller verteilten Datenströme durch einen Menschen ist eine Herausforderung.
  • Ein Client kann ein langes Sitzungsprotokoll nutzen, um eine Verbindung zu einem Vermittlungsserver aufzubauen. Der Client enthält Filterbegriffe und andere Parameter, die zur Reduzierung des Datenstroms auf lediglich das notwendig sind, was der Benutzer zu sehen wünscht. Zusätzliche Parameter sind vorgesehen, um die Formatierung und Präsentation zu steuern.
  • Der Vermittlungsserver richtet Verbindungen zu allen Kommunikationsservern ein, für welche die Filterbegriffe gelten. Diese Verbindungen enthalten auch die Filterbegriffe, die für die einzelnen Kommunikationsserver relevant sind. Der Vermittlungsserver kann zahlreiche offene Verbindungen zu einem beliebigen Teilsatz von allen verfügbaren Kommunikationsservern aufweisen.
  • Während die Kommunikationsserver ihre Datenströme erzeugen, wird jede Nachricht mit den von dem Vermittlungsserver bereitgestellten Filterbegriffen verglichen. Wenn die Begriffe übereinstimmen, wird die Nachricht an den Vermittlungsserver weitergeleitet. Diese Aktivität beeinträchtigt ansonsten nicht die routinemäßige Protokollierung oder Speicherung der Daten.
  • Der Vermittlungsserver kombiniert alle Datenströme für die einzelnen Clients, wendet die erforderliche Filterung, Formatierung und Präsentation an und sendet die Daten anschließend an den Client.
  • Der Client empfängt die Daten und präsentiert sie dem Benutzer.
  • 17 und 18 zeigen ein Netzwerk 1700, das einen Haupt- oder Vermittlungsserver SP000 und eine Vielzahl von Kommunikations- oder Gruppenservern SP001...SPxxx umfasst, die als verteiltes Netzwerk angeordnet sind. Das verteilte Netzwerk 1700 ist eine erweiterte Version des Netzwerks 100, das in 1, 2 und 3 dargestellt ist. Die TCUs 1403 können jeweils so angesteuert werden, dass die erste Kommunikation mit dem Netzwerk 1700 Hauptserverinformationen verwendet, die in dem Speicher 1403b gespeichert sind, um die erste Kommunikation mit dem Hauptserver SP000 aufzubauen. Die Steuerung 1403a der einzelnen TCUs 1403 kann mit dem Hauptserver SP000 interagieren, um die Konfigurationsinformationen aus dem Speicher 1403b über das Netzwerk 1700 an den Hauptserver SP000 hochzuladen.
  • Die TCUs 1403 können in Funktion jeweils Gruppenserver-Identifikationsinformationen von dem Hauptserver SP000 empfangen, wenn sie ein zweites Mal mit dem Hauptserver SP000 kommunizieren. Die Steuerung 1403a kann in Funktion die Gruppenserver-Identifikationsinformationen im Speicher 1403b speichern. Die Gruppenserver-Identifikationsinformationen umfassen Informationen, die einen oder mehrere Server identifizieren, die einer vorgegebenen Gruppe entsprechen, welche von dem Hauptserver SP000 zugeordnet wird. Die TCUs 1403 nutzen jeweils die Gruppenserver-Identifikationsinformationen für die nachfolgende Kommunikation über das Netzwerk 1700.
  • Die Gruppenserver-Identifikationsinformationen werden von den einzelnen TCUs 1403 durch Kommunikation von dem Hauptserver SP000 empfangen, wenn die TCUs 1403 das zweite Mal eine Kommunikation mit dem Hauptserver SP000 aufbauen. Die TCUs 1403 nutzen die Gruppenserver-Identifikationsinformationen, um auf einen Gruppenserver aus der Vielzahl von Gruppenservern SP001, ..., SPxxx zuzugreifen.
  • Die Gruppenserver-Identifikationsinformationen umfassen Identifikationsinformationen für eine vorgegebene Anzahl von Gruppenservern, die selektiv aus der Vielzahl von Gruppenservern SP001, ... SPxxx zugewiesen werden.
  • Wie in 14 dargestellt, können die einzelnen Steuerungen 1403a in Funktion einen Gruppenserver aus der vorgegebenen Anzahl von Gruppenservern auswählen, mit dem sie über das Netzwerk 1700 kommunizieren. Die Steuerung 1403a wählt den Gruppenserver aus der vorgegebenen Anzahl von Gruppenservern entsprechend einem vorgegebenen Auswahlalgorithmus aus. In einem Ausführungsbeispiel wird der Gruppenserver durch Zugreifen auf den ersten verfügbaren Gruppenserver ausgewählt, wobei die Zugriffsversuche auf die Gruppenserver in sequenzieller Reihenfolge durchgeführt werden, wie im Speicher 1403b gespeichert.
  • Auch wenn sich die obige Beschreibung auf die einzelnen Server im Singular bezieht, umfassen in einem Ausführungsbeispiel der Erfindung die einzelnen Gruppenserver SP001, ..., SPXXX, wie in 17 dargestellt, ein entsprechendes Paar von Servern P, S, die identisch konfiguriert sind.
  • Ein Gruppenserver P, S aus jedem Gruppenserver-Paar fungiert als primärer Server P, um die Vielzahl von mobilen Routern zu verfolgen und zu überwachen, und der korrespondierende gepaarte Server wird als sekundärer Backup-Server S ausgewählt. Jeder primäre Gruppenserver P und sein korrespondierender sekundärer Server S arbeiten so, dass Daten im primären Gruppenserver P in den korrespondierenden sekundären Server S repliziert werden.
  • Der primäre Gruppenserver P und der sekundäre Server S bestimmen in Funktion, ob ein Fehler in dem primären Gruppenserver auftritt; und beim Auftreten eines Fehlers wird automatisch der sekundäre Server als der primäre Gruppenserver ausgetauscht. Nachdem der ursprüngliche primäre Gruppenserver P repariert wurde, wird er manuell wieder zurück in den Betrieb geschaltet.
  • Die Gruppenserver-Paare SP001, ..., SPxxx sind so verteilt, dass sie sich an verstreuten geographischen Standorten befinden und verschiedene Netzwerk-Peering-Points aufweisen.
  • Wenn eine neue mobile Router-TCU 1403 im Werk vorbereitet wird, wird sie in einem Netzwerkbetriebszentrum dazu konfiguriert, mit dem „Haupt”-Kommunikationsserver-Paar SP000 zu kommunizieren, indem die Zugriffsinformationen für das „Haupt”-Kommunikationsserver-Paar SP000 in den Speicher 1403b gespeichert werden. Jeder neu eingerichtete mobile Router 1403 registriert sich bei dem „Haupt”-Kommunikationsserver-Paar SP000 und lädt seine Konfigurationsinformationen in das „Haupt”-Kommunikationsserver-Paar SP000 hoch. Wenn sich die TCU 1403 bei dem „Haupt”-Kommunikationsserver-Paar SP000 registriert, ruft sie standardmäßig eine „nicht zugewiesene” Server-Gruppenadresse auf.
  • Beim Auftreten eines bestimmten Ereignisses, wie beispielsweise wenn das Fahrzeug 1401, welches die TCU 1403 enthält, zum ersten Mal verschifft wird, wird es einer Gruppe zugeordnet, die aus einer Vielzahl von Gruppen RG001–RGyyy gewählt wird. Die Gruppe, der eine TCU 1403 zugeordnet wird, kann für einen Händler oder eine geographische Region spezifisch sein oder wird auf der Basis von anderen Kriterien zugewiesen.
  • Wenn die TCU 1403 das nächste Mal online kommt und mit dem Haupt-Kommunikationsserver-Paar SP000 spricht, identifiziert das Haupt-Kommunikationsserver-Paar SP000, dass die TCU 1403 einer Gruppe zugeordnet wurde, die aus den Gruppen RG001 bis RGyyy gewählt wird und sich von der „nicht zugewiesenen” Gruppe unterscheidet. Das Haupt-Kommunikationsserver-Paar SP000 weist die TCU 1403 daraufhin für die Kommunikation einem neuen Kommunikationsserver-Paar zu, welches die Gruppe verwaltet, der die TCU 1403 zugewiesen wurde, indem die Zugriffsinformationen auf das neue Kommunikationsserver-Paar in den Speicher 1403b heruntergeladen werden. Das neue Kommunikationsserver-Paar wird aus den Kommunikationsserver-Paaren SP001 bis SPxxx ausgewählt.
  • Pro Gruppe können zahlreiche Kommunikationsserver-Paare vorhanden sein und jeder Kommunikationsserver kann mehrere Gruppen unterstützen.
  • Die TCUs 1403 werden von dem Haupt-Kommunikationsserver-Paar SP000 mit Adressen für mehrere Kommunikationsserver-Paare konfiguriert. Die Adressen für die vielen Kommunikationsserver-Paare sind jeweils im Speicher 1403b der einzelnen TCUs 1403 gespeichert. Jede TCU 1403 greift in einer vorgegebenen Reihenfolge auf die Serveradressen zu, die in ihrem entsprechenden Speicher 1403b gespeichert sind. Wenn ein Kommunikationsserver-Paar, das einer ersten Adresse zugeordnet ist, nicht erreichbar ist, greift die TCU 1403 auf die nächste Adresse eines Kommunikationsservers zu, die im Speicher 1403b gespeichert ist. Die TCU 1403 greift auf die Kommunikationsserver-Adressen aus der TCU 1403 in einer vorgegebenen Reihenfolge zu, bis die Kommunikation mit einem entsprechenden Kommunikationsserver aufgebaut ist.
  • Das Hauptserver-Paar SP000 beinhaltet ein Manager-Programm. Das Managerprogramm ist so vorgesehen, dass das Hauptserver-Paar SP000 mit allen Kommunikationsservern SP001–SPXXX kommunizieren kann, so dass ein Betreiber des Netzwerksystems nie wissen muss, welcher Kommunikationsserver mit welchem Router kommuniziert. Die Kommunikation von dem Hauptserver-Paar SP000 mit den Serverpaaren SP001–SPXXX ist in 18 dargestellt.
  • Die Kommunikationsserver-Paare SP001–SPXXX müssen sich nicht in derselben Einrichtung befinden. Vorzugsweise befinden sich die Kommunikationsserver-Paare SP001–SPXXX nicht in derselben Einrichtung. Es ist von großem Vorteil, wenn die Kommunikationsserver-Paare SP001–SPXXX geographisch verteilt sind und unterschiedliche Netzwerk-Peering-Points aufweisen.
  • Bei der oben beschriebenen Servernetzwerkarchitektur kann die Kapazität mühelos erweitert werden, indem einfach zusätzliche Server-Paare hinzugefügt und im System-Manager am Netzwerkbetriebszentrum SP000 als verfügbar konfiguriert werden.
  • In verschiedenen Ausführungsbeispielen umfasst ein Netzwerksystem 1700: eine Vielzahl von Fahrzeug-TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn; einen Hauptserver SP000; und eine Vielzahl von Gruppenservern SP001,..., SPxxx. Jede TCU 1403N, 1403RG001-001, ..., 1403RGyyy-nnn ist von Anfang an dazu konfiguriert, mit dem Hauptserver SP000 zu kommunizieren. Es wird eine erste verknüpfte Kommunikation zwischen den einzelnen TCUs 1403N und dem Hauptserver SP000 bereitgestellt. Jede TCU 1403N, 1403RG001-001, ..., 1403RGyyy-nnn registriert sich in Funktion zu Beginn an dem Hauptserver SP000 und lädt in Funktion Konfigurationsinformationen von den einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn zu dem Hauptserver SP000 hoch. Der Hauptserver SP000 weist in Funktion die einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn mindestens einer vorgegebenen Gruppe zu, die aus einer Vielzahl von vorgegebenen Gruppen RG001, ..., RGyyy ausgewählt wird. Der Hauptserver SP000 weist in Funktion nach der Registrierung und Zuordnung der TCU 1403N die einzelnen TCUs 1403N neu zu, so dass sie mit mindestens einem Gruppenserver kommunizieren, der für die Kommunikation mit der vorgegebenen Gruppe RG001, ..., RGyyy zugeordnet ist, indem jede TCU 1403N mit der Adresse von mindestens einem entsprechenden Gruppenserver versehen wird. In dem dargestellten Ausführungsbeispiel wurde die TCU 1403N noch keiner Gruppe zugewiesen und die TCUs 1403RG001-001, ..., 1403RGyyy-nnn sind ihren entsprechenden Gruppen zugeordnet.
  • Der Haupt-Vermittlungsserver SP000 weist in Funktion den einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn eine vorgegebene Anzahl von Gruppenserveradressen neu zu; und jede TCU 1403N, 1403RG001-001, ..., 1403RGyyy-nnn kommuniziert in Funktion mit einer entsprechenden vorgegebenen Anzahl von Gruppenservern SP001, ..., SPyyy, die aus der Vielzahl von Gruppenservern ausgewählt werden. Jede Gruppenserveradresse entspricht einem der vorgegebenen Anzahl von Gruppenservern SP001, SPyyy.
  • Die TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn kommunizieren in Funktion jeweils mit einem aus der vorgegebenen Anzahl von Gruppenservern SP001, ..., SPyyy, entsprechend der einen aus der vorgegebenen Anzahl von Adressen.
  • In der Methodologie eines Ausführungsbeispiels umfasst ein Verfahren die Schritte zum Bereitstellen einer Vielzahl von TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn; Bereitstellen eines Hauptservers SP000 zum Nachverfolgen und Überwachen der Vielzahl von TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn; zum anfänglichen Konfigurieren der einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn für die Kommunikation mit dem Hauptserver SP000; Bereitstellen einer ersten verknüpften Kommunikation zwischen den einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn und dem Hauptserver SP000; Registrieren der einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn beim Hauptserver SP000 und Hochladen von Konfigurationsinformationen von den einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn in den Hauptserver SP000; Zuweisen der einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn zu einer vorgegebenen Gruppe SP001, ..., SPyyy; nach den Schritten zum Registrieren und Zuweisen, Bereitstellen einer zweiten verknüpften Kommunikation zwischen den einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn und dem Hauptserver SP000; und Ansteuern des Hauptservers SP000 solcherart, dass, wenn die zweite verknüpfte Kommunikation stattfindet, der Hauptserver SP000 die einzelnen TCUs 1403N, 1403RG001-001, ..., 1403RGyyy-nnn für die Kommunikation mit mindestens einem Gruppenserver SP001, ..., SPyyy neu zuweist, welcher der Kommunikation mit der vorgegebenen Gruppe zugeordnet ist.
  • Das Ausführungsbeispiel kann des Weiteren das Versehen von mindestens einem Gruppenserver SP001, ..., SPyyy mit einem entsprechenden gepaarten Gruppenserver P, S umfassen. Jeder Server P und sein entsprechender gepaarter Server S sind identisch konfiguriert. Das Ausführungsbeispiel umfasst des Weiteren: Auswählen von mindestens einem Gruppenserver P als primären Server zum Nachverfolgen und Überwachen der Vielzahl von TCUs; Auswählen des entsprechenden gepaarten Servers als sekundären Server; und Replizieren der Daten in dem primären Gruppenserver in den sekundären Server. Der Schritt zum Replizieren der Daten kann in Echtzeit erfolgen.
  • Das Ausführungsbeispiel kann des Weiteren außerdem das Bestimmen umfassen, ob ein Fehler in dem primären Server P auftritt; und das automatische Umschalten auf den sekundären Server S als primären Server bei Bestimmung des Auftretens des Fehlers.
  • Darüber hinaus kann das Ausführungsbeispiel das Reparieren des primären Servers mit dem Fehler beinhalten; und das Nutzen des manuellen Umschaltens, um den reparierten Server wieder in Betrieb zu nehmen.
  • In vorteilhafter Weise kann das verteilte Netzwerk 1700 dazu verwendet werden, simultane Updates für eine große Vielzahl von Fahrzeugen durch Zuordnen der TCUs der einzelnen Fahrzeuge zu entsprechenden Gruppenservern bereitzustellen.
  • Die Interaktion zwischen einem Kommunikations- oder Gruppenserver und einer Ziel-TCU 1430 folgt der folgenden Sequenz:
    Der Kommunikationsserver sendet eine Benachrichtigung an eine Ziel-TCU 1430;
    Die TCU 1430 verbindet sich mit dem Kommunikationsserver;
    Der Kommunikationsserver sendet eine Software/Hardware-Inventaranfrage an die Ziel-TCU 1430;
    Die TCU 1430 sendet die Software/Hardware-Inventaranfrage;
    Der Kommunikationsserver sendet einen Download-Befehl;
    Wenn der Befehl „Download” lautet, lädt die TCU 1430 ein differenzielles Aktualisierungspaket DUP über einen Kommunikationsserver herunter und sendet anschließend „Download abgeschlossen” an den Kommunikationsserver;
    Der Kommunikationsserver sendet den Befehl „installieren” mit den erforderlichen Regeln an die TCU 1430; und
    Die TCU 1430 installiert das differenzielle Update zu dem entsprechenden Zeitpunkt.
  • Die TCU 1430 sendet Benachrichtigungen an den Server über den Start, den Fortschritt und das Ende der Update-Installation.
  • Ein Ausführungsbeispiel sieht ein Verfahren für die drahtlose Remote-Aktualisierung von Fahrzeug-Software von einer oder mehreren Ziel-ECUs 1405, 1407, 1409 in einer Ziel-Fahrzeuggruppe vor, die ein oder mehrere Fahrzeuge 1401 umfasst, wobei jede ECU 1405, 1407, 1409 einen Flash-Speicher 1405a, 1407a, 1409a umfasst. Das Verfahren umfasst das Hosten von Manager-Software 103 auf einem Server, bei dem es sich um einen Client-Server oder einen zentralen Server handelt, auf den ein Client zugreifen kann. Das Verfahren umfasst des Weiteren die Verwendung der Manager-Software 103 für Folgendes: Auswählen der Zielfahrzeuggruppe; Erzeugen eines differenziellen Aktualisierungspakets (Differential Update Package, DUP) für die Zielfahrzeuggruppe, wobei das DUP Update-Manager-Software 121 umfasst; Auswählen von Update-Voraussetzungen zur Ausführung des DUP; und Auswählen eines Aktualisierungsplans zum Herunterladen des DUP. Das Verfahren umfasst des Weiteren: Bereitstellen von Download-Manager-Software 113 zum Herunterladen des DUP in jedes der einen oder mehreren Zielfahrzeuge 1401, und Verwenden der Download-Manager-Software für: Aufbauen einer separaten drahtlosen Kommunikationsverbindung 1422 zu einer TCU 1403 in jedem einzelnen Zielfahrzeug 1401 der Zielfahrzeuggruppe; und Verwenden der Download-Manager-Software 113 zum Herunterladen des DUP in jede TCU 1403 über die einzelnen drahtlosen Kommunikationsverbindungen 1422. Das Verfahren umfasst des Weiteren das Verwenden des Update-Managers in jeder TCU zum Aktualisieren der einen oder mehreren Ziel-ECUs in den einzelnen Zielfahrzeugen durch Verwenden des DUP, um jeden Flash-Speicher 1405a, 1407a, 1409a der einen oder mehreren Ziel-ECUs 1405, 1407, 1409 zu überspielen.
  • Das Ausführungsbeispiel kann des Weiteren umfassen: Versehen des DUP mit einem Aktualisierungsregelsatz und Verwenden der Update-Manager-Software 121 in den einzelnen TCUs 1403, um die einzelnen Flash-Speicher 1405a, 1407a, 1409a der einzelnen Ziel-ECUs 1405, 1407, 1409 durch Durchführen der folgenden Schritte zu aktualisieren: Validieren der Flash-Bilder der einzelnen Ziel-ECUs 1405, 1407, 1409, die in die einzelnen TCUs 1403 heruntergeladen wurden; Validieren des aktualisierten Regelsatzes, der in die einzelnen TCUs 03 heruntergeladen wurde; und Aktualisieren der einzelnen Ziel-ECUs 1405, 1407, 1409 in Übereinstimmung mit dem Regelsatz.
  • Das Ausführungsbeispiel kann des Weiteren umfassen: Verwenden der Download-Manager-Software 113, um eine Aktualisierungsinteraktion mit den einzelnen TCUs 1403 über die separate drahtlose Kommunikationsverbindung 1422 bereitzustellen.
  • Das Ausführungsbeispiel kann das Ansteuern der einzelnen TCUs 1403 zum Berichten des Aktualisierungsstatus an die Download-Manager-Software 113 über die drahtlose Kommunikationsverbindung 1422 umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software 103 für Folgendes umfassen: Durchführen einer Fahrzeugsuche; Erstellen und Verwalten einer Vielzahl von Fahrzeuggruppen RG001, ..., RGyyy; und Auswählen der Zielfahrzeuggruppe RG001 aus der Vielzahl von Fahrzeuggruppen RG001, ..., RGyyy.
  • Das Ausführungsbeispiel kann des Weiteren das Anzeigen von Hardware und Software der ECU 1405, 1407, 1409 für jedes einzelne Fahrzeug 1401 umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Download-Manager-Software 113 umfassen, um eine Aktualisierungsinteraktion mit den einzelnen TCUs 1403 über die drahtlose Kommunikationsverbindung 1422 bereitzustellen.
  • Das Ausführungsbeispiel kann das Verwenden der einzelnen TCUs 1403 zum Berichten des Aktualisierungsstatus an die Download-Manager-Software 113 über die drahtlose Kommunikationsverbindung 1422 umfassen.
  • Das Ausführungsbeispiel kann das Versehen der Manager-Software 103 mit einem ECU-Manager 107 umfassen. Das Verfahren kann das Verwenden des ECU-Managers 107 zum Suchen nach vorgegebenen ECUs 1405, 1407, 1409 umfassen; und das Verwenden des ECU-Managers 107 zum Durchführen von einem oder beidem aus Hochladen von Inhalten der einzelnen Flash-Speicher 1405b, 1407b, 1409b der vorgegebenen ECUs 1405, 1407, 1409 oder das Verwalten von Inhalten der Flash-Speicher 1405b, 1407b, 1409b der vorgegebenen ECUs 1405, 1407, 1409.
  • Das Ausführungsbeispiel kann das Verwenden der Download-Manager-Software 113 umfassen, um eine Aktualisierungsinteraktion mit der TCU 1403 über die drahtlose Verbindung 1422 bereitzustellen.
  • Das Ausführungsbeispiel kann das Ansteuern der einzelnen TCUs 1403 zum Berichten des Aktualisierungsstatus an die Download-Manager-Software 113 über die drahtlose Verbindung 1422 umfassen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software 103 für Folgendes umfassen: Durchführen einer Fahrzeugsuche; Erzeugen und Verwalten von Fahrzeuggruppen; und Anzeigen der ECUs 1405, 1407, 1409 pro Fahrzeug 1401 sowie der aktuellen Hardware- und Softwareversionen der einzelnen angezeigten ECUs 1405, 1407, 1409.
  • Das Ausführungsbeispiel kann das Bereitstellen von Paket-Manager-Software 109 umfassen, das Verwenden des Paket-Managers 109 zum Auswählen von Update-Voraussetzungen; das Verwenden des Paket-Managers 109 zum Auswählen des Aktualisierungsplans; und das Verwenden des Paket-Managers 109 zum Auswählen von zu erzeugenden Benachrichtigungen.
  • Das Ausführungsbeispiel kann das Verwenden der Manager-Software 103 zum Anfordern einer Genehmigung der einzelnen DUPs von einem oder mehreren vorgegebenen Individuen umfassen.
  • Das Ausführungsbeispiel kann das Empfangen der Genehmigung der einzelnen DUPs von einem oder mehreren vorgegebenen Individuen vor dem Initiieren eines Downloads der einzelnen DUPs umfassen.
  • Ein Ausführungsbeispiel eines Verfahrens zum Aktualisieren einer ECU 1405, 1407, 1409 in einem Fahrzeug 1401 kann vorgesehen sein. Die ECU 1405, 1407, 1409 umfasst einen Flash-Speicher 1405b, 1407b, 1409b zum Speichern eines digitalen Inhaltsbildes, einen Arbeitsspeicher (RAM), der in den Zeichnungen nicht dargestellt ist, und einen Startlader umfasst. Das Verfahren umfasst das Erstellen eines differenziellen Aktualisierungspakets (DUP), damit die ECU 1405, 1407, 1409 das digitale Inhaltsbild auf ein aktualisiertes digitales Inhaltsbild aktualisiert. Das DUP umfasst Befehle zum Durchführen von einem oder mehreren aus Kopieren von Bytes aus dem Flash-Speicher 1405b, 1407b, 1409b, Anwenden eines Satzes von Modifikationen auf die kopierten Bytes und Hinzufügen von zusätzlichen Bytes. Das Verfahren umfasst des Weiteren das Übertragen des DUP über ein drahtloses Trägersystem 102 an ein Telematikgerät oder TCU 1403 des Fahrzeugs 1401; Speichern eines originalen Blocks des Flash-Speichers 1405b, 1407b, 1409b in den RAM; Modifizieren des Blocks entsprechend dem DUP, um einen modifizierten Block zu erzeugen; Löschen des originalen Blocks aus dem Flash-Speicher 1405b, 1407b, 1409b; und Schreiben des modifizierten Blocks in den Flash-Speicher 1405b, 1407b, 1409b anstelle des Blocks.
  • Der Flash-Speicher 1405b, 1407b, 1409b und der RAM sind so bemessen, dass sie nicht die Kapazität aufweisen, das gegenwärtige digitale Inhaltsbild, das erwünschte digitale Inhaltsbild und das DUP gleichzeitig zu speichern.
  • Das Verfahren umfasst des Weiteren das Erzeugen des DUP durch Vergleichen des gegenwärtigen digitalen Inhaltsbildes des Flash-Speichers 1405b, 1407b, 1409b mit dem neuen erwünschten digitalen Inhaltsbild des Flash-Speichers und das Erzeugen eines Satzes von Änderungen, die erforderlich sind, um das gegenwärtige digitale Inhaltsbild auf das erwünschte digitale Inhaltsbild zu modifizieren.
  • Das Verfahren kann des Weiteren das Modifizieren des Startladers umfassen, damit ein Flash-Tool Befehle für den Startlader bereitstellen kann, das DUP auf das digitale Inhaltsbild anzuwenden.
  • Das Verfahren kann des Weiteren das Verwenden des Flash-Tools umfassen, um den Fortschritt der Aktualisierung des Flash-Speichers 1405b, 1407b, 1409b zu verfolgen; das Verwenden des Flash-Tools, um eine Unterbrechung des Aktualisierungsfortschrittes zu ermitteln; und das Verwenden des Flash-Tools, um eine Fortsetzung des Aktualisierungsfortschrittes nach der Unterbrechung zu initiieren.
  • Das Verfahren kann des Weiteren das Modifizieren des Startladers umfassen, damit ein Flash-Tool Befehle für den Startlader bereitstellen kann, das DUP auf das digitale Inhaltsbild anzuwenden.
  • Ein Ausführungsbeispiel eines zentralisierten Systems 1800 für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeugkomponenten umfasst: einen Vermittlungsserver SP000; ein verteiltes Netzwerk umfassend eine Vielzahl von Kommunikationsservern SP001, ..., SPxxx; und eine Vielzahl von Fahrzeugen 1401, wobei jedes Fahrzeug aus der Vielzahl von Fahrzeugen eine TCU 1403N, 1403RG001-001, ...1403RGyyy-nnn umfasst, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx kommunizieren kann. Jede TCU 1403N, 1403RG001-001, ...1403RGyyy-nnn ist dazu eingerichtet, Software-Updates zu empfangen und auf ECUs 1405, 1407, 1409 in dem entsprechenden Fahrzeug 1401 anzuwenden. Jede TCU 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion Status-Updates für die Software-Updates erzeugen und die Status-Updates an den entsprechenden Kommunikationsserver kommunizieren. Jeder Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx kann in Funktion gleichzeitig die Datennachrichten, welche Status-Updates von der entsprechenden Vielzahl von Fahrzeugen 1401 umfassen, empfangen und einen Datenstrom erzeugen, der die Datennachrichten von der Vielzahl von Fahrzeugen 1401 umfasst, wobei der Datenstrom an eine Protokolldatei gesendet wird.
  • In einem Ausführungsbeispiel ist die Protokolldatei für einen Client 101 dediziert; und der Vermittlungsserver SP000 empfängt Filterbegriffe und Parameter von dem Client 101, um den Datenstrom auf clientbestimmte Daten zu reduzieren.
  • Das Ausführungsbeispiel kann so funktionieren, dass der Vermittlungsserver SP000 Parameter von dem Client 101 empfängt, um zumindest eines aus Formatieren und Präsentieren des Datenstroms zu steuern.
  • Darüber hinaus kommuniziert der Vermittlungsserver SP000 die Filterbegriffe an ausgewählte Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx für welche die Filterbegriffe gelten.
  • Jeder Kommunikationsserver SP001, ...SPxxx kann die einzelnen Datennachrichten mit den Filterbegriffen vergleichen, um zu bestimmen, ob die einzelnen Datennachrichten mit den Filterbegriffen übereinstimmen und einen gefilterten Datenstrom zu erzeugen. Der gefilterte Datenstrom wird an den Vermittlungsserver SP000 kommuniziert.
  • Ein weiteres Ausführungsbeispiel eines zentralisierten Systems für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeugkomponenten umfasst, wie in 18 dargestellt, einen Client-Server 1801, einen Vermittlungsserver SP000 und ein verteiltes Netzwerk, das eine Vielzahl von Kommunikationsservern SP001, ..., SPxxx umfasst. Jeder Kommunikationsserver SP001, ..., SPxxx kann in Funktion mit einer entsprechenden Vielzahl von Fahrzeugen 1401 kommunizieren. Jedes Fahrzeug 1401 umfasst eine Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx kommunizieren kann. Die Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion mit elektronischen Steuereinheiten (ECUs) 1405, 1407, 1409 in den einzelnen Fahrzeugen kommunizieren. Die Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion Software-Updates von einem entsprechenden Kommunikationsserver empfangen und die Software-Updates selektiv auf eine oder mehrere ECUs 1405, 1407, 1409 in jedem Fahrzeug 1401 anwenden. Die Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion den Status der Software-Updates überwachen und Status-Updates für die Anwendung der Software-Updates erzeugen. Die Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion die Status-Updates an den entsprechenden Kommunikationsserver kommunizieren. Jeder entsprechende Kommunikationsserver SP001, ...SPxxx kann in Funktion Datennachrichten empfangen, welche Status-Updates von der entsprechenden Vielzahl von Fahrzeugen 1401 umfassen, und kann in Funktion die Datennachrichten von der entsprechenden Vielzahl von Fahrzeugen 1401 dazu verwenden, einen Datenstrom zu erzeugen.
  • In diesem Ausführungsbeispiel empfängt der Vermittlungsserver SP000 Filterbegriffe von dem Client-Server 1801 und wendet die Filterbegriffe auf den Datenstrom an, um den Datenstrom auf clientbestimmte Daten zu reduzieren. Der Vermittlungsserver SP000 kann Formatierungsparameter von dem Client-Server 1801 empfangen, um die Formatierung des Datenstroms zu steuern. Der Vermittlungsserver SP000 kommuniziert die Filterbegriffe an ausgewählte Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx für welche die Filterbegriffe gelten. Jeder Kommunikationsserver SP001, ...SPxxx wendet die Filterbegriffe auf die einzelnen Datennachrichten an, um einen gefilterten Datenstrom zu erzeugen, und der gefilterte Datenstrom wird an den Vermittlungsserver SP001, ...SPxxx kommuniziert. Der Vermittlungsserver SP000 kombiniert alle Datenströme, die er von der Vielzahl von Kommunikationsservern SP001, ...SPxxx für den Client empfängt, um einen kombinierten Datenstrom zu erzeugen, und der Vermittlungsserver SP000 wendet die Filter-, die Formatierungs- und Präsentationsparameter auf den kombinierten Datenstrom an, um einen gefilterten Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel eines Verfahrens für die weite Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher 1405a, 1407a, 1409a umfassen, in Echtzeit umfasst das Bereitstellen eines Client-Servers 1801 zum Einleiten der Software-Updates, Bereitstellen eines Vermittlungsservers SP000, der in Funktion mit dem Client-Server 1801 kommunizieren kann, und Bereitstellen eines verteilten Netzwerkes 1700, das eine Vielzahl von Kommunikationsservern SP001, ...SPxxx umfasst. Jeder Kommunikationsserver SP001, ...SPxxx kann in Funktion mit einer Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn in einer Vielzahl von entsprechenden Fahrzeugen 1401 kommunizieren. Das Ausführungsbeispiel umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn zur Kommunikation über ein drahtloses Netzwerk 1521, wie in 15 dargestellt, mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx, um Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) 1405, 1407, 1409 in dem entsprechenden Fahrzeug 1401 anzuwenden. Das Ausführungsbeispiel umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn zum Erzeugen von Status-Updates für die Software-Updates und zum Kommunizieren der Status-Updates an den einen Kommunikationsserver über das drahtlose Netzwerk. Das Verfahren umfasst außerdem das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx dazu, in Funktion gleichzeitig die Datennachrichten, welche die Status-Updates enthalten, von der Vielzahl von entsprechenden Fahrzeugen 1401 zu empfangen. Darüber hinaus umfasst das Verfahren das Ansteuern der einzelnen Kommunikationsserver SP001, ...SPxxx zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen 1401 umfasst, wobei der Datenstrom an den Vermittlungsserver SP000 gesendet wird.
  • Ein Ausführungsbeispiel eines Verfahrens für die Echtzeitüberwachung von weit verbreiteten Software-Updates von Fahrzeugkomponenten umfasst das Bereitstellen eines Client-Servers 1801, das Bereitstellen eines Vermittlungsservers SP000, das Bereitstellen eines verteilten Netzwerks 1700, das eine Vielzahl von Kommunikationsservern SP001, ...SPxxx umfasst, und das Ansteuern der einzelnen Kommunikationsserver zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen 1401. Jedes Fahrzeug 1401 der entsprechenden Vielzahl von Fahrzeugen umfasst eine Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx über ein drahtloses Netzwerk 1521 kommunizieren kann und die in Funktion mit ECUs 1405, 1407, 1409 in den einzelnen Fahrzeugen 1401 kommunizieren kann. Das Verfahren umfasst das Ansteuern der einzelnen Kommunikationsserver SP001, ...SPxxx zum Herunterladen von ausgewählten Software-Updates für eine oder mehrere vorgegebene ECUs 1405, 1407, 1409 in jedem aus der Vielzahl von Fahrzeugen 1401 in die einzelnen Fahrzeugvorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn über das drahtlose Netzwerk 1521, das Ansteuern der einzelnen Fahrzeugvorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn zum selektiven Anwenden der Software-Updates auf die eine oder mehrere vorgegebene ECUs 1505, 1407, 1409 in dem Fahrzeug 1401, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates, und das Ansteuern der einzelnen Fahrzeugvorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn zur Kommunikation der Status-Updates an den entsprechenden Kommunikationsserver SP001, ...SPxxx über das drahtlose Netzwerk 1521. Jeder entsprechende Kommunikationsserver SP001, ...SPxxx kann in Funktion Datennachrichten empfangen, welche Status-Updates von jeder Fahrzeugvorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn umfassen, und die Datennachrichten von der entsprechenden Vielzahl von Fahrzeugen 1401 dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel eines Verfahrens für die Echtzeit-Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher 1405, 1407, 1409 umfassen, umfasst die Schritte zum Bestimmen, dass ein Fahrzeugbesitzer ein Software-Update für das Fahrzeug des Besitzers angefordert hat; Bereitstellen eines Client-Servers 1801 zum Einleiten des Software-Updates; Bereitstellen eines Vermittlungsservers SP000, der in Funktion mit dem Client-Server 1801 kommunizieren kann; Bereitstellen eines verteilten Netzwerkes 1700, das eine Vielzahl von Kommunikationsservern SP001, ...SPxxx umfasst, wobei jeder der Kommunikationsserver SP001, ...SPxxx in Funktion mit einer Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn in einer Vielzahl von entsprechenden Fahrzeugen 1401 über ein drahtloses Netzwerk 1521 kommunizieren kann. Das Verfahren umfasst des Weiteren das Ansteuern der einzelnen Vorrichtungen 1403N, 1403RG001-001, ...1403RGyyy-nnn in dem Fahrzeug 1401 des Besitzers zur Kommunikation mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx über das drahtlose Netzwerk 1521, um die Software-Updates zu empfangen und auf eine ECU 1405 in dem Fahrzeug 1401 des Besitzers anzuwenden; das Ansteuern der Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn in dem Fahrzeug des Besitzers zum Erzeugen von Status-Updates für das Software-Update und zum Kommunizieren des Status-Updates an den einen Kommunikationsserver SP001, ...SPxxx über das drahtlose Netzwerk 1521; das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ...SPxxx dazu, in Funktion gleichzeitig Datennachrichten, welche Status-Updates von der Vielzahl von entsprechenden Fahrzeugen 1401 umfassen, über das drahtlose Netzwerk 1521 zu empfangen; und das Ansteuern der einzelnen Kommunikationsserver SP001, ...SPxxx zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen 1401 und das Status-Update von dem Fahrzeug 1401 des Besitzers umfasst. Der Datenstrom wird an den Vermittlungsserver SP000 gesendet.
  • Ein Ausführungsbeispiel eines Verfahrens für die Echtzeitüberwachung von weit verbreiteten Software-Updates von Fahrzeugkomponenten umfasst das Bereitstellen eines verteilten Netzwerks 1700, das eine Vielzahl von Kommunikationsservern SP001, ...SPxxx umfasst; und das Ansteuern der einzelnen Kommunikationsserver SP001, ...SPxxx zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen 1401. Jedes Fahrzeug 1401 umfasst eine entsprechende Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx über ein drahtloses Netzwerk 1521 kommunizieren kann. Die Vorrichtung 1403N, 1403RG001-001, ...1403RGyyy-nnn kann in Funktion mit ECUs 1405, 1407, 1409 in den einzelnen Fahrzeugen 1401 kommunizieren. Das Verfahren umfasst des Weiteren das Initiieren eines Software-Updates in einer Vorrichtung 1403 in einem vorgegebenen Fahrzeug 1401 aus der Vielzahl von Fahrzeugen; das Ansteuern von einem der Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx zum Herunterladen von ausgewählten Software-Updates für eine oder mehrere vorgegebene ECUs 1405, 1407, 1409 in dem vorgegebenen Fahrzeug 1401; und das Ansteuern der einzelnen vorgegebenen Fahrzeugvorrichtungen 1403 zum selektiven Anwenden der Software-Updates auf eine oder mehrere vorgegebene ECUs 1405, 1407, 1409 in dem vorgegebenen Fahrzeug 1401, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates; das Ansteuern der Vorrichtung 1403 zum Kommunizieren der Status-Updates an den entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx. Der entsprechende Kommunikationsserver kann in Funktion Datennachrichten empfangen, welche die Status-Updates von der einen vorgegebenen Fahrzeugvorrichtung 1403 umfassen, und die Datennachrichten dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel einer TCU 1403, die in einem Fahrzeug 1401 installierbar ist, umfasst eine drahtlose Netzwerkschnittstelle 1403c; eine Schnittstelle 1403d für einen Fahrzeugbus 1411, der mit einer Vielzahl von ECUs 1405, 1407, 1409 verbunden ist, die in dem Fahrzeug 1401 angeordnet sind, einen Speicher 1403b; einen Prozessor 1403a; und ein differenzielles Aktualisierungspaket (DUP), das über die drahtlose Netzwerkschnittstelle 1403c empfangen wird und in dem Speicher 1403b gespeichert wird, um ein Update für eine spezifische ECU aus den ECUs bereitzustellen. Jede ECU 1405, 1407, 1409 umfasst einen Flash-Speicher 1405b, 1407b, 1409b, einen Arbeitsspeicher, der nicht dargestellt ist, und einen Startlader, der ebenfalls nicht dargestellt ist. Das DUP umfasst ein Flash-Tool, differenzielle Aktualisierungsbefehle für die spezifische ECU und differenzielle Aktualisierungsdaten für den Flash-Speicher 1405b, 1407b, 1409b der spezifischen ECU 1405, 1407, 1409. Der Prozessor 1403a verwendet das Flash-Tool, um die differenziellen Aktualisierungsbefehle für den Startlader der spezifischen ECU 1405, 1407, 1409 bereitzustellen. Die differenziellen Aktualisierungsbefehle bewirken sind von der spezifischen ECU 1405, 1407, 1409 dazu ausführbar, einen Block der Flash-Speicher-Inhalte in dem RAM zu speichern; der Prozessor 1403a kann in Funktion die differenziellen Aktualisierungsdaten für die spezifische ECU 1405, 1407, 1409 bereitstellen; die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen; die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block aus dem Flash-Speicher 1405b, 1407b, 1409b zu löschen; und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den modifizierten Block aus dem RAM in den Flash-Speicher 1405b, 1407b, 1409b anstelle des gelöschten Blockes zu schreiben.
  • Der Prozessor 1403a verwendet das Flash-Tool, um einen Fortschrittsstatus des Updates in dem Flash-Speicher 1405b, 1407b, 1409b zu pflegen. Der Prozessor 1403a verwendet den Fortschrittsstatus, um eine Unterbrechung des Updates zu ermitteln. Der Prozessor 1403a verwendet das Flash-Tool, um eine Fortsetzung des Updates nach der Unterbrechung zu initiieren.
  • Die drahtlose Netzwerkschnittstelle 1403c kann eine Schnittstelle zu einem drahtlosen Weitverkehrsnetzwerk 1521 und eine Schnittstelle zu einem drahtlosen lokalen Netzwerk umfassen.
  • Jede TCU 1403 kann einen Kommunikationsagenten umfassen, um automatisch eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle auszuwählen, über die das DUP empfangen werden soll.
  • Jede TCU 1403 kann einen Kommunikationsagenten umfassen, der auf einen Versuch reagiert, das DUP über eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle herunterzuladen, um automatisch das Herunterladen des DUP in die TCU 1403 zu ermöglichen.
  • Ein weiteres Ausführungsbeispiel einer TCU 1403, die in einem Fahrzeug 1401 installierbar ist, umfasst: eine drahtlose Netzwerkschnittstelle 1403c; eine Schnittstelle 1403d für einen Fahrzeugbus 1411, der mit einer Vielzahl von elektronischen Steuereinheiten (ECUs) 1405, 1407, 1409 verbunden ist, die in dem Fahrzeug 1401 angeordnet sind, einen Speicher 1403b; einen Prozessor 1403a; und ein differenzielles Aktualisierungspaket (DUP), das über die drahtlose Netzwerkschnittstelle 1403c empfangen wird und in dem Speicher 1403b gespeichert wird, um ein Update für eine spezifische ECU 1405, 1407, 1409 bereitzustellen. Jede ECU 1405, 1407, 1409, umfassend einen Flash-Speicher 1405b, 1407b, 1409b, einen Arbeitsspeicher (RAM) und einen Startlader das DUP umfasst ein Flash-Tool, differenzielle Aktualisierungsbefehle für die spezifische ECU 1405, 1407, 1409, und differenzielle Aktualisierungsdaten für den Flash-Speicher 1405b, 1407b, 1409b der spezifischen ECU 1405, 1407, 1409. Der Prozessor 1403a kann in Funktion bestimmen, ob sich das Fahrzeug 1401 in einem vorgegebenen Status befindet und der Prozessor 1403a kann in Funktion die ECU 1405, 1407, 1409 aktualisieren, wenn sich das Fahrzeug 1401 in dem vorgegebenen Status befindet.
  • Der Prozessor 1403a kann in Funktion die ECU 1405, 1407, 1409 und den Status des Fahrzeugs 1401 überwachen und das Update nur dann ausführen, während sich die ECU 1405, 1407, 1409 in einem vorgegebenen ECU-Status befindet und sich das Fahrzeug 1401 in dem vorgegebenen Status befindet.
  • Der Prozessor 1403a verwendet das Flash-Tool, um die differenziellen Aktualisierungsbefehle für den Startlader der spezifischen ECU 1405, 1407, 1409 bereitzustellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um einen Block des Flash-Speichers in den RAM zu speichern. Der Prozessor 1403a kann in Funktion differenzielle Aktualisierungsdaten für die spezifische ECU 1405, 1407, 1409 bereitstellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block aus dem Flash-Speicher 1405b, 1407b, 1409b zu löschen, und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den modifizierten Block aus dem RAM anstelle des gelöschten Blockes in den Flash-Speicher 1405b, 1407b, 1409b zu schreiben.
  • Der Prozessor 1403a kann in Funktion die einzelnen ECUs 1405, 1407, 1409 und den Fahrzeugstatus überwachen und das Update nur dann ausführen, während sich die spezifische ECU 1405, 1407, 1409 in einem vorgegebenen ECU-Status befindet und sich das Fahrzeug 1401 in dem vorgegebenen Status befindet, und die Updates in einer vorgegebenen Zeitspanne abgeschlossen werden können.
  • In einem Ausführungsbeispiel verwendet der Prozessor 1403a das Flash-Tool, um die differenziellen Aktualisierungsbefehle für den Startlader der spezifischen ECU 1405, 1407, 1409 bereitzustellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um einen Block des Flash-Speichers 1405b, 1407b, 1409b in den RAM zu speichern. Der Prozessor 1403a kann in Funktion differenzielle Aktualisierungsdaten für die spezifische ECU 1405, 1407, 1409 bereitstellen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block entsprechend den differenziellen Aktualisierungsdaten zu modifizieren und einen modifizierten Block zu erzeugen. Die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den Block aus dem Flash-Speicher 1405b, 1407b, 1409b zu löschen, und die differenziellen Aktualisierungsbefehle sind von der spezifischen ECU 1405, 1407, 1409 ausführbar, um den modifizierten Block aus dem RAM anstelle des gelöschten Blockes in den Flash-Speicher 1405b, 1407b, 1409b zu schreiben.
  • In einem Ausführungsbeispiel verwendet der Prozessor 1403a das Flash-Tool, um einen Fortschrittsstatus des Updates in dem Flash-Speicher 1405b, 1407b, 1409b zu pflegen. Der Prozessor 1403a verwendet den Fortschrittsstatus, um eine Unterbrechung des Updates zu ermitteln. Der Prozessor 1403a verwendet das Flash-Tool, um eine Fortsetzung des Updates nach der Unterbrechung zu initiieren.
  • In einem Ausführungsbeispiel umfasst/umfassen die drahtlose(n) Netzwerkschnittstelle(n) 1403c eine Schnittstelle zu einem drahtlosen Weitverkehrsnetz 1521. Die drahtlose Netzwerkschnittstelle(n) 1403c kann/können zusätzlich eine Schnittstelle zu einem drahtlosen lokalen Netzwerk umfassen. Die TCU 1403 kann des Weiteren einen Kommunikationsagenten umfassen, um automatisch eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle auszuwählen, über die das DUP empfangen werden soll.
  • In einem Ausführungsbeispiel reagiert ein Kommunikationsagent in der TCU 1403 auf einen Versuch, das DUP über eine aus der drahtlosen Weitverkehrsnetzschnittstelle und der drahtlosen lokalen Netzwerkschnittstelle herunterzuladen, um automatisch das Herunterladen des DUP in die TCU 1403 zu ermöglichen.
  • Ein Ausführungsbeispiel sieht ein Verfahren zum Upgraden von Fahrzeug-ECUs 1405, 1407, 1409 vor, die jeweils einen Flash-Speicher 1405b, 1407b, 1409b umfassen und in einem Fahrzeug 1401 angeordnet sind, das eine TCU 1403 umfasst, die in Funktion mit den ECUs 1405, 1407, 1409 kommunizieren kann. Das Verfahren umfasst das Erstellen eines differenziellen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU 1405, 1407, 1409. Das Erstellen umfasst: Vergleichen eines neuen Bildes der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers mit einem gegenwärtigen Bild der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers; und Erzeugen eines Satzes von Änderungen, um das gegenwärtige Bild auf das neue Bild zu modifizieren, wobei die Änderungen einen Satz von Befehlen umfassen. Der Satz von Befehlen umfasst einen Befehl zum Kopieren eines Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher, einen Befehl zum Durchführen von einem oder mehreren aus Anwenden eines Satzes von Modifikationen auf den Block von Bytes und Hinzufügen von zusätzlichen Bytes zu dem Block von Bytes, um einen Block des neuen Bildes zu erzeugen, und einen Befehl zum Kopieren des Blockes des neuen Bildes in den vorgegebenen ECU-Flash-Speicher anstelle des kopierten Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher. Das Verfahren umfasst des Weiteren das Herunterladen des DUP in ein oder mehrere Fahrzeuge, die eine TCU umfassen, über ein drahtloses Netzwerk und das Verwenden der TCU dazu, automatisch auf den Empfang des DUP in der vorgegebenen ECU zu reagieren und den vorgegebenen ECU-Flash-Speicher zu aktualisieren.
  • In einem Ausführungsbeispiel umfasst das Verfahren das Verwenden eines verteilten Netzwerkes 1700, um das DUP in eine Vielzahl von Fahrzeugen 1401 herunterzuladen und das gleichzeitige Aktualisieren der vorgegebenen ECU in jeder Vielzahl von Fahrzeugen zu ermöglichen.
  • In einem Ausführungsbeispiel umfasst das Verfahren das Bereitstellen eines Client-Servers 1801; das Hochladen des DUP in den Client-Server 1801; und das Verbinden des Client-Servers 1801 mit einem verteilten Netzwerk 1700, um das DUP in eine Vielzahl von Fahrzeug-TCUs 1403N, 1403RG001-001, ...1403RGyyy-nnn herunterzuladen, wobei jedes entsprechende Fahrzeug die vorgegebene ECU umfasst.
  • Ein Ausführungsbeispiel des Verfahrens umfasst des Weiteren das Verwenden eines Vermittlungsservers SP000, der mit einer Vielzahl von Kommunikationsservern SP001, ..., SPxxx verbunden ist, für das verteilte Netzwerk 1700.
  • Das Verfahren kann des Weiteren das Bereitstellen eines verteilten Netzwerkes 1700 umfassen, das einen Verbindungsserver SP000 und eine Vielzahl von Kommunikationsservern SP001, ..., SPxxx umfasst; das Hochladen des DUP in die Kommunikationsserver SP001, ...SPxxx über den Vermittlungsserver SP000; und das gleichzeitige Herunterladen des DUP aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx in eine Vielzahl von Fahrzeug-TCUs 1403N, 1403RG001-001, ...1403RGyyy-nnn.
  • Ein weiteres Ausführungsbeispiel ist für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeug-ECUs 1405, 1407, 1409 vorgesehen. Jede ECU 1405, 1407, 1409 umfasst einen Flash-Speicher 1405b, 1407b, 1409b und ist in einem Fahrzeug 1401 aus einer Vielzahl von Fahrzeugen angeordnet. Jedes Fahrzeug 1401 umfasst eine TCU 1403, die in Funktion mit ihren entsprechenden ECUs 1405, 1407, 1409 kommunizieren kann. Das Verfahren umfasst das Erstellen eines digitalen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU in jedem Fahrzeug aus der Vielzahl von Fahrzeugen. Das Erstellen umfasst: Vergleichen eines neuen Bildes der digitalen Inhalte eines vorgegebenen ECU-Flash-Speichers mit einem gegenwärtigen Bild der digitalen Inhalte des vorgegebenen ECU-Flash-Speichers; und Erzeugen eines Satzes von Änderungen, um das gegenwärtige Bild auf das neue Bild zu modifizieren, wobei die Änderungen einen Satz von Befehlen umfassen. Der Satz von Befehlen umfasst einen Befehl zum Kopieren eines Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher, einen Befehl zum Durchführen von einem oder mehreren aus Anwenden eines Satzes von Modifikationen auf den Block von Bytes und Hinzufügen von zusätzlichen Bytes zu dem Block von Bytes, um einen Block des neuen Bildes zu erzeugen, und einen Befehl zum Kopieren des Blockes des neuen Bildes in den vorgegebenen ECU-Flash-Speicher anstelle des kopierten Blockes von Bytes aus dem vorgegebenen ECU-Flash-Speicher. Das Verfahren umfasst des Weiteren das Herunterladen des DUP in die Vielzahl von Fahrzeugen über ein drahtloses verteiltes Netzwerk 1700; das Verwenden der einzelnen TCUs 1430 dazu, automatisch auf den Empfang des DUP zu reagieren und einen entsprechenden vorgegebenen ECU-Flash-Speicher 1405b, 1407b, 1409b zu aktualisieren; das Verwenden der einzelnen TCUs 1430 dazu, automatisch einen Update-Statusbericht für das DUP-Update des entsprechenden vorgegebenen ECU-Flash-Speichers zu erzeugen; und das Ansteuern der einzelnen TCUs 1430 dazu, den Statusbericht automatisch in das drahtlose verteilte Netzwerk 1700 hochzuladen.
  • Ein Ausführungsbeispiel kann umfassen: Versehen des drahtlosen verteilten Netzwerkes 1700 mit einer Vielzahl von Kommunikationsservern SP001, ..., SPxxx, wobei jeder der Kommunikationsserver SP001, ..., SPxxx in Funktion mit einem entsprechenden Teilsatz aus der Vielzahl von Fahrzeugen 1401 kommunizieren kann; und Versehen des drahtlosen verteilten Netzwerkes 1700 mit einem Vermittlungsserver SP000, der in Funktion mit der Vielzahl von Kommunikationsservern SP001, ..., SPxxx kommunizieren kann.
  • Ein Ausführungsbeispiel kann das Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx dazu umfassen, den Update-Statusbericht von jedem Fahrzeug 1401 aus dem entsprechenden Teilsatz aus der Vielzahl von Fahrzeugen zu empfangen; und das Ansteuern jedes Kommunikationsservers SP001, ..., SPxxx aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx dazu, die Update-Statusberichte zu einem entsprechenden Datenstrom zu kombinieren.
  • Ein Ausführungsbeispiel kann das Versehen der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx mit Datenstrom-Filterkriterien umfassen, um die Update-Statusberichte zu filtern und einen gefilterten Datenstrom zu erzeugen.
  • Ein Ausführungsbeispiel kann das Hochladen der Datenstrom-Filterkriterien von einem Client in den Vermittlungsserver SP000 umfassen, und kann des Weiteren das Versehen der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx mit Formatierungsdaten umfassen, um den gefilterten Datenstrom zu formatieren.
  • Ein Ausführungsbeispiel kann darüber hinaus das Hochladen der Datenstrom-Filterkriterien von einem Client in den Vermittlungsserver SP000 umfassen.
  • Ein Ausführungsbeispiel kann das Versehen des Vermittlungsservers SP000 mit Datenstrom-Filterkriterien umfassen, um die Update-Statusberichte zu filtern und einen gefilterten Datenstrom zu erzeugen; das Einrichten von Kommunikationsverbindungen mit ausgewählten Kommunikationsservern SP001, ..., SPxxx aus der Vielzahl von Kommunikationsservern SP001, ..., SPxxx, für welche die Datenstromfilterung gültig ist; das Hochladen der Datenstrom-Filterkriterien in die ausgewählten Kommunikationsserver; und das Verwenden der Datenstrom-Filterkriterien in jedem der ausgewählten Kommunikationsserver SP001, ..., SPxxx, um die Update-Statusberichte zu filtern und einen entsprechenden Datenstrom für jeden der ausgewählten Kommunikationsserver SP001, ..., SPxxx zu erzeugen.
  • Ein Ausführungsbeispiel kann des Weiteren das Herunterladen jedes entsprechenden Datenstroms in den Vermittlungsserver SP000 umfassen; und das Ansteuern des Vermittlungsservers SP000 dazu, alle entsprechenden gefilterten Datenströme zu einem einzelnen Datenstrom zu kombinieren; und das Herunterladen des einzelnen Datenstroms in den Client.
  • Ein Ausführungsbeispiel kann das Versehen des Vermittlungsservers SP000 mit Formatierungskriterien umfassen; und das Verwenden des Vermittlungsservers SP000 dazu, die Formatierungskriterien auf den einzelnen Datenstrom anzuwenden und einen formatierten Datenstrom bereitzustellen.
  • Ein Ausführungsbeispiel kann das Herunterladen des formatierten Datenstroms in den Client umfassen.
  • Ein Ausführungsbeispiel ist vorgesehen für ein Verfahren für die Echtzeitüberwachung von weit verteilten Software-Updates von Fahrzeug-ECUs 1405, 1407, 1409, die jeweils einen Flash-Speicher 1405b, 1407b, 1409b umfassen. Jede ECU 1405, 1407, 1409 ist in einem Fahrzeug 1401 aus einer Vielzahl von Fahrzeugen angeordnet, wobei jedes Fahrzeug 1401 eine TCU 1403 umfasst, die in Funktion mit den ECUs 1405, 1407, 1409 kommunizieren kann. Das Verfahren umfasst das Erstellen eines digitalen Upgrade-Pakets (DUP) für jedes Upgrade für eine vorgegebene ECU 1405, 1407, 1409 in jedem Fahrzeug 1401 aus der Vielzahl von Fahrzeugen; das Herunterladen des DUP in die Vielzahl von Fahrzeugen über ein drahtloses verteiltes Netzwerk 1700; das Verwenden der einzelnen TCUs 1403 dazu, automatisch auf den Empfang des DUP zu reagieren und einen entsprechenden vorgegebenen ECU-Flash-Speicher 1405, 1407, 1409 zu aktualisieren; das Verwenden der einzelnen TCUs 1403 dazu, automatisch einen Update-Statusbericht für jedes DUP-Update des entsprechenden vorgegebenen ECU-Flash-Speichers 1405, 1407, 1409 zu erzeugen; und das Ansteuern der einzelnen TCUs 1403 dazu, den Statusbericht automatisch in das drahtlose verteilte Netzwerk 1700 hochzuladen.
  • Ein Ausführungsbeispiel kann umfassen: Versehen des drahtlosen verteilten Netzwerkes 1700 mit einer Vielzahl von Kommunikationsservern SP001, ..., SPxxx, wobei jeder in Funktion mit einer entsprechenden Teilsatz-Vielzahl von Fahrzeugen aus der Vielzahl von Fahrzeugen 1403N, 1403RG001-001, ...1403RGyyy-nnn kommunizieren kann; und Versehen des drahtlosen verteilten Netzwerkes 1700 mit einem Vermittlungsserver SP000, der in Funktion mit der Vielzahl von Kommunikationsservern 1403N, 1403RG001-001, ...1403RGyyy-nnn kommunizieren kann.
  • Fachleuten wird sich erschließen, dass verschiedene Änderungen und Modifikationen an den hier beschriebenen Ausführungsbeispielen vorgenommen werden können, ohne vom Geist und Geltungsbereich der Erfindung abzuweichen. Die Erfindung soll in keiner Weise durch die hier beschriebenen und dargestellten Ausführungsbeispiele eingeschränkt werden. Vielmehr wird die Erfindung nur durch die angehängten Ansprüche begrenzt.

Claims (33)

  1. Verfahren für die weite Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher umfassen, in Echtzeit, wobei das Verfahren umfasst: Bereitstellen eines Client-Servers zum Einleiten der Software-Updates; Bereitstellen eines Vermittlungsservers, der in Funktion mit dem Client-Server kommunizieren kann; Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst, wobei jeder der Kommunikationsserver in Funktion mit einer Vorrichtung in einer Vielzahl von entsprechenden Fahrzeugen kommunizieren kann; Ansteuern der einzelnen Vorrichtungen zur Kommunikation über ein drahtloses Netzwerk mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern, um Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) in dem entsprechenden Fahrzeug anzuwenden; Ansteuern der einzelnen Vorrichtungen zum Erzeugen von Status-Updates für die Software-Updates und zum Kommunizieren der Status-Updates an den einen Kommunikationsserver über das drahtlose Netzwerk; Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern, damit sie in Funktion gleichzeitig die Datennachrichten empfangen, welche Status-Updates von der Vielzahl von entsprechenden Fahrzeugen umfassen; und Ansteuern der einzelnen Kommunikationsserver zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen umfasst, wobei der Datenstrom an den Vermittlungsserver gesendet wird.
  2. Verfahren nach Anspruch 1, umfassend: Kommunizieren der Filterbegriffe von dem Client-Server an den Vermittlungsserver.
  3. Verfahren nach Anspruch 2, wobei: Ansteuern des ausgewählten Vermittlungsservers zur Anwendung der Filterbegriffe auf die einzelnen Datenströme.
  4. Verfahren nach Anspruch 3, umfassend: Ansteuern des Vermittlungsservers zum Kombinieren der einzelnen gefilterten Datenströme zu einem kombinierten Datenstrom.
  5. Verfahren nach Anspruch 4, umfassend: Ansteuern des Vermittlungsservers zum Kommunizieren des kombinierten Datenstroms an den Client-Server.
  6. Verfahren nach Anspruch 5, umfassend: Verwenden des Vermittlungsservers zum Anwenden der Filterparameter auf den kombinierten Datenstrom, um einen gefilterten Datenstrom zu erzeugen.
  7. Verfahren nach Anspruch 6, wobei: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten Datenstroms an den Client-Server.
  8. Verfahren nach Anspruch 5, umfassend: Kommunizieren von Formatierungs- und Präsentationsparametern von dem Client-Server an den Vermittlungsserver.
  9. Verfahren nach Anspruch 8, umfassend: Ansteuern des Vermittlungsservers zum Anwenden der Filterbegriffe und der Formatierungs- und Präsentationsparameter auf den kombinierten Datenstrom, um einen gefilterten Datenstrom zu erzeugen.
  10. Verfahren nach Anspruch 9, wobei: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten Datenstroms an den Client-Server.
  11. Verfahren für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeugkomponenten, umfassend: Bereitstellen eines Client-Servers; Bereitstellen eines Vermittlungsservers; Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst; Ansteuern der einzelnen Kommunikationsserver zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen; wobei jedes Fahrzeug aus der entsprechenden Vielzahl von Fahrzeugen umfasst: eine Vorrichtung, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern über ein drahtloses Netzwerk kommunizieren kann, wobei die Vorrichtung in Funktion mit elektronischen Steuereinheiten (ECUs) in den einzelnen Fahrzeugen kommunizieren kann, Ansteuern der einzelnen Kommunikationsserver zum Herunterladen von ausgewählten Software-Updates für eine oder mehrere vorgegebene ECUs in jedem aus der Vielzahl von Fahrzeugen in die einzelnen Fahrzeugvorrichtungen über das drahtlose Netzwerk; Ansteuern der einzelnen Fahrzeugvorrichtungen zum selektiven Anwenden der Software-Updates auf die eine oder mehrere vorgegebene ECUs in dem Fahrzeug, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates; und Ansteuern der einzelnen Fahrzeugvorrichtungen zur Kommunikation der Status-Updates an den entsprechenden Kommunikationsserver über das drahtlose Netzwerk; wobei jeder entsprechende Kommunikationsserver in Funktion Datennachrichten empfangen kann, welche Status-Updates von den einzelnen Fahrzeugvorrichtungen umfassen, und die Datennachrichten von der entsprechenden Vielzahl von Fahrzeugen dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  12. Verfahren nach Anspruch 11, umfassend: Ansteuern des Vermittlungsservers zum Empfangen der einzelnen entsprechenden Datenströme von der Vielzahl von Kommunikationsservern und zum Kombinieren der einzelnen entsprechenden Datenströme zu einem kombinierten Datenstrom.
  13. Verfahren nach Anspruch 12, umfassend: Ansteuern des Vermittlungsservers zum Filtern und Formatieren des kombinierten Datenstroms, um einen gefilterten und formatierten Datenstrom zu erzeugen.
  14. Verfahren nach Anspruch 13, umfassend: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten und formatierten Datenstroms an den Client-Server.
  15. Verfahren nach Anspruch 14, umfassend: Ansteuern des Vermittlungsservers zum Empfangen von Filterdaten von dem Client-Server; und Ansteuern des Vermittlungsservers zum Anwenden der Filterdaten auf die einzelnen entsprechenden Datenströme, um den gefilterten und formatierten Datenstrom zu erzeugen.
  16. Verfahren nach Anspruch 10, wobei: der Vermittlungsserver Formatierungsparameter von dem Client empfängt, um die Formatierung des kombinierten Datenstroms zu steuern.
  17. Verfahren für die Echtzeit-Verbreitung von Software-Updates von Fahrzeugkomponenten, die einen Flash-Speicher umfassen, wobei das Verfahren umfasst: Bestimmen, dass ein Fahrzeugbesitzer ein Software-Update für das Fahrzeug des Besitzers angefordert hat; Bereitstellen eines Client-Servers zum Einleiten des Software-Updates; Bereitstellen eines Vermittlungsservers, der in Funktion mit dem Client-Server kommunizieren kann; Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst, wobei jeder der Kommunikationsserver in Funktion mit einer Vorrichtung in einer Vielzahl von entsprechenden Fahrzeugen über ein drahtloses Netzwerk kommunizieren kann; Ansteuern der einzelnen Vorrichtungen in dem Fahrzeug des Besitzers zur Kommunikation mit einem Kommunikationsserver aus der Vielzahl von Kommunikationsservern über das drahtlose Netzwerk, um die Software-Updates zu empfangen und auf elektronische Steuereinheiten (ECUs) in dem Fahrzeug des Besitzers anzuwenden; Ansteuern der Vorrichtungen in dem Fahrzeug des Besitzers zum Erzeugen von Status-Updates für das Software-Update und zum Kommunizieren des Status-Updates an den einen Kommunikationsserver über das drahtlose Netzwerk; Ansteuern der einzelnen Kommunikationsserver aus der Vielzahl von Kommunikationsservern, damit sie in Funktion gleichzeitig die Datennachrichten über das drahtlose Netzwerk empfangen, welche Status-Updates von der Vielzahl von entsprechenden Fahrzeugen umfassen; und Ansteuern der einzelnen Kommunikationsserver zum Erzeugen eines Datenstroms, der die Datennachrichten von der Vielzahl von entsprechenden Fahrzeugen und das Status-Update von dem Fahrzeug des Besitzers umfasst, wobei der Datenstrom über das drahtlose Netzwerk an den Vermittlungsserver gesendet wird.
  18. Verfahren nach Anspruch 17, umfassend: Verwenden der Vorrichtung in dem Fahrzeug des Besitzers zum Bestimmen, dass sich die ECU in dem Fahrzeug des Besitzers in einem vorgegebenen Status befindet, bevor das Update initiiert wird.
  19. Verfahren nach Anspruch 18, umfassend: Kommunizieren der Filterbegriffe von dem Client-Server an den Vermittlungsserver.
  20. Verfahren nach Anspruch 19, wobei: Ansteuern des ausgewählten Vermittlungsservers zur Anwendung der Filterbegriffe auf die einzelnen Datenströme.
  21. Verfahren nach Anspruch 20, umfassend: Ansteuern des Vermittlungsservers zum Kombinieren der einzelnen gefilterten Datenströme zu einem kombinierten Datenstrom.
  22. Verfahren nach Anspruch 21, umfassend: Ansteuern des Vermittlungsservers zum Kommunizieren des kombinierten Datenstroms an den Client-Server.
  23. Verfahren nach Anspruch 22, umfassend: Verwenden des Vermittlungsservers zum Anwenden der Filterparameter auf den kombinierten Datenstrom, um einen gefilterten Datenstrom zu erzeugen.
  24. Verfahren nach Anspruch 23, wobei: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten Datenstroms an den Client-Server.
  25. Verfahren nach Anspruch 22, umfassend: Kommunizieren von Formatierungs- und Präsentationsparametern von dem Client-Server an den Vermittlungsserver.
  26. Verfahren nach Anspruch 25, umfassend: Ansteuern des Vermittlungsservers zum Anwenden der Filterbegriffe und der Formatierungs- und Präsentationsparameter auf den kombinierten Datenstrom, um einen gefilterten Datenstrom zu erzeugen.
  27. Verfahren nach Anspruch 26, wobei: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten Datenstroms an den Client-Server.
  28. Verfahren für die Echtzeitüberwachung von weitverbreiteten Software-Updates von Fahrzeugkomponenten, umfassend: Bereitstellen eines verteilten Netzwerkes, das eine Vielzahl von Kommunikationsservern umfasst; Ansteuern der einzelnen Kommunikationsserver zur Kommunikation mit einer entsprechenden Vielzahl von Fahrzeugen; wobei jedes Fahrzeug aus der entsprechenden Vielzahl von Fahrzeugen umfasst: eine Vorrichtung, die in Funktion mit einem entsprechenden Kommunikationsserver aus der Vielzahl von Kommunikationsservern über ein drahtloses Netzwerk kommunizieren kann, wobei die Vorrichtung in Funktion mit elektronischen Steuereinheiten (ECUs) in jedem Fahrzeug kommunizieren kann; Initiieren eines Software-Updates in einem vorgegebenen Fahrzeug aus der Vielzahl von Fahrzeugen; Ansteuern von einem der Kommunikationsserver zum Herunterladen von ausgewählten Software-Updates für eine vorgegebene oder mehrere ECUs in dem vorgegebenen Fahrzeug; Ansteuern der vorgegebenen Fahrzeugvorrichtung zum selektiven Anwenden der Software-Updates auf die eine oder mehrere vorgegebene ECUs in dem vorgegebenen Fahrzeug, zum Überwachen des Status der Software-Updates und zum Erzeugen von Status-Updates für die Anwendung der Software-Updates; und Ansteuern der Vorrichtung des vorgegebenen Fahrzeugs zum Kommunizieren der Status-Updates an den entsprechenden Kommunikationsserver; wobei der eine Kommunikationsserver in Funktion Datennachrichten empfangen kann, welche die Status-Updates von der einen vorgegebenen Fahrzeugvorrichtung umfassen, und die Datennachrichten dazu verwenden, einen entsprechenden Datenstrom zu erzeugen.
  29. Verfahren nach Anspruch 28, umfassend: Bereitstellen eines Vermittlungsservers; Ansteuern des Vermittlungsservers zum Empfangen des Datenstroms und der einzelnen entsprechenden Datenströme von der Vielzahl von Kommunikationsservern und zum Kombinieren der einzelnen Datenströme und der entsprechenden Datenströme zu einem kombinierten Datenstrom.
  30. Verfahren nach Anspruch 29, umfassend: Ansteuern des Vermittlungsservers zum Filtern und Formatieren des kombinierten Datenstroms, um einen gefilterten und formatierten Datenstrom zu erzeugen.
  31. Verfahren nach Anspruch 30, umfassend: Ansteuern des Vermittlungsservers zum Übertragen des gefilterten und formatierten Datenstroms an einen Client.
  32. Verfahren nach Anspruch 31, umfassend: Ansteuern des Vermittlungsservers zum Empfangen von Filterdaten von dem Client; und Ansteuern des Vermittlungsservers zum Anwenden der Filterdaten auf die einzelnen entsprechenden Datenströme, um den gefilterten und formatierten Datenstrom zu erzeugen.
  33. Verfahren nach Anspruch 29, wobei: der Vermittlungsserver Formatierungsparameter von dem Client empfängt, um die Formatierung des kombinierten Datenstroms zu steuern.
DE102016210674.0A 2015-06-16 2016-06-15 Verfahren für die Software Aktualisierung von Fahrzeugkomponenten Withdrawn DE102016210674A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/740,391 2015-06-16
US14/740,391 US10165084B2 (en) 2015-06-16 2015-06-16 Method for software updating of vehicle components

Publications (1)

Publication Number Publication Date
DE102016210674A1 true DE102016210674A1 (de) 2016-12-22

Family

ID=57467209

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016210674.0A Withdrawn DE102016210674A1 (de) 2015-06-16 2016-06-15 Verfahren für die Software Aktualisierung von Fahrzeugkomponenten

Country Status (3)

Country Link
US (1) US10165084B2 (de)
CN (1) CN106257419B (de)
DE (1) DE102016210674A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019162122A1 (de) * 2018-02-21 2019-08-29 Daimler Ag System zum übertragen zumindest eines aktualisierungspakets für zumindest ein steuergerät eines kraftfahrzeugs sowie verfahren
DE102020006031A1 (de) 2020-10-02 2022-04-07 Daimler Ag Verfahren zum Erzeugen einer Softwarekomponente für eine elektronische Recheneinrichtung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie kraftfahrzeugexternes Aktualisierungssystem

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574588B (zh) * 2017-03-10 2023-09-15 中兴通讯股份有限公司 客户端、服务端及差异化升级方法
US20190014026A1 (en) * 2017-07-05 2019-01-10 Ford Global Technologies, Llc Method and apparatus for ignition state monitoring
US10303460B2 (en) * 2017-07-25 2019-05-28 Aurora Labs Ltd. Self-healing learning system for one or more vehicles
CN107885518B (zh) * 2017-11-07 2021-04-20 惠州华阳通用电子有限公司 一种车载系统升级异常日志记录方法及装置
GB2569112B (en) * 2017-12-05 2021-07-28 Jaguar Land Rover Ltd Configuring a vehicle software update
CN109960518A (zh) * 2017-12-14 2019-07-02 蔚来汽车有限公司 汽车软件升级方法
US10776096B2 (en) * 2018-01-12 2020-09-15 Blackberry Limited Method and system for controlling software updates on a network connected device
JP7006335B2 (ja) * 2018-02-06 2022-01-24 トヨタ自動車株式会社 車載通信システム、車載通信方法、およびプログラム
JP6718483B2 (ja) * 2018-06-29 2020-07-08 株式会社Subaru 車両
JP6930949B2 (ja) * 2018-08-02 2021-09-01 株式会社日立製作所 ソフトウェア配信システム、ソフトウェア配信サーバ、及びソフトウェア配信方法
CN110941439A (zh) * 2018-09-25 2020-03-31 杭州字符串科技有限公司 自动分拣机软件更新方法
US11032370B2 (en) * 2018-11-14 2021-06-08 Toyota Jidosha Kabushiki Kaisha Wireless communications in a vehicular macro cloud
US20200174778A1 (en) * 2018-11-30 2020-06-04 Paccar Inc Systems and methods for using a mobile device to manage an over-the-air vehicle software update
US11449327B2 (en) 2018-11-30 2022-09-20 Paccar Inc Error-resilient over-the-air software updates for vehicles
US11356425B2 (en) 2018-11-30 2022-06-07 Paccar Inc Techniques for improving security of encrypted vehicle software updates
CN110497920B (zh) * 2019-08-29 2020-11-27 华人运通(江苏)技术有限公司 信号处理方法、装置及系统
EP3839724A1 (de) * 2019-12-18 2021-06-23 Volkswagen Aktiengesellschaft Vorrichtungen, verfahren und computerprogramme zur bestimmung eines status eines fahrzeugs und zur bestimmung einer softwarektualisierung eines fahrzeugs
JP7033116B2 (ja) * 2019-12-27 2022-03-09 本田技研工業株式会社 車両及びソフトウェア更新方法
US11271971B1 (en) * 2021-03-19 2022-03-08 King Saud University Device for facilitating managing cyber security health of a connected and autonomous vehicle (CAV)
WO2022205200A1 (zh) * 2021-03-31 2022-10-06 华为技术有限公司 一种版本管理方法和装置
CN113320491A (zh) * 2021-07-16 2021-08-31 重庆金康赛力斯新能源汽车设计院有限公司 一种控制器升级方法和系统
US20230084842A1 (en) * 2021-09-10 2023-03-16 I/O Controls Corporation System and method for performing over-the-air update
US20230108838A1 (en) * 2021-10-04 2023-04-06 Dell Products, L.P. Software update system and method for proxy managed hardware devices of a computing environment
CN116707819B (zh) * 2023-06-01 2024-03-15 红石阳光(北京)科技股份有限公司 一种车辆ota升级安全机制的构建方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020100026A1 (en) * 2001-01-19 2002-07-25 Robert Betros System and method for generating machine-language code from readable text code for information filtering
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US20090119657A1 (en) * 2007-10-24 2009-05-07 Link Ii Charles M Methods and systems for software upgrades
US8712956B2 (en) * 2009-03-30 2014-04-29 Sap Ag Systems and methods to provide report part via a web service
CN101930629A (zh) * 2010-06-09 2010-12-29 金龙联合汽车工业(苏州)有限公司 车辆信息采集装置的远程更新系统及其更新方法
US20140282470A1 (en) * 2013-03-13 2014-09-18 Arynga Inc. Remote transfer of electronic images to a vehicle
WO2016007563A1 (en) * 2014-07-07 2016-01-14 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019162122A1 (de) * 2018-02-21 2019-08-29 Daimler Ag System zum übertragen zumindest eines aktualisierungspakets für zumindest ein steuergerät eines kraftfahrzeugs sowie verfahren
CN111742294A (zh) * 2018-02-21 2020-10-02 戴姆勒股份公司 传输用于至少一个机动车控制装置的至少一个更新包的系统以及方法
US11269617B2 (en) 2018-02-21 2022-03-08 Daimler Ag System for transmitting at least one upgrade package for at least one control device of a motor vehicle and method
DE102020006031A1 (de) 2020-10-02 2022-04-07 Daimler Ag Verfahren zum Erzeugen einer Softwarekomponente für eine elektronische Recheneinrichtung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie kraftfahrzeugexternes Aktualisierungssystem

Also Published As

Publication number Publication date
CN106257419A (zh) 2016-12-28
US10165084B2 (en) 2018-12-25
US20160371075A1 (en) 2016-12-22
CN106257419B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
DE102016210672A1 (de) Verfahren für die drahtlose Remote-Aktualisierung von Fahrzeug-Software
DE102016210676A1 (de) Verfahren zum Aktualisieren von ECUs unter Verwendung von differenziellen Aktualisierungspaketen
DE102016210511A1 (de) Zentralisiertes System für die Software Aktualisierung von Fahrzeugkomponenten
DE102016210674A1 (de) Verfahren für die Software Aktualisierung von Fahrzeugkomponenten
DE102016210675A1 (de) Telematik-Steuereinheit mit einem differenziellen Aktualisierungspaket
DE102016210509A1 (de) Verfahren für die Aktualisierung von elektronischen Fahrzeug-Steuereinheiten per Luftschnittstelle
DE112016006931T5 (de) Relaisvorrichtung, Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE102020111880A1 (de) Datenfreigabe zur fahrzeugaktualisierung
DE112017006980T5 (de) Steuereinrichtung, Programmaktualisierungsverfahren und Computerprogramm
DE112010004772T5 (de) Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung
DE112021001659T5 (de) Zentralvorrichtung, verfahren zum erzeugen von verteilungspaket undprogramm zum erzeugen von verteilungspaket
DE102020109723A1 (de) Verfahren und vorrichtung für eine adaptive mobilvorrichtungsanwendung zur fahrzeugbedienung
DE102017100749A1 (de) Verfahren und vorrichtung für zyklischen dateienaustauschbei abgeschaltetem fahrzeug
DE112021002416T5 (de) Elektronisches fahrzeugsteuersystem, dateninitialisierungsverfahren, zentralvorrichtung, fahrzeughauptvorrichtung, initialisierungspaketverteilungsprogramm und dateninitialisierungsprogramm
DE102005009639A1 (de) Verfahren und Vorrichtung zum Sichern individueller Einstellungsdaten
WO2015055183A1 (de) Sprachsteuerungsverfahren sowie computerprogrammprodukt zur durchführung des verfahrens
DE102018005550A1 (de) Verfahren und Serveranordnung zum Herstellen einer Steuereinheit zur Verwendung in einem Fahrzeug
DE102022113922A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE60302187T2 (de) Terminal und Programm, um eine zusätzliche Funktion zu kaufen, und Verfahren zum Hinzufügen einer Programmfunktion
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102012218665B4 (de) Applikationssystem für Steuergeräte
DE102022107393A1 (de) Center, verteilungssteuerungsverfahren undnicht-transitorisches speichermedium
WO2017129466A1 (de) Übermitteln einer anzuzeigenden nachricht an eine anzeigeeinrichtung eines kraftfahrzeugs
DE102021124714A1 (de) Verfahren und system bewegen einer logik eines service zwischen ecosystemen
WO2021047935A1 (de) Verfahren und vorrichtung zur ausrüstung einer mobilen maschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee