-
Stand der Technik
-
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Erhöhung einer Verfügbarkeit einer Kommunikationsinfrastruktur, insbesondere einer Software Defined Networking Kommunikationsinfrastruktur über die Datenströme gemäß Time Sensitive Networking übertragen werden sollen.
-
Wünschenswert ist es die Verfügbarkeit einer derartigen Software Defined Networking Kommunikationsinfrastruktur für Time Sensitive Networking zu verbessern.
-
Offenbarung der Erfindung
-
Die Offenbarung betrifft eine Vorrichtung und ein Verfahren zur Erhöhung der Verfügbarkeit einer Kommunikationsinfrastruktur insbesondere einer Software Defined Networking Kommunikationsinfrastruktur für Time Sensitive Networking.
-
Unter Software Defined Networking wird ein Ansatz für eine Netzwerkarchitektur oder Kommunikationsarchitektur verstanden, in dem zwei wesentliche Funktionalitäten, eine control plane und eine data plane, voneinander getrennt und abstrahiert sind.
-
In einer derartigen Kommunikationsinfrastruktur legt eine Weiterleitungsregel eine Weiterleitung erhaltener Datenpakete von Eingangsports zu bestimmten Ausgangsports eines Switches der Kommunikationsinfrastruktur eindeutig fest.
-
Generell können in einer Kommunikationsinfrastruktur Verarbeitungsregeln vorgesehen sein, die festlegen, ob und/oder wie Datenpakete im Switch selbst verarbeitet werden.
-
Zudem können Zeitablaufsteuerungsregeln vorgesehen sein, die einen Zeitablauf für die Weiterleitung oder Verarbeitung der Datenpakete festlegen.
-
Time Sensitive Networking bezeichnet eine Umsetzung von Mechanismen in der Kommunikationsinfrastruktur, die die Kategorien Zeitsynchronisation, Scheduling, Traffic Shaping, Auswahl der Kommunikationspfade, Reservierungen und Fehlertoleranz betreffen:
- Zeitsynchronisation bedeutet, dass alle teilnehmenden Geräte ein gemeinsames Verständnis der Zeit haben.
-
Scheduling und Traffic Shaping bedeutet, dass alle teilnehmenden Geräte bei der Bearbeitung und Weiterleitung von Netzwerkpaketen nach bestimmten Regeln arbeiten.
-
Auswahl der Kommunikationspfade, Reservierungen und Fehlertoleranz bedeuten, dass alle teilnehmenden Geräte bei der Auswahl und Reservierung von Bandbreite und Kommunikationspfaden nach bestimmten Regeln arbeiten.
-
Die Umsetzung dieser Mechanismen definiert eine Übertragungscharakteristik einer derartigen Kommunikationsinfrastruktur. Eine Änderung der Übertragungscharakteristik definiert eine Änderung in der Umsetzung dieser Mechanismen.
-
In Ethernet-Netzwerken leitet ein einzelner Switch beim Erkennen eines Ausfalls einer Verbindung Gegenmaßnahmen ein, welche den Transport von Daten zumindest teilweise wieder sicherstellen sollen. Beispiele für solche Verfahren sind das Spanning Tree Protocol und das Rapid Spanning Tree Protocol nach Standard IEEE 802.1Q-2014. Diese Verfahren sind für zeitkritische Anwendungen zu langsam. Zudem können diese Verfahren einzelne Prioritätsklassen nicht unterscheiden. Somit ist es nicht möglich „wichtige“ von „unwichtigen“ Datenpaketen zu unterscheiden. Damit fehlt eine wichtige Stellgröße für die Minderung oder Behebung von Ausfällen.
-
Software Defined Networking Architekturen ermöglichen unterschiedliche Behandlung einzelner Datenströme, sowie einen globalen Blick auf die Kommunikationsinfrastruktur. Dies ermöglicht systemglobal optimierte Entscheidungen.
-
In Software Defined Networking Architekturen erkennt und analysiert beim Ausfall von Teilen eines Netzwerks ein logisch zentralisierter Software Defined Networking Controller den Ausfall. Der logisch zentralisierte Software Defined Networking Controller nimmt eine Neuplanung des Netzwerkverkehrs vor und verteilt diese Neuplanung an die beteiligten Infrastrukturkomponenten. Die Infrastrukturkomponenten sind beispielsweise Switches.
-
Eine Kommunikationsinfrastruktur für Fahrzeuge oder industrielle Anlagen ist mit einem Software Defined Networking Netzwerk in Kombination mit einem Time Sensitive Network betreibbar, wobei letzteres den echtzeit-relevanten Datenverkehr steuert und die Software Defined Networking Komponenten Mechanismen zur feingranularen Beeinflussung der Verarbeitungs- und Weiterleitungsfunktionen in der Netzwerkinfrastruktur ermöglichen.
-
Ein Verfahren zum Betreiben einer Software Defined Networking Kommunikationsinfrastruktur, über die wenigstens ein Datenstrom gemäß Time Sensitive Networking übertragbar ist, sieht vor, dass Information über die Kommunikationsinfrastruktur empfangen wird, wobei die Kommunikationsinfrastruktur mittels der empfangenen Information von einer Software Defined Networking Kontrollinstanz überwacht wird, wobei wenn von der Software Defined Networking Kontrollinstanz abhängig von der Information ein Fehler in der Kommunikationsinfrastruktur festgestellt wird, von der Software Defined Networking Kontrollinstanz wenigstens eine Reaktion initiiert wird, durch die wenigstens ein Parameter für Software Defined Networking und/oder Time Sensitive Networking in wenigstens einer Netzwerkkomponente der Kommunikationsinfrastruktur für eine Übertragung des wenigstens einen Datenstroms gemäß Time Sensitive Networking definiert ist. Dies ermöglicht die Herstellung einer global optimierten Umplanung nach dem Ausfall oder Fehlverhalten, beispielsweise einer Störung oder Teilstörung, einer oder mehrerer Kommunikationsverbindungen bzw. eines Teilnetzes. Dies ermöglicht eine schnelle Erkennung von Ausfällen sowie eine schnelle Reaktion auf diese unter Berücksichtigung wesentlicher Rahmenbedingungen und Kontextinformationen.
-
Vorzugsweise ist vorgesehen, dass die Reaktion in mehreren Netzwerkkomponenten zu einem Zeitpunkt initiiert wird, der durch die Kontrollinstanz ereignisgesteuert definiert ist. Dies ermöglicht eine koordinierte Umsetzung der Reaktion in mehreren Netzwerkkomponenten gleichzeitig.
-
Vorzugsweise ist vorgesehen, dass eine Reaktion abhängig von wenigstens einer Rahmenbedingung definiert ist, wobei die Kontrollinstanz die Reaktion abhängig von der Rahmenbedingung aus einer Vielzahl Reaktionen bestimmt. Die Rahmenbedingungen begrenzen den Lösungsraum und ermöglichen eine sehr schnelle Auswahl einer geeigneten Reaktion.
-
Vorzugsweise ist vorgesehen, dass die wenigstens eine Rahmenbedingung Informationen über noch funktionsfähige oder noch zu erreichende Netzwerkkomponenten, eine Kritikalität der ausgefallenen Netzwerkkomponente für die Kommunikationsinfrastruktur und/oder Information darüber, wie diese gegenüber anderen Netzwerkkomponenten oder Funktionen zu priorisieren ist beinhaltet. Dies sind besonders geeignete Einschränkungen des Lösungsraums.
-
Vorzugsweise ist vorgesehen, dass abhängig von der Information über den wenigstens einen Fehlerfall eine Zustands-Information über Fehlerfälle aggregiert wird, wobei die Zustands-Information analysiert wird, und einen Ausfall oder mehrere Ausfälle in der Kommunikationsinfrastruktur abhängig von der Zustands-Information erkannt wird. Dabei wird sowohl die ordnungsgemäße Funktionsweise relevanter Netzwerkkomponenten wie Knoten und Verbindungen, als auch die spezifischen Eigenschaften einer Datenübertragung beobachtet. Die dafür nötigen Informationen können an verschiedenen Zugängen gesammelt und anschließend gesamtheitlich ausgewertet werden. In einer alternativen Ausprägung können die Daten auch einer vorhergehenden Auswertung unterliegen, ehe sie von der Kontrollinstanz gesammelt und aggregiert werden.
-
Eine entsprechende Kontrollinstanz für eine Kommunikationsinfrastruktur umfasst beispielsweise eine Schnittstelle zur Kommunikationsinfrastruktur, eine Recheneinrichtung und einen Speicher mit Instruktionen, bei deren Ausführung durch die Recheneinrichtung das beschriebene Verfahren ausführbar ist. Es kann ein ASIC, ein FGPA, ein TCAM, ein Prozessor oder auch ein Microcontroller vorgesehen sein.
-
Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt
- 1 eine schematische Darstellung von Teilen einer Kommunikationsinfrastruktur,
- 2 eine schematische Darstellung eines Failover-Mechanismus in einem Software Defined Networking Netzwerk,
- 3 eine schematische Darstellung von Teilen eines Verfahrens zur Erhöhung der Verfügbarkeit der Kommunikationsinfrastruktur.
-
1 zeigt eine schematische Darstellung von Teilen einer Kommunikationsinfrastruktur 100. Kommunikationsinfrastruktur 100 umfasst eine Kontrollinstanz 120, die einen Software Defined Networking Controller als logisch zentralisierte Instanz der Kommunikationsinfrastruktur 100 umfasst. Der Software Defined Networking Controller ist über logische Verbindungen, in 1 als gestrichelte Linien dargestellt, mit einem ersten Switch 101, einem zweiten Switch 102 und einem dritten Switch 103 der Kommunikationsinfrastruktur 100 verbunden. Die Kommunikationsinfrastruktur 100 umfasst einen ersten physikalischen Knoten 111, einen zweiten physikalischen Knoten 112 und einen dritten physikalischen Knoten 113. Der erste physikalischen Knoten 111 ist mit dem ersten Switch 101 verbunden. Der zweite physikalischen Knoten 112 ist mit dem zweiten Switch 102 verbunden. Der dritte physikalische Knoten 113 ist mit dem dritten Switch 103 verbunden. Diese Verbindungen sind in 1 als durchgezogene Linien dargestellt. Das Beispiel ist als Netzwerk mit redundanten Pfaden dargestellt. Der erste Switch 101 ist mit dem zweiten Switch 102 über eine erste Verbindung 131 verbunden. Der erste Switch 101 ist mit dem dritten Switch 103 über eine zweite Verbindung 132 verbunden. Der zweite Switch 102 ist mit dem dritten Switch 103 über eine dritte Verbindung 133 verbunden.
-
Die Kommunikationsinfrastruktur 100 ist beispielsweise gemäß IEEE 802.3 als Ethernet ausgebildet. In diesem Fall sind Ethernet-Switches vorgesehen. Die Kommunikationsinfrastruktur 100 kann auch als ein Controller Area Network, CAN, gemäß ISO 11898 ausgebildet sein. Anstelle der in 1 mit Switch bezeichneten Komponenten sind in diesem Fall beispielsweise Forwarding Devices vorgesehen, welche gemäß CAN Protokoll kommunizieren und die für die Switches beschriebene Funktion übernehmen können. Switch und Forwarding Device sind Beispiele für Netzwerkkomponenten, die zum Betreiben der Kommunikationsinfrastruktur 100 eingesetzt werden können.
-
Die Switches umfassen im Beispiel jeweils eine Recheneinrichtung 140 und jeweils einen Speicher 141. Die Recheneinrichtung 140 kann als Prozessor oder Microprozessor ausgebildet sein. Insbesondere sind die Recheneinrichtung 140 und der Speicher 141 als wenigstens eine anwendungsspezifische integrierte Schaltung, ASIC, wenigstens ein Field Programmable Gate Array, FPGA, oder mit wenigstens einem Ternary Content-Addressable Memory, TCAM ausgeführt. Die Kontrollinstanz 120 umfasst im Beispiel eine Schnittstelle zur Kommunikationsinfrastruktur 100, eine Recheneinrichtung 150 und einen Speicher 151. Die Recheneinrichtung 150 kann als Prozessor oder Microprozessor ausgebildet sein. Insbesondere sind die Recheneinrichtung 150 und der Speicher 151 als wenigstens eine anwendungsspezifische integrierte Schaltung, ASIC, wenigstens ein Field Programmable Gate Array, FPGA, oder mit wenigstens einem Ternary Content-Addressable Memory, TCAM ausgeführt. In den Speichern sind Instruktionen gespeichert, bei deren Ausführung durch die Prozessoren das im Folgenden beschriebene Verfahren abläuft.
-
2 zeigt eine schematische Darstellung eines Failover-Mechanismus in einem Software Defined Networking Netzwerk mit einer Daten-Ebene 201 und einer Verwaltungs-Ebene 202. Der Failover-Mechanismus erhöht die Verfügbarkeit der Kommunikationsinfrastruktur 100.
-
Die Daten-Ebene 201 bezieht sich auf den logischen Bestandteil des Netzwerks, welcher für die Weiterleitung und Verteilung von Daten genutzt wird. Im Beispiel beinhaltet dies auch die physikalische Struktur des Netzwerks. Die Verwaltungs-Ebene 202 bezieht sich auf den logischen Bestandteil des Netzwerks, welcher für die Konfiguration, Überwachung und Verwaltung des Netzwerks selbst verwendet wird. Im Kontext einer Software Defined Networking Architektur, werden die hierin enthaltenen Funktionen z.B. durch einen Software Defined Networking Controller ausgeführt. Der Software Defined Networking Controller ist im Beispiel als logische Instanz ausgebildet. Der Software Defined Networking Controller kann als physikalischer Knoten ausgebildet sein, oder als verteilter Controller auf mehreren physikalische Knoten angeordnet sein.
-
Die Verwaltungs-Ebene 202 umfasst eine Netzwerküberwachung 203, die ausgebildet ist, von der Daten-Ebene 201 Information über einen Fehlerfall 204 zu empfangen.
-
Die Netzwerküberwachung 203 ist im Beispiel ein Funktionsbaustein, welcher die Beobachtung des gesamten Netzwerks oder zumindest relevanter Bestandteile dessen erlaubt. Die Netzwerküberwachung 203 wird genutzt, um eine konfigurationsgemäße Funktionsweise des Netzwerks zu überwachen. Die Überwachung kann die korrekte Übertragung von Datenströmen, Quality-of-Service, Präsenz- und Topologieinformationen sowie die Überwachung und Abfrage weiterer Statusinformationen umfassen. Die Netzwerküberwachung 203 ermöglich es, Fehlerfälle im Netzwerk insbesondere als Zustands-Information 205 festzustellen.
-
Die Netzwerküberwachung 203 ist ausgebildet, aus der Information über den Fehlerfall bestimmte Zustands-Information 205 an eine Erkennungs-Einrichtung 206 zu übertragen. Die Erkennungs-Einrichtung ist ein Funktionsbaustein, der ausgebildet ist, von der Netzwerküberwachung 203 bestimmte Information über Fehlerfälle insbesondere die Zustands-Information 205 zu aggregieren und zu analysieren. Im Kontext eines Failover-Verfahrens, erkennt die Erkennungs-Einrichtung einen oder mehrere Ausfälle in der Kommunikationsinfrastruktur, z.B. Switches, Gateways, Leitungen, und/oder von Softwarekomponenten, z.B. auf Steuergeräten wie ECUs oder Vehicle Computern.
-
Die Netzwerküberwachung 203 ist ausgebildet, aus der Information über den Fehlerfall 204 eine Zusammenhangs-Information 207 zu bestimmen und an eine Interpretationseinrichtung 208 zu übertragen. Die Erkennungs-Einrichtung 206 ist ausgebildet, ein Ergebnis 209 der Erkennungs-Einrichtung 206 an die Interpretationseinrichtung 208 zu übertagen.
-
Die Interpretationseinrichtung 208 ist ausgebildet, den Fehlerfall abhängig von der Zusammenhangs-Information 207 und dem Ergebnis 209 der Erkennungs-Einrichtung 206 zu interpretieren. Optional wird eine Rahmenbedingung 212, beispielsweise eine Limitierung oder ein Lösungsraum für Reaktionen bestimmt. Es kann auch eine Priorisierung von Reaktionen bestimmt werden. Alternativ oder zusätzlich zu der Zusammenhangs-Information 207 kann auch durch weitere Systemkomponenten bereitgestellte Information dazu genutzt werden, beispielsweise weitere Status- oder Kontextinformation. Beispielsweise wird eine Angemessenheit und/oder Limitierung einer Reaktion bestimmt.
-
Die Interpretationseinrichtung 208 ist ausgebildet, ein Ergebnis der Interpretation 210 an eine Entscheidungseinrichtung 211 zu übertragen. Die Interpretationseinrichtung 208 ist optional ausgebildet, die Rahmenbedingungen 212 aus einer Vielzahl Rahmenbedingungen 213 zu bestimmen. Die Interpretationseinrichtung 208 ist ausgebildet, ein Ergebnis der Interpretation 210 an eine Entscheidungseinrichtung 214 zu übertragen.
-
Die Entscheidungseinrichtung 214 ist ausgebildet, basierend auf dem Ergebnis der Interpretation 210, basierend auf Reaktionsanweisungen 215 und optional basierend auf den Rahmenbedingungen 212 aus der Vielzahl Rahmenbedingungen 213 eine Reaktion 216 zu bestimmen. Im Beispiel ist der Software Defined Networking Controller ausgebildet, nachdem ein Fehlerfall erkannt und das Ergebnis der Interpretation 210 und die Rahmenbedingungen 212 bestimmt worden sind, aus den Reaktionen 215 abhängig von den Rahmenbedingungen 212 und der dem Ergebnis der Interpretation 210 eine angemessene Reaktion 216 auszuwählen. Dies erfolgt beispielsweise unter Berücksichtigung eines Optimierungsverfahren. Die Reaktion 216 stellt den eigentlichen Mechanismus dar, welcher als Reaktion auf den Fehlerfall 204 erfolgen soll und welcher aus der Menge möglicher Reaktionen 215 ausgewählt worden ist. Die gewählte Reaktion 216 kann unterschiedliche Strategien verfolgen, welche u.a. vom Kontext, von möglichen Limitierungen und von dem vorgegebenen Optimierungsziel abhängen.
-
Die Reaktion 215 wird aus der Verwaltungs-Ebene 202 für eine Umsetzung 217 in der Daten-Ebene 201 übertragen. Die Übertragung ist optional von einer ereignisgetriebenen Steuerung 218 steuerbar. Wenn die tatsächliche Umsetzung 215 der Reaktion eine Koordination zwischen Netzwerkkomponenten voraussetzt, kann ein Zeitpunkt der Umsetzung durch die Steuerung 218 mit einem Trigger gesteuert werden.
-
3 stellt eine schematische Darstellung von Teilen eines Verfahrens zum Betreiben einer Software Defined Networking Kommunikationsinfrastruktur 100, insbesondere für einen derartigen Failover-Mechanismus in einem Software Defined Networking Netzwerk dar, über das wenigstens ein Datenstrom gemäß Time Sensitive Networking übertragbar ist.
-
In einem Schritt 300, wird insbesondere von der Kontrollinstanz 120 Information über die Kommunikationsinfrastruktur 100 empfangen.
-
In einem Schritt 301 wird das Netzwerk von der Kontrollinstanz überwacht. Dabei wird sowohl die ordnungsgemäße Funktionsweise relevanter Netzwerkkomponenten wie Knoten und Verbindungen, als auch die spezifischen Eigenschaften einer Datenübertragung beobachtet. Die dafür nötigen Informationen können an verschiedenen Netzwerk-Zugängen gesammelt und anschließend gesamtheitlich ausgewertet werden. In einer alternativen Ausprägung können die Daten auch einer vorhergehenden Auswertung unterliegen, bevor sie von der Kontrollinstanz gesammelt und aggregiert werden.
-
In einem Schritt 302 wird ein Fehlerfall festgestellt. Tritt beispielsweise in einer oder mehreren Hardware- oder Softwarekomponenten ein Fehlerfall ein, z.B. die Unterbrechung einer Verbindung oder der Ausfall eines Switches, so kann dies durch unterschiedliche Mechanismen erkannt werden, z.B. durch eine Unregelmäßigkeit beim Zählen empfangener Pakete oder das Ausbleiben eines „Heartbeat“-Signals. Gleichermaßen kann ein Fehlerfall in Form eines Datenpakets an betroffene Stellen kommuniziert werden. Eine weitere Möglichkeit besteht darin, dass die im vorherigen Schritt 301 beobachteten Kenngrößen und Statusinformationen ausgewertet werden und ihre individuelle Ausprägung oder eine dabei beobachtete Unregelmäßigkeit einen Fehlerfall erkennen lässt.
-
In einem Schritt 303 wird anschließend der Fehlerfall verarbeitet. Beispielsweise ist die Kontrollinstanz dafür verantwortlich, die Art des Fehlerfalls sowie die damit einhergehenden Konsequenzen zu verstehen. Hierzu kann die Kontrollinstanz sowohl auf verfügbare Fehlerinformationen, die Art der Fehlermeldung als auch auf Kontextinformationen wie einen letzten Netzwerkzustand, einen aktuellen Netzwerkzustand und alle im ersten Schritt beobachteten Merkmale zurückgreifen. Ein Netzwerkzustand beschreibt in diesem Kontext einen Zustand wenigstens eines Teils des Netzwerks. Diese Interpretation des Fehlerfalls ermöglicht es der Kontrollinstanz Rahmenbedingungen für eine angemessene Reaktion zu definieren. Diese Rahmenbedingungen beinhalten beispielsweise Information über noch funktionsfähige bzw. noch zu erreichende Netzwerkkomponenten, aber auch die Kritikalität der ausgefallenen Komponente und wie diese notfalls gegenüber anderen Komponenten und Funktionen zu priorisieren ist.
-
In einem Schritt 304 wird durch die Kontrollinstanz eine geeignete Reaktion festlegt. Die geeignete Reaktion wird im Beispiel abhängig vom Ergebnis der Interpretation des Fehlerfalls in Schritt 303, den daraus abgeleiteten Rahmenbedingungen und möglicherweise im System hinterlegten Maßnahmen für eine Reaktion im Fehlerfall festgelegt. Sollten mehrere Reaktionen möglich und angemessen sein, so kann die Auswahl einem vorgeschriebenen Vorgehen folgen, z.B. einer vorgegebenen Prioritätsliste oder einem Optimierungsziel.
-
In einem Schritt 305 initiiert die Kontrollinstanz die erforderliche Maßnahme basierend auf der in Schritt 304 gewählten Reaktion. Da hiervon gegebenenfalls mehrere Komponenten des Netzwerks betroffen sind, kann es vorgesehen sein, die Maßnahme in einer koordinierten Art und Weise an die Komponenten zu übermitteln und dort zu aktivieren. Beispielsweise kann es erforderlich sein, in einem Switch hinterlegte Weiterleitungsregeln anzupassen. Weiterleitungsregeln bestimmen in diesem Beispiel, wie die Datenströme vom Switch weitergeleitet werden. Datenströme werden beispielsweise durch die Reaktion an einen anderen Knoten oder Switch als ursprünglich vorgesehen weitergeleitet. In diesem Fall wird auch die Konfiguration dieses zweiten Knotens angepasst. Sind in den betroffenen Knoten Kommunikationsressourcen reserviert, z.B. für die Weiterleitung zeitkritischer Datenströme, so wird auch die Reservierung an die geänderten Weiterleitungsregeln angepasst.
-
Im beschriebenen Verfahren zum Betreiben der Kommunikationsinfrastruktur werden die Schritte zum Beispiel zyklisch wiederholt. Die Schritte können in einem Zyklus nacheinander ausgeführt werden. Die Reihenfolge der Schritte muss nicht in jedem Zyklus dieselbe sein. Nicht jeder der Schritte muss in jedem Zyklus ausgeführt werden.