-
Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren einer Software in Fahrzeugen einer Fahrzeugflotte, ein Aktualisierungssystem, welches eine solche Aktualisierung an Fahrzeugen der Flotte vornimmt, ein derartiges Fahrzeug sowie eine Hintergrundeinrichtung und eine Aktualisierungseinrichtung des Aktualisierungssystems.
-
Moderne Fahrzeuge sind mit einer Vielzahl von elektronischen, Software-gesteuerten Komponenten ausgestattet, welche Funktionen des Fahrzeugs steuern und implementieren. Solche Fahrzeuge umfassen beispielsweise eine Vielzahl von elektronischen Steuergeräten (ECU = Electronic Control Unit) in unterschiedlichen Ausprägungen, die mit Mikroprozessoren und geeigneten Speichereinrichtungen ausgestattet sind und Funktionen des Fahrzeugs übernehmen, die beispielsweise die Motor- und Antriebssteuerung, Diagnose- und Sicherheitssysteme, Navigations-, Assistenz- und Kommunikationssysteme und dergleichen mehr betreffen.
-
Die in solchen Steuersystemen installierte Software ist in der Regel eine Betriebssoftware oder Firmware, die das Verhalten der betreffenden Komponenten bzw. ECUs vorgibt und insbesondere aus Sicherheitsgründen regelmäßig aktualisiert werden muss, zum Beispiel indem Updates und/oder Patches eingespielt werden, die Teile der Software oder die Software als Ganzes ersetzen. Inzwischen ist man dazu übergegangen, die Softwareaktualisierung bei Fahrzeugen während der Fahrt mittels der mobilen Datenkommunikation durchzuführen, beispielsweise über eine herkömmlichen Mobilfunkverbindung eines Mobilfunknetzes in das sich das betreffende Fahrzeug als Teilnehmer einwählt, beispielsweise über eine SIM- oder eSIM-Mobilfunkkarte.
-
In diesem Zusammenhang ist unter Aktualisierung oder Softwareaktualisierung ein Prozess zu verstehen, mit dem eine auf einem Server bereitliegende aktuelle Software zunächst auf das Fahrzeug heruntergeladen, in einem geeigneten Speicher abgelegt und anschließend in den richtigen Steuereinheiten und -komponenten installiert wird. Beim anschließenden Installieren wird die bisherige Software durch die heruntergeladene, aktuelle Software ersetzt und gegebenenfalls so konfiguriert, dass sie bei Ausführung durch einen Mikroprozessor die Aufgaben der bisherigen Software übernimmt. Während eine geeignete Funkverbindung hauptsächlich zum Herunterladen der Software auf das Fahrzeug benötigt wird, kann auch das Installieren bzw. Konfigurieren der aktuellen Software in dem Fahrzeug eine Funkverbindung erfordern, zum Beispiel um von dem Server Konfigurationsdaten herunterzuladen oder spezifische Daten, wie zum Beispiel Schlüssel, Prüfsummen, Kennungen, Referenzen oder dergleichen auf den Server hochzuladen. Mit dem Begriff „Aktualisierung“ oder „Softwareaktualisierung“ ist im Folgenden also insbesondere derjenige Anteil dieses Prozesses gemeint, für den eine stabile Funkverbindung benötigt wird.
-
Hierbei ergibt sich das Problem, dass das Herunterladen einer aktuellen Softwareversion über eine Funkverbindung aufgrund von deren Größe häufig länger dauert und damit die Gefahr steigt, dass die Funkverbindung während des Herunterladens fahrtbedingt abbricht. Nach dem Abbruch oder einer Störung einer Funkverbindung kann das Herunterladen einer Software aber nicht nahtlos fortgesetzt werden, sobald wieder eine Funkverbindung besteht, so dass der der Prozess des Herunterladens unter Umständen mehrfach wiederholt werden muss, bevor die Software vollständig auf dem Fahrzeug vorliegt.
-
Daraus ergeben sich viele technische Nachteile, insbesondere erhöhter Batterieverbrauch im Fahrzeug und Energieverbrauch insgesamt, unnötige Belastung des betreffenden Funknetzwerks und der Server, von denen die Software heruntergeladen wird, oder dergleichen.
-
Es ist insofern die Aufgabe der vorliegenden Erfindung, eine Lösung vorzuschlagen, die die oben genannten und weitere Nachteile des Standes der Technik vermeidet.
-
Gelöst wird diese Aufgabe durch ein Verfahren, ein Aktualisierungssystem, eine Hintergrundeinrichtung und eine Aktualisierungseinrichtung des Hintergrundsystems sowie ein Fahrzeug gemäß den unabhängigen Ansprüchen. In den abhängigen Ansprüchen werden weitere Ausgestaltungen bevorzugter Ausführungsformen der Erfindung angegeben.
-
Gemäß eines Hauptaspekts der Erfindung werden zum Aktualisieren einer Software in Fahrzeugen einer Fahrzeugflotte zunächst diejenigen Fahrzeuge der Flotte identifiziert, deren Software zu aktualisieren ist. Bei diesem Schritt wird zumindest eines der Fahrzeuge der Fahrzeugflotte ausgewählt, dessen Software über eine bestehende Funkverbindung gemäß vorgegebenen Aktualisierungsbedingungen anschließend aktualisiert wird.
-
Die Aktualisierungsbedingungen werden erfindungsgemäß mittels eines Maschinenlern-Modells bzw. „Machine Learning Model“ bestimmt, im Folgenden auch als ML-Modell bezeichnet, welches Übertragungsqualitäten von möglichst vielen verschiedenen Funkverbindungen über ein Funknetzwerk modelliert, also von Funkverbindungen zu verschiedenen Zeiten und an verschiedenen Orten des Funknetzwerks. Das ML-Modell ist also vergleichbar mit einer zeitlich variablen, veränderlichen Karte, die mit einer bestimmten Ortsauflösung, beispielsweise entsprechend den Funkzellen eines Mobilfunknetzwerks, Übertragungsqualitäten von Funkverbindungen kartiert und zwar zeitabhängig mit einer bestimmten Zeitauflösung über einen sinnvollen Zeitraum hinweg, beispielsweise einen Tag eine Woche, oder einen Monat.
-
Dieses ML-Modell ist das Ergebnis eines fortgesetzten Trainingsprozesses, der nachfolgend beschrieben werden wird. Das trainierte ML-Modell wird eingesetzt, um Vorhersagen hinsichtlich der Übertragungsqualitäten von Funkverbindungen abzuleiten, über die zukünftig die Software des zumindest einen identifizierten Fahrzeugs aktualisiert werden kann. Die Aktualisierungsbedingungen werden dann so bestimmt, dass sie eine oder mehrere zukünftig mögliche Funkverbindungen hinreichend genau spezifizieren, deren vorausgesagte Übertragungsqualitäten ausreichen, um die Software des Fahrzeugs zu aktualisieren.
-
Unter einer „zukünftigen Funkverbindung“ ist in diesem Zusammenhang eine solche Funkverbindung zu verstehen, die das Fahrzeug in der Zukunft potentiell aufbauen und unterhalten kann, um die Software über diese Funkverbindung zu aktualisieren, sobald sie besteht. Das ML-Modell sagt also voraus, unter welchen Aktualisierungsbedingungen die Software des Fahrzeugs mit hinreichend hoher Wahrscheinlichkeit so aktualisiert werden kann, dass die eingangs geschilderten Nachteile des Standes der Technik vermieden werden.
-
Für eine Funkverbindung wird von dem ML-Modell eine im Sinne der Erfindung ausreichende Übertragungsqualität vorausgesagt, wenn sie voraussichtlich geeignet ist, den Vorgang des Aktualisierens der Software erfolgreich abzuschließen sobald er begonnen wird. Hierbei liegt es in der Natur von Voraussagen durch ein Maschinenlern-Modell, dass diese nicht zutreffen müssen, sondern nur wahrscheinlich zutreffen. So kann ein unerwartet hohes Verkehrsaufkommen in bestimmten Funkzellen, zum Beispiel aufgrund einer Baustelle in anderen Funkzellen, die tatsächliche Übertragungsqualität einer Funkverbindung entgegen der Voraussage verschlechtern.
-
Erfindungsgemäß ist das durch Training erzeugte ML-Modell, welches Übertragungsqualitäten von potentiellen Funkverbindungen modelliert, die Grundlage einer Voraussage, unter welchen Umständen die Software des betreffenden Fahrzeugs voraussichtlich unterbrechungsfrei aktualisiert werden kann. Diese Umstände der unterbrechungsfreien Aktualisierung werden durch Aktualisierungsbedingungen beschrieben. Wenn die Software also gemäß den Aktualisierungsbedingungen aktualisiert wird, können die eingangs geschilderten Nachteile des Standes der Technik voraussichtlich vermieden werden.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird das erfindungsgemäße Aktualisierungsverfahren von einem Aktualisierungssystem ausgeführt, welches eine Hintergrundeinrichtung umfasst sowie zumindest eine mit der Hintergrundeinrichtung über eine Datenkommunikationsverbindung in Kontakt stehende Aktualisierungseinrichtung. Die Aktualisierungseinrichtung identifiziert die Fahrzeuge, deren Software zu aktualisieren ist, baut die hierzu benötigten Funkverbindungen zu den Fahrzeugen auf und aktualisiert schließlich die Software der identifizierten Fahrzeuge gemäß den vorgegebenen Aktualisierungsbedingungen. Auf der Hintergrundeinrichtung ist das ML-Modell eingerichtet, welches Übertragungsqualitäten von potentiellen Funkverbindungen modelliert.
-
Während als Datenkommunikationsverbindungen zwischen der Hintergrundeinrichtung und der einen oder den mehreren Aktualisierungseinrichtungen herkömmliche kabelgebundene Verbindungen genutzt werden, zum Beispiel übliche Internet/DSL-Verbindungen, besteht zwischen der zumindest einen Aktualisierungseinrichtung und den betreffenden Fahrzeugen jeweils lediglich eine drahtlose Funkverbindung, zum Beispiel über ein herkömmliches Mobilfunknetzwerk.
-
Gemäß eines weiteren Aspekts der Erfindung bestimmt das auf einer erfindungsgemäßen Hintergrundeinrichtung eingerichtete Maschinenlern-Modell erfindungsgemäß die individuellen Aktualisierungsbedingungen zum Aktualisieren der Software eines jeden identifizierten Fahrzeugs derart, dass die Aktualisierungsbedingungen jeweils Funkverbindungen beschreiben, für die gemäß Voraussage jeweils ausreichende Übertragungsqualitäten zu erwarten sind. Dadurch kann die Software der betreffenden Fahrzeuge erfindungsgemäß aktualisiert werden, vorzugsweise unterbrechungsfrei und/ oder innerhalb eines vorgegebenen Zeitfensters, innerhalb dessen die Softwareaktualisierung begonnen und vollständig beendet wird.
-
Gemäß eines weiteren Aspekts der vorliegenden Erfindung ist ein Fahrzeug derart eingerichtet, dass seine Software durch ein erfindungsgemäßes Aktualisierungssystem in erfindungsgemäßer Art und Weise aktualisiert werden kann. Entsprechend umfasst ein erfindungsgemäßes Fahrzeug Mittel zum Aufbau einer Funkverbindung nach Vorgabe der Aktualisierungsbedingungen und zum Herunterladen und Installieren einer aktuellen Software in den betreffenden Steuergeräten und ECU-Komponenten.
-
Die Übertragungsqualität, die von dem Maschinenlern-Modell der Bestimmung von Aktualisierungsbedingungen zugrunde gelegt wird, ist vorzugsweise eine Datenübertragungsrate bzw. Datenrate, also ein Maß dafür, welches digitale Datenvolumen innerhalb einer bestimmten Zeitspanne und an einem bestimmten Standort, zum Beispiel innerhalb einer Funkzelle, über die betreffende Funkverbindung übertragen werden kann. Je größer die Datenrate ist und je länger die Datenrate aufrechterhalten werden kann, desto größer ist die Übertragungsqualität der betreffenden Funkverbindung, denn desto schneller und zuverlässiger kann eine Softwareaktualisierung über diese Funkverbindung erfolgen. Je mehr Teilnehmer sich jedoch zum gleichen Zeitpunkt bzw. innerhalb der gleichen Zeitspanne in einer Funkzelle (voraussichtlich) anmelden, je mehr parallele Funkverbindungen also (voraussichtlich) bestehen, desto geringer ist die (voraussichtliche) Datenrate jeder einzelnen dieser Funkverbindungen.
-
Eine ausreichende Übertragungsqualität im Sinne der Erfindung wird also von dem ML-Modell insbesondere dann vorausgesagt, wenn für eine Funkverbindung eine Datenrate erwartet wird, die für eine bestimmte Dauer eine vorgegebene minimale Datenrate überschreitet, so dass die Software innerhalb dieser Dauer aktualisiert werden kann. Für Funkverbindungen, für die das ML-Modell eine Datenrate vorhersagt, die die minimale Datenrate innerhalb der vorgegebenen Zeitdauer überschreitet, werden Aktualisierungsbedingungen ermittelt, gemäß denen das Fahrzeug die Softwareaktualisierung voraussichtlich unterbrechungsfrei durchführen kann, sobald diese zutreffen.
-
Vorzugsweise wird dabei auch die digitale Größe bzw. das Datenvolumen der über die Funkverbindung herunterzuladenden aktuellen Software berücksichtigt und die Aktualisierungsbedingungen werden entsprechend derart festgelegt, dass die die minimale Datenrate ausreichend lange überschritten wird, um die Software vollständig aktualisieren zu können. Mit anderen Worten, die Aktualisierungsbedingungen werden insbesondere so bestimmt, dass die Funkverbindung zeitlich ausreichend stabil ist, sie also lange genug unterbrechungsfrei zur Verfügung steht, um die Software zu aktualisieren.
-
Da es sich dabei aber um eine Voraussage handelt, kann nicht angenommen werden, dass die vorausgesagte Übertragungsqualität sicher vorliegen wird, sobald die Aktualisierungsbedingungen erfüllt sind. Stattdessen ist nur mit einer hinreichend hohen Wahrscheinlichkeit damit zu rechnen, dass die Voraussage eintrifft und die Software ohne Unterbrechungen der Funkverbindung aktualisiert werden kann. Eine solche vorgegebene Wahrscheinlichkeit ist beispielsweise größer 0,8 (> 80%), größer 0,9 (> 90%) oder größer 0,95 (> 95%) oder größer als 0,98 (> 98%).
-
Die Aktualisierungsbedingungen umfassen vorzugsweise zumindest eine Zeitbedingung und zumindest eine Ortsbedingung. Bevorzugt wird zumindest ein Bedingungspaar ermittelt, bestehend aus einer Zeitbedingung und einer Ortsbedingung. Die Software wird dann automatisch aktualisiert, sobald eines der Bedingungspaare zutrifft, die das ML-Modell für das betreffende Fahrzeug bestimmt hat; wenn das Fahrzeug also sowohl die Orts- als auch die Zeitbedingung erfüllt.
-
Als Ortsbedingung wird beispielsweise eine Funkzelle oder ein bestimmter Standort, ein Straßenabschnitt oder ein Flächenareal bestimmt, in der oder dem die Aktualisierung der Software des betreffenden Fahrzeuges stattfinden muss. Die Zeitbedingung gibt vorzugsweise ein Zeitintervall an, innerhalb dessen die Software zu aktualisieren ist, während das Fahrzeug gleichzeitig die Ortsbedingung erfüllt. Das Zeitintervall ist dabei so bemessen, dass die Software bei der zugehörigen vorausgesagten Übertragungsqualität vollständig aktualisiert werden kann.
-
Neben dem Bestimmen der Aktualisierungsbedingungen mittels Vorhersage von Übertragungsqualitäten für Funkverbindungen wird auch das Trainieren des ML-Modells von der zentralen Hintergrundeinrichtung durchgeführt. Konkret werden alle Vorgänge und Operationen von der Hintergrundeinrichtung durchgeführt, die mit dem Erzeugen, Trainieren und Nutzen des ML-Modells zusammenhängen. Dabei wird das ML-Modell zunächst mit Trainingsdaten trainiert, um dann, in einem anschließenden Schritt, mit dem ML-Modell Voraussagen betreffend die Übertragungsqualitäten von Funkverbindungen zu treffen bzw. aus dem trainierten ML-Modell abzuleiten und geeignete Aktualisierungsbedingungen zu ermitteln.
-
Als Trainingsdaten werden deshalb von den Fahrzeugen der Fahrzeugflotte eine Vielzahl von Sensordaten erhoben, die über eine Aktualisierungseinrichtung an die Hintergrundeinrichtung weitergeleitet werden und dort als Trainingsdaten für das ML-Modell dienen. Zu diesen Sensordaten zählen insbesondere Messwerte der konkreten Übertragungsqualitäten bzw. Datenraten von Funkverbindungen inklusive zugehöriger Orts- und Zeitdaten, die von den Fahrzeugen während ihres regulären Fahrbetriebs erhoben werden. Wenn ein Fahrzeug eine Funkzelle durchfährt, misst es die Übertragungsqualität einer aktuellen Funkverbindung, zum Beispiel in Form der aktuellen Datenübertragungsrate, und liefert diese zusammen mit Angaben zu der betreffenden Funkzelle und dem Zeitpunkt als Sensordaten an die Aktualisierungseinrichtung.
-
Weitere Sensordaten, die vorzugsweise auch zum Training des ML-Modells eingesetzt werden, betreffen Angaben zur Anzahl aktiver Funkverbindungen innerhalb von Funkzellen zu bestimmten Zeitpunkten oder innerhalb bestimmter Zeitintervalle, ebenso wie Angaben zu den konkreten Fahrtwegen der Fahrzeuge, also zu den Bewegungsmustern der Fahrzeuge durch das Funknetzwerk und den besuchten Funkzellen inklusive der entsprechenden Zeitangaben.
-
Die Aktualisierungseinrichtung leitet diese Sensordaten nicht einfach an die Hintergrundeinrichtung weiter, sondern bereitet sie nötigenfalls auf. So kann ein einzelnes Fahrzeug möglicherweis keine Messungen zu der Anzahl der zu einem Zeitpunkt aktiven Funkverbindungen vornehmen, so dass die Aktualisierungseinrichtung vorzugsweise die Sensordaten von vielen Fahrzeugen auswertet, um daraus solche Angaben abzuleiten. Selbiges gilt für die Bewegungsdaten der einzelnen Fahrzeuge, die auch erst von der Aktualisierungseinrichtung aus den Sensordaten der Fahrzeuge betreffend bestimmte Funkzellen generiert werden.
-
Während diese Sensordaten und Bewegungsdaten lediglich Momentaufnahmen zu den Übertragungsqualitäten verschiedener Funkverbindungen innerhalb des Funknetzes betreffen, wird beim Trainieren des ML-Modells basierend auf den Sensor- und Bewegungsdaten ein möglichst umfassendes Modell mit Mitteln des Maschinenlernens erzeugt, das es erlaubt, Vorhersagen zu den Übertragungsqualitäten möglichst vieler örtlich/zeitlich verschiedener zukünftiger Funkverbindungen zu treffen. Durch das Trainieren des ML-Modells wird also die oben angesprochene zeitlich variable Karte des Mobilfunknetzes erzeugt, die mit bestimmter Orts- und Zeitauflösung Voraussagen zu Übertragungsqualitäten von zukünftigen Funkverbindungen kartiert.
-
Basierend auf den von den Fahrzeugen konkret gemessenen Übertragungsqualitäten in bestimmten Funkzellen zu bestimmten Zeiten werden beim Trainieren des ML-Modells mögliche Übertragungsqualitäten von Funkverbindungen abgeleitet, zu denen keine Sensordaten vorliegen. Die Übertragungsqualitäten solcher Funkverbindungen werden beim Trainieren also geschätzt bzw. aus den vorhandenen Sensordaten extrapoliert, beispielsweise anhand von Sensordaten aus Funkzellen oder für Zeitintervalle mit ähnlicher Charakteristik. So kann beispielsweise die örtliche Nähe einer Funkzelle, zu der keine oder nicht genügend Sensordaten vorliegen, zu anderen Funkzellen, für die ausreichende Sensordaten erhoben wurden, eine ähnliche Charakteristik sein, oder vergleichbare Verkehrsaufkommen in zwei Funkzellen, ähnliche Bevölkerungsdichten oder dergleichen. Vorzugsweise werden Funkzellen anhand solcher und anderer Charakteristika zu Clustern gruppiert und Sensordaten für eine oder wenige Funkzellen eines Clusters für alle weiteren Funkzellen des Clusters verwendet.
-
Mit dem derart trainierten ML-Modell werden dann für ein Fahrzeug, dessen Software aktualisiert werden soll, Vorhersagen zu den Übertragungsqualitäten von Funkverbindungen getroffen, die dieses Fahrzeug in der Zukunft potentiell nutzen könnte, um dessen Software zu aktualisieren. Hierbei werden vorzugsweise die Bewegungsdaten des Fahrzeugs zugrunde gelegt, damit nur Funkverbindungen in Betracht gezogen werden, die das Fahrzeug während seines üblichen Betriebs, zum Beispiel auf sich regelmäßig wiederholenden Fahrten, auch realistisch aufbauen kann. Das ML-Modell wählt dann eine oder mehrere dieser Funkverbindungen aus, für die ausreichend stabile Übertragungsqualitäten vorausgesagt werden, und die vorzugsweise auf die Bewegungsdaten des Fahrzeugs abgestimmt sind.
-
Die Aktualisierungsbedingungen, gemäß denen die Software des betreffenden Fahrzeugs aktualisiert wird, beschreiben dann die ausgewählten Funkverbindungen mit potentiell ausreichenden Übertragungsqualitäten. Wenn das ML-Modell zum Beispiel an einem bestimmten Wochentag auf dem morgendlichen Arbeitsweg und an einem anderen Arbeitstag auf dem abendlichen Weg nach Hause in bestimmten, von dem Fahrzeug besuchten Funkzellen ausreichende Übertragungsqualitäten voraussagt, beschreiben die Aktualisierungsbedingungen Standorte bzw. Funkzellen und Zeitpunkte bzw. Zeitintervalle dieser beiden Situationen, so dass zwei unterschiedliche Möglichkeiten angeboten werden, die Software zu aktualisieren.
-
Gemäß einer besonderen Ausgestaltung der Erfindung werden für alle identifizierten Fahrzeuge Aktualisierungsbedingungen bestimmt und zu einem Aktualisierungsplan zusammengefasst, der Grundlage einer Aktualisierungskampagne ist, die innerhalb eines vorgegebenen Zeitrahmes die Software aller identifizierten Fahrzeuge aktualisiert. Dem ML-Modell werden zur Erzeugung eines optimalen Aktualisierungsplans deshalb die Liste aller identifizierten Fahrzeuge, deren Software zu aktualisieren ist, die entsprechenden Zeitvorgaben hinsichtlich des gewünschten Zeithorizonts der Aktualisierungskampagne sowie die Bewegungsdaten der betreffenden Fahrzeuge bereitgestellt.
-
Dies erfordert, dass die Aktualisierungsbedingungen nicht für jedes einzelne Fahrzeug unabhängig von denen anderer Fahrzeuge bestimmt werden, sondern dass vielmehr ein optimaler Aktualisierungsplan gefunden wird, der eine übergeordnete Kostenfunktion minimiert oder eine übergeordnete Nutzenfunktion maximiert. Eine solche Funktion wird dann optimal, wenn für möglichst viele Fahrzeuge auf deren Bewegungsdaten abgestimmte Übertragungsqualitäten vorhergesagt werden und Aktualisierungsbedingungen gefunden werden, die nicht miteinander kollidieren.
-
Sobald die Aktualisierungsbedingungen für ein Fahrzeug zutreffen, wird dessen Software aktualisiert. Die Aktualisierungsbedingungen können entweder von der Aktualisierungseinrichtung überwacht und umgesetzt werden oder autonom von jedem Fahrzeug selbst.
-
Bei einer besonders vorteilhaften Ausgestaltung der Erfindung wird vermieden, dass sensible personenbezogene Daten, wie etwa die als Trainingsdaten für das ML-Modell verwendeten Sensor- und/oder Bewegungsdaten, die über Aufenthaltsorte und -zeiten von Personen Auskunft geben und insofern geltenden Datenschutzbestimmungen unterliegen können, das jeweilige Fahrzeug verlassen und dadurch potentiell Unbefugten zugänglich werden können.
-
Um dies zu erreichen, kann die oben beschriebene Erfindung auch als „federated learning“-Variante realisiert werden. Beim „federated learning“ handelt es sich um einen verteilten bzw. dezentralen Ansatz des Maschinenlernens, bei dem lokale Instanzen eines ML-Modells dezentral basierend auf jeweils individuellen, lokalen Trainingsdaten trainiert werden.
-
Deshalb ist gemäß dieser Ausgestaltung der Erfindung auf mehreren Fahrzeugen, vorzugsweise auf allen Fahrzeugen der Fahrzeugflotte, ein lokales, fahrzeugindividuelles ML-Modell installiert, welches basierend lediglich auf den Sensor- und/oder Bewegungsdaten des betreffenden, individuellen Fahrzeuges trainiert wird. Die Fahrzeuge bzw. deren fahrzeugindividuellen ML-Modelle tauschen dabei keine personenbezogenen (Trainings-) Daten untereinander oder mit der Hintergrund- oder Aktualisierungseinrichtung aus.
-
Auf der Hintergrundeinrichtung wird ein korrespondierendes, übergeordnetes und flottenübergreifendes ML-Modell betrieben, welches einerseits die lokalen Trainingsergebnisse der einzelnen fahrzeugindividuellen ML-Modelle flottenübergreifend integriert und welches andererseits genutzt wird, um die einzelnen fahrzeugindividuellen ML-Modelle zu aktualisieren und zu synchronisieren. Während die fahrzeugindividuellen ML-Modelle also jeweils basierend auf fahrzeugindividuellen Sensor- und Bewegungsdaten trainiert werden, wird das flottenübergreifende ML-Model nicht trainiert, sondern synthetisiert. Durch die Synthese wird der Trainingszustand des das flottenübergreifende ML-Model allerdings in ähnlicher Weise verbessert, wie bei einem herkömmlichen Training des flottenübergreifende ML-Models.
-
In regelmäßigen Zeitabständen oder nach Bedarf werden die lokalen, fahrzeugindividuellen ML-Modelle zu einem aktualisierten, flottenübergreifenden ML-Modell auf der Hintergrundeinrichtung zusammengeführt bzw. synthetisiert. Das derart gebildete flottenübergreifende ML-Modell repräsentiert dann eine Synthese der Trainingsergebnisse aller fahrzeugindividuellen ML-Modelle zu einem bestimmten Zeitpunkt und mit ihm werden die fahrzeugindividuellen ML-Modelle vorzugsweise unmittelbar nach der Synthese wieder aktualisiert bzw. synchronisiert. Dazu wird das synthetisierte, flottenübergreifende ML-Modell von der Hintergrundeinrichtung über die Aktualisierungseinrichtung an die Fahrzeuge der Fahrzeugflotte weitergegeben, so dass aufgrund der Synchronisation jedes fahrzeugindividuelle ML-Modelle auch von den Trainingsergebnissen aller anderen fahrzeugindividuellen ML-Modelle profitiert.
-
Das Zusammenführen (Synthetisieren) des flottenübergreifenden ML-Modells und das anschließende Aktualisieren (Synchronisieren) der fahrzeugindividuellen ML-Modelle wird mit geeigneten Datenstrukturen derart durchgeführt, dass keine personenbezogenen Sensor- und/ oder Bewegungsdaten zwischen den Fahrzeugen und dem Hintergrundsystem ausgetauscht werden. Vielmehr werden lediglich fahrzeugindividuelle bzw. flottenübergreifende, repräsentative Modelldaten übertragen, die aus den fahrzeugindividuellen bzw. flottenübergreifenden ML-Modellen jeweils basierend auf deren jeweiligem Trainingszustand abgeleitet werden.
-
Aus diesen repräsentativen Modelldaten sind die zugrundeliegenden, personenbezogenen Trainingsdaten nicht mehr zu extrahieren, denn die Modelldaten betreffen Schätzungen von Übertragungsqualitäten von potentiellen Funkverbindungen, die aus den Sensordaten extrapoliert wurden und diese dadurch derart verfremden, dass sie für Unbefugte keinen Wert mehr haben können.
-
Vorzugsweise repräsentieren die fahrzeugindividuellen Modelldaten, die jeweils aus den betreffenden fahrzeugindividuellen ML-Modellen abgeleitet werden, eine Differenz bzw. einen Unterschied zwischen dem aktuellen Zustand des betreffenden fahrzeugindividuellen ML-Modells und dem Zustand dieses ML-Modells nach dessen letzter Aktualisierung. Die fahrzeugindividuellen Modelldaten, die schließlich zu dem flottenübergreifenden ML-Modell zusammengeführt werden, betreffen also vorzugsweise Inkremente der Trainingszustände bzw. inkrementelle Trainingsfortschritte des jeweiligen fahrzeugindividuellen ML-Modells zwischen zwei Trainingsphasen oder zwei Zeitpunkten innerhalb einer Trainingsphase.
-
Entsprechend repräsentieren auch die flottenübergreifenden Modelldaten, die zur Synchronisation der fahrzeugindividuellen ML-Modelle aus dem flottenübergreifenden ML-Modell abgeleitet werden, eine Differenz bzw. einen Unterschied zwischen dem aktuellen Zustand des flottenübergreifenden ML-Modells und dem Zustand dieses ML-Modells nach dessen letzter Synthese aus den fahrzeugindividuellen ML-Modellen. Die flottenübergreifenden Modelldaten, mit denen die fahrzeugindividuellen ML-Modelle aktualisiert werden, betreffen also Inkremente der Trainingszustände bzw. inkrementelle Trainingsfortschritte des flottenübergreifenden ML-Modells zwischen zwei Trainingsphasen oder zwei Zeitpunkten innerhalb einer Trainingsphase.
-
Die derart aktualisierten fahrzeugindividuellen ML-Modelle werden dann anhand der von diesem Fahrzeug im weiteren Verlauf individuell erhobenen Sensor- und Bewegungsdaten weiter trainiert, sodass die verschiedenen fahrzeugindividuellen ML-Modelle nach deren Synchronisation wieder divergieren. Die dadurch entstehenden Unterschiede werden zu einem geeigneten Zeitpunkt wieder in Form von fahrzeugindividuellen Modelldaten aus den jeweiligen fahrzeugindividuellen ML-Modellen extrahiert und erneut zum flottenübergreifenden ML-Modell zusammengeführt. Aus dem derart synthetisierten flottenübergreifenden ML-Model können dann Vorhersagen zu den Übertragungsqualitäten von Funkverbindungen basierend auf den Sensordaten aller Fahrzeuge der Fahrzeugflotte getroffen werden.
-
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung erfindungsgemäßer Ausführungsbeispiele sowie weiterer Ausführungsalternativen im Zusammenhang mit den Zeichnungen, die zeigen:
- 1 ein Schema eines erfindungsgemäßen Aktualisierungssystems;
- 2a eine erste bevorzugte Ausführungsform des erfindungsgemäßen Aktualisierungsverfahrens;
- 2b eine zweite bevorzugte Ausführungsform des erfindungsgemäßen Aktualisierungsverfahrens;
- 3 ein Schema der Maschinenlern-Einheit eines erfindungsgemäßen Hintergrundsystems;
- 4 ein Schema der Aktualisierung der Software eines Fahrzeugs; und
- 5 eine dritte bevorzugte Ausführungsform des erfindungsgemäßen Aktualisierungsverfahrens.
-
1 zeigt exemplarisch ein erfindungsgemäßes Aktualisierungssystem umfassend eine zentrale Hintergrundeinrichtung 10 (HGE) sowie mehrere mit dieser über geeignete, üblicherweise kabelgebundene Datenkommunikationsverbindungen 20 in Datenkommunikation stehende Aktualisierungseinrichtungen 30 (SAE). Die Aktualisierungseinrichtungen 30 wiederum unterhalten individuelle Funkverbindungen 40 zu einer Vielzahl von Fahrzeugen 50 einer Fahrzeugflotte, über die die Aktualisierungseinrichtungen 30 zu verschiedenen Zwecken mit den Fahrzeugen 50 Datenkommunikation betreiben können, zum Beispiel zu Zwecken der Fernwartung, Messwerterhebung, Sensoransteuerung oder dergleichen. Über die Funkverbindungen 40 wird darüber hinaus auch die Aktualisierung von Software, die auf den Fahrzeugen 50 installiert ist, nach Vorgaben der Hintergrundeinrichtung 10 veranlasst.
-
Die Fahrzeuge 50 sind mit komplexen elektronischen Steuer- und Regelsystemen ausgestattet, die in der Regel als eingebettete Module („embedded systems“) realisiert sind und vielfältige Aufgaben innerhalb eines Fahrzeugs 50 wahrnehmen, wie zum Beispiel die Motor- und Bremssteuerung, die Steuerung von Assistenz-, Sicherheits- und Kommunikationssystemen und dergleichen mehr. Diese elektronischen Steuergeräte, üblicherweise ECU bzw. „Electronic Control Units“ genannt, sind mit Mikroprozessoren, flüchtigen und nicht-flüchtigen Speichern, Peripherie- und Bussystemen ausgestattet und werden von einer Betriebssoftware oder Firmware betrieben, beispielsweise gemäß einer vorgegebenen Softwarearchitektur, wie zum Beispiel dem AUTOSAR-Standard (Automotive Open System Architecture).
-
Wie jede Software müssen auch die Softwarekomponenten der Betriebssoftware einer Fahrzeugsteuerung aus Sicherheits- und Performancegründen regelmäßig aktualisiert werden. Die Funktionsweise und das Zusammenwirken der Hintergrundeinrichtung 10 mit den Aktualisierungseinrichtungen 30 stellt sicher, dass die Aktualisierung der Software jedes einzelnen Fahrzeugs 50 nach individuell festgelegten Bedingungen durchgeführt wird, welche stabile Mobilfunkverbindungen 40 mit ausreichenden Übertragungsqualitäten bzw. ausreichenden Datenübertragungsraten zu den Fahrzeugen 50 sicherstellen, um die Software jeweils unterbrechungsfrei zu aktualisieren.
-
Das Zusammenwirken und die Datenkommunikation zwischen der Hintergrundeinrichtung 10, einer Aktualisierungseinrichtung 30 sowie den verschiedenen Fahrzeugen 50 einer Fahrzeugflotte, deren Software zu aktualisieren ist, wird am Beispiel der 2a und 2b dargestellt, die jeweils bevorzugte Ausführungsformen des erfindungsgemäßen Aktualisierungsverfahrens illustrieren.
-
Die Hintergrundeinrichtung 10 der 2a umfasst eine Steuereinheit 11, die die Hintergrundeinrichtung 10 steuert und insbesondere die Maschinenlern-Einheit 12 (ML-Einheit) ansteuert. Die ML-Einheit 12 ist realisiert als ein auf einem Prozessor (nicht dargestellt) der Hintergrundeinrichtung 10 ausführbares Softwareprogramm und erzeugt, bearbeitet, verwaltet und benutzt zwei ausgewählte Datenstrukturen, nämlich einerseits das Maschinenlern-Modell 13 (ML-Modell) und andererseits den Aktualisierungsplan 14. Diese und andere Daten- und Kontrollstrukturen sind in einem geeigneten Speicher (nicht dargestellt) der Hintergrundeinrichtung 10 abgelegt, auf die die ML-Einheit 12 Zugriff hat.
-
Sobald eine neue, aktuelle Software vorliegt, die auf einigen oder allen Fahrzeugen 50 einer Fahrzeugflotte installiert werden soll, weist die Hintergrundeinrichtung 10 die Aktualisierungseinrichtung 30 in einem Schritt S1 an, alle Fahrzeuge 50 zu identifizieren, deren derzeitige Software durch die aktuelle Software zu ersetzen ist. Dazu wird der Aktualisierungseinrichtung 30 insbesondere die Versionsnummer(n) der zu aktualisierenden Software übergeben, ebenso wie weitere Identifikationskriterien, die die Identifikation aller betroffenen Fahrzeuge 50 erlauben, wie zum Beispiel Modellangaben und Modellnummern betreffend die elektronischen Steuereinheiten, Fahrzeugtypen, Zulassungsdaten oder dergleichen.
-
Eine Identifikationseinheit 31 der Aktualisierungseinrichtung 30 stellt daraufhin in einem Schritt S2 eine Liste L aller Fahrzeuge 50 zusammen, die den von der Hintergrundeinrichtung 10 übergebenen Identifikationskriterien entsprechen. Dazu werden in einem Schritt S3 Informationen von den Fahrzeugen 50 über die Funkverbindungen 40 eingeholt, die zur Identifikation der betroffenen Fahrzeuge 50 gegebenenfalls benötigt werden, beispielsweise Betriebszustände, Fehlercodes oder dergleichen. In eine Schritt S4 wird die Liste L der identifizierten Fahrzeuge 50 an die Hintergrundeinrichtung 10 und dort an die ML-Einheit 12 übergeben.
-
Zusammen mit der Liste L übermittelt die Identifikationseinheit 31 auch Zeitvorgaben Z an die Hintergrundeinrichtung 10, die ebenfalls auf den in Schritt S3 von den Fahrzeugen 50 empfangenen Informationen basieren können. Diese betreffen insbesondere Angaben hinsichtlich der Dauer einer betreffenden Aktualisierungskampagne bzw. des „Rollout“ in Tagen oder Wochen, also das Zeitfenster in dem die Softwareaktualisierung aller identifizierten Fahrzeuge 50 abgeschlossen sein soll, und gegebenenfalls Angaben zur Dauer einer individuellen Aktualisierung auf einem konkreten Fahrzeug, die in der Regel abhängig ist von der konkreten technischen Infrastruktur des betreffenden Fahrzeugs 50.
-
Die Liste L mit den identifizierten Fahrzeugen 50 und die Zeitvorgaben Z, werden in Schritt S4 an die Maschinenlern-Einheit 12 übergeben und dort als Eingabewerte für eine Voraussage geeigneter Aktualisierungsbedingungen B für die identifizierten Fahrzeuge 50 basierend auf dem ML-Modell 13 verwendet, die schließlich zusammengefasst zu einem Aktualisierungsplan 14 die vollständige Aktualisierungskampagne definieren, also die zeitliche/ örtliche Abfolge der Softwareaktualisierung aller in der Liste L genannten Fahrzeuge 50 innerhalb der Zeitvorgabe Z bezüglich der Dauer der Kampagne.
-
Der Schritt S8 gemäß 2a fasst die beiden Betriebsphasen der ML-Einheit 12 zusammen, nämlich erstens das Trainieren des ML-Modells 13 basierend unter anderem auf Sensordaten D, die die ML-Einheit 12 in Schritt S7 erhält, und zweitens die Vorhersage von Aktualisierungsbedingungen B und eines Aktualisierungsplans 14 basierend auf der Liste L und den Zeitvorgaben Z, die die ML-Einheit 12 in Schritt S4 erhält. 3 zeigt die beiden entsprechenden Module der ML-Einheit, nämlich das Trainingsmodul 12a, welches in Schritt S8a das ML-Modell 13 trainiert, und das Vorhersagemodul 12b, welches daraus in Schritt S8b Aktualisierungsbedingungen B ableitet.
-
Beim Trainieren wird das ML-Modell 13 auf die Vorhersage von Aktualisierungsbedingungen B vorbereitet, indem aus problemspezifischen, exemplarischen Trainingsdaten gewissermaßen eine mehrdimensionale Karte des Mobilfunknetzes erzeugt wird, die mit bestimmten Orts- und Zeitauflösungen Voraussagen zu Übertragungsqualitäten Q von zukünftigen Funkverbindungen 40 kartiert bzw. modelliert. Als problemspezifische Trainingsdaten werden dazu in den Schritten S5 bis S7 insbesondere solche Sensordaten D von den Fahrzeugen 50 erhoben und der ML-Einheit 12 zur Verfügung gestellt, die konkret gemessene Übertragungsqualitäten Q in möglichst vielen Funkzellen des Mobilfunknetzes und zu möglichst vielen Zeitpunkten abgestuft betreffen.
-
Zu diesem Zweck sind die Fahrzeuge 50 mit geeigneten Sensoren und Messeinrichtungen ausgestattet, so dass sie im Schritt S5 Messungen hinsichtlich der Übertragungsqualitäten Q innerhalb der von den Fahrzeugen 50 besuchten Funkzellen vornehmen und als Sensordaten D an ein Sensordatenmodul 32 der Aktualisierungseinrichtung 30 übermitteln. Dazu werden die Sensoren geeignet aktiviert und deaktiviert, um zuverlässig die gewünschten Sensordaten D zu ermitteln, auf deren Basis das ML-Modell 13 trainiert wird. Die Sensordaten betreffen neben der jeweils aktuellen Übertragungsqualität Q, beispielsweise in Form einer gemessenen Datenübertragungsrate, auch Zeit-/ Datums- und Ortsdaten, letztere zum Beispiel in Form der Funkzellen-IDs des vermessenen Funknetzes. Ferner werden auch Bewegungsprofile der Fahrzeuge 50 protokolliert, zum Beispiel in Form von GPS-Daten, und dem Sensordatenmodul 32 bereitgestellt.
-
Das Sensordatenmodul 32 bereitet die Sensordaten D der Fahrzeuge 50 geeignet auf und stellt sie schließlich in Schritt S7 der ML-Einheit 12 als Trainingsdaten für das ML-Modell 13 zur Verfügung. In dem Schritt S6 bereitet das Sensordatenmodul 32 insbesondere die Bewegungsprofile der Fahrzeuge 50 so auf, dass für jedes Fahrzeug 50 zeitlich und örtlich möglichst gut aufgelöste Bewegungsdaten T an die ML-Einheit übergeben werden, die insbesondere Zeiten und Wege regelmäßiger Fahrten mit dem betreffenden Fahrzeug 50 ausweisen, zum Beispiel regelmäßige Fahrten zu und von einer Arbeitsstätte. Die individuellen Bewegungsdaten T bilden auch das unterschiedliche Fahrverhalten an den einzelnen Wochentagen ab, zum Beispiel aufgrund von Teilzeitarbeit, Home-Office-Tagen und sonstigen wöchentlich wiederkehrenden Fahrten.
-
Gemäß 2a finden sowohl Training als auch Vorhersage im Rahmen des Schrittes S8 statt, eine zeitliche Reihenfolge oder Abhängigkeit zwischen Training und Vorhersage, und damit der Schritte S1 bis S4 einerseits und der Schritte S5 bis S7 andererseits, erfordert die Ausführungsform gemäß 2a nicht. Vielmehr können diese beiden Gruppen von Schritten nahezu beliebig verzahnt sein, zum Beispiel derart, dass Schritt S1 zwischen den Schritten S5 und S6 einsetzt oder dass Schritt S4 zeitgleich mit Schritt S7 stattfindet.
-
Dies bedeutet konzeptionell, dass das ML-Modell 13 gemäß der Ausführungsform nach 2a kontinuierlich trainiert wird basierend auf immer neuen, aktuellen Sensordaten D, die im Rahmen des Schrittes S7 fortwährend eingeliefert werden. Das ML-Modell 13 ist dadurch lernend ausgestaltet, denn es passt sich immer wieder aktuellen Veränderungen der Verbindungsqualitäten Q und/oder Bewegungsdaten T der Fahrzeuge 50 an. Eine Vorhersage zur Bestimmung von Aktualisierungsbedingungen B kann gemäß 2a also jederzeit durchgeführt werden und findet immer basierend auf dem zum betreffenden Zeitpunkt aktuellen ML-Modell 13 statt. Die gleiche Vorhersageanfrage kann also zu einem späteren Zeitpunkt aufgrund eines aktuelleren ML-Modells 13 andere Aktualisierungsbedingungen B ergeben.
-
Gemäß 2b ist die ML-Einheit 12 wie in 3 gezeigt unterteilt in ein Trainingsmodul 12a und ein Vorhersagemodul 12b. Diese Ausführungsform geht davon aus, dass die Trainingsphase des ML-Modells 13 gemäß Schritt S8a zuerst vollständig abgeschlossen wird, bevor die Vorhersagephase gemäß Schritt S8b einsetzt. Insofern werden bei der Ausführungsform gemäß 2b zunächst die Schritte S5 bis S8a ausgeführt und erst danach, wenn ein stabiles, trainiertes ML-Modell 13 vorliegt, werden die Aktualisierungsbedingungen B mit den Schritten S1 bis S4 und S8b bestimmt. Die Schritte S1 bis S4, S5 bis S7, S9 und S10 sind in 2a und 2b technisch identisch, lediglich die Reihenfolge der Ausführung unterscheidet sich in den beiden Ausführungsformen, ebenso wie die Differenzierung des Schritts S8 gemäß 2a in zwei separate Teilschritte S8a und S8b gemäß 2b. Die Nummerierung der Schritte gibt also keine zwingend einzuhaltende Ausführungsreihenfolge vor. Die Reihenfolge der Ausführung der Schritte gemäß den 2a und 2b wird vielmehr lediglich bestimmt durch (daten-)technische Abhängigkeiten und den Zweck des erfindungsgemäßen Verfahrens.
-
Beim Training des ML-Modell 13 werden die von den Fahrzeugen 50 ermittelten und von dem Sensordatenmodul 32 aufbereiteten Sensordaten D und Bewegungsdaten T verwendet, um den Funkzellen zu den betreffenden Zeiten Übertragungsqualitäten Q zuzuordnen. Denjenigen Funkzellen bzw. denjenigen Zeitpunkten oder Zeitintervallen, für die keine Sensordaten D erhoben wurden, werden beim Training des ML-Modells 13 aus den vorhandenen Sensordaten D abgeleitete Übertragungsqualitäten Q zugeordnet, um auf diese Weise die Karte auch hinsichtlich solcher Funkzellen und Zeitintervalle zu vervollständigen, für die keine originären Sensordaten D vorliegen. Dies kann zum Beispiel auch dann vorkommen, wenn für eine Funkzelle lediglich widersprüchliche Sensordaten D vorliegen oder nicht genügend oder ausreichend zuverlässige Sensordaten D erhoben werden konnten.
-
Die Ableitung von Übertragungsqualitäten Q im Rahmen des Trainings wird basierend auf Ähnlichkeitskriterien zwischen Netzwerkzellen und/ oder bestimmten Charakteristika von Funkverbindungen durchgeführt. Die örtliche Nähe einer Funkzelle ohne brauchbare Sensordaten D zu einer Funkzelle mit brauchbaren Sensordaten D ist beispielsweise ein einfaches Ähnlichkeitskriterium. Weitere sinnvolle Ähnlichkeitskriterien können die zeitabhängige Verkehrsdichte oder die Anzahl von Netzteilnehmern sein, beides ableitbar aus den Bewegungsdaten T, oder auch die Bebauung und prinzipiell jedes geeignete Kriterium, das Einfluss auf die Datenrate einer Funkverbindung hat. Diese Ähnlichkeitskriterien erlauben es, ähnliche Funkzellen zu Clustern zu gruppieren, die beim Training Sensordaten D und Übertragungsqualitäten Q miteinander teilen.
-
Mit dem trainierten ML-Modell 13 werden dann geeignete Aktualisierungsbedingungen B für die identifizierten Fahrzeuge 50 vorhergesagt und zu einem Aktualisierungsplan 14 zusammengefasst, der es erlaubt, die Software möglichst vieler Fahrzeuge 50 unterbrechungsfrei und innerhalb der vorgegebenen Zeitdauer einer Aktualisierungskampagne zu installieren.
-
Die Aktualisierungsbedingungen B werden basierend auf den Bewegungsdaten T der betroffenen Fahrzeuge ermittelt. Sie definieren entlang der protokollierten Fahrtwege der Fahrzeuge 50 eine oder mehrere mögliche Funkverbindungen 40, über die die Software aktualisiert werden kann. Die Aktualisierungsbedingungen B geben bestimmte Standorte, zum Beispiel in Form von regelmäßig von dem betreffenden Fahrzeug 50 besuchten Funkzellen, und entsprechende Zeiten vor, zu denen das ML-Modell 13 eine Funkverbindung 40 mit einer ausreichenden Übertragungsqualität voraussagt, um die Software dieses Fahrzeugs 50 unterbrechungsfrei zu aktualisieren. Diese Voraussage trifft das ML-Modell 13 letztlich basierend auf den Sensordaten D und den daraus im Rahmen des Trainings abgeleiteten Übertragungsqualitäten Q.
-
Die Bewegungsdaten T bilden bei der Vorhersage von geeigneten Aktualisierungsbedingungen B wichtige Nebenbedingungen, denn sie schränken die potentiell zur Softwareaktualisierung einsetzbaren Funkverbindungen 40 ein auf die sinnvollen Funkverbindungen 40, die ein Fahrzeug 50 im Rahmen seiner Nutzung überhaupt aufbauen kann. Unter diesen sinnvollen Funkverbindungen 40, die das Fahrzeug 50 auf seinen regelmäßigen Fahrten aufbauen kann, ermittelt das ML-Modell 13 diejenigen, die voraussichtlich ausreichende Übertragungsqualitäten Q bieten, um die unterbrechungsfreie Aktualisierung der Software zu gewährleisten.
-
Das ML-Modell 13 sagt für alle Fahrzeuge 50, die in der Liste L verzeichnet sind, Aktualisierungsbedingungen B voraus, die voraussichtlich eine unterbrechungsfreie Softwareaktualisierung erlauben. Dabei werden einerseits Konflikte zwischen den Aktualisierungsbedingungen B verschiedener Fahrzeuge 50 vermieden und andererseits eine globale Kosten- oder Verlustfunktion („loss function“) optimiert bzw. minimiert, die genau dann optimal/minimal wird, wenn für alle in der Liste L verzeichneten Fahrzeuge 50 Aktualisierungsbedingungen B gefunden werden können, die mit hoher Wahrscheinlichkeit eine unterbrechungsfreie Softwareaktualisierung gewährleisten. Insgesamt minimiert der Aktualisierungsplan 14 die Gesamtzeit der Softwareaktualisierung aller Fahrzeuge 50, da das ML-Modell 13 Aktualisierungsbedingungen B vorgibt, die nicht nur für einzelne Fahrzeuge 50 optimal sind, sondern für die Aktualisierungskampagne insgesamt.
-
In Schritt S9 wird der Aktualisierungsplan 14 schließlich an die Aktualisierungseinrichtung 30 bzw. deren Aktualisierungsmodul 33 übergeben, so dass in Schritt S10 die Aktualisierungskampagne vorbereitet wird und in Schritt S11 Anweisungen über die Funkverbindungen 40 an die betreffenden Fahrzeuge 50 zum Aktualisieren von deren Software ergehen.
-
Die 3 illustriert die ML-Einheit 12 unterteilt in deren beide bereits angesprochenen Module, nämlich das Trainingsmodul 12a und das Vorhersagemodul 12b. Entsprechend den bisherigen Erläuterungen ist der Trainingsschritt S8a, durchgeführt durch das Trainingsmodul 12a, prinzipiell unabhängig von dem Vorhersageschritt S8b, durchgeführt von dem Modul 12b. Entsprechend sieht die Ausführungsform gemäß 2a vor, dass beide Module in dem Sinne parallel genutzt werden, dass jederzeit eine Vorhersage (Schritt S8b) basierend auf dem aktuellen Zustand des ML-Modells 13 durchgeführt wird, während das „lernende“ ML-Modell 13 kontinuierlich mit immer neuen Sensordaten D trainiert wird (Schritt S8a). Die Ausführungsform gemäß 2b sieht demgegenüber kein in diesem Sinne „lernendes“ ML-Modell 13 vor, denn das ML-Modell 13 wird dort im Hinblick auf eine erforderliche Aktualisierungskampagne eine bestimmten Zeit lang trainiert und wird dann, austrainiert, für die Bestimmung des Aktualisierungsplans 14 verwendet, ohne dass es Trends und Veränderungen lernend berücksichtigen würde.
-
Gemäß 3 erhält das Trainingsmodul 12a im Schritt S7 Sensordaten D sowie Bewegungsdaten T, aus denen Übertragungsqualitäten Q mit möglichst hoher zeitlicher und örtlicher Auflösung abgeleitet werden. Das ML-Modell 13 modelliert also in dem Trainingsschritt S8a die oben angesprochene Karte der Übertragungsqualitäten Q. Der Vorhersageschritt S8b wird dann durchgeführt mit dem hinreichend trainierten ML-Modell 13, den von dem Trainingsmodul 12a an das Vorhersagemodul 12b übergebenen Bewegungsdaten T und der in Schritt S4 bereitgestellten Liste L der identifizierten Fahrzeuge 50 sowie den Zeitvorgaben Z. Durch den Schritt S8b werden schließlich aufgrund von Voraussagen hinsichtlich der Übertragungsqualitäten Q Aktualisierungsbedingungen B für alle Fahrzeuge 50 der Liste L bestimmt und daraus ein Aktualisierungsplan 14 gebildet, der festlegt, wann und auf welcher konkreten Fahrt die Software eines jeden Fahrzeugs 50 zu aktualisieren ist.
-
4 illustriert schließlich die Umsetzung des Aktualisierungsplans 14 und der zugehörigen Aktualisierungsbedingungen B. In Schritt S9 wird der Aktualisierungsplan 14 an ein Aktualisierungsmodul 33 der Aktualisierungseinheit 30 übergeben, die dann die Aktualisierungskampagne startet und überwacht. Dazu werden den identifizierten Fahrzeugen 50, bzw. den entsprechenden Steuereinrichtungen CNTL dieser Fahrzeuge 50, in Schritt S11 die diese Fahrzeuge 50 betreffenden Aktualisierungsbedingungen B übergeben. Die Steuereinrichtungen CNTL der Fahrzeuge 50 überwachen also selbständig das Vorliegen der jeweiligen Aktualisierungsbedingungen B. Das Aktualisieren der Software SW wird von der Steuereinrichtung CNTL dann in Schritt S12 durchgeführt, wenn die Aktualisierungsbedingungen B zutreffen, wenn sich das Fahrzeug 50 also innerhalb des vorbestimmten Zeitintervalls in der/ den vorbestimmten Funkzelle/ n befindet bzw. sie durchfährt. Dazu wird in Schritt S13 die aktuelle Software SW* über die Funkverbindung 40 heruntergeladen, in dem Speicher 51 abgelegt und installiert.
-
Die aktuelle Software SW* liegt hierbei auf einem oder mehreren geeigneten Download-Servern zum Herunterladen durch die Fahrzeuge 50 bereit. Der Download-Server kann als Bestandteil der Aktualisierungseinrichtung 30 oder als separate technische Entität ausgestaltet sein.
-
Die 5 zeigt eine dritte bevorzugte Ausführungsform des erfindungsgemäßen Aktualisierungsverfahrens, welche auf der zweiten bevorzugten Ausführungsform gemäß 2b basiert. Die 5 unterscheidet sich von der 2b lediglich betreffend die Schritte S5 bis S8a der 2b, die in 5 durch die Schritte S5, S6 sowie S7a bis S7d ersetzt werden. Die Schritte S5, S6 sowie S7a bis S7d gemäß 5 können ebenso gut auch in der Ausführungsform gemäß 2a ergänzt werden.
-
Gemäß 5 umfasst die Hintergrundeinrichtung 10 statt dem Trainingsmodul 12a gemäß 2b ein Synthesemodul 12c, welches ein flottenübergreifendes ML-Modell 13a in der nachfolgend beschriebenen Weise synthetisiert. Die Aktualisierungseinrichtung 30 umfasst statt dem Sensordatenmodul 32 gemäß 2b ein Weiterleitungsmodul 34, das die Datenkommunikation zwischen der Hintergrundeinrichtung 10 und den Fahrzeugen 50 bidirektional sicherstellt. Die Fahrzeuge 50 umfassen jeweils neben einem fahrzeugindividuellen ML-Modell 13b ein eigenes Sensordatenmodul 53, welches dem betreffenden Fahrzeug 50 die Funktionalität des Sensordatenmoduls 32 der 2a bereitstellt, sowie ein Trainings- und Synchronisationsmodul 52, welches einerseits die Funktion des Trainingsmoduls 12a gemäß 2b bereitstellt und andererseits das betreffende fahrzeugindividuelle ML-Modell 13b aktualisiert bzw. mit dem flottenübergreifenden ML-Modell 13a synchronisiert. Konzeptionell werden bei dieser Ausführungsform also die zentralen Funktionen des Trainingsmoduls 12a und des Sensordatenmoduls 32 gemäß 2b dezentralisiert und in jedes Fahrzeug 50 der Fahrzeugflotte integriert.
-
Dadurch wird sichergestellt, dass schützenswerte, personenbezogene Trainingsdaten, wie zum Beispiel die Sensordaten D und/oder die Bewegungsdaten T in den jeweiligen Fahrzeugen 50 verbleiben und insofern datenschutzkonform vor Ausspähen und Missbrauch geschützt sind.
-
Die Schritte S1 bis S4 und S9 bis S11 gemäß 5 sind identisch mit den entsprechend bezifferten Schritten der 2a und 2b. Ebenso sind ist der Schritt S8b in den Ausführungsformen gemäß den 2b und 5 identisch.
-
Im Schritt S5 gemäß 5 werden in einem Fahrzeug 50 fahrzeugindividuelle Messungen hinsichtlich der Übertragungsqualitäten Q innerhalb der von den betreffenden Fahrzeugen 50 besuchten Funkzellen vorgenommen und dem Sensordatenmodul 53 als Sensordaten D des betreffenden Fahrzeugs 50 bereitgestellt. Das Sensordatenmodul 53 bereitet analog zur Funktion des Sensordatenmoduls 32 gemäß 2a und 2b die Sensordaten D und die individuellen Bewegungsprofile des Fahrzeugs 50 geeignet zu möglichst gut aufgelösten Bewegungsdaten T auf und stellt in Schritt S6 diese gemeinsam mit den Sensordaten D dem Trainings- und Synchronisationsmodul 52 des Fahrzeugs 50 zur Verfügung. In Schritt S7a trainiert das Trainings- und Synchronisationsmodul 52 das fahrzeugindividuelle ML-Modell 13b des Fahrzeugs 50 mit den fahrzeugindividuellen Sensor- und Bewegungsdaten D, T analog zur Funktion des Trainingsmoduls 12c gemäß 2b.
-
Die Schritte S7b bis S7e betreffen den Prozess des Synthetisierens (S7b, S7c) des flottenübergreifenden ML-Modells 13a, also dessen Zusammenführen aus den fahrzeugindividuellen ML-Modellen 13b, und des Synchronisierens (S7d, S7e) der jeweiligen fahrzeugindividuellen ML-Modelle 13b, also deren Aktualisierung basierend auf dem synthetisierten flottenübergreifenden ML-Modell 13a.
-
Konzeptionell werden mittels der Schritte S7b bis S7e jedem einzelnen fahrzeugindividuellen ML-Modellen 13b die individuellen Trainingsfortschritte aller fahrzeugindividuellen ML-Modellen 13b gebündelt zur Verfügung gestellt, um dadurch die Trainingsqualität insgesamt zu verbessern.
-
Zu Beginn des Schrittes S7b liegt auf einem Fahrzeug 50 ein stabiles, trainiertes, fahrzeugindividuelles ML-Modell 13b vor, das Vorhersagen hinsichtlich der Übertragungsqualitäten Qb von Funkverbindungen basierend auf den Sensordaten D des jeweiligen Fahrzeugs erlaubt. Initial können die so beurteilten Funkverbindungen natürlich nur aus Funkzellen stammen, die das betreffende Fahrzeug 50 tatsächlich besucht hat, für die das Fahrzeug also Sensordaten D bzw. Bewegungsdaten T ermittelt hat. Durch die regelmäßige Wiederholung von Synthese (Schritte S7b, S7c) und Synchronisation (Schritte S7d, S7e) werden jedem fahrzeugindividuellen ML-Modell 13b schrittweise immer mehr Informationen zu Funkverbindungen in Funkzellen bereitgestellt, die andere Fahrzeuge 50 der Fahrzeugflotte besucht haben, so dass das betreffenden fahrzeugindividuelle ML-Modell 13b iterativ eine immer bessere Grundlage für die Vorhersage der Übertragungsqualitäten Qb von Funkverbindungen in den besuchten Funkzellen bildet, da das betreffenden fahrzeugindividuelle ML-Modell 13b immer mehr Kontextwissen über andere Bereiche des Funknetzwerks erwirbt.
-
Gemäß dem Schritt S7b schicken alle Fahrzeuge 50 der Fahrzeugflotte fahrzeugindividuelle Modelldaten Mb an das Weiterleitungsmodul 34 der Aktualisierungseinrichtung 30, die die Vielzahl von Modelldaten Mb fahrzeugweise oder bereits gebündelt an das Synthesemodul 12c der Hintergrundeinrichtung 10 weiterleitet.
-
Als fahrzeugindividuelle Modelldaten Mb eines jeden fahrzeugindividuellen ML-Modells 13b erzeugt das jeweilige Trainings- und Synchronisationsmodul 52 inkrementelle Modelldaten Mb, die die Differenz zwischen dem Trainingszustand des betreffenden fahrzeugindividuellen ML-Modells 13b zum aktuellen Zeitpunkt (also zum Zeitpunkt des Ausführend des Schrittes S7b) und dem Trainingszustand des fahrzeugindividuellen ML-Modells 13b zum Zeitpunkt nach dessen letzter Aktualisierung (also zum Zeitpunkt nach dem letztmaligen Ausführen des Schrittes S7e und vor dem letztmaligen Training in Schritt S7a) repräsentieren. Dieser fahrzeugindividuelle Trainingsfortschritt innerhalb des Zeitraums zwischen den beiden benannten Zeitpunkten wird mit den nachfolgenden Schritten S7c bis S7e an die fahrzeugindividuellen ML-Modelle 13b aller anderen Fahrzeuge 50 der Fahrzeugflotte weitergeben.
-
Die inkrementellen fahrzeugindividuellen Modelldaten Mb einzelner oder aller Fahrzeuge 50 werden im Schritt S7c von dem Synthesemodul 12c zusammengeführt und zu einem aktuellen flottenübergreifendes ML-Modell 13a synthetisiert, welches dann die aktuellen Trainingsergebnisse sämtlicher fahrzeugindividuellen ML-Modelle 13b in sich trägt. Nach dem Schritt S7c repräsentiert das flottenübergreifende ML-Modell 13a, ebenso wie die ML-Modelle 13 gemäß den Ausführungsformen nach 2a und 2b, ein stabiles, trainiertes, flottenübergreifendes ML-Modell, welches Grundlage für die anschließende Vorhersagephase gemäß dem Schritt S8b und die Ableitung von Aktualisierungsbedingungen B ist.
-
Der Unterschied zwischen der Ausführungsform gemäß 5 und den Ausführungsformen gemäß den 2a und 2b liegt also unter anderem darin, dass das flottenübergreifende ML-Modell 13a und die Übertragungsqualitäten Qa zwar dieselbe Trainingsqualität und ein vergleichbares Vorhersagepotential besitzen wie das ML-Modell 13 gemäß den 2a und 2b, dass das flottenübergreifende ML-Modell 13a jedoch nicht durch eine eigene Trainingsphase zustande kommt, welcher notwendig die sensiblen, personenbezogenen Sensordaten D und Bewegungsdaten T zugrunde liegen müssten, sondern durch den Syntheseschritt S7c, in dem lediglich hinsichtlich etwaiger Datenschutzbestimmungen unproblematische, inkrementelle Modelldaten Mb zusammengeführt werden. Das Training findet bei der Ausführungsform gemäß 5 in den lokalen Schritten S7a auf den einzelnen Fahrzeugen 50 statt, so dass die jeweiligen Sensordaten diese Fahrzeuge 50 nicht verlassen.
-
Die anschließenden Schritte S7d und S7e betreffen sie Synchronisation bzw. Aktualisierung der einzelnen fahrzeugindividuellen ML-Modelle 13b basierend auf flottenübergreifenden, inkrementellen Modelldaten Ma, welche im Schritt S7d aus dem flottenübergreifenden ML-Modell 13a extrahiert werden.
-
Die inkrementellen Modelldaten Ma repräsentieren die Differenz zwischen dem Trainingszustand des flottenübergreifenden ML-Modells 13a zum aktuellen Zeitpunkt (also zum Zeitpunkt des Ausführend des Schrittes S7d) und dem Trainingszustand des flottenübergreifenden ML-Modells 13a zum Zeitpunkt nach dessen vorletzter Synthese (also zum Zeitpunkt nach dem vorletztmaligen Ausführen des Schrittes S7c).
-
Nachdem die flottenübergreifenden Modelldaten Ma im Schritt S7d von dem Synthesemodul 12c über das Weiterleitungsmodul 34 der Aktualisierungseinrichtung 30 an die jeweiligen Trainings- und Synchronisationsmodule 52 der einzelnen Fahrzeuge 50 geschickt wurden, wird auf all diesen Fahrzeugen 50 jeweils in einem Schritt S7e das betreffende fahrzeugindividuelle ML-Modell 13b mit den flottenübergreifenden Modelldaten Ma aktualisiert. Danach sind sämtliche fahrzeugindividuellen ML-Modelle 13b synchronisiert und repräsentieren zu diesem Zeitpunkt den Trainingszustand des flottenübergreifenden ML-Modells 13a, bevor die einzelnen fahrzeugindividuellen ML-Modelle 13b im Rahmen des jeweiligen fahrzeugindividuellen Trainings wieder divergieren, indem sie basierend auf den weiterhin fahrzeugindividuell erhobenen Sensordaten D in einem erneuten Schritt S7a weitertrainiert werden.
-
Dieser Prozess bestehend aus der Synthese des flottenübergreifenden ML-Modells 13a durch die Schritte S7b und S7c und der Synchronisation der fahrzeugindividuellen ML-Modelle 13b durch die Schritte S7d und S7e kann regelmäßig wiederholt werden, beispielsweise nachdem vorgegebene Zeitintervalle verstrichen sind. Ebenso kann der Prozess der Schritte S7a bis S7e auch durch bestimmte Ereignisse veranlasste werden, beispielsweise wenn ein ausreichender Trainingsfortschritt bei einzelnen, einer bestimmten Anzahl oder allen fahrzeugindividuellen ML-Modellen 13b erzielt wurde oder wenn ausreichende neue Sensordaten D erhoben wurden, die eine erneute Synthese/ Synchronisation nötig werden lassen.
-
Ferner können die fahrzeugindividuellen Modelldaten Mb aus den einzelnen fahrzeugindividuellen ML-Modellen 13b synchron erzeugt und nahezu zeitgleich dem Weiterleitungsmodul 34 bereitgestellt werden. Bereits das Weiterleitungsmodul 34 kann die fahrzeugindividuellen Modelldaten Mb der Fahrzeuge 50 bündeln und an das Synthesemodul 12c als ein Datensatz weiterleiten. Diesen Datensatz würde dann das Synthesemodul 12c mit den flottenübergreifenden ML-Modell 13a kombinieren und dadurch ein neues flottenübergreifenden ML-Modell 13a bilden, dass die Trainingsfortschritte aller fahrzeugindividuellen ML-Modelle in sich vereint.
-
Alternativ können die Fahrzeuge 50 jeweils ihre fahrzeugindividuellen Modelldaten Mb unabhängig voneinander an das Weiterleitungsmodul 34 schicken und von diesem zwischengespeichert und erst dann gebündelt an das Synthesemodul 12c weitergeleitet werden, wenn ein ausreichend großer Datensatz aus fahrzeugindividuellen Modelldaten Mb verschiedener Fahrzeuge 50 vorliegt.
-
Ein praktisches und nicht beschränkendes Beispiel eines ML-Modells 13, so wie es im Zusammenhang mit den 2 bis 5 beschrieben ist, besitzt Ausgangs- bzw. Ergebnisklassen (Output) für unterbrechungsfreie Mobilfunkverbindung verschiedener Dauer:
- - Verbindungen, die 0 bis 5 Minuten unterbrechungsfrei waren;
- - Verbindungen, die 5 bis 10 Minuten unterbrechungsfrei waren;
- - Verbindungen, die 10 bis 20 Minuten unterbrechungsfrei waren;
- - Verbindungen, die 20 bis 30 Minuten unterbrechungsfrei waren;
- - Verbindungen, die 30 bis 45 Minuten unterbrechungsfrei waren;
- - Verbindungen, die 45 bis 60 Minuten unterbrechungsfrei waren; und
- - Verbindungen, mehr als 60 Minuten unterbrechungsfrei waren.
-
Als Eingangskategorien (Input) des ML-Modells 13 werden relevante Zeitangaben verwendet, wie etwa
- - Kategorie „Tageszeit“ mit sechs Merkmalen, nämlich „früh morgens“, „morgendlicher Berufsverkehr“, „mittags“, „abendlicher Berufsverkehr“, „abends“, „nachts“;
- - Kategorie „Wochentag“ mit sieben Merkmalen entsprechend den einzelnen Wochentagen;
- - Kategorie „Feiertag“ als ein binäres Merkmal mit den Merkmalswerten „ja“ und „nein“;
- - Kategorie „Urlaubszeit“ als ein binäres Merkmal mit den Merkmalswerten „ja“ und „nein“;
sowie Eingangskategorien mit kontinuierlichen, numerischen Werten: - - Kategorie „Signalstärke“ mit der mittleren Signalstärke der vergangenen 5 Minuten minus einem Offset-Wert dividiert durch die Standardabweichung;
- - Kategorie „Fahrtzeit“ mit einer numerischen Angabe der verstrichenen Zeit seit dem Beginn der Fahrt in Stunden;
oder topologische Angaben: - - Kategorie „Standort“ mit einer Identifikation der Mobilfunkzelle, in der sich das Fahrzeug 50 aktuell oder zu Beginn der Fahrt befindet;
- - Kategorie „Fahrtrichtung“ mit der Angabe einer Folge von zwei benachbarten Mobilfunkzellen, die die aktuelle Fahrtrichtung charakterisieren.
-
Das ML-Modell 13 umfasst einen Klassifikator, der auf Entscheidungsbäumen basiert, wie etwa einen Random-Forest-Klassifikator oder einen Extreme-Gradient-Boosting-Klassifikator. Derartige Klassifikatoren können selbst mit den beschränkten Ressourcen in einem Fahrzeug 50 und bei kleinen Trainingsdatensätzen effizient mit der Hardware eines Fahrzeugs 50 betrieben werden, denn sie können schnell trainiert werden und sind leicht parallelisierbar.
-
Die konkrete Definition der Ausgangsklassen und der spezifischen Merkmale wird in Abhängigkeit von bestimmten Vorbedingungen ausgewählt bzw. konfiguriert, zum Beispiel abhängig von der Region, in der sich die betreffenden Fahrzeuge 50 bewegen, oder von saisonalen oder kulturellen Umständen oder dergleichen. Abhängig von solchen Vorbedingungen werden die Fahrzeuge 50 mit vortrainierten, ML-Modellen 13 (oder flottenübergreifenden ML-Modellen 13a) ausgestattet, die dann in den betreffenden Fahrzeugen 50 individuell weiter trainiert werden und dann fahrzeugindividuelle ML-Modelle 13b bilden.
-
Verdeutlicht anhand der beiden Kategorien „Standort“ und „Fahrtrichtung“ umfasst das vortrainierte ML-Modell 13 (oder 13a) Zuordnungen der Auftrittswahrscheinlichkeiten der Ausgangsklassen zu den verschiedenen Standorten und Fahrtrichtungen. Einer konkreten Kombination aus Standort und Fahrtrichtung ist etwa der Vektor (0,06; 0,13; 0,18; 0,22; 0,26; 0,12; 0,03) zugewiesen, was bedeutet, dass in der betreffenden Situation statistisch 6% aller Mobilfunkverbindungen zwischen 0 und 5 Minuten stabil bzw. unterbrechungsfrei waren, 13% aller Mobilfunkverbindungen zwischen 5 und 10 Minuten stabil bzw. unterbrechungsfrei waren, etc.
-
Diese statistischen Werte, die in das vortrainierte ML-Modell 13 (oder 13a) eingehen und dessen Trainingsdaten repräsentieren, werden einer Karte entnommen, die historische Werte umfasst, welche in der Vergangenheit von Fahrzeugen 50 gesammelt wurde und welche kontinuierlich von den aktuell beteiligten Fahrzeugen 50 aktualisiert werden. Sind für einzelne Situationen bzw. Kartenelemente keine zuverlässigen historischen Werte verfügbar, werden fahrzeugspezifische Standardwerte eingesetzt, zum Beispiel in Form des Vektors (0,1; 0,1; 0,2; 0,2; 0,25; 0,1; 0,05).