-
Die vorliegende Erfindung betrifft ein Computersystem zum dynamischen Anpassen eines software-definierten Netzwerks. Die vorliegende Erfindung betrifft ferner ein Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks. Darüber hinaus betrifft die vorliegende Erfindung ein Computerprogrammprodukt, das einen Programmcode zum Ausführen eines derartigen Verfahrens umfasst.
-
In großen software-definierten Netzwerken (SDN-Netzwerken) mit massiv verteilten Netzwerkknoten und Endgeräten kann die Skalierbarkeit des SDN-Controllers schwierig sein. Die Leistung und Stabilität eines einzelnen SDN-Controllers kann durch das große SDN-Netzwerk beeinträchtigt werden.
-
Zusätzlich zu Skalierbarkeitsproblemen ist die Fehlertoleranz der Steuerungsebene eine wichtige Anforderung beim praktischen Einsatz von SDN in industriellen Anwendungen. Bei Anwendungen mit einem einzelnen Controller ist der SDN-Controller ein einzelner Ausfallpunkt (Single Point of Failure – SPoF) im Steuerungsnetzwerk. Da kein System als 100%ig verfügbar angenommen werden kann, müssen Backup-Controller verwendet werden, um die SPoF-Eigenschaft zu kompensieren.
-
In jüngster Zeit präsentierten mehrere Ansätze ein Teilen (Slicing) der Steuerungsebene (CP – Control Plane), wobei Netzwerknutzern (Tenants) ein Teil (Slice) physischer Ressourcen angeboten wird (CP-Multi-Tenancy) und des Weiteren die Mittel zum Organisieren der Ressourcen nach deren Anwendungsbedürfnissen bereitgestellt werden. Deshalb besteht ein Bedarf an einem Konzept, das SDN-Controller pro Netzwerk-Ressourcenteil unterstützt und den Weg für Netzwerkdienste auf Abruf bereitet.
-
Flüssige Replikation (Fluid Replication) (Noble, B., Fleis, B., Kim, M., (1999). A Case for Fluid Replication) ist eine Dienstreplikationsstrategie, die Veränderungen in der Nachfrage nach Diensten und Ressourcen erkennt und automatisch Dienste repliziert, wann und wo es erforderlich ist. Mit Hilfe von Fluid Replication werden Server, die den Dienst hosten, der notwendig ist, um die Anfrage eines Clients zu bedienen, dynamisch näher am Benutzer (Client des Dienstes) eingesetzt und ermöglichen somit den Zugriff auf den Dienst mit geringerer Gesamtverzögerung für den Benutzer. Diese Replikationen sind an Zwischenstationen (WayStations) platziert – Dienstknoten in der Infrastruktur, die Replikationsdienste bereitstellen.
-
Civanlar, S., Lokman, E., Kaytaz, B., & Tekalp, A. M. (2015). Distributed management of service-enabled flow-paths across multiple SDN domains. 2015 European Conference on Networks and Communications, EuCNC 2015, 360–364, http://doi.org/10.1109/EuCNC.2015.7194099, schlagen vor, dass jeder SDN-Controller anderen SDN-Controllern eine summierte Ansicht seines Netzbildes, das im Wesentlichen ein äquivalentes virtuelles Netzwerk zwischen seinen Gateway-Versendern (Gateway-Forwarder) ist, und die damit verbundenen Dienstmöglichkeiten mitteilt.
-
Basta, A., Blenk, A., Lai, Y. T., & Kellerer, W. (2015). HyperFlex: Demonstrating control plane isolation for virtual software-defined networks. Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management, IM 2015, 1163–1164, http://doi.org/10.1109/INM.2015.7140460, führen das Konzept eines SDN-Hypervisors zum Unterstützen der Multi-Tenancy-Erfordernisse in der SDN-Steuerungsebene ein. Hierbei wird ein Satz physischer Ressourcen verschiedenen Netzwerk-Tenants zugewiesen und den Tenants wird der Zugriff auf ihren zugewiesenen Teil ermöglicht, indem an ihrer logischen Instanz eines Netzwerk-Controllers Reservierungsanfragen erzeugt werden.
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein software-definiertes Netzwerk mit verbesserter Skalierbarkeit und Fehlertoleranz bereitzustellen.
-
Dementsprechend wird ein Computersystem zum dynamischen Anpassen eines software-definierten Netzwerks vorgeschlagen. Das Computersystem umfasst mehrere virtuelle Domains, wobei jede virtuelle Domain einen Netzwerk-Controller umfasst, dem ein Backup-Netzwerkcontroller zugewiesen ist, wobei der Netzwerk-Controller dafür eingerichtet ist, mehrere Schalter zu verwalten, die der virtuellen Domain zugewiesen sein, wobei das software-definierte Netzwerk in mehrere virtuelle Domains partitioniert ist, und einen Root-Controller, wobei der Root-Controller dafür eingerichtet ist, basierend auf einem Grenzwert des software-definierten Netzwerks das software-definierte Netzwerk durch dynamisches Hinzufügen und/oder Entfernen virtueller Domains zu verwalten, wobei dem Root-Controller ein Backup-Root-Controller zugewiesen ist.
-
Die entsprechende Einheit, z. B. der Netzwerk-Controller kann in Hardware und/oder in Software umgesetzt sein. Wenn die Einheit in Hardware umgesetzt ist, kann sie als ein Gerät, z. B. als ein Computer oder als ein Prozessor oder als Teil eines Systems, z. B. eines Computersystems, gebildet sein. Wenn die Einheit in Software umgesetzt ist, kann sie als ein Computerprogrammprodukt gebildet sein, als eine Funktion, als eine Routine, als ein Programmcode oder als ein ausführbares Objekt.
-
Bekannte Mechanismen können nicht auf Abruf software-definierte Netzwerk-(SDN)-Controller instanziieren, um Skalierbarkeits- oder Leistungsprobleme zu lösen. Das vorgeschlagene Computersystem ist in der Lage, während der Laufzeit auf Abruf eine Instanziierung virtueller Domains und entsprechender Netzwerk-Controller bereitzustellen, insbesondere in industriellen Anwendungen.
-
Gemäß dem vorgeschlagenen Computersystem ist das software-definierte Netzwerk in Sub-Domains partitioniert, die virtuelle Domains genannt werden. Die virtuellen Domains umfassen Netzwerkknoten und -schalter, sowohl physische als auch virtuelle Komponenten, die physisch getrennt sind. Die virtuellen Domains können aus virtuellen und/oder physischen Ressourcen bestehen, die virtuell/logisch zu virtuellen Domains gruppiert sind.
-
Durch Partitionieren der gesamten Datenebene in Sub-Domains kann die Belastung des Master-(Root-)Controllers zu Skalierbarkeitszwecken reduziert werden.
-
Jeder Controller, der Root-Controller wie auch die Netzwerk-Controller niedrigerer Ordnung, weist zu Zwecken hoher Verfügbarkeit einen Backup-Controller auf. Die Netzwerk-Controller verwalten ihre eigenen virtuellen Domains, wohingegen die Root-Controller die Root-Domain verwalten, d. h. die Netzwerk-Controller, aber nicht die darunterliegenden virtuellen Domains.
-
Somit wird die Root-Domain durch den Root-Controller und eine replizierte Instanz davon, den Backup-Root-Controller, verwaltet. Zusätzlich zum Urladen (Bootstrapping) des SDN-Netzwerks und dem Verwalten der Root-Domain nach der Domain-Partitionierung kann der Root-Controller auch die Netzwerk-Controller und die Backup-Netzwerk-Controller in neu erzeugten Domains instanziieren.
-
Der Root-Controller kann zum Zweck hoher Verfügbarkeit den Backup-Root-Controller (Replikation von sich selbst) in der Root-Domain einsetzen. Das Wissen in den Nicht-Root-Domains, d. h. den virtuellen Domains, wird nach erfolgreicher Partitionierung des SDN-Netzwerks in virtuellen Domains und einem Controller-Instanziierungsprozess, d. h. nach der ersten Instanziierung eines Netzwerk-Controllers oder nach dem Entfernen eines Netzwerk-Controllers, auf den Root-Controller abstrahiert. Somit wird durch Summieren der Zustandsinformationen, die zwischen den verschiedenen Domains ausgetauscht werden, die Skalierbarkeit der Steuerungsebene ermöglicht.
-
Backup- und Netzwerk-Controller können an beliebigen Hosts und Servern eingesetzt werden, welche die geforderten Ressourcen für die Ausführung der Controller unterstützen. Somit sind dem Root-Controller verfügbare und genutzte Ressourcen des Hosts/Servers bekannt. Wenn ausreichende CPU-, Speicher- und Datenträgerressourcen zur Verfügung stehen, können die Hosts die Benutzeranwendungen zusätzlich zu Controllerinstanzen abarbeiten.
-
Virtuelle Netzwerke mit beliebig großer Anzahl virtueller Schalter oder isolierte physische Netzwerke (z. B. Industrie/Fertigungsautomatisierungszellen) können eine Steuerung erfordern, die vom Netzwerkkern isoliert ist. Zu diesem Zweck kann der Root-Controller einen Netzwerk-Controller instanziieren, der seinen Steuerbereich auf nur das virtuelle Netzwerk oder die Industrie/Fertigungsautomatisierungszelle begrenzt.
-
Gemäß einer Ausführungsform ist der Grenzwert des software-definierten Netzwerks mindestens eines der Folgenden: eine Anzahl von Gesamtschaltern, eine Anzahl von Schaltern pro virtueller Domain, eine Last des gesamten software-definierten Netzwerks und eine Last des Netzwerk-Controllers.
-
Der Grenzwert kann manuell oder automatisch eingestellt werden. Insbesondere kann der Grenzwert eine Bemessungswahl des entsprechenden Netzwerks sein. Die Last kann zum Beispiel anhand von Netzwerkparametern interpretiert werden, wie beispielsweise genutzter Bandbreite, Verarbeitungsverzögerung, Verarbeitungskapazität usw.
-
Gemäß einer weiteren Ausführungsform ist der Root-Controller dafür eingerichtet, eine neue virtuelle Domain hinzuzufügen, wenn der Grenzwert des software-definierten Netzwerks überschritten ist, und der neuen virtuellen Domain eine Teilmenge der Schalter zuzuweisen.
-
Wenn zum Beispiel die Anzahl der Schalter pro virtueller Domain über dem Grenzwert für die Anzahl an Schaltern pro virtueller Domain liegt, kann der Root-Controller eine neue virtuelle Domain hinzufügen und die vorhandenen Schalter der vorhandenen und der neuen virtuellen Domain neu zuweisen.
-
Gemäß einer weiteren Ausführungsform ist der Root-Controller dafür eingerichtet, eine virtuelle Domain zu entfernen, wenn der Grenzwert des software-definierten Netzwerks unterschritten ist, und eine Teilmenge der Schalter, die in der entfernten virtuellen Domain enthalten sind, den mehreren virtuellen Domains neu zuzuweisen.
-
Wenn zum Beispiel die Anzahl der Schalter unter dem Grenzwert für die Anzahl an Schaltern pro virtueller Domain liegt, wird diese Domain entfernt und die Schalter dieser Domain werden den verbleibenden virtuellen Domains neu zugewiesen.
-
Gemäß einer weiteren Ausführungsform ist der Backup-Netzwerk-Controller dafür eingerichtet, den Netzwerk-Controller zu überwachen und einen Fehler des Netzwerk-Controllers zu bestimmen.
-
Solange der Netzwerk-Controller arbeitet, besteht die Funktion des Backup-Netzwerk-Controllers darin, den Status des Netzwerk-Controllers zu überwachen. Wird ein Fehler, zum Beispiel ein Ausfall, des Netzwerk-Controllers bestimmt, ist der Backup-Netzwerk-Controller gemäß einer weiteren Ausführungsform dafür eingerichtet, die Verwaltung der entsprechenden virtuellen Domain zu übernehmen.
-
Gemäß einer weiteren Ausführungsform ist der Backup-Netzwerk-Controller dafür eingerichtet, eine tatsächliche Sitzung der entsprechenden virtuellen Domain fortzusetzen.
-
Dies bedeutet, dass der Backup-Netzwerk-Controller den Status des ausgefallenen Netzwerk-Controllers übernimmt. Somit erkennen die virtuelle Domain und die Schalter dieses Netzwerk-Controllers, dass ein Fehler des Netzwerk-Controllers vorliegt, und verbinden sich mit dem konfigurierten Backup-Controller.
-
Gemäß einer weiteren Ausführungsform ist der Backup-Root-Controller dafür eingerichtet, den Root-Controller zu überwachen und einen Fehler des Root-Controllers zu bestimmen.
-
Nicht nur die Netzwerk-Controller sondern auch der Root-Controller weisen einen redundanten Controller auf. Somit funktioniert der Backup-Root-Controller wie bezüglich des Backup-Controllers beschrieben.
-
Gemäß einer weiteren Ausführungsform ist der Backup-Root-Controller dafür eingerichtet, die Verwaltung des software-definierten Netzwerks zu übernehmen.
-
Im Gegensatz zu den Backup-Controllern niedrigerer Ordnung übernimmt der Backup-Root-Controller die Verwaltung des kompletten SDN-Netzwerks zu übernehmen.
-
Gemäß einer weiteren Ausführungsform ist der Root-Controller dafür eingerichtet, die Netzwerk-Controller, Backup-Netzwerk-Controller und Schalter in einer Root-Domain zu steuern.
-
Dies bedeutet, dass der Root-Controller nicht notwendigerweise die Organisation der einzelnen virtuellen Domains kennen muss, sondern nur mit den Netzwerk-Controllern und den Backup-Netzwerk-Controllern der virtuellen Domains sowie mit den Schaltern, die den Root-Controllern direkt zugewiesen sind, zusammenarbeitet.
-
Gemäß einer weiteren Ausführungsform ist der Root-Controller dafür eingerichtet, eine Anfrage zum Instanziieren eines neuen Tenant-Netzwerks zu empfangen, und dafür, gemäß dieser Anfrage eine neue virtuelle Domain hinzuzufügen.
-
Zusätzlich zum Anpassen des Netzwerks basierend auf dem Grenzwert kann der Root-Controller das Netzwerk auch basierend auf einer empfangenen Anfrage anpassen.
-
Gemäß einer weiteren Ausführungsform weist jeder der mehreren Schalter mehrere physische und/oder virtuelle Schnittstellen auf.
-
Dies bedeutet, dass jeder Schalter mehrere Schnittstellen aufweisen kann, über die der Schalter mit mehreren virtuellen Domains kommunizieren (und Teil davon sein) kann. Die Schnittstellen können physische oder virtuelle Schnittstellen sein.
-
Gemäß einer weiteren Ausführungsform sind der Root-Controller, der Backup-Root-Controller, die Netzwerk-Controller und die Backup-Netzwerk-Controller in einem software-definierten Netzwerk-Controller enthalten.
-
Somit kann der SDN-Controller des vorgeschlagenen Computersystems mehrere Neben-Controller enthalten.
-
Ein Beispiel für die Schritte, mit denen der SDN-Controller auf Abruf erzeugt werden kann, ist in den folgenden Übergängen von der Planungs- zur Laufzeitphase beschrieben.
-
Netzwerk-Planungsphase: Es wird ein beliebig großes SDN-Netzwerk angenommen, das aus SDN-fähigen Schaltern und einem einzelnen SDN-Controller besteht, der als Root-Controller fungiert. Obwohl eine Out-of-Band-Steuerung leichter aber kostenintensiver zu erreichen ist, wird im Folgenden das realistischere In-Band-Steuerungsszenario angenommen, bei dem die SDN-Controller die Schaltersteuerung und Synchronisationsnachrichten durch die Datenebene leiten. Die Datenebenen-Weiterleitungskapazität kann somit zwischen dem Steuerungs- und dem Benutzerdatenverkehr aufgeteilt sein.
-
Urladephase (Bootstrapping-Phase): Sobald der Root-Controller geladen ist, werden zwischen dem Root-Controller und den SDN-Schaltern anfängliche Steuerungssitzungen eingerichtet. Der Controller wird intern veranlasst, sich zur nächsten Phase zu bewegen und somit das Netzwerk in mehrere Domains zu partitionieren. Das Veranlassen kann zum Beispiel auf einem vordefinierten Grenzwert maximal unterstützter Schalter pro Domain basieren.
-
Partitionierungsphase: der Root-Controller partitioniert das SDN-Netzwerk in logische Partitionen mit „Root-Domain”, welche die Partition ist, die durch den Root-Controller gesteuert wird, und einer Anzahl von „Domain”-Partitionen, die vorstehend als „virtuelle Domains” bezeichnet sind.
-
Instanziierungsphase: Der Root-Controller kann sicherstellen, dass jede einzelne der Domains (einschließlich sowohl der Root-Domain als auch der virtuellen Domains) durch mindestens zwei Controllerinstanzen (einen „Haupt”-Domain-Controller und einen Backup-Domain-Controller) gesteuert wird. Nach dem Identifizieren der Domains instanziiert der Root-Controller die Domain- und die Backup-Domain-Controller mit Hilfe einer Controller-Einsatzfunktion.
-
Abstraktionsphase: Sobald die Domain- und die Backup-Controller in ihren Domains eingesetzt sind, richtet der Root-Controller Peer-to-Peer-Sitzungen mit den Fern-Domain-Controllern (Netzwerk-Controllern) ein. Der Root-Controller modifiziert dann die Controller-Listen an den Fernschaltern und wechselt seine eigene Rolle von Master zu Slave. Des Weiteren fügt der Root-Controller den Fern-Domain-Controller als Master-Controller dieses Schalters (Netzwerk-Controller) hinzu und fügt den Fern-Domain-Backup-Controller als den ersten Slave-Controller des Schalters (Backup-Controller) hinzu. Somit registriert sich der Root-Controller selbst als zweiter Slave-Controller am Schalter.
-
Von diesem Moment an verfolgt der Root-Controller die Ressourcen der Schalter in den fernen oder virtuellen Domains nicht mehr direkt nach. Alle Anfragen zum Einrichten der Ströme werden zwischen den Controllern in den zwei Domains verhandelt, über welche die Verbindung einzurichten ist.
-
Laufzeitphase: Während des normalen Betriebes können dem Root-Controller folgende Aufgaben zugewiesen sein: Steuerung der Schalter in der Root-Domain, Liveness-Schätzung von Controllern in anderen Domains, als das Gateway für Anfragen zum Instanziieren neuer Tenant-Netzwerke dienen. Des Weiteren kann der Root-Controller, sollten zusätzliche Schalter (oder „virtuelle, auf Servern gehostete Netzwerke”/Zellen) physisch an bestehende Domains angefügt werden, die Veränderung der Topologie erkennen und die Anzahl aufgenommener Schalter schätzen. Der Root-Controller kann dann entscheiden, ob die neuen Geräte einer bestehenden Domain neu zugewiesen werden sollen oder ob eine neue Domain erzeugt werden muss. Abhängig vom Grenzwert zulässiger Schalter in dieser Domain (keine Kapazität in bestehenden Domains oder bei Erkennung virtueller Netzwerke oder Zellen) kann der Root-Controller eine neue Domain erzeugen oder das neue Gerät zu einer bestehenden Domain hinzufügen (wenn genügend Kapazität zur Verfügung steht).
-
Controller-Instanziierungsauslöser: Bei Erkennung einer größeren Anzahl von Schaltern als akzeptabel in einer einzelnen Steuerungsdomain können die überzähligen Schalter einem Controller in einer anderen Domain neu zugewiesen werden. In dem Fall, dass keine der bestehenden benachbarten Domains die Steuerung der überzähligen Schalter übernehmen kann (Schalterkapazität pro Domain überschritten ist), wird eine neue logische Domain erzeugt. In dieser Domain werden eine neue Domain-Controller- und eine neue Backup-Domain-Controller-Instanz eingesetzt, mit der Aufgabe, diese überzähligen Schalter und dieser Domain zukünftig zugewiesene Schalter zu steuern. Bei Erkennung eines Ausfalls eines Controllers in einer fernen Domain wird der Ausfall durch den Backup-Domain-Controller in dieser Domain und den Root-Controller in der Root-Domain erkannt. Dies führt dazu, dass der Backup-Controller die Rolle des Master-Netzwerk-Controllers in der betroffenen Domain übernimmt. Der Root-Controller kann dann in der betroffenen Domain einen neuen Backup-Controller instanziieren. Der neue Backup-Controller wird mit der Statusinformation initialisiert, die vom neuen Master-Netzwerk-Controller repliziert wird.
-
Gemäß einem weiteren Aspekt wird ein Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks vorgeschlagen, bei dem das software-definierte Netzwerk in mehrere virtuelle Domains partitioniert wird, wobei jede virtuelle Domain einen Netzwerk-Controller umfasst, dem ein Backup-Netzwerk-Controller zugewiesen ist, und wobei das software-definierte Netzwerk einen Root-Controller umfasst, wobei dem Root-Controller ein Backup-Root-Controller zugewiesen ist. Das Verfahren umfasst die folgenden Schritte: Verwalten mehrerer Schalter, die der virtuellen Domain zugewiesen sind, und Verwalten des software-definierten Netzwerks durch dynamisches Hinzufügen und/oder Entfernen virtueller Domains, basierend auf dem Grenzwert des software-definierten Netzwerks.
-
Die in Bezug auf das Computersystem der vorliegenden Erfindung beschriebenen Ausführungsformen und Merkmale gelten entsprechend für das Verfahren der vorliegenden Erfindung.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung ein Computerprogrammprodukt, das einen Programmcode zum Ausführen des oben beschriebenen Verfahrens zum dynamischen Anpassen eines software-definierten Netzwerks, wenn das Programmprodukt auf mindestens einem Computer läuft, umfasst.
-
Ein Computerprogrammprodukt, wie beispielsweise ein Computerprogrammmittel, kann als eine Speicherkarte, ein USB-Stick, eine CD-ROM, DVD oder Datei umgesetzt sein, die von einem Server in einem Netzwerk heruntergeladen werden kann. Zum Beispiel kann eine derartige Datei durch Übertragen der Datei, die das Computerprogrammprodukt umfasst, von einem Netzwerk zur drahtlosen Kommunikation bereitgestellt werden.
-
Weitere mögliche Implementierungen oder Alternativlösungen der Erfindung schließen auch Kombinationen – die hier nicht explizit genannt sind – von Merkmalen ein, die hinsichtlich der Ausführungsformen vorstehend oder nachstehend beschrieben sind. Fachleute können der grundlegendsten Form der Erfindung auch individuelle oder einzelne Aspekte und Merkmale hinzufügen.
-
Weitere Ausführungsformen, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden Beschreibung und den abhängigen Ansprüchen in Verbindung mit den dazugehörigen Zeichnungen ersichtlich. Es zeigen:
-
1 ein schematisches Blockdiagramm einer ersten Ausführungsform eines Computersystems,
-
2 ein schematisches Blockdiagramm einer zweiten Ausführungsform eines Computersystems,
-
3 ein schematisches Blockdiagramm eines SDN-Controllers, der im Computersystem der 1 und 2 verwendet wird, und
-
4 eine Abfolge von Schritten eines Verfahrens zum dynamischen Anpassen eines SDN-Netzwerks.
-
In den Figuren kennzeichnen gleiche Bezugszeichen gleiche oder funktional entsprechende Elemente, sofern nichts anderes angegeben ist.
-
1 zeigt ein Computersystem 100 zum dynamischen Anpassen eines software-definierten Netzwerks 20.
-
Das Computersystem 100 umfasst mehrere virtuelle Domains 22, 23, 24, 25, wobei jede virtuelle Domain einen Netzwerk-Controller 13, 15, 17 umfasst, dem ein Backup-Netzwerk-Controller 14, 16, 18 zugewiesen ist. Die Netzwerk-Controller 13, 15, 17 sind dafür eingerichtet, mehrere Schalter 26 zu verwalten, die jeder virtuellen Domain 22, 23, 24, 25 zugewiesen sind.
-
Das SDN-Netzwerk 20 ist in physische weiterleitende Geräte 21 sowie in virtuelle weiterleitende Geräte 25 geteilt. Die virtuellen Domains 22, 23, 24, 25 können in nur einer dieser Partitionen 21, 25 enthalten sein oder können sich über diese Partitionen 21, 25 erstrecken. Die Root-Domain 22 ist einem Root-Controller 11 und seinem Backup-Controller 12 zugewiesen.
-
Der Root-Controller 11 verwaltet das software-definierte Netzwerk 20 durch dynamisches Hinzufügen und/oder Entfernen von virtuellen Domains 21, 22, 23, 24, 25, basierend auf einem Grenzwert des software-definierten Netzwerks 20.
-
Der Root-Controller 11 kann ferner mit externen Verwaltungsanwendungen kommunizieren.
-
2 zeigt ein Beispiel für ein Computersystem 100, in dem bei Erkennung einer Anfrage für ein neues Tenant-Netzwerk 28, 35 eine neue Tenant-Controller-Instanz 31, 32, 33, 34 instanziiert wird. Zusätzlich zu 1 umfasst das SDN-Netzwerk 20 eine zusätzliche Partition von physischen weiterleitenden Geräten 27. Die detaillierte Abfolge ist wie folgt:
Schritt 1 (S1): Von der externen Verwaltungsanwendung geht eine Anfrage ein, einen bestimmten Tenant basierend auf den spezifischen Anforderungen, wie beispielsweise Geräteart, Schnittstellenarten, abzudeckende Domains usw., zu erzeugen. Die externe Verwaltungsanwendung muss authentifiziert und autorisiert sein, bevor die Anfrage im SDN-Controller 10 verarbeitet werden kann.
-
Schritt 2 (S2): Basierend auf der Topologie-Datenbank wird am Root-Controller 11 eine Tenant-Ansicht erzeugt. Der Root-Controller 11 instanziiert eine Controller-Instanz 31, 33 für diese Tenant-Ansicht.
-
Schritt 3 (S3): Der Root-Controller 11 erzeugt eine Schnittstelle des instanziierten Tenant-Controllers (Haupt- 31, 33 und Backup- 32, 34) für den Tenant oder die externe Verwaltungsanwendung.
-
Hierbei kann die Redundanz der Controller (Fehlertoleranzbemessung) für die externe Verwaltungsanwendung transparent sein.
-
Schritt 4 (S4): Der Root-Controller 11 stellt eine Liste instanziierter Controller 11, 12, 13, 14, 15, 16, 17, 18, 31, 32, 33, 34 und die diesbezüglichen Schnittstelleninformationen für den Tenant oder die externe Verwaltungsanwendung bereit.
-
3 zeigt ein schematisches Blockdiagramm des SDN-Controllers 10, der im Computersystem 100 von 1 und 2 verwendet wird. Das in diesem SDN-Controller 10 angewandte Zoneneinteilungsprinzip wird im Folgenden beschrieben.
-
Aus Skalierungsgründen hat der Root-Controller 11, obwohl er über Informationen aller Domains verfügt, keine internen SDN-Knoteninformationen, die jede Domain betreffen. Jeder Domain-Controller 13, 14, 15, 16 ist für eigene SDN-Knoten verantwortlich und kann nur diese Knoten konfigurieren. In ähnlicher Weise kann eine Tenant-Controller-Instanz 31, 32, 33, 34, 36, 37 jeden Domain-Controller 13, 14, 15, 16 anfragen, SDN-Knoten basierend auf dessen Anforderungen zu konfigurieren.
-
4 zeigt ein Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks 20, wobei das software-definierte Netzwerk 20 in mehrere virtuelle Domains 23, 24, 28, 29, 35 partitioniert ist, wobei jede virtuelle Domain 23, 24, 28, 29, 35 einen Netzwerk-Controller 13, 15, 17, 31, 33, 36 umfasst, dem ein Backup-Netzwerk-Controller 14, 16, 18, 32, 35, 37 zugewiesen ist, und wobei das software-definierte Netzwerk 20 einen Root-Controller 11 umfasst, wobei dem Root-Controller 11 ein Backup-Root-Controller 12 zugewiesen ist. Das Verfahren umfasst die folgenden Schritte:
In einem ersten Schritt 401 werden mehrere Schalter 26 verwaltet, die den virtuellen Domains 23, 24, 28, 29, 35 zugewiesen sind.
-
In einem zweiten Schritt 402 wird das software-definierte Netzwerk 20 durch dynamisches Hinzufügen und/oder Entfernen virtueller Domains 23, 24, 28, 29, 35, basierend auf einem Grenzwert des software-definierten Netzwerks 20, verwaltet.
-
Obwohl die vorliegende Erfindung gemäß bevorzugten Ausführungsformen beschrieben wurde, ist für Fachleute naheliegend, dass bei allen Ausführungsformen Modifizierungen möglich sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- Noble, B., Fleis, B., Kim, M., (1999). A Case for Fluid Replication [0005]
- Civanlar, S., Lokman, E., Kaytaz, B., & Tekalp, A. M. (2015). Distributed management of service-enabled flow-paths across multiple SDN domains. 2015 European Conference on Networks and Communications, EuCNC 2015, 360–364, http://doi.org/10.1109/EuCNC.2015.7194099 [0006]
- Basta, A., Blenk, A., Lai, Y. T., & Kellerer, W. (2015). HyperFlex: Demonstrating control plane isolation for virtual software-defined networks. Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management, IM 2015, 1163–1164, http://doi.org/10.1109/INM.2015.7140460 [0007]