-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft Techniken zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug. Zugehörige Aspekte betreffen ein Computer-Programm, ein Computer-implementiertes System und ein Datenwolken-System.
-
Hintergrund
-
Vehicle Computers (VCs) (deutsch „Fahrzeug-Computer“) kommunizieren mit anderen Systemen im Fahrzeug, insbesondere mit anderen VCs, Steuergeräten (englisch „ECU“ oder „electronic control unit“), Benutzerschnittstellen, Sensoren, Aktoren und andere Fahrzeugkomponenten sowie mit fahrzeugexternen Systemen wie Cloud-Systemen, Smartphones, Ladeinfrastruktur, Verkehrsleittechnik und anderen Fahrzeugen. Aus der Vielfalt von Applikationen, die von verschiedenen Herstellern bereitgestellt sind und auf verschiedenen Systemen im Fahrzeug ausgeführt werden, ergeben sich Probleme in einigen Methoden des Standes der Technik in Bezug auf eine gewünschte Dienstgüte. Das ist insbesondere der Fall, wenn diese Applikationen auf getrennten physikalischen Systemen laufen und durch ein physikalisches Kommunikationssystem verbunden sind. In diesem Zusammenhang beinhalten Probleme mit der Dienstgüte bei einigen der Methoden des Standes der Technik Schwierigkeiten bei der Bereitstellung der erforderlichen Bandbreite, Übertragungslatenz, Sicherheit und Integrität, da diese Systeme ihren eigenen Betrieb beeinflussen können (so genannte unerwünschte Rückwirkungen). Darüber hinaus werden in modernen Softwarearchitekturen (u. a. in „Autosar Adaptive“) service-orientierte Ansätze verfolgt, die sich zur Laufzeit dynamisch verhalten können, und die insbesondere nach Software-Updates innerhalb eines Systems ein verändertes Timing bzw. eine veränderte Ressourcennutzung über die Zeit aufweisen können. Dies kann auch zu den oben erwähnten unerwünschten Rückwirkungen innerhalb des Kommunikationssystems bzw. zwischen anderen Systemen oder Komponenten und dem Kommunikationssystem führen.
-
Daher besteht ein Bedarf an der Entwicklung neuer effizienter Techniken zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug, die einige oder alle der oben genannten Probleme lösen können.
-
Zusammenfassung der Erfindung
-
Ein erster allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Computer-implementiertes Verfahren zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug. Das Kommunikationssystem des ersten Aspekts umfasst eine erste Mehrzahl von Subsystemen, deren interne Konfiguration konfigurierbar ist, wobei jedes Subsystem aus der ersten Mehrzahl von Subsystemen dazu ausgelegt ist, um Daten unter Verwendung eines entsprechenden Satzes von Übertragungsparametern zu empfangen und / oder zu senden. Das Kommunikationssystem umfasst weiterhin eine zweite Mehrzahl von Subsystemen, deren interne Konfiguration konfigurierbar ist, wobei jedes Subsystem aus der zweiten Mehrzahl von Subsystemen dazu ausgelegt ist, um Daten unter Verwendung eines entsprechenden Satzes von Übertragungsparametern zu empfangen und / oder zu senden. Zudem umfasst das Kommunikationssystem eine Mehrzahl von Kommunikationsverbindungen, wobei jedes Subsystem mit einem oder mehreren anderen jeweiligen Subsystemen aus der ersten Mehrzahl von Subsystemen und / oder aus der zweiten Mehrzahl von Subsystemen durch einsprechende Kommunikationsverbindungen verbunden ist. Die Mehrzahl von Kommunikationsverbindungen ist dazu ausgelegt, um Daten zwischen jeweiligen Subsystemen zu übertragen. Das Kommunikationssystem befindet sich in einer vorgegebenen Konfiguration, wobei die erste und die zweite Mehrzahl von Subsystemen mit der Mehrzahl von Kommunikationsverbindungen die vorgegebene Konfiguration des Kommunikationssystems bilden. Des Weiteren umfasst das Verfahren das Bereitstellen von Informationen über eine Dienstgüteanforderung für das Kommunikationssystem. Des Weiteren umfasst das Verfahren das Bestimmen einer anderen Konfiguration des Kommunikationssystems, wobei das Bestimmen das Berechnen einer anderen internen Konfiguration der zweiten Mehrzahl von Subsystemen unter Verwendung der Informationen über die Dienstgüteanforderung für das Kommunikationssystem umfasst. Der entsprechende Satz von Übertragungsparametern der ersten Mehrzahl von Subsystemen des ersten Aspekts über die Zeit unverändert bleibt und der entsprechende Satz von Übertragungsparametern der zweiten Mehrzahl von Subsystemen mit der Zeit gesteuert wird. Zudem bilden die erste und die zweite Mehrzahl von Subsystemen mit der Mehrzahl von Kommunikationsverbindungen die andere Konfiguration des Kommunikationssystems.
-
Ein zweiter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Computer-Programm, welches dafür ausgelegt ist, um das Computer-implementierte Verfahren gemäß dem ersten allgemeinen Aspekt der vorliegenden Offenbarung auszuführen.
-
Ein dritter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Computer-implementiertes System zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug, das dazu ausgelegt ist, um das Computer-Programm gemäß dem zweiten allgemeinen Aspekt der vorliegenden Offenbarung auszuführen.
-
Ein vierter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Datenwolken-System, das dazu ausgelegt ist, Informationen von dem Computer-implementierten System gemäß dem dritten allgemeinen Aspekt bezüglich des bereitgestellten Informationen über die Dienstgüteanforderung für das Kommunikationssystem und Informationen bezüglich der vorgegebenen Konfiguration des Kommunikationssystems zu empfangen. Des Weiteren ist das Datenwolken-System konfiguriert, um die Schritte des Verfahrens gemäß dem ersten allgemeinen Aspekt auszuführen, um die andere Konfiguration des Kommunikationssystems zu bestimmen. Das Datenwolken-System ist ferner dazu ausgelegt, um Informationen, die sich auf die bestimmte andere Konfiguration des Kommunikationssystems beziehen, an das Computer-implementierte System gemäß dem dritten allgemeinen Aspekt zu übertragen.
-
Die Techniken der ersten bis vierten allgemeinen Aspekte können einen oder mehrere der folgenden Vorteile haben.
-
Erstens können die vorliegenden Techniken es ermöglichen, die Kommunikationsressourcen eines oder mehrerer Subsysteme des physikalischen Kommunikationssystems im Fahrzeug (z. B. ein lokales Endsystem wie ein Vehicle Computer mit mehreren virtuelle Maschinen oder Containern) zur Laufzeit dynamisch zu verwalten, wobei die netzwerkseitige Kommunikationsschnittstellen zu entfernten Systemen (Steuergeräte, andere Vehicle Computer, Kameras, Radars (z.B. LIDAR-Systeme), oder andere Fahrzeugkomponente) bezüglich ihrer Konfiguration (insbesondere des Zeitverhaltens) statisch bleiben. Somit können serviceorientierte Ansätze (wie beispielsweise in „Autosar Adaptive“), bei denen sich das Zeitverhalten zur Laufzeit verändern kann, mit zeitdeterministischen Ansätzen (z. B. „classic Autosar“ auf Mikrocontrollern) rückwirkungsfrei kombiniert werden, da eine unerwünschte Beeinflussung der entfernten Systeme durch das statische, deterministische Zeitverhalten der netzwerkseitigen Kommunikationsschnittstelle ausgeschlossen wird. Daher stellen die vorgeschlagenen Techniken im Vergleich zu einigen Verfahren nach dem Stand der Technik sicher, dass sich ein Subsystem an der Kommunikationsschnittstelle zum Kommunikationssystem bezüglich seines Zeitverhaltens nicht verändert. Dies ist insbesondere in Kommunikationssystemen mit geplanter Ressourcennutzung vorteilhaft.
-
Zweitens bieten die Techniken der vorliegenden Offenbarung die Möglichkeit, Ende-zu-Ende Dienstgüteeigenschaften zwischen Anwendungen einzuhalten, die virtualisiert auf getrennten physikalischen Systemen laufen, welche durch ein physikalisches Kommunikationssystem verbunden sind. Darüber hinaus ermöglichen es die vorliegenden Techniken, eine Konfiguration des Kommunikationssystems, welche eine Dienstgüteanforderung für das Kommunikationssystem erfüllt, im Vergleich zu einigen Verfahren des Standes der Technik effizienter und schneller zu bestimmen.
-
Drittens erlauben die vorliegenden Techniken eine Rekonfiguration von Subsystemen (bzw. einer Gruppe von Subsystemen) sowie Software-Updates und verhindern dabei unerwünschte Wechselwirkungen zwischen diesen Subsystemen (durch „Isolation“ bzw. „Freedom from Interference“).
-
Viertens können die vorgeschlagenen Techniken in einer Untermenge von Systemen oder Fahrzeugkomponenten eingesetzt werden. Dies kann vorteilhaft in Anwendungsfällen sein, in denen Teil- oder Subsysteme von verschiedenen Herstellern integriert werden, beispielsweise ECUs oder VCs verschiedener Lieferanten in einem Fahrzeug.
-
Einige Begriffe werden in der vorliegenden Offenbarung in folgender Weise verwendet:
- Unter dem Begriff „Kommunikationssystem“ ist jede Vorrichtung bzw. eine Infrastruktur zur Übertragung von Informationen (beispielweise Digital- oder Analogsignale, Nachrichten, Messdaten, Datenpunkte oder dergleichen) innerhalb und / oder außerhalb dieses Kommunikationssystems verstanden. Das Kommunikationssystem der vorliegenden Offenbarung kann Subsystemen umfassen, welche durch Kommunikationsverbindungen verbunden sind und untereinander kommunizieren können. Zudem kann das Kommunikationssystem die Informationen an anderen Geräte übertragen oder Informationen oder Anforderungen von den anderen Geräten empfangen (solche Anforderungen/ Anfragen können beispielweise von einer auf einem Gerät installierten Applikation bezüglich einer gewünschten Dienstgüte an das Kommunikationssystem gesendet werden). Das Kommunikationssystem der vorliegenden Offenbarung kann ein Kommunikationssystem eines Fahrzeuges sein mittels dessen die verschiedenen Komponenten oder Bauteile (z.B. Sensoren und Aktuatoren des Fahrzeuges) miteinander vernetzt werden können. Ein solches Kommunikationssystem kann eine Kombination von Subsystemen umfassen wie, z.B., Vehicle Computern (beispielweise auf Mikroprozessorbasis), Steuergeräte (englisch „ECU“ oder „electronic control unit“), welche beispielweise auf Mikrocontrollerbasis realisiert sind, oder Kommunikationsknoten wie Gateways oder Switches. Darüber hinaus enthalten solche Kommunikationssysteme ein Bus-System, mit dem mehrere logische Kommunikationsverbindungen über einen physikalischen Kommunikationskanal realisiert werden können. Ein mögliches Beispiel für ein solches Bus-System im Fahrzeugbereich ist das Controller Area Network Bussystem (CAN-Bussystem). Solche Kommunikationsverbindungen des Kommunikationssystems mit jeweiligen Subsystemen, die sie verbinden, können verschiedene Topologien umfassen, wie z.B. eine Punkt-zu-Punkt Topologie, eine Baum-Topologie, eine Bus-Topologie, eine Ring-Topologie, eine Schleife-Topologie, oder eine Kombination davon.
-
Demensprechend umfasst der Begriff „Dienstgüte“ die Qualität einer Kommunikationsverbindung (im Englischen auch als „Quality of Service“ oder „QoS“ bezeichnet) über einen solchen Kommunikationskanal, die als Menge von Parametern beschrieben wird. Zu diesen QoS-Parametern gehören zum Beispiel eine Datenrate, eine Übertragungskapazität, eine Übertragungslatenz, eine Übertragungsbandbreite, eine Übertragungszuverlässigkeit (z.B. maximaler Frameverlust, maximale Anzahl von Bitkippern, maximale Wahrscheinlichkeit von CRC-Fehlern, Notwendigkeit einer redundanten Übertragung wie z.B. mit dem Verfahren IEEE Std 802.1CB-2017), einen Jitter (maximal zulässige Varianz der Übertragungsverzögerung) oder eine Kombination davon. Darüber hinaus kann die Dienstgüte in diesem Kontext auch weitere Eigenschaften wie beispielsweise IT-Sicherheit (englisch „Security“) und / oder funktionale Sicherheit bzw. Zuverlässigkeit (englisch „Safety“) beinhalten. Die IT-Sicherheit kann sich auf den Schutz von Daten (z. B. Nachrichten) u. a. hinsichtlich ihrer Integrität beziehen, wenn eine Nachricht nicht unterwegs verändert werden darf (z. B. während der Übertragung von Daten innerhalb eines Kommunikationssystems und / oder zwischen dem Kommunikationssystem und anderen Systemen). Andererseits ist unter funktionaler Sicherheit bzw. Zuverlässigkeit in den vorliegenden Techniken die Betriebssicherheit zu verstehen (die sich beispielweise durch eine zu hohe Übertragungsverzögerung verschlechtern kann), also der Schutz von Mensch und Umwelt. Verbindungen zwischen Applikationen (z.B. installiert auf demselben oder anderen Geräten eines Fahrzeuges), die beispielweise über das Kommunikationssystem realisiert werden können, haben unterschiedliche Charakteristika, die wiederum unterschiedliche Anforderungen an die Qualität der Kommunikationsverbindung (so genannte Dienstgüteanforderungen) bedingen. So können bestimmte Verbindungen eine minimale Datenrate oder einen maximalen Jitter erfordern. Eine Applikation, die über den physikalischen Kommunikationskanal kommunizieren möchte, meldet einen entsprechenden Verbindungswunsch an das Kommunikationssystem (eventuell unter Angabe der gewünschten oder notwendigen QoS-Parameter), welches daraufhin für diese Verbindung einen logischen Kommunikationskanal zuweist.
-
Ein „Subsystem“ der vorliegenden Offenbarung kann mindestens einen Prozessor oder einen Controller, einen Speicher, über Peripherie-Geräte wie digitale und analoge Ein- und Ausgänge, beispielsweise zur Anbindung von Sensoren und Aktuatoren einer Vorrichtung (z.B. eines Fahrzeuges) oder eine Kombination davon enthalten. Darüber hinaus verfügen Subsysteme über eine oder mehrere Kommunikationsschnittstellen, welche der Kommunikation mit anderen Subsystemen des Kommunikationssystems über eine oder mehrere Kommunikationsverbindungen oder mit externen Geräten, Sensoren oder Aktuatoren dienen. Ein Subsystem der vorliegenden Offenbarung kann ein Vehicle Computer eines Fahrzeuges sein. Zudem kann ein oder mehrere Subsysteme intern gleich wie ein Kommunikationssystem aufgebaut sein und mehrere weitere Subsysteme umfassen.
-
Bei einem „Vehicle Computer“ (VC) handelt es sich in der vorliegenden Erfindung um eine Klasse von hochintegrierten elektronischen Fahrzeug-Steuergeräten, die sich durch eine vielfach höhere Rechenleistung im Vergleich zu ECUs auf Mikrokontroller-Basis auszeichnen. VCs sind mit wenigstens einem Mikroprozessor und einer Kommunikationsschnittstelle ausgeführt. Zudem kann ein Vehicle Computer einen oder mehrere physikalische oder virtuelle Switches, ein System-on-a-Chip (SoC)-Hardware mit mehreren CPU-Kernen, Co-Prozessoren sowie mit leistungsfähigen Grafikkarten beinhalten, auf denen beispielweise mittels Hypervisor mehrere virtuelle Maschinen (VMs) verschiedene Betriebssysteme ausführen, die über einen virtuellen Switch (z.B. im Hypervisor implementiert) verbunden sind. Alternativ oder zusätzlich können VCs der vorliegenden Offenbarung Containertechnologien verwenden, die auf das Erzeugen eines Containers basieren, um virtuelle Ressourcen bereitzustellen. Auf VCs läuft in der Regel komplexe Software für unterschiedlichste Aufgaben mit unterschiedlichsten Anforderungen, insbesondere für zeitkritische und sicherheitskritische Funktionen. VCs kommunizieren mit anderen Systemen im Fahrzeug, insbesondere mit anderen VCs oder ECUs, die ihrerseits Subsysteme des Kommunikationssystems sein können, sowie mit Benutzerschnittstellen, Sensoren, Aktuatoren, Kameras oder Radaren (z.B. LIDAR-Systemen), welche in Bezug auf das Kommunikationssystem externe Systeme sind. Zudem können VCs mit fahrzeugexternen Systemen kommunizieren, wie z.B. mit Cloud-Systemen, Smartphones, Ladeinfrastruktur, Verkehrsleittechnik oder anderen Fahrzeugen.
-
Der Begriff „Fahrzeug“ umfasst jede zum Transport von Passagieren und/oder Frachtgut ausgelegte Vorrichtung. Das Fahrzeug kann ein Kraftfahrzeug sein (zum Beispiel ein zumindest teilweise autonom operierendes / assistiertes Kraftfahrzeug, insbesondere ein PKW oder ein LKW). Allerdings kann das Fahrzeug auch ein Schiff, ein Zug, ein Luftfahrzeug oder ein Raumfahrzeug sein.
-
Figurenliste
-
- 1a ist ein Flussdiagramm, das ein Beispiel eines Computer-implementiertes Verfahrens zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug gemäß dem ersten Aspekt darstellt. 1b und 2 sind Flussdiagramme, die weitere mögliche Verfahrensschritte gemäß dem ersten Aspekt zeigen.
- 3 zeigt schematisch eine Struktur eines Kommunikationssystems „Syst“, welche Subsysteme 1-8 und jeweilige Kommunikationsverbindungen 9A, 9B umfasst.
- 4a und 4b zeigen schematisch mögliche Strukturen eines Subsystems. Einen Switch 30 mit einer externen Kommunikationsschnittstelle „A“ und internen Kommunikationsschnittstellen „B-D“, die den jeweiligen Partitionen 10, 11, n zugeordnet sind, sind ebenfalls dieser Figur zu entnehmen.
- 5 zeigt schematisch, wie die Subsysteme 1-3 eines Kommunikationssystems nach weiteren Aspekten eines Computer-implementierten Verfahrens zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug verbunden werden (bzw. miteinander kommunizieren) können.
-
Ausführliche Beschreibung
-
Zunächst werden anhand von 1a, b bis 2 die Techniken zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug beschrieben. Sodann werden beispielhafte Strukturen eines Kommunikationssystems „Syst“ sowie eines Subsystems 1 des Kommunikationssystems anhand von 3 und 4a, b besprochen. Zuletzt werden in Bezug auf 5 mögliche Ausgestaltungen und weitere Aspekte der vorliegenden Offenbarung dargestellt.
-
Wie in den 1a, b und 2 skizziert, betrifft ein erster allgemeiner Aspekt ein Computer-implementiertes Verfahren zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug. Die Verfahrensschritte des entsprechenden unabhängigen Anspruchs sind in den durch durchgezogene Linien gezeichneten Kästen oder Rauten in 1a, b und 2 dargestellt, während die Verfahrensschritte einiger abhängiger Ansprüche in den durch gestrichelte Linien dargestellten Kästen oder Rauten gezeigt sind.
-
Eine Konfiguration des Kommunikationssystems im Sinne der vorliegenden Offenbarung definiert eine Struktur des Kommunikationssystems mit allen Subsystemen, welche Virtualisierungs- oder Containertechnologien verwenden können, sowie entsprechende Kommunikationsverbindungen (z. B. physikalische oder logische Kommunikationsverbindungen), die in ihrer Gesamtheit eine bestimmte Dienstgüte für das Übertragen von Daten z. B. innerhalb dieses Kommunikationssystems und / oder zwischen dem Kommunikationssystem und anderen Systemen, die Anfragen an das Kommunikationssystem senden, gewähren kann. In diesem Zusammenhang kann die Konfiguration des Kommunikationssystems eine entsprechende physikalische Topologie darstellen, welche eine Anordnung von Subsystemen mit jeweiligen Kommunikationsverbindungen (z. B. eine Netzverkabelung oder eine Leitung) umfasst, z. B. eine Punkt-zu-Punkt Topologie, eine Baum-Topologie, eine Bus-Topologie (in 3 mit der Bezugnahme 9B gezeigt), eine Ring-Topologie, eine Schleife-Topologie oder eine Kombination davon. Die oben erwähnte Schleife-Topologie oder Mehrfachverbindungen können zu einer so genannten Redundanz führen, die dem Zweck dient, die Wahrscheinlichkeit eines Ausfalls der Übertragung von Daten innerhalb des Kommunikationssystems zu verringern. Zusätzlich oder alternativ kann die vorgegebene Konfiguration des Kommunikationssystems eine entsprechende logische Topologie darstellen, welche einen Datenfluss zwischen jeweiligen Subsystemen beschreibt. In manchen Beispielen können auch Mischtopologien und unterschiedliche Kommunikationstechnologien (CAN, Ethernet oder ähnliche) auf verschiedenen Teilen der Mehrzahl von Kommunikationsverbindungen (oder in anderen Worten „Teilstrecken“) verwendet werden.
-
Das Kommunikationssystem „Syst“ der vorliegenden Techniken umfasst eine erste Mehrzahl von Subsystemen (1-4) (wie in 3 dargestellt), deren interne Konfiguration konfigurierbar ist. Ähnlich wie oben im Zusammenhang mit der Konfiguration des Kommunikationssystems beschrieben, kann unter einer internen Konfiguration der ersten Mehrzahl von Subsystemen eine Struktur dieser Subsystemen verstanden werden, so dass jedes Subsystem aus der ersten Mehrzahl von Subsystemen eine Übertragung von Daten, beispielweise deren Empfang und / oder Senden, mit dem jeweiligen Satz von Übertragungsparametern bereitstellen kann (z. B. mittels entsprechender externer Kommunikationsschnittstellen). Dabei kann jedes Subsystem aus der ersten Mehrzahl von Subsystemen dazu ausgelegt sein, um Daten (beispielweise Digital- oder Analogsignale, Nachrichten, Messdaten, Datenpunkte oder dergleichen) unter Verwendung eines entsprechenden Satzes von Übertragungsparametern zu empfangen und / oder zu senden. Wie oben bereits besprochen, kann in manchen Beispielen ein oder mehrere Subsysteme aus der ersten Mehrzahl von Subsystemen einen Prozessor oder einen Controller, einen Speicher und entsprechende Peripherie (oder eine Kombination davon) umfassen. In anderen Beispielen können das eine oder die mehreren Subsysteme aus der ersten Mehrzahl von Subsystemen einem oder mehreren Vehicle Computern eines Fahrzeuges entsprechen. Der Satz von Übertragungsparametern des jeweiligen Subsystems kann für den Empfang und / oder das Senden von Daten relevanten Parameter enthalten, z.B. eine Datenrate (beispielweise maximale, mittlere oder minimale Datenrate), eine Übertragungskapazität, eine Verlustrate (z. B. eine maximal zulässige Verlustrate), eine Priorität, eine Übertragungslatenz, eine Übertragungsbandbreite, eine Verzögerung (beispielweise maximal zulässige oder mittlere zulässige Verzögerung), einen Jitter (d.h. maximal zulässige Varianz der Verzögerung) oder eine Kombination davon.
-
Des Weiteren umfasst das Kommunikationssystem „Syst“ der vorliegenden Techniken eine zweite Mehrzahl von Subsystemen (5-8), deren interne Konfiguration konfigurierbar ist. Darüber hinaus kann jedes Subsystem aus der zweiten Mehrzahl von Subsystemen dazu ausgelegt sein, um Daten unter Verwendung eines entsprechenden Satzes von Übertragungsparametern zu empfangen und / oder zu senden (z. B. mittels entsprechender externer Kommunikationsschnittstellen). Die Bezeichnung von Subsystemen aus der ersten Mehrzahl von Subsystemen mit Bezugnahmen (1-4) in 3 und von Subsystemen aus der zweiten Mehrzahl von Subsystemen mit Bezugnahmen (5-8) dient lediglich zur Veranschaulichung, um zwischen den Subsystemen zu unterscheiden, die zu der ersten und der zweiten Mehrzahl von Subsystemen gehören: In den anderen Ausführungsbeispielen können die erste Mehrzahl von Subsystemen und die zweite Mehrzahl von Subsystemen jeweils eine andere Anzahl von Subsystemen beinhalten, die mit anderen Bezugnahmen versehen sind. Wie oben im Zusammenhang mit der ersten Mehrzahl von Subsystemen beschrieben, können auch in manchen Beispielen ein oder mehrere Subsysteme aus der zweiten Mehrzahl von Subsystemen einen Prozessor oder einen Controller, einen Speicher und entsprechende Peripherie (oder eine Kombination davon) umfassen. In anderen Beispielen können das eine oder die mehreren Subsysteme aus der zweiten Mehrzahl von Subsystemen einem oder mehreren Vehicle Computern eines Fahrzeuges entsprechen. In noch weiteren Beispielen können ein oder mehrere Subsysteme aus der zweiten Mehrzahl von Subsystemen gleich aufgebaut sein wie das eine oder die mehreren Subsysteme aus der oben genannten ersten Mehrzahl von Subsystemen.
-
In der vorliegenden Offenbarung umfasst das Kommunikationssystem „Syst“ eine Mehrzahl von Kommunikationsverbindungen (9A, 9B), wobei jedes Subsystem mit einem oder mehreren anderen jeweiligen Subsystemen aus der ersten Mehrzahl von Subsystemen und / oder aus der zweiten Mehrzahl von Subsystemen durch einsprechende Kommunikationsverbindungen verbunden ist (siehe auch 3). Darüber hinaus kann die Mehrzahl von Kommunikationsverbindungen dazu ausgelegt sein, um Daten zwischen jeweiligen Subsystemen zu übertragen. In manchen Beispielen kann jedes Subsystem aus einem oder mehreren Subsystemen der ersten und / oder der zweiten Mehrzahl von Subsystemen mindestens eine Kommunikationsschnittstelle umfassen, welche dazu ausgelegt ist, um Daten zu empfangen und / oder Daten zu senden. Im Beispiel von 3 verfügt das mit der Bezugnahme 7 bezeichnete Subsystem über eine Kommunikationsschnittstelle, während das mit der Bezugnahme 2 bezeichnete Subsystem fünf Kommunikationsschnittstellen hat.
-
In den vorliegenden Techniken befindet sich das Kommunikationssystem in einer vorgegebenen Konfiguration, wobei die erste und die zweite Mehrzahl von Subsystemen mit der Mehrzahl von Kommunikationsverbindungen die vorgegebene Konfiguration des Kommunikationssystems bilden. Unter der vorgegebenen Konfiguration ist daher eine initiale Konfiguration des Kommunikationssystems zu verstehen, die eine Dienstgüte (z. B. eine vorgegebene Dienstgüte) bereitstellen kann (z. B. beim Starten des Kommunikationssystems oder zu einem anderen Zeitpunkt).
-
Das Verfahren umfasst zunächst das Bereitstellen 100 von Informationen über eine Dienstgüteanforderung für das Kommunikationssystem „Syst“. Wie oben erwähnt kann in manchen Beispielen die Dienstgüteanforderung („QoS“) durch solche QoS-Parameter wie Übertragungskapazität, Übertragungslatenz, Übertragungsbandbreite, Übertragungszuverlässigkeit, Jitter oder eine Kombination davon definiert werden. Einige oder alle dieser QoS-Parameter können z. B. für eine oder mehrere vorgegebene Datenlängen und / oder Nachrichtenlängen definiert werden. Der nächste Schritt des Computer-implementierten Verfahrenes umfasst das Bestimmen (200) einer anderen Konfiguration des Kommunikationssystems. In manchen Beispielen kann die vorgegebene Konfiguration des Kommunikationssystems nicht geeignet sein, um die bereitgestellte Dienstgüteanforderung für das Kommunikationssystem zu erfüllen. Daher ist es, wie weiter unten erläutert, erforderlich, die andere Konfiguration (oder mit anderen Worten eine neue Konfiguration) des Kommunikationssystems zu bestimmen.
-
In den vorliegenden Techniken kann der Schritt „Bestimmen“ das Berechnen (300) einer anderen internen Konfiguration der zweiten Mehrzahl von Subsystemen unter Verwendung der Informationen über die Dienstgüteanforderung für das Kommunikationssystem umfassen. In diesem Fall kann der entsprechende Satz von Übertragungsparametern der ersten Mehrzahl von Subsystemen über die Zeit unverändert bleiben. Darüber hinaus kann der entsprechende Satz von Übertragungsparametern der zweiten Mehrzahl von Subsystemen mit der Zeit gesteuert werden. In manchen Beispielen kann der Satz von Übertragungsparametern eines oder mehrerer Subsysteme aus der ersten Mehrzahl von Subsystemen festgelegt werden und dadurch über die Zeit unverändert (d.h. statisch) bleiben. Dies kann beispielweise erreicht werden, indem eine Konfiguration einer oder mehrerer externer Kommunikationsschnittstellen des Subsystems so eingestellt wird, dass der Satz von Übertragungsparametern des jeweiligen Systems über die Zeit unverändert bleibt. Demensprechend kann der Satz von Übertragungsparametern eines oder mehrerer Subsysteme aus der zweiten Mehrzahl von Subsystemen über die Zeit variiert werden, um die bereitgestellte Dienstgüteanforderung für das Kommunikationssystem zu erfüllen (siehe auch die nachfolgenden Diskussionen). Die andere Konfiguration des Kommunikationssystems kann eine entsprechende physikalische und / oder logische Topologie darstellen, die in Verbindung mit der Konfiguration des Kommunikationssystems bereits eingeführt wurde. In den vorliegenden Techniken bilden die erste und die zweite Mehrzahl von Subsystemen mit der Mehrzahl von Kommunikationsverbindungen die andere Konfiguration des Kommunikationssystems (z. B. zu einem Zeitpunkt, zu dem die andere interne Konfiguration der zweiten Mehrzahl von Subsystemen berechnet wurde 300 oder zu einem anderen Zeitpunkt).
-
In den vorliegenden Techniken kann jedes Subsystem aus einem oder mehreren Subsystemen der ersten und / oder der zweiten Mehrzahl von Subsystemen eine Mehrzahl von Kommunikationsschnittstellen umfassen, wobei die Mehrzahl von Kommunikationsschnittstellen eines Subsystems mindestens eine externe Kommunikationsschnittstelle „A; E“ enthält (ein und drei solcher Subsysteme, 1 bis 3, aus der 3 sind entsprechend in den 4a, 4b und 5 dargestellt.) Die externe Kommunikationsschnittstelle kann dazu ausgelegt sein, um Daten von jeweiligen anderen Subsystemen zu empfangen und / oder Daten an die jeweiligen anderen Subsysteme zu senden. Darüber hinaus kann die Mehrzahl von Kommunikationsschnittstellen jedes Subsystems aus dem einen oder den mehreren Subsystemen mindestens eine interne Kommunikationsschnittstelle „B-D; F, G“ (z. B. wie in den 4a, 4b und 5 gezeigt) umfassen. Wie oben erwähnt, kann die vorliegenden Techniken Virtualisierungs- oder Containertechnologien verwenden, welche zur Partitionierung und Isolation von Ressourcen (z.B. die Ressourcen hinsichtlich einer Prozessor-Last, eines Speicherbedarfs oder einer Netzwerkverbindung) eines Subsystems dienen. In diesem Zusammenhang kann der mindestens einen internen Kommunikationsschnittstelle eine entsprechende Partition „10, 11, n“ zugeordnet werden, wie in den 4a und 4b skizziert. In manchen Beispielen können die eine oder die mehreren Partitionen eine oder mehrere Virtuelle Maschinen „10, 11, n“ des Subsystems sein. Zusätzlich oder alternativ können die eine oder die mehreren Partitionen als ein oder mehrere Container „10, 11, n“ des Subsystems implementiert werden. Im Ergebnis können mehrere Virtuelle Maschinen und / oder Container auf jedem Subsystem aus dem einen oder den mehreren Subsystemen mit beispielweise exklusiv zugeordneten Speicherräumen und CPU-Zyklen laufen. Diese Partitionen (auch manchmal als „Zonen“ genannt) können innerhalb eines Subsystems untereinander und / oder mit anderen Systemen aus dem einen oder den mehreren Subsystemen kommunizieren (z.B. über jeweilige externe Schnittstellen). Für diesen Zweck kann in manchen Beispielen jedes Subsystem aus dem einen oder den mehreren Subsystemen der ersten und / oder der zweiten Mehrzahl von Subsystemen einen Switch 30; 31 (siehe die 4a, 4b und 5) umfassen, der die Mehrzahl von Kommunikationsschnittstellen „A-G“ des entsprechenden Subsystems enthält.
-
Der Switch des jeweiligen Subsystems aus dem einen oder den mehreren Subsystemen kann ein physikalischer Switch sein, wie in der 4b skizziert, wobei die Mehrzahl von Kommunikationsschnittstellen des jeweiligen physikalischen Switches eine Mehrzahl von physikalischen Ports „A-G“ darstellen kann. In manchen Beispielen kann der Switch als ein integrierter Schaltkreis in das jeweilige Subsystem eingebaut werden. In dem Ausführungsbeispiel von 4b verfügt der Switch 30 neben den drei internen Schnittstellen „B-D“ (die, z.B., als drei Ports implementiert sind) über eine externe Schnittstelle „A“, welche der Verbindung des Subsystems 1 aus der 3 mit anderen Subsystemen (in 3 mit den Bezugnahmen 3 bis 5 bezeichnet) über die entsprechenden Kommunikationsverbindungen dient. In anderen Beispielen kann das Subsystem 1 (sowie z.B. auch andere Subsysteme 2-8 aus dem einen oder den mehreren Subsystemen) mit mehreren externen Schnittstellen ausgestattet sein. Das Verwenden mehrerer externer Schnittstellen kann in manchen Beispielen eine Ausfallsicherheit, eine erhöhte Übertragungskapazität, eine Umwandlung in andere Kommunikationstechnologien (z. B. über Gateways), einer Umsetzung von Sicherheitsfunktionen (z. B. anhand eines Filters oder einer Firewall) oder eine Kombination davon im Kommunikationssystem ermöglichen.
-
In anderen Beispielen kann der Switch des jeweiligen Subsystems aus dem einen oder den mehreren Subsystemen ein virtueller Switch sein (z. B. wie in 4a gezeigt), wobei die Mehrzahl von Kommunikationsschnittstellen des jeweiligen Subsystems einem logischen Modell (z. B. in Software) zugeordnet ist. In manchen Beispielen kann der virtuelle Switch als Computerprogramm implementiert werden. Dabei kann der virtuelle Switch in manchen Beispielen physikalische Switches zu einem einzigen Switch kombinieren. In manchen Beispielen können eine oder mehrere Kommunikationsschnittstellen aus der Mehrzahl von Kommunikationsschnittstellen des jeweiligen virtuellen Switches einen oder mehrere entsprechende physikalische Ports darstellen. Die entsprechenden physikalischen Ports können in solchen Beispielen innerhalb eines Subsystems (beispielsweise zwischen einem Mikrocontroller und einem Prozessor) und / oder als externe Schnittstellen (in 4a mit der Bezugnahme „A“ gezeigt) zum Einsatz kommen. Darüber hinaus kann der virtuelle Switch in manchen Beispielen dieselben Paketformate wie physikalische Switches verwenden, so dass Frames, Pakete oder Nachrichten (oder eine Kombination davon) auch an physikalische Ports weitergeleitet und dort beispielweise über deren PHY/MAC-Schaltkreise ausgegeben werden können.
-
In den Techniken der vorliegenden Offenbarung kann jede Kommunikationsschnittstelle durch eine entsprechende Konfiguration bestimmt werden. In manchen Beispielen kann die Konfiguration der Kommunikationsschnittstelle Informationen über Zeitpunkten, zu denen Daten über die jeweilige Kommunikationsschnittstelle gesendet werden. Alternativ oder zusätzlich kann die Konfiguration der Kommunikationsschnittstelle Informationen über Zeitpunkten, zu denen Daten an der jeweiligen Kommunikationsschnittstelle gepuffert werden, über Zeitpunkten, zu denen Daten an der jeweiligen Kommunikationsschnittstelle empfangen werden oder eine Kombination davon umfassen. In diesen Beispielen wird die Konfiguration der Kommunikationsschnittstelle als so genannte „Gate-Control-Liste“ bezeichnet. Aus der Gesamtheit von Gate-Control-Listen der mehreren (oder aller) Kommunikationsschnittstellen ergibt sich dann einen Schedule, durch den z.B. die minimale und maximale Übertragungslatenz (beispielwese bei einer oder mehreren vorgegebenen Datenlängen und / oder Nachrichtenlängen) zwischen den Kommunikationsschnittstellen des Kommunikationssystems bestimmt werden kann. Zum besseren Verständnis kann ein solches bildliches Beispiel präsentiert werden: Der Schedule beschreibt die Gesamtheit aller Ampelphasen in einer Stadt, in der an jeder Kreuzung / Einmündung eine Ampel steht. Die Daten (z. B. Datenpakete) entsprechen dann den Fahrzeugen, die Switches den Kreuzungen, die Schnittstellen (z. B. Ports) den Haltelinien und die Gate-Control-Liste eines einzigen Switches den Rot / Grün-Phasen der Ampeln einer einzigen Kreuzung.
-
Des Weiteren kann der Schritt „Bereitstellen“ 100 von Informationen über die Dienstgüteanforderung („QoS“) für das Kommunikationssystem das Senden eine Anfrage bezüglich einer gewünschten Dienstgüteanforderung an das Kommunikationssystem durch einen Ressourcennutzer (z. B. durch eine auf einem Gerät eines Fahrzeuges installierte Applikation) umfassen. Wie oben erwähnt, können die Informationen über die Dienstgüteanforderung weiterhin Informationen über Kommunikationsanforderungen umfassen, die sich auf eine Übertragungskapazität, eine Übertragungslatenz, eine Übertragungsbandbreite, eine Übertragungszuverlässigkeit, einen Jitter oder eine Kombination davon beziehen. In manchen Beispielen kann die Übertragungskapazität in Bytes pro Sekunde definiert werden. Zusätzlich oder alternativ kann die Übertragungskapazität durch einen Zeitzyklus und / oder eine Zeitabweichung definiert werden, mit der Daten gesendet oder empfangen werden. (Zum Beispiel soll eine Nachricht periodisch alle 10 ms oder mehr, alle 50 ms oder mehr, mit einer maximalen Abweichung von 0.5 ms oder mehr, von 2ms oder mehr gesendet oder empfangen werden.) Darüber hinaus kann das Bereitstellen 100 von Informationen über die Dienstgüteanforderung ferner das Identifizieren zwei oder mehrere Subsysteme aus der ersten Mehrzahl von Subsystemen und / oder aus der zweiten Mehrzahl von Subsystemen umfassen, die am Senden und Empfangen von Daten beteiligt sein sollen. (Mit anderen Worten die „Quellen“ und „Senken“ werden identifiziert.) Weiterhin können die Informationen weiterhin Informationen enthalten, ob es sich um eine neue Kommunikationsbeziehung handelt (z.B. ein zusätzlicher Dienst wird gestartet bzw. angeboten), ob es sich um eine Modifikation einer bestehenden Kommunikationsbeziehung handelt (z.B. eine Änderung im Rahmen eines Updates), oder ob eine Kommunikationsbeziehung beendet wird. In manchen Beispielen können die Informationen über die Dienstgüteanforderung in einer Datenstruktur gesammelt werden, welche am Kommunikationssystem gelesen oder / und gespeichert werden kann (z. B. nachdem die Anfrage gesendet wurde).
-
Die vorliegende Offenbarung kann ferner das Prüfen 110 umfassen, ob die bereitgestellten Informationen über die Dienstgüteanforderung für das Kommunikationssystem mit der vorgegebenen Konfiguration des Kommunikationssystems übereinstimmen. In den vorliegenden Techniken kann die vorgegebene Konfiguration des Kommunikationssystems ferner Informationen über vorgegebene interne Konfigurationen von entsprechenden Subsystemen aus der ersten und / oder der zweiten Mehrzahl von Subsystemen umfassen. In manchen Beispielen können die entsprechenden Subsysteme die oben genannten identifizierten zwei oder mehreren Subsysteme aus der ersten Mehrzahl von Subsystemen und / oder aus der zweiten Mehrzahl von Subsystemen sein. Zudem können die Informationen über die vorgegebenen internen Konfigurationen von entsprechenden Subsystemen Informationen über Topologien solcher Subsysteme beinhalten (z. B. physikalische oder logische Topologien im Sinne, wie es im Zusammenhang mit der Topologie des Kommunikationssystems weiter oben beschrieben wurde). Darüber hinaus können die Informationen über die vorgegebenen internen Konfigurationen von entsprechenden Subsystemen weiterhin Informationen über vorgegebene Konfigurationen der jeweiligen Kommunikationsschnittstellen umfassen. Dies kann, wie oben erwähnt, Informationen über Gate-Control-Listen und einen Schedule der jeweiligen Kommunikationsschnittstellen umfassen. In manchen Beispielen kann die vorgegebene Konfiguration des Kommunikationssystems (z. B. die jeweiligen Gate-Control-Listen und der Schedule) vom Kommunikationssystem eingelesen und darin gespeichert werden (z. B. beim Starten des Kommunikationssystems oder zu einem anderen Zeitpunkt).
-
Des Weiteren können in manchen Beispielen die bereitgestellten Informationen über die Dienstgüteanforderung akzeptiert werden, wenn die bereitgestellten Informationen über die Dienstgüteanforderung mit der vorgegebenen Konfiguration des Kommunikationssystems übereinstimmen. Zum Beispiel kann eine solche Übereinstimmung anhand eines geschätzten Vergleichs der vorgegebenen Konfiguration (z. B. zugehörige maximal verfügbare freie Kommunikationsressourcen des Kommunikationssystems) mit der jeweiligen Dienstgüteanforderung durchgeführt werden. Dies kann beispielweise Berechnungen umfassen, welche für die zur Verfügung stehenden Hardwareressourcen schnell im Vergleich zu anderen Zeitskalen durchgeführt werden können. Anderenfalls, wenn keine Übereinstimmung gefunden wird, können die bereitgestellten Informationen über die Dienstgüteanforderung abgelehnt 400 werden (z. B. wenn die Dienstgüteanforderung übersteigt die maximal verfügbaren freie Kommunikationsressourcen).
-
In einem nächsten Schritt kann das Berechnen der anderen internen Konfiguration der zweiten Mehrzahl von Subsystemen ferner das Berechnen 310 einer anderen Konfiguration einer oder mehrerer Kommunikationsschnittstellen (z. B. ihrer Gate-Control-Listen und eines jeweiligen Schedule) aus der Mehrzahl von Kommunikationsschnittstellen des einen oder der mehreren Subsysteme der zweiten Mehrzahl von Subsystemen umfassen. Darüber hinaus kann sich in manchen Beispielen eine interne Konfiguration eines oder mehreren Subsystemen aus der zweiten Mehrzahl von Subsystemen in Bezug auf ihre Topologie, interne Kommunikationsschnittstellen, interne Gate-Control-Listen oder eine Kombination davon im Laufe der Zeit auch ändern. Auf der anderen Seite wird, wie oben erläutert, der entsprechende Satz von Übertragungsparametern der ersten Mehrzahl von Subsystemen über die Zeit unverändert bleiben: Aus diesem Grund bleibt eine Konfiguration von externen Kommunikationsschnittstellen (in den 4a, 4b und 5 mit den Bezugnahmen „A“ und „E“ gezeigt) der ersten Mehrzahl von Subsystemen mit der Zeit unverändert, z.B. werden jeweilige Gate-Control-Listen und den Schedule festgelegt (z.B. beim Starten des Kommunikationssystems oder zu einem anderen Zeitpunkt) und im Laufe der Zeit nicht verändert. Mit anderen Worten, die erste Mehrzahl von Subsystemen bildet einen Teil des Kommunikationssystems, dessen Konfiguration von außen betrachtet nicht verändert wird. In manchen Beispielen kann sich aber eine interne Konfiguration eines oder mehreren Subsystemen aus der ersten Mehrzahl von Subsystemen (z. B. in Bezug auf ihre Topologie, interne Kommunikationsschnittstellen, interne Gate-Control-Listen oder eine Kombination davon) im Laufe der Zeit ändern (z. B. nach einem Software-Update). Das Berechnen der anderen internen Konfiguration der zweiten Mehrzahl von Subsystemen kann beispielweise auf entwickelten Berechnungsverfahren unter der Bezeichnung „No-wait Packet Scheduling“ basieren, die unter dem folgenden Link verfügbar sind: https://dl.acm.org/doi/10.1145/2997465.2997494 . In den vorliegenden Techniken wird beim Anwenden dieses bekannten Berechnungsverfahrens ein Lösungsraum eingeschränkt: Dazu wird ein Teil der Lösung bereits vorgegeben, welche dem Teil des Kommunikationssystems entspricht, dessen Konfiguration nicht verändert wird. Als Berechnungsergebnis können beispielweise die optimalen Zeitpunkte der Datenübertragung für eine, mehrere oder jede Kommunikationsschnittstelle im Kommunikationssystem ermittelt werden.
-
Der Schritt „Bestimmen“ 200 der anderen Konfiguration des Kommunikationssystems kann anhand der Beispieltopologie in 5 weiter erläutert werden. Der Einfachheit halber ist in 5 eine unidirektionale Kommunikation von Subsystem 1 zu Subsystem 2 über Subsystem 3 dargestellt (diese Subsysteme sind auch im Beispiel von 1 gezeigt). Dabei sind jeweils nur die Kommunikationsschnittstellen (z.B. Ports, bezeichnet mit A und E) in Ausgangsrichtung dargestellt, da die Gate-Control-Listen bzw. den Schedule nur ausgangsseitig ausgeführt sind. In dem anderen Beispiel der bidirektionalen Kommunikation sind diese Ports beidseitig (jeweils auf der Ausgangsseite) vorhanden. Im Beispiel von 5 kann jedes Subsystem intern mehrere weitere Subsysteme enthalten, von außen jedoch als Blackbox betrachtet werden. Von außen betrachtet verfügt das Subsystem 1 über einen einzelnen externen Port „A“, dessen Konfiguration mit der Zeit unverändert bleibt (z. B. dieser Port kann Daten mit einem unveränderten Satz von Übertragungsparametern senden; beispielweise eine Nachricht mit einer bestimmten Länge über einen bestimmten Zeitintervall). Intern umfasst das Subsystem 1 die Subsysteme 4 bis 6, diese sind verbunden mit einem physikalischen oder virtuellen Switch, welcher über den oben genannten Port „A“ nach außen angebunden ist. Die Subsysteme 4 bis 6 können intern wiederum gleich wie Subsystem 1 aufgebaut sein. Das Subsystem 3, das die beiden Subsystemen 1 und 2 verbindet, kann auch eine Mehrzahl von Subsystemen enthalten, die im Verfahren der vorliegenden Techniken als Blackbox betrachtet werden können. Eine solche Blackbox ist mit 3 in 5 bezeichnet. Mit anderen Worten: Der interne Aufbau einer Blackbox ist dabei unerheblich, solange die relevanten Sätze von Übertragungsparametern zwischen Eingängen und Ausgängen (d. h. zwischen jeweiligen externen Schnittstellen) der Subsysteme bekannt sind. Auf eine konkrete Topologie von 5 bezogen, ist Subsystem 1 beispielsweise ein Vehicle Computer, welcher intern einen oder mehrere (physikalische oder virtuelle) Switches und mehrere System-on-a-Chips (SoCs) umfasst, auf denen wiederum mittels Hypervisor mehrere virtuelle Maschinen verschiedene Betriebssysteme ausführen, die über einen virtuellen Switch (z.B. im Hypervisor implementiert) verbunden sind. Das Subsystem 3 stellt beispielweise ein Fahrzeugnetzwerk dar, welches die Subsysteme 1 und 2 verbindet. Das System 3 ist in diesem Beispiel gleich wie das Subsystem 1 aufgebaut. Nun kann die oben beschriebene Einschränkung des Lösungsraums des unveränderten Teils sowie das Berechnen der anderen Konfiguration von Kommunikationsschnittstellen (z. B. jeweiliger Gate-Control-Listen und eines Schedule für zu verändernden Teile) vereinfacht und somit beschleunigt werden. Dabei wird für den unveränderten Teil eine Blackbox angenommen (hinter der eine komplexe Topologie verborgen ist), die nur bezüglich ihres Verhaltens zwischen Ein- und Ausgang beschrieben sein muss, deren interner Aufbau für das Berechnen aber keine Rolle spielt. In einem nicht erschöpfenden Anwendungsbeispiel nutzt das Subsystem 7 einen Service des Subsystems 4, d.h. es werden mehrere Nachrichten von Subsystem 4 zu Subsystem 7 übertragen. Entsprechend sind die Schedules und Gate Control-Listen der Kommunikationsschnittstellen „B“, „A“, „E“ und „F“ konfiguriert. Im Rahmen eines Software-Updates (oder einer nachgeladenen Applikation oder einer zusätzlich gestarteten Softwarekomponente) sollen nun Kommunikationsressourcen auf diesem Pfad freigemacht werden (z. B. indem die Nachrichten weniger häufig versendet werden), und dafür auf einem anderen Pfad (in diesem Beispiel von Subsystem 5 zu Subsystem 8) verwendet werden. Nun wird die Blackbox 3 als unveränderter Teil zum Berechnen der oben genannten anderen Konfiguration angenommen, d.h. als der Teil des Fahrzeugnetzwerks, dessen Konfiguration nicht verändert wird.
-
Die Techniken der vorliegenden Offenbarung können ferner das Prüfen 320 umfassen, ob die bereitgestellten Informationen über die Dienstgüteanforderung für das Kommunikationssystem mit der bestimmten anderen Konfiguration des Kommunikationssystems übereinstimmen. In manchen Beispielen können die bereitgestellten Informationen über die Dienstgüteanforderung akzeptiert werden, wenn die andere Konfiguration des Kommunikationssystems, welche den bereitgestellten Informationen über die Dienstgüteanforderung entspricht, bestimmt werden kann. Zum Beispiel kann eine solche Übereinstimmung bzw. die andere Konfiguration des Kommunikationssystems basierend auf einem Ergebnis des weiter oben beschriebenen Schritts „Berechnen“ 300 der anderen internen Konfiguration der zweiten Mehrzahl von Subsystemen bestimmt werden. In anderen Beispielen kann sich herausstellen (trotz der Tatsache, dass die bereitgestellten Informationen über die Dienstgüteanforderung in Bezug auf die vorgegebene Konfiguration akzeptiert wurden), dass keine gültige Lösung berechnet werden kann, weil beispielweise Kommunikationsressourcen des Kommunikationssystems nicht ausreichen (z. B. kann sich die Dienstgüteanforderung bezüglich einer Übertragungslatenz im zeitlichen Verlauf nicht einhalten lassen). In diesem Fall werden die bereitgestellten Informationen über die Dienstgüteanforderung abgelehnt 400.
-
Des Weiteren kann das Computer-implementierte Verfahren das Übertragen 330 von Informationen bezüglich der bestimmten anderen Konfiguration des Kommunikationssystems an ein oder mehrere Subsysteme aus der ersten und / oder der zweiten Mehrzahl von Subsystemen umfassen (z. B. wenn die bereitgestellten Informationen über die Dienstgüteanforderung wie oben beschrieben akzeptiert wurden). In manchen Beispielen können das eine oder die mehreren Subsystemen die zwei oder die mehreren identifizierten Subsysteme aus der ersten Mehrzahl von Subsystemen und / oder aus der zweiten Mehrzahl von Subsystemen sein, die am Senden und Empfangen von Daten beteiligt sein sollen (z.B. gemäß der gesendeten Anfrage). Darüber hinaus kann das Übertragen der Informationen an das eine oder die mehreren Subsysteme das Übertragen der Informationen (z. B. jeweilige Gate-Control-Listen oder Schedules) an entsprechende Kommunikationsschnittstellen (z. B. entsprechende externe und / oder interne Kommunikationsschnittstellen) des einen oder der mehreren Subsysteme aus der ersten und / oder der zweiten Mehrzahl von Subsystemen umfassen.
-
Des Weiteren kann das Verfahren das Speichern 360 der übertragenen Informationen umfassen, die sich auf die bestimmte andere Konfiguration des Kommunikationssystems beziehen, in dem entsprechenden einen oder den mehreren Subsystemen aus der ersten und / oder der zweiten Mehrzahl von Subsystemen, beispielweise an den entsprechenden Kommunikationsschnittstellen des einen oder der mehreren Subsysteme. Infolgedessen kann beispielweise jeder (physikalische oder virtuelle) Switch Daten (bzw. Datenframe) erkennen und entsprechend den übertragenen Informationen behandeln. Dabei kann der jeweilige Switch beispielweise Daten (z.B. Datenpakete) in den entsprechenden Ausgangspuffer kopieren und somit neben der externen Schnittstelle (z.B. externer Port) auch den Übertragungszeitpunkt (bzw. die Priorität) durch die Zuordnung zu einem Slot der Gate-Control-Liste festlegen. In manchen Beispielen kann diese Zuordnung in Ethernet-basierten Verfahren über sogenannte VLAN-Tags nach Standard IEEE 802.1Q erfolgen, alternativ können zu diesem Zweck auch andere Verfahren eingesetzt werden, beispielsweise MPLS nach IETF RFC3031.
-
Die vorliegenden Techniken können auch das Vergleichen 340 der an das eine oder die mehreren Subsysteme übertragenen Informationen umfassen, die sich auf die bestimmte andere Konfiguration des Kommunikationssystems beziehen, mit jeweiligen Informationen, die sich auf die vorgegebene Konfiguration des Kommunikationssystems beziehen. In manchen Beispielen kann das Vergleichen ferner das Vergleichen der an den entsprechenden Kommunikationsschnittstellen des einen oder der mehreren Subsysteme übertragenen Informationen (z. B. Gate-Control-Listen oder Schedules) aus der ersten und / oder der zweiten Mehrzahl von Subsystemen mit Informationen über vorgegebene Konfigurationen der jeweiligen Kommunikationsschnittstellen (z. B. jeweilige Gate-Control-Listen oder Schedules) umfassen. Des Weiteren kann die übertragenen Informationen an dem jeweiligen einen oder den mehreren Subsystemen in Reaktion auf ein Vergleichsergebnis aktualisiert 350 werden. Zum Beispiel das Aktualisieren Informationen über einen Unterschied zwischen der bestimmten anderen Konfiguration und der vorgegebenen Konfiguration des Kommunikationssystems umfassen kann. Danach können die aktualisierten Informationen in dem entsprechenden einen oder den mehreren Subsystemen aus der ersten und / oder der zweiten Mehrzahl von Subsystemen gespeichert werden 360 (beispielweise an den entsprechenden Kommunikationsschnittstellen des einen oder der mehreren Subsysteme). Es ist zu beachten, dass die aktualisieren Informationen, welche auf dem oben beschriebenen Unterschied basieren können, eine geringere Datenmenge im Vergleich mit jeweiligen Datenmengen erfordern, die sich auf die vorgegebene oder die bestimmte andere Konfiguration des Kommunikationssystems beziehen. Dadurch können einige Schritte der vorliegenden Techniken beschleunigen und es wird weniger Speicherplatz (z.B. an jeweiligen Subsystemen, Switches, Schnittstellen, Ports oder eine Kombination davon) benötigt.
-
Zuletzt kann das Verfahren das Durchführen einer Rekonfiguration 500 des Kommunikationssystems basierend auf der bestimmten anderen Konfiguration des Kommunikationssystems umfassen. In manchen Beispielen kann dies das Durchführen der Rekonfiguration in dem entsprechenden einen oder den mehreren Subsystemen aus der ersten und / oder der zweiten Mehrzahl von Subsystemen (z. B. an den entsprechenden Kommunikationsschnittstellen des einen oder der mehreren Subsysteme) basierend auf den gespeicherten Informationen umfassen. In manchen Beispielen kann die Rekonfiguration in dem entsprechenden einen oder den mehreren Subsystemen der vorliegenden Techniken aus der ersten und / oder der zweiten Mehrzahl von Subsystemen synchron oder sequenziell durchgeführt werden. In anderen Beispielen kann die Rekonfiguration des Kommunikationssystems abgelehnt werden 400, z. B. in Reaktion auf eine Fehlermeldung von dem entsprechenden einen oder den mehreren Subsystemen aus der ersten und / oder der zweiten Mehrzahl von Subsystemen.
-
Ein zweiter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Computer-Programm, das dafür ausgelegt ist, um das Computer-implementierte Verfahren gemäß dem ersten allgemeinen Aspekt auszuführen. Die vorliegende Offenbarung betrifft auch ein computer-lesbares Medium und Signale, die das Computer-Programm der vorliegenden Offenbarung speichern oder codieren kann.
-
Ein dritter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Computer-implementiertes System zum Bestimmen einer Konfiguration eines Kommunikationssystems für ein Fahrzeug, das dazu ausgelegt ist, um das Computer-Programm gemäß dem zweiten allgemeinen Aspekt der vorliegenden Offenbarung auszuführen. Das Computer-implementierte System kann mindestens einen Prozessor, mindestens einen Speicher (der Programme enthalten kann, die, wenn ausgeführt, die Verfahren der vorliegenden Offenbarung ausführen) sowie ein Kommunikationssystem, eine oder mehrere Schnittstellen, Switches, Ports, Gates oder eine Kombination davon aufweisen, die im Zusammenhang mit dem ersten allgemeinen Aspekt beschrieben wurden. In manchen Beispielen kann das Computer-implementierte System einen oder mehrere Vehicle Computer eines Fahrzeuges umfassen.
-
Ein vierter allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Datenwolken-System, das dazu ausgelegt ist, Informationen von dem Computer-implementierten System gemäß dem dritten allgemeinen Aspekt bezüglich des bereitgestellten Informationen über die Dienstgüteanforderung für das Kommunikationssystem und Informationen bezüglich der vorgegebenen Konfiguration des Kommunikationssystems zu empfangen. Des Weiteren ist das Datenwolken-System konfiguriert, um die Schritte des Verfahrens gemäß dem ersten allgemeinen Aspekt auszuführen, um die andere Konfiguration des Kommunikationssystems zu bestimmen. Das Datenwolken-System ist ferner dazu ausgelegt, um Informationen, die sich auf die bestimmte andere Konfiguration des Kommunikationssystems beziehen, an das Computer-implementierte System gemäß dem dritten allgemeinen Aspekt zu übertragen.