DE112014000322B4 - Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk - Google Patents

Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk Download PDF

Info

Publication number
DE112014000322B4
DE112014000322B4 DE112014000322.0T DE112014000322T DE112014000322B4 DE 112014000322 B4 DE112014000322 B4 DE 112014000322B4 DE 112014000322 T DE112014000322 T DE 112014000322T DE 112014000322 B4 DE112014000322 B4 DE 112014000322B4
Authority
DE
Germany
Prior art keywords
data
congestion
destination
network
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112014000322.0T
Other languages
English (en)
Other versions
DE112014000322T5 (de
Inventor
Fabrizio Petrini
Casimer DeCusatis
Rajaram Krishnamurthy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112014000322T5 publication Critical patent/DE112014000322T5/de
Application granted granted Critical
Publication of DE112014000322B4 publication Critical patent/DE112014000322B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/21Flow control; Congestion control using leaky-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das Verfahren aufweisend:Überwachen von Datenpaketen und Datenanfragen, die an einer Vermittlungseinheit über eine oder mehrere Verbindungen in dem Netzwerk empfangen werden;beruhend auf der Überwachung, Festellen eines Überlastungszustands an der Vermittlungseinheit;Feststellen an der Vermittlungseinheit, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt, wobei das Feststellen ein Untersuchen einer Mehrzahl von Flags in einem Kopfinformationsfeld eines dem Datenfluss zugehörigen Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet, wobei die Mehrzahl von Flags ein Vorwärtsüberlastungs-Flag umfasst, welches, wenn es gesetzt ist, anzeigt, dass eine Datenquelle für den Datenfluss Daten schneller sendet, als die Vermittlungseinheit die Daten verarbeiten kann, und ein Rückwärtsüberlastungs-Flag, welches, wenn es gestzt ist, anzeigt, dass ein Datenziel für den Datenfluss Datenanforderungen schneller sendet, als die Vermittlungseinheit die Datenanforderungen verarbeiten kann;beruhend darauf, dass das Vorwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Daten betrifft, die an der Vermittlungseinheit mit einer ersten Geschwindigkeit von einer Quelle empfangen werden, Übertragen einer ersten Nachricht von der Vermittlungseinheit an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist; undberuhend darauf, dass das Rückwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Datenanfragen betrifft, die an der Vermittlungseinheit mit einer dritten Geschwindigkeit von einem Ziel empfangen werden, Übertragen einer zweiten Nachricht von der Vermittlungseinheit an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist.

Description

  • TECHNISCHES ANWENDUNGSGEBIET
  • Die vorliegende Erfindung betrifft Computernetzwerke und konkret eine skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk.
  • HINTERGRUND
  • Ethernet-Netzwerke werden üblicherweise in lokalen Netzwerken (LANs) eingesetzt, die eine Vielzahl von Netzwerkvermittlungseinheiten beinhalten. Es wurden mehrere Datenübertragungsprotokolle zum Verbessern der Ethernet-Netzwerk-Leistungsfähigkeit für verschiedene Umgebungen entwickelt, die sich fortwährend weiterentwickeln. Eine Verbesserung von Ethernet, Data Center Bridging (DCB), Converged Enhanced Ethernet (CEE) oder Data Center Ethernet (DCE) genannt, unterstützt die Konvergenz von LANs und Speichernetzwerken (SANs, Storage Area Networks). Zu anderen Protokollen, die in Verbindung mit Ethernet in einer Rechenzentrumsumgebung verwendet werden können, gehören zum Beispiel Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote direct memory access Protocol (iWARP, ein Direktspeicherzugriff-Protokoll über das Internet), Remote direct memory access over Converged Ethernet (RoCE, Direktspeicherzugriff über Ethernet).
  • In OpenFlow-Netzwerkumgebungen sind Vermittlungseinheiten über sichere Verbindungen mit entsprechenden Steuereinheiten verbunden, um die Konfiguration der Vermittlungseinheiten und die Leitwegzuordnung zu steuern. Derartige Steuereinheiten stellen eine derartige Steuerung üblicherweise über die sichere Verbindung gesendete Datenpakete bereit, die höhere Grade an Datensicherheit als herkömmliche Ethernet-Fabrics erreichen.
  • Wenn Datenpakete von einer Vermittlungseinheit durch einen festgelegten Anschluss weitergeleitet werden, werden die Pakete üblicherweise in einen Vermittlungseinheitspuffer eingereiht, wenn es ein Ungleichgewicht zwischen eingehenden und ausgehenden Paketdurchsatzraten gibt. Netzwerküberlastung ist ein Problem, das auftritt, wenn die Vermittlungseinheit so viele Daten überträgt, dass Puffer-Warteschlangen-Einträge erschöpft oder Puffer zu einem gewissen Pegel im Verhältnis zu der Puffergröße gefüllt sind. Eine derartige Überlastung führt zu einer Verringerung der Dienstgüte, was dazu führt, dass Pakete fallengelassen werden oder das Einreihen und/oder Übertragen von Paketen verzögert wird.
  • Aus dem Stand der Technik offenbart US 6 208 619 B1 ein Verfahren und ein System zum Steuern eines Paketdatenflusses, wobei im Überlastungsfall ein Puffer zum Absorbieren einer Bandbreitendifferenz zwischen einer Upstream- und einer Downstream-Verbindung bereitgestellt wird, wobei aus der Downstream-Verbindung erste Lastdaten empfangen werden, wobei eine Übertragungsrate zu der Downstream-Verbindung gemäß den ersten Lastdaten gesteuert wird, und wobei basierend auf den ersten Lastdaten und einer freien Kapazität des Puffers zweite Lastdaten erzeugt und an die Upstream-Verbindung gesendet werden.
  • Des Weiteren offenbart US 7 978 607 B1 ein Netzwerkgerät, das zum Identifizieren einer Überlastung hervorrufenden Datenquelle konfiguriert ist, wobei die Identifikation auf von dem Netzwerkgerät gespeicherten Informationen basiert, welche eine Menge von Datenquellen identifizieren, sowie auf Informationen, welche den Nutzungsgrad einer Ressource des Netzwerkgeräts identifizieren, welche dieses zum Verarbeiten von Daten verwendet, die von der Datenquelle empfangen wurden.
  • KURZDARSTELLUNG
  • Aspekte der vorliegenden Erfindung beinhalten ein Verfahren, ein Computerprogrammprodukt und ein System zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, die das Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk beinhaltet. Es wird festgestellt, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt. Beruhend darauf, dass der Überlastungszustand mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft, wird von der Vermittlungseinheit eine erste Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist. Beruhend darauf, dass der Überlastungszustand mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft, wird von der Vermittlungseinheit eine zweite Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist.
  • Zusätzliche Eigenschaften und Vorteile werden durch die hierin beschriebenen Ausführungsformen verwirklicht. Andere Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und sind als Teil der beanspruchten Erfindung anzusehen. Ein besseres Verständnis der Erfindung mit den Vorteilen und Eigenschaften ergibt sich aus der Beschreibung und den Zeichnungen.
  • Figurenliste
  • Eine bzw. mehrere Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
    • 1 ein Blockschaubild eines ein Netzwerk mit OpenFlow-fähigen Vermittlungseinheiten beinhaltenden Systems zeigt, das gemäß einer Ausführungsform umgesetzt werden kann;
    • 2 ein Blockschaubild einer OpenFlow-fähigen Vermittlungseinheit gemäß einer Ausführungsform zeigt;
    • 3 ein Beispiel einer OpenFlow-Flussvermittlungsdefinition zeigt, die in Ausführungsformen verwendet werden kann; und
    • 4 einen Prozess zum Durchführen einer Überlastungsverwaltung an einer Vermittlungseinheit gemäß einer Ausführungsform zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen zielen auf das Bereitstellen einer skalierbaren Fluss- und Überlastungssteuerung an einer Vermittlungseinheit in einem Netzwerk ab. Eine Netzwerküberlastung kann auftreten, wenn ein Datenfluss (z.B. an einer Netzwerkvermittlungseinheit) von einer Quelle mit einer höheren Geschwindigkeit empfangen wird, als der Fluss ausgegeben oder weitergeleitet werden kann. In einer Ausführungsform, in der es sich bei dem Netzwerk um ein OpenFlow-Netzwerk handelt, werden, wenn Datenpakete von einer Vermittlungseinheit durch einen festgelegten Anschluss weitergeleitet werden, die Pakete üblicherweise in einen Vermittlungseinheitspuffer eingereiht, wenn es ein Ungleichgewicht zwischen eingehenden und ausgehenden Paketdurchsatzraten gibt. Das Netzwerk wird zum Problem, wenn die Vermittlungseinheit so viele Daten überträgt, dass Puffer-Warteschlangen-Einträge erschöpft oder Puffer zu einem gewissen Pegel im Verhältnis zu der Puffergröße gefüllt sind. Eine derartige Überlastung führt zu einer Verringerung der Dienstgüte, was dazu führt, dass Pakete fallengelassen werden oder das Einreihen und/oder Übertragen von Paketen verzögert wird.
  • In heutigen OpenFlow-Netzwerken wird die Fluss- und Überlastungssteuerung durch eine OpenFlow-Steuereinheit verwaltet, die mit sämtlichen Vermittlungseinheiten in dem Netzwerk verbunden ist. Dieser zentralisierte Ansatz der Fluss- und Überlastungssteuerung wird hierin beschriebenen Ausführungsformen gegenübergestellt, in denen die Fluss- und Überlastungssteuerung ganz oder teilweise durch eine OpenFlow-fähige Vermittlungseinheit (hierin auch als „OpenFlow-Vermittlungseinheit“ bezeichnet) verwaltet wird. In einer Ausführungsform sendet eine eine Überlastung erkennende OpenFlow-Vermittlungseinheit unabhängig von der OpenFlow-Steuereinheit Nachrichten an Quellen und/oder Ziele, die möglicherweise eine Überlastung an der Vermittlungseinheit verursachen. Das Abbauen einer Überlastung an einer Vermittlungseinheit kann zu weniger Überlastung in dem gesamten Netzwerk führen.
  • Unter Bezugnahme auf 1 wird nun ein Beispiel eines ein OpenFlow unterstützendes Netzwerk 101 (d.h. ein OpenFlow-Netzwerk) beinhaltenden Systems 100 ausführlicher beschrieben. In dem in 1 abgebildeten Beispiel handelt es sich bei dem System 100 um eine Rechenzentrumsumgebung, die eine Vielzahl von Servern 102 und Client-Systemen 104 beinhaltet, die so konfiguriert sind, dass sie über das Netzwerk 101 unter Verwendung von OpenFlow-fähigen Vermittlungseinheiten 106 Daten austauschen. In beispielhaften Ausführungsformen handelt es sich bei den Servern 102, die auch als Hosts oder Host-Systeme bezeichnet werden, um Hochgeschwindigkeits-Verarbeitungseinheiten (z.B. Mainframe-Computer, Desktop-Computer, Laptop-Computer, in der Hand gehaltene Einheiten, integrierte Datenverarbeitungseinheiten oder dergleichen), die zumindest einen Verarbeitungsschaltkreis (z.B. einen Computer-Prozessor/eine CPU) beinhalten, der in der Lage ist, Anweisungen zu lesen und auszuführen, und der Datenaustauschvorgänge mit verschiedenen Komponenten des Systems 100 abwickelt. Bei den Servern 102 kann es sich um Speichersystemserver handeln, die so konfiguriert sind, dass sie auf große Mengen an Daten zugreifen und diese auf einem oder mehreren Datenspeichersystemen 108 speichern.
  • Zu den Client-Systemen 104 kann eine Vielzahl von Desktop-, Laptop-, Universalcomputer-Einheiten, tragbaren Datenverarbeitungseinheiten und/oder vernetzten Einheiten mit Verarbeitungsschaltkreisen und Eingabe/Ausgabe- (E/A-) Schnittstellen wie zum Beispiel Tasten/Schaltflächen, ein berührungsempfindlicher Bildschirm, ein Audioeingang, eine Anzeigeeinheit und ein Audioausgang gehören. Die Client-Systeme 104 können direkt oder drahtlos über einen oder mehrere drahtlose Zugangspunkte 110 mit einer oder mehreren Vermittlungseinheiten 106 verbunden sein.
  • Die Datenspeichersysteme 108 beziehen sich auf jeden beliebigen Typ von durch einen Computer lesbarem Speichermedium und können ein oder mehrere Sekundärspeicherelemente, wie z.B. ein Festplattenlaufwerk (HDD), einen Halbleiterspeicher, ein Band oder ein Speicherteilsystem beinhalten, die sich innerhalb oder außerhalb des Servers 102 befinden. Zu Typen von Daten, die in den Datenspeichersystemen 108 gespeichert werden können, gehören zum Beispiel verschiedene Dateien und Datenbanken. Es kann mehrere von jedem der Server 102 genutzte Datenspeichersysteme 108 geben, die auf verschiedene Orte des Systems 100 verteilt sein können.
  • Das System 100 beinhaltet auch eine Netzwerksteuereinheit 112, bei der es sich um eine zentrale durch Software definierte Netzwerksteuereinheit handelt, die so konfiguriert ist, dass sie Leitwegzuordnungsentscheidungen innerhalb des Netzwerks 101 trifft. Die Netzwerksteuereinheit 112 stellt eine oder mehrere sichere Verbindungen 103 her, um die Vermittlungseinheiten 106 zu konfigurieren und Datenübertragungseigenschaften der Verbindungen 105 zwischen den Vermittlungseinheiten 106 herzustellen. Die Netzwerksteuereinheit 112 kann die Vermittlungseinheiten 106 so konfigurieren, dass diese Paketleitwege für Datenflüsse zwischen den Servern 102 und den Client-Systemen 104 sowie einer oder mehreren Firewalls 114 und einer oder mehreren Einrichtungen für den Lastausgleich 116 steuern. Die eine oder mehreren Firewalls 114 schränken den Zugriff auf und den Fluss von Netzwerkverkehr zwischen dem Netzwerk 101 und einem oder mehreren externen Netzwerken 118 ein. Die einen oder mehreren Einrichtungen für den Lastausgleich 116 können Arbeitslasten auf mehrere Computer wie zum Beispiel zwischen den Servern 102 verteilen.
  • Die Server 102, die Client-Systeme 104 und die Netzwerksteuereinheit 112 können verschiedene nach dem Stand der Technik bekannte Computer/Datenübertragungs-Hardware- und -Software-Technologien beinhalten, wie zum Beispiel eine oder mehrere Verarbeitungseinheiten oder Schaltkreise, flüchtigen und nichtflüchtigen Speicher, darunter austauschbare Medien, Stromversorgungen, Netzwerkschnittstellen, Unterstützungsschaltungen, Betriebssysteme und dergleichen. Obwohl die Netzwerksteuereinheit 112 als separate Komponente abgebildet ist, wird darauf hingewiesen, dass die Netzwerkkonfigurationsfunktionalität alternativ in einem oder mehreren der Server 102 oder der Client-Systeme 104 in einem eigenständigen oder verteilten Format umgesetzt werden kann.
  • Das Netzwerk 101 kann eine Kombination aus drahtlosen, drahtgebundenen und/oder Lichtwellenleiter-Verbindungen beinhalten. Das wie in 1 gezeigte Netzwerk 101 stellt für Erläuterungszwecke ein vereinfachtes Beispiel dar. Ausführungsformen des Netzwerks 101 können zahlreiche Vermittlungseinheiten 106 (z.B. hunderte) mit dutzenden Anschlüssen und Verbindungen pro Vermittlungseinheit 106 beinhalten. Das Netzwerk 101 kann eine Vielfalt von bekannten Datenübertragungsstandards unterstützen, die es gestatten, dass Daten zwischen den Servern 102, den Client-Systemen 104, den Vermittlungseinheiten 106, der Netzwerksteuereinheit 112, der/den Firewall(s) 114 und der/den Einrichtung(en) für den Lastausgleich 116 übertragen werden. Datenübertragungsprotokolle sind üblicherweise in einer oder mehreren Schichten umgesetzt, wie zum Beispiel einer physikalischen Schicht (Schicht 1), einer Sicherungsschicht (Schicht 2), einer Netzwerkschicht (Schicht 3), einer Transportschicht (Schicht 4) und einer Anwendungsschicht (Schicht 5). In beispielhaften Ausführungsformen unterstützt das Netzwerk 101 OpenFlow als Schicht-2-Protokoll. Bei den Vermittlungseinheiten 106 kann es sich um zweckbestimmte OpenFlow-Vermittlungseinheiten oder OpenFlow-fähige Universalvermittlungseinheiten handeln, die auch Schicht-2- und Schicht-3-Ethernet unterstützen
  • 2 zeigt ein Blockschaubild der Vermittlungseinheit 106 aus 1, die OpenFlow unterstützt. Die Vermittlungseinheit 106 beinhaltet eine Vermittlungseinheitslogik 202, eine Überlastungsbenachrichtigungslogik 218, einen sicheren Kanal 204, eine Protokollunterstützung 205, eine Flusstabelle 206, Puffer 208a - 208n, die verschiedene Warteschlangen 209a - 209n beinhalten, und Anschlüsse 210a-210n. Die Vermittlungseinheit 106 beinhaltet verschiedene Zähler oder Zeitgeber 211 wie zum Beispiel den Warteschlangen 209a - 209n, der Flusstabelle 206 und/oder den Einträgen in der Flusstabelle zugehörige Zeitgeber. Die Vermittlungseinheitslogik 202 und die Überlastungsbenachrichtigungslogik 218 können in einem oder mehreren Verarbeitungsschaltkreisen umgesetzt sein, wobei ein durch einen Computer lesbares Speichermedium so konfiguriert ist, dass es Anweisungen für die Vermittlungseinheitslogik 202 sowie verschiedene Variablen und Konstanten zum Unterstützen des Betriebs der Vermittlungseinheit 106 speichert. Die Vermittlungseinheitslogik 202 leitet Pakete zwischen den Anschlüssen 210a - 210n als durch die Netzwerksteuereinheit 112 aus 1 definierte Flüsse weiter. Eine Ausführungsform der Überlastungsbenachrichtigungslogik 218, die in der Vermittlungseinheitslogik 202 beinhaltet sein kann, überwacht die Vermittlungseinheit 106 auf Überlastung und führt korrigierende Maßnahmen durch, wenn an der Vermittlungseinheit 106 eine Überlastung erkannt wird.
  • Der sichere Kanal 204 verbindet die Vermittlungseinheit 106 mit der Netzwerksteuereinheit 112 aus 1. Der sichere Kanal 204 gestattet es, dass Befehle und Pakete zwischen der Netzwerksteuereinheit 112 und der Vermittlungseinheit 106 über das OpenFlow-Protokoll übertragen werden. Der sichere Kanal 204 kann in Software als innerhalb der Vermittlungseinheit 106 gespeicherte ausführbare Anweisungen umgesetzt sein. Protokolldetails zum Erstellen einer Protokolldefinition für eine Umsetzung von OpenFlow- und anderen Protokollen können in der Protokollunterstützung 205 gespeichert werden. Bei der Protokollunterstützung 205 kann es sich um eine Software handeln, die ein oder mehrere unterstützte Protokollformate definiert. Die Protokollunterstützung 205 kann in einem durch einen Computer lesbaren Speichermedium wie zum Beispiel einem Flash-Speicher ausgeführt sein, das so konfiguriert ist, dass es Anweisungen zur Ausführung durch die Vermittlungseinheitslogik 202 speichert. Das Umsetzen der Protokollunterstützung 205 als Software ermöglicht Aktualisierungen in der Praxis für neue Versionen oder Abwandlungen von Protokollen und kann OpenFlow als Erweiterung für bestehende herkömmliche Leitwegrechner oder Vermittlungseinheiten bereitstellen.
  • Die Flusstabelle 206 definiert unterstützte Verbindungstypen, die bestimmten Adressen, virtuellen lokalen Netzwerken oder Vermittlungseinheitsanschlüssen zugehörig sind, und sie wird von der Vermittlungseinheit zum Verarbeiten von an der Vermittlungseinheit empfangenen Datenflüssen verwendet. Bei einem Datenfluss handelt es sich um eine Folge von Datenpaketen, die auf irgendeine Weise wie zum Beispiel nach Quelle und/oder Ziel gruppiert oder anderweitig durch ausgewählte Kriterien definiert sind. Jeder Datenfluss kann beruhend auf der Flusstabelle 206 einem Anschluss und einer zugehörigen Warteschlange zugeordnet werden. Ein Datenfluss ist zum Beispiel als sämtliche mit einem bestimmten Kopfinformationsformat übereinstimmende Pakete definiert.
  • Jeder Eintrag 211 in der Flusstabelle 206 kann eine oder mehrere Regeln 212, Aktionen 214 und Statistiken 216 beinhalten, die einem bestimmten Fluss zugehörig sind. Die Regeln 212 definieren jeden Fluss und können durch Paketköpfe bestimmt werden. Die Aktionen 214 definieren, wie Pakete verarbeitet werden. Die Statistiken 216 verfolgen Informationen wie zum Beispiel die Größe jedes Flusses (z.B. Anzahl von Bytes), die Anzahl von Paketen für jeden Fluss und die Zeit seit dem letzten übereinstimmenden Paket des Flusses oder die Verbindungszeit. Zu Beispielen für Aktionen gehören Anweisungen zum Weiterleiten von Paketen eines Flusses an einen oder mehrere konkrete Anschlüsse 210a - 210n (z.B. Unicast oder Multicast), das Kapseln und Weiterleiten von Paketen eines Flusses an die Netzwerksteuereinheit 112 aus 1 und das Fallenlassen von Paketen des Flusses. Einträge 211 in der Flusstabelle 206 können durch die Netzwerksteuereinheit 112 aus 1 über den sicheren Kanal 204 hinzugefügt und entfernt werden. Die Netzwerksteuereinheit 112 aus 1 kann die Einträge 211 in der Flusstabelle 206 im Voraus füllen. Außerdem kann die Vermittlungseinheit 106 beim Empfangen eines Flusses ohne einen entsprechenden Eintrag 211 in der Flusstabelle 206 das Erstellen eines Eintrags 211 von der Netzwerksteuereinheit 112 anfordern.
  • Die Puffer 208a - 208n stellen eine vorübergehende Speicherung in den Warteschlangen 209a - 209n für Flüsse bereit, wenn Pakete zwischen den Anschlüssen 210a - 210n gesendet werden. In einer verlustfreien Konfiguration speichern die Puffer 208a - 208n vorübergehend Pakete, bis die zugehörigen Anschlüsse 210a - 210n und Verbindungen 105 aus 1 verfügbar sind, anstatt Pakete fallenzulassen, wenn eine Netzwerküberlastung vorliegt. Jeder der Puffer 208a - 208n kann einem bestimmten Anschluss, Fluss oder Teilnetzwerk zugehörig sein. Jeder der Puffer 208a - 208n ist logisch getrennt, muss aber nicht physisch getrennt sein. Wenn einer der Puffer 208a - 208n voll ist, wirkt sich das entsprechend nicht negativ auf die Leistungsfähigkeit der anderen Puffer 208a - 208n innerhalb der Vermittlungseinheit 106 aus.
  • In einer OpenFlow-Vermittlungseinheit ist jeder Anschluss 210a - 210n zum Beispiel einer entsprechenden Warteschlange 209a - 209n zugeordnet. Wenn die Vermittlungseinheit 106 im Betrieb ein Paket empfängt, versucht die Vermittlungseinheit 106 das Paket abzugleichen, indem es Felder (als „Abgleichfelder“ bezeichnet) mit entsprechenden Feldern in Flusseinträgen jeder Flusstabelle 206 vergleicht. Zu beispielhaften Abgleichfeldern gehören Eingangsanschluss- und Metadatenfelder sowie Kopfinformationsfelder, wie die nachfolgend in Bezug auf 3 beschriebenen. In einer Ausführungsform beginnt das Abgleichen in der ersten Flusstabelle und kann mit zusätzlichen Flusstabellen fortgeführt werden.
  • Wenn keine Übereinstimmung gefunden wird, kann die Vermittlungseinheit 106 beruhend auf der Konfiguration der Vermittlungseinheit eine Aktion durchführen, z.B. kann das Paket an die Steuereinheit weitergeleitet oder fallengelassen werden. Wenn das Paket mit einem Flusseintrag in einer Flusstabelle übereinstimmt, wird der entsprechende Satz Anweisungen beruhend auf dem Flusseintrag wie zum Beispiel dem Aktionsfeld 214 ausgeführt. Wenn ein Paket zum Beispiel mit einem eine Ausgabeaktion beinhaltenden Flusseintrag übereinstimmt, wird das Paket an einen der in dem Flusseintrag festgelegten Anschlüsse 210a - 210n weitergeleitet.
  • In einer Ausführungsform beinhaltet das Weiterleiten des Pakets an einen Anschluss das Zuordnen von Paketen in einem Fluss zu einer dem Anschluss zugeordneten Warteschlange. Derartige Flüsse werden entsprechend der Konfiguration der Warteschlange behandelt (z.B. Mindestgeschwindigkeit).
  • 3 zeigt ein Beispiel einer OpenFlow-Flussvermittlungsdefinition 300, die in Ausführungsformen verwendet werden kann. Bei der OpenFlow-Flussvermittlungsdefinition 300 handelt es sich um einen Paketkopf, der den Fluss (hierin auch als „Datenfluss“ bezeichnet) definiert und mehrere Felder beinhaltet. In diesem Beispiel handelt es sich bei der Vermittlungsdefinition 300 um eine Flusskopfinformation, die bis zu elf Tupel oder Felder beinhaltet; je nach bestimmten Flüssen müssen jedoch nicht alle Tupel definiert werden. In dem Beispiel aus 3 beinhaltet die OpenFlow-Flussvermittlungsdefinition 300 Tupel zum Kennzeichnen eines Eingangsanschlusses 302, einer Ethernet-Zieladresse 304, einer Ethernet-Quelladresse 306, eines Ethernet-Typs 308, einer Priorität für ein virtuelles lokales Netzwerk (VLAN) 310, einer VLAN-Kennung 312, einer Internet-Protokoll- (IP-) Quelladresse 314, einer IP-Zieladresse 316, eines IP-Protokolls 318, eines Übertragungssteuerungsprotokoll- (TCP-) / User-Datagramm-Protokoll- (UDP) Quellanschlusses 320, eines TCP/UDP-Zielanschlusses 322, eines Vorwärtsüberlastungs-Flags 324 und eines Rückwärtsüberlastungs-Flags 326. Die Ethernet-Zieladresse 304 kann eine Schicht-2-Ethernet-Hardware-Adresse oder MAC-Adresse (media access control) darstellen, die bei dem existierenden Vermitteln und Leitwegzuordnen verwendet wird. Die IP-Zieladresse 316 kann eine Schicht-3-Ethernet-Hardware-Adresse darstellen, die bei dem existierenden Vermitteln und Leitwegzuordnen verwendet wird. Die Flussvermittlung kann für jede beliebige Kombination von Tupeln in der OpenFlow-Flussvermittlungsdefinition 300 definiert werden, wobei eine bestimmte Kombination aus Tupeln als Schlüssel dient. Flüsse können zum Beispiel in einer Regel 212 aus 2 durch genauen oder Platzhalter-Datenabgleich für zusammengefasste MAC-Teilnetze, IP-Teilnetze, Anschlüsse, VLAN-Kennungen und dergleichen definiert werden. In einer Ausführungsform wird das Vorwärtsüberlastungs-Flag 324 dazu verwendet, anzuzeigen, dass eine Datenquelle für einen dem Eintrag zugehörigen Datenfluss Daten schneller sendet, als die Vermittlungseinheit die Daten verarbeiten kann. In einer Ausführungsform wird das Rückwärtsüberlastungs-Flag 326 dazu verwendet, anzuzeigen, dass ein Datenanforderungsziel für den Datenfluss die Daten schneller anfordert, als die Vermittlungseinheit die Datenanforderungen verarbeiten kann.
  • 4 zeigt einen Prozess zum Durchführen einer Überlastungsverwaltung an einer Vermittlungseinheit in einem Netzwerk gemäß einer Ausführungsform. In einer Ausführungsform wird der in 4 gezeigte Prozess von der Überlastungsbenachrichtigungslogik 218 durchgeführt. In Block 402 wird ein Überlastungszustand an einer Vermittlungseinheit überwacht. In einer Ausführungsform wird das Überwachen durchgeführt, indem alle oder eine Teilmenge der Puffer 208a - 208n und/oder der Warteschlangen 209a - 209n, die sich in der Vermittlungseinheit befinden, untersucht werden. In einem OpenFlow-Netzwerk kann jeder Datenfluss zum Beispiel durch die Flusstabelle 206 einem zugehörigen Puffer oder einer zugehörigen Warteschlange zugeordnet werden. Wenn ein Datenpaket für einen Datenfluss an der Vermittlungseinheit empfangen wird, werden in einer Ausführungsform eine oder mehrere dem Datenfluss zugehörige Warteschlangen untersucht, um zu ermitteln, ob sie mehr als eine festgelegte Anzahl von Einträgen enthalten. Die festgelegte Anzahl von Einträgen kann in Form einer tatsächlichen Zahl und/oder in Form eines Prozentsatzes, zu dem die Warteschlange voll ist, ausgedrückt werden. Wenn festgestellt wird, dass die Warteschlange mehr als die festgelegte Anzahl von Einträgen aufweist, wird in der dem Datenfluss zugehörigen Kopfinformation entweder das Vorwärtsüberlastungs-Flag 324 oder das Rückwärtsüberlastungs-Flag 326 gesetzt (z.B. beruhend darauf, ob die Warteschlange Daten oder Datenanforderungen speichert). In einer anderen Ausführungsform werden alle oder eine Teilmenge der Warteschlangen 209a - 209n in regelmäßigen Abständen untersucht, und beruhend auf dem Feststellen, dass eine Warteschlange mehr als eine festgelegte Anzahl von Einträgen enthält (diese Zahl kann für verschiedene Warteschlangen unterschiedlich sein), wird ermittelt, welcher Datenfluss der Warteschlange zugehörig ist, und in dem Eintrag wird ein Flag (z.B. ein Vorwärtsüberlastungs-Flag 324, ein Rückwärtsüberlastungs-Flag 326) für den Datenfluss in der Flusstabelle 208 gesetzt.
  • In einer Ausführungsform handelt es sich bei der Vermittlungseinheit (z.B. einem Server, einem Client-System, einer Steuereinheit, einer anderen Vermittlungseinheit oder einer anderen mit dem Netzwerk verbundenen Komponente zugeordnet) um eine OpenFlow-Vermittlungseinheit und bei dem Netzwerk um ein OpenFlow-Netzwerk. In einer Ausführungsform können die Quell- und Ziel-Vermittlungseinheiten (z.B. einem Server, einem Client-System, einer Steuereinheit, einer anderen Vermittlungseinheit oder einer anderen mit dem Netzwerk verbundenen Komponente zugeordnet) OpenFlow-fähige Vermittlungseinheiten oder/und Nicht-OpenFlow-fähige Vermittlungseinheiten beinhalten.
  • Bei Block 404 wird festgestellt, dass es an der Vermittlungseinheit eine Überlastung gibt. In einer Ausführungsform wird dies durch Untersuchen der einem Datenfluss zugehörigen Flags (z.B. des Vorwärtsüberlastungs-Flags 324, des Rückwärtsüberlastungs-Flags 326) ermittelt. In einer Ausführungsform werden die Flags jedes Mal (oder jedes x-te Mal) untersucht, wenn ein Paket für den Datenfluss an der Vermittlungseinheit empfangen wird. In einer anderen Ausführungsform werden die Flags in regelmäßigen Abständen untersucht. In einer weiteren Ausführungsform wird eine Benachrichtigung gesendet, wenn die Flags gesetzt sind.
  • In Block 406 wird ermittelt, ob die Überlastung von einer Quelle empfangene Daten betrifft. In einer Ausführungsform betrifft die Überlastung von einer Quelle empfangene Daten, wenn das Vorwärtsüberlastungs-Flag 324 gesetzt ist.
  • Block 408 wird durchgeführt, wenn in Block 406 festgestellt wird, dass die Überlastung von einer Quelle empfangene Daten betrifft. Alternativ wird Block 410 durchgeführt, wenn in Block 406 festgestellt wird, dass die Überlastung nicht von einer Quelle empfangene Daten betrifft.
  • In Block 408 wird eine Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, die Datenübertragung an die Vermittlungseinheit zu verlangsamen. In einer Ausführungsform fährt die Vermittlungseinheit mit dem Überwachen des Überlastungszustands fort, sobald die Nachricht an die Quelle gesendet wurde. Wenn festgestellt wird, dass die Überlastung für den Datenfluss an der Vermittlungseinheit nicht länger vorhanden ist, wird eine Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, Daten mit einer höheren Geschwindigkeit zu senden (z.B. mit derselben wie die ursprüngliche Geschwindigkeit oder einer beliebigen anderen Geschwindigkeit). Die Verarbeitung wird dann in Block 410 fortgesetzt.
  • In Block 410 wird ermittelt, ob die Überlastung von einem Ziel empfangene Datenanforderungen betrifft. In einer Ausführungsform betrifft die Überlastung von einem Ziel empfangene Datenanforderungen, wenn das Rückwärtsüberlastungs-Flag 326 gesetzt ist.
  • Block 412 wird durchgeführt, wenn in Block 410 festgestellt wird, dass die Überlastung von einem Ziel empfangene Datenanforderungen betrifft. Alternativ fährt die Verarbeitung mit Block 402 fort, wenn in Block 410 festgestellt wird, dass die Überlastung nicht von einem Ziel empfangene Datenanforderungen betrifft.
  • In Block 412 wird eine Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, die Übertragung von Datenanforderungen an die Vermittlungseinheit zu verlangsamen. In einer Ausführungsform fährt die Vermittlungseinheit mit dem Überwachen des Überlastungszustands fort, sobald die Nachricht an das Ziel gesendet wurde. Wenn festgestellt wird, dass die Überlastung für den Datenfluss an der Vermittlungseinheit nicht länger vorhanden ist, wird eine Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, Datenanforderungen mit einer höheren Geschwindigkeit zu senden (z.B. mit derselben wie die ursprüngliche Geschwindigkeit oder einer beliebigen anderen Geschwindigkeit). Die Verarbeitung wird dann in Block 402 fortgesetzt.
  • In einer Ausführungsform werden eine oder mehrere der Nachrichten, die eine Quelle oder ein Ziel dazu auffordern, das Übertragen von Daten oder Datenpaketen zu verlangsamen (oder zu beschleunigen), in einen physischen Datenübertragungsblock (frame) eingefügt und über das Netzwerk an die Quelle (z.B. eine Vermittlungseinheit oder eine mit einer Vermittlungseinheit verbundene Komponente) gesendet. In einer Ausführungsform handelt es sich bei den physischen Datenübertragungsblöcken um FECN- (Forward Explicit Congestion Notification) oder BECN- (Backward Explicit Congestion Notification) Datenübertragungsblöcke. Da es sich bei FECN- und BECN-Datenübertragungsblöcken um Steuerungs-Datenübertragungsblöcke handelt, kann ihnen von dem Netzwerk und/oder an der empfangenden Vermittlungseinheit eine höhere Priorität eingeräumt werden, und sie können deshalb mit einer höheren Priorität als (z.B. frühere) Daten- oder Datenanforderungs- Datenübertragungsblöcke verarbeitet werden, woraus sich für diese Nachrichten eine geringere Latenzzeit ergibt. Die unterschiedlichen Prioritäten können in einem SDN umgesetzt werden, indem eine virtuelle Ebene für Daten und eine getrennte virtuelle Ebene für die Steuerung genutzt wird.
  • In einer Ausführungsform wird die das Überwachen und Setzen von Flags (z.B. Block 402) durchführende Logik unabhängig von der Logik ausgeführt, die ermittelt, ob Nachrichten zu senden sind, und die die Nachrichten sendet (z.B. Block 404 -412).
  • In einer Ausführungsform setzt die Überwachung ein Flag, das anzeigt, dass die Vermittlungseinheit eingehende Daten oder Anforderungen mit einer höheren Geschwindigkeit bewältigen kann (z.B. wenn sich die Warteschlange unter einem Schwellwert befindet). In diesem Fall kann die Vermittlungseinheit die Quelle und/oder das Ziel dazu auffordern, Daten mit einer höheren Geschwindigkeit als die aktuelle Geschwindigkeit zu senden.
  • Zu technischen Auswirkungen gehört die Fähigkeit des Umsetzens einer Flusssteuerung und einer Überlastungsverwaltung an einer Vermittlungseinheit in einem Netzwerk (z.B. einem OpenFlow-Netzwerk).
  • Der Fachmann wird verstehen, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Entsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, im Speicher befindliche Software, Mikrocode, usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hierin alle allgemein als „Schaltkreis“, „Modul“ oder „System“ bezeichnet sein können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines auf einem oder mehreren durch einen Computer lesbaren Medien enthaltenen Computerprogrammprodukts annehmen, die durch einen Computer lesbaren Programmcode enthalten.
  • Es kann jede Kombination aus einem oder mehreren durch einen Computer lesbaren Medien verwendet werden. Bei dem durch einen Computer lesbaren Medium kann es sich um ein durch einen Computer lesbares Signalmedium oder ein durch einen Computer lesbares Speichermedium handeln. Bei einem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu konkreteren Beispielen (eine nicht erschöpfende Liste) des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination daraus. In dem Kontext dieses Dokuments kann es sich bei einem durch einen Computer lesbaren Speichermedium um jedes beliebige physische und nichtflüchtige Medium handeln, das ein Programm enthalten bzw. speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen verwendet wird.
  • Ein durch einen Computer lesbares Signalmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem durch einen Computer lesbarem Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein derartiges weitergeleitetes Signal kann eine beliebige Form aus einer Vielfalt an Formen annehmen, darunter elektromagnetische, optische bzw. jede geeignete Kombination daraus, jedoch nicht darauf beschränkt. Bei einem durch einen Computer lesbaren Signalmedium kann es sich um ein beliebiges durch einen Computer lesbares Medium handeln, das kein durch einen Computer lesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten bzw. transportieren kann.
  • Auf einem durch einen Computer lesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter drahtlos, drahtgebunden, Lichtwellenleiter-Kabel, HF usw. oder jede geeignete Kombination daraus, jedoch nicht auf diese beschränkt.
  • Computerprogrammcode für das Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch Computerprogrammanweisungen ausgeführt werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen.
  • Diese Computerprogrammanweisungen können auch auf einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass die auf dem durch einen Computer lesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt herstellen, darunter Anweisungen, welche die/den in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebene(n) Funktion/Schritt umsetzen.
  • Die Computerprogrammanweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten geladen werden, um das Ausführen einer Folge von Prozessschritten auf dem Computer, der anderen programmierbaren Vorrichtung bzw. den anderen Einheiten zu veranlassen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Verfahren zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktionen/Schritte erzeugen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweist. Es sei auch angemerkt, dass in einigen alternativen Ausführungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden können. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw.
  • Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder durch Kombinationen aus Spezial-Hardware und Computeranweisungen.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird ferner darauf hingewiesen, dass die Begriffe „aufweisen“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Eigenschaften, ganzer Zahlen, Schritte, Operationen, Elementkomponenten und/oder Gruppen hiervon ausschließen.
  • Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plusfunction-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der beschriebenen Form. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und um es einem Fachmann zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte vorgesehene Verwendung geeignet sind, zu verstehen.
  • Die hierin abgebildeten Ablaufpläne stellen lediglich ein Beispiel dar. Es kann viele Abwandlungen dieses Ablaufplans bzw. der darin beschriebenen Schritte (oder Operationen) geben, ohne von dem Gedanken der Erfindung abzuweichen. Die Schritte können zum Beispiel in einer anderen Reihenfolge durchgeführt werden, oder es können Schritte hinzugefügt, gelöscht oder geändert werden. Alle dieser Abwandlungen werden als Teil der beanspruchten Erfindung angesehen.
  • Obwohl die bevorzugte Ausführungsform der Erfindung beschrieben wurde, wird darauf hingewiesen, dass der Fachmann sowohl heute als auch in der Zukunft verschiedene Verfeinerungen und Verbesserungen durchführen kann, die in den Umfang der nachfolgenden Ansprüche fallen. Diese Ansprüche sollten so aufgefasst werden, dass sie den geeigneten Schutz für die zuerst beschriebene Erfindung aufrechterhalten.

Claims (14)

  1. Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das Verfahren aufweisend: Überwachen von Datenpaketen und Datenanfragen, die an einer Vermittlungseinheit über eine oder mehrere Verbindungen in dem Netzwerk empfangen werden; beruhend auf der Überwachung, Festellen eines Überlastungszustands an der Vermittlungseinheit; Feststellen an der Vermittlungseinheit, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt, wobei das Feststellen ein Untersuchen einer Mehrzahl von Flags in einem Kopfinformationsfeld eines dem Datenfluss zugehörigen Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet, wobei die Mehrzahl von Flags ein Vorwärtsüberlastungs-Flag umfasst, welches, wenn es gesetzt ist, anzeigt, dass eine Datenquelle für den Datenfluss Daten schneller sendet, als die Vermittlungseinheit die Daten verarbeiten kann, und ein Rückwärtsüberlastungs-Flag, welches, wenn es gestzt ist, anzeigt, dass ein Datenziel für den Datenfluss Datenanforderungen schneller sendet, als die Vermittlungseinheit die Datenanforderungen verarbeiten kann; beruhend darauf, dass das Vorwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Daten betrifft, die an der Vermittlungseinheit mit einer ersten Geschwindigkeit von einer Quelle empfangen werden, Übertragen einer ersten Nachricht von der Vermittlungseinheit an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist; und beruhend darauf, dass das Rückwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Datenanfragen betrifft, die an der Vermittlungseinheit mit einer dritten Geschwindigkeit von einem Ziel empfangen werden, Übertragen einer zweiten Nachricht von der Vermittlungseinheit an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist.
  2. Verfahren nach Anspruch 1, ferner aufweisend: beruhend auf dem Übertragen der ersten Nachricht: Überwachen des Überlastungszustands an der Vermittlungseinheit in dem Netzwerk; und beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von der Quelle empfangene Daten betreffende Überlastung mehr gibt, Übertragen einer dritten Nachricht von der Vermittlungseinheit an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer fünften Geschwindigkeit zu senden, die höher als die zweite Geschwindigkeit ist.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, ferner aufweisend: beruhend auf dem Übertragen der zweiten Nachricht: Überwachen des Überlastungszustands an der Vermittlungseinheit in dem Netzwerk; und beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von dem Ziel empfangene Datenanforderungen betreffende Überlastung mehr gibt, Übertragen einer vierten Nachricht von der Vermittlungseinheit an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer sechsten Geschwindigkeit zu senden, die höher als die vierte Geschwindigkeit ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit und bei dem Netzwerk um ein OpenFlow-Netzwerk handelt.
  5. Verfahren nach Anspruch 4, wobei es sich bei der Quelle und dem Ziel um OpenFlow-Vermittlungseinheiten handelt.
  6. Verfahren nach Anspruch 1, wobei das Vorwärtsüberlastungs-Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Datenpakete speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenpakete betrifft.
  7. Verfahren nach Anspruch 1, wobei das Rückwärtsüberlastungs-Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die Datenanforderungen speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenanforderungen betrifft.
  8. Computerprogrammprodukt zur Überlastungsverwaltung in einem Netzwerk, wobei das Computerprogrammprodukt ein durch einen Verarbeitungsschaltkreis lesbares Speichermedium aufweist, auf dem Anweisungen zur Ausführung durch den Verarbeitungsschaltkreis zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche gespeichert sind.
  9. System zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das System aufweisend: eine Vermittlungseinheit, die so konfiguriert ist, dass sie sich mit dem Netzwerk verbinden kann, die Vermittlungseinheit aufweisend: einen Hauptspeicher mit durch einen Computer lesbaren Computeranweisungen; und einen Prozessor zum Ausführen der durch einen Computer lesbaren Anweisungen zum: Überwachen von Datenpaketen und Datenanfragen, die an der Vermittlungseinheit über eine oder mehrere Verbindungen in dem Netzwerk empfangen werden; beruhend auf der Überwachen, Feststellen eines Überlastungszustands an der Vermittlungseinheit; Feststellen, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt, wobei das Feststellen ein Untersuchen einer Mehrzahl von Flags in einem Kopfinformationsfeld eines dem Datenfluss zugehörigen Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet, wobei die Mehrzahl von Flags ein Vorwärtsüberlastungs-Flag umfasst, welches, wenn es gesetzt ist, anzeigt, dass eine Datenquelle für den Datenfluss Daten schneller sendet, als die Vermittlungseinheit die Daten verarbeiten kann, und ein Rückwärtsüberlastungs-Flag, welches, wenn es gestzt ist, anzeigt, dass ein Datenziel für den Datenfluss Datenanforderungen schneller sendet, als die Vermittlungseinheit die Datenanforderungen verarbeiten kann; Übertragen einer ersten Nachricht an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist, beruhend darauf, dass das Vorwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Daten betrifft, die an der Vermittlungseinheit mit einer ersten Geschwindigkeit von einer Quelle empfangen werden; und Übertragen einer zweiten Nachricht an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist, beruhend darauf, dass das Rückwärtsüberlastungs-Flag dort gesetzt wird, wo die Überlastung Datenanfragen betrifft, die an der Vermittlungseinheit mit einer dritten Geschwindigkeit von einem Ziel empfangen werden.
  10. System nach Anspruch 9, wobei die Anweisungen ferner beinhalten: beruhend auf dem Übertragen der ersten Nachricht: Überwachen des Überlastungszustands; und Übertragen einer dritten Nachricht an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer fünften Geschwindigkeit zu senden, die höher als die zweite Geschwindigkeit ist, beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von der Quelle empfangene Daten betreffende Überlastung mehr gibt.
  11. System nach Anspruch 9 oder Anspruch 10, wobei die Anweisungen ferner beinhalten: beruhend auf dem Übertragen der zweiten Nachricht: Überwachen des Überlastungszustands; und Übertragen einer vierten Nachricht an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer sechsten Geschwindigkeit zu senden, die höher als die vierte Geschwindigkeit ist, beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von dem Ziel empfangene Datenanforderungen betreffende Überlastung mehr gibt.
  12. System nach einem der Ansprüche 9 bis 11, wobei es sich bei der Vermittlungseinheit, der Quelle und dem Ziel um OpenFlow-Vermittlungseinheiten und bei dem Netzwerk um ein OpenFlow-Netzwerk handelt.
  13. System nach Anspruch 9, wobei das Vorwärtsüberlastungs-Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Datenpakete speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenpakete betrifft.
  14. System nach Anspruch 9, wobei das Rückwärtsüberlastungs-Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die Datenanforderungen speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenanforderungen betrifft.
DE112014000322.0T 2013-03-15 2014-03-05 Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk Active DE112014000322B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/833,952 2013-03-15
US13/833,952 US9444748B2 (en) 2013-03-15 2013-03-15 Scalable flow and congestion control with OpenFlow
PCT/IB2014/059459 WO2014141006A1 (en) 2013-03-15 2014-03-05 Scalable flow and congestion control in a network

Publications (2)

Publication Number Publication Date
DE112014000322T5 DE112014000322T5 (de) 2015-11-05
DE112014000322B4 true DE112014000322B4 (de) 2018-06-07

Family

ID=51526633

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014000322.0T Active DE112014000322B4 (de) 2013-03-15 2014-03-05 Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk

Country Status (6)

Country Link
US (2) US9444748B2 (de)
JP (1) JP6670109B2 (de)
CN (1) CN105027506B (de)
DE (1) DE112014000322B4 (de)
GB (1) GB2525832B (de)
WO (1) WO2014141006A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334B (zh) * 2013-01-11 2018-02-23 华为技术有限公司 网络异常通知方法和装置
US9497132B2 (en) 2013-04-23 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and system of implementing conversation-sensitive collection for a link aggregation group
US9654337B2 (en) 2013-04-23 2017-05-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system for supporting distributed relay control protocol (DRCP) operations upon communication failure
FR3015834A1 (fr) * 2013-12-20 2015-06-26 Orange Technique de signalisation d'une congestion dans un reseau de communication par paquets
US20150208276A1 (en) * 2014-01-20 2015-07-23 Vodafone Ip Licensing Limited Congestion detection
CN105703981B (zh) * 2014-11-28 2019-01-01 上海诺基亚贝尔股份有限公司 通过虚拟家庭网关提供游牧服务的方法
KR102284953B1 (ko) * 2016-01-13 2021-08-03 삼성전자 주식회사 소프트웨어 정의 네트워크 기반 이동통신 시스템에서 제어 메시지 전송 방법 및 장치
CN107332707B (zh) * 2017-07-25 2019-06-14 北京邮电大学 一种sdn网络测量数据的采集方法和装置
CN109729022B (zh) * 2017-10-30 2020-07-28 华为技术有限公司 一种基于软件定义网络的数据发送方法、装置及系统
CN109417514B (zh) * 2018-03-06 2022-07-22 华为技术有限公司 一种报文发送的方法、装置和存储设备
CN108494699B (zh) * 2018-03-30 2021-10-19 山东师范大学 一种具有中心控制节点的网络拥塞控制方法
CN109379163B (zh) * 2018-09-05 2021-11-23 新华三技术有限公司 一种报文转发速率控制方法及装置
CN110022245B (zh) * 2019-04-10 2020-05-29 苏州浪潮智能科技有限公司 一种调试方法、调试系统及存储介质
DE112020002497T5 (de) 2019-05-23 2022-04-28 Hewlett Packard Enterprise Development Lp System und verfahren zur dynamischen zuweisung von reduktionsmotoren
US11296987B2 (en) 2020-04-20 2022-04-05 Hewlett Packard Enterprise Development Lp Congestion management mechanism
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US11483228B2 (en) 2021-01-29 2022-10-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11405302B1 (en) 2021-03-11 2022-08-02 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using configurable test infrastructure
US11388081B1 (en) 2021-03-30 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for impairment testing using an impairment device
US11750522B2 (en) * 2021-04-19 2023-09-05 Avago Technologies International Sales Pte. Limited System and method for reducing congestion in a network
CN114157604A (zh) * 2021-12-01 2022-03-08 锐捷网络股份有限公司 一种调节交换网板拥塞的方法、装置及系统
US11729087B2 (en) 2021-12-03 2023-08-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208619B1 (en) 1997-03-27 2001-03-27 Kabushiki Kaisha Toshiba Packet data flow control method and device
US7978607B1 (en) 2008-08-29 2011-07-12 Brocade Communications Systems, Inc. Source-based congestion detection and control

Family Cites Families (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187230B2 (ja) * 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
JP2639335B2 (ja) * 1993-12-22 1997-08-13 日本電気株式会社 Atm網における輻輳制御方式
JP3433864B2 (ja) * 1995-06-16 2003-08-04 富士通株式会社 送出スループット制御装置
JPH09168032A (ja) * 1995-12-15 1997-06-24 Furukawa Electric Co Ltd:The 通信ネットワーク間接続方法
JP3686493B2 (ja) 1996-03-07 2005-08-24 富士通株式会社 Atm交換機におけるフィードバック制御方法および装置
US5905711A (en) * 1996-03-28 1999-05-18 Lucent Technologies Inc. Method and apparatus for controlling data transfer rates using marking threshold in asynchronous transfer mode networks
GB2313268A (en) 1996-05-17 1997-11-19 Motorola Ltd Transmitting data with error correction
US6504821B2 (en) 1996-06-12 2003-01-07 At&T Corp. Flexible bandwidth negotiation for the block transfer of data
US5966546A (en) * 1996-09-12 1999-10-12 Cabletron Systems, Inc. Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node
US6356944B1 (en) 1997-03-31 2002-03-12 Compaq Information Technologies Group, L.P. System and method for increasing write performance in a fibre channel environment
US6404739B1 (en) 1997-04-30 2002-06-11 Sony Corporation Transmitter and transmitting method, receiver and receiving method, and transceiver and transmitting/receiving method
ATE218778T1 (de) 1997-12-12 2002-06-15 3Com Corp Ein vorwärtsfehlerkorrektionssystem für packetbasierte echtzeitmedien
US6570876B1 (en) 1998-04-01 2003-05-27 Hitachi, Ltd. Packet switch and switching method for switching variable length packets
FR2782218B1 (fr) 1998-08-06 2002-05-17 Alsthom Cge Alkatel Routage des appels avec debordements dans un reseau prive
JP3725424B2 (ja) * 1998-08-31 2005-12-14 富士通株式会社 サービス割り当て装置
US6795399B1 (en) 1998-11-24 2004-09-21 Lucent Technologies Inc. Link capacity computation methods and apparatus for designing IP networks with performance guarantees
US6504818B1 (en) 1998-12-03 2003-01-07 At&T Corp. Fair share egress queuing scheme for data networks
US6529301B1 (en) 1999-07-29 2003-03-04 Nortel Networks Limited Optical switch and protocols for use therewith
US6990606B2 (en) 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6975592B1 (en) * 2000-11-22 2005-12-13 Nortel Networks Limited Configurable rule-engine for layer-7 and traffic characteristic-based classification
US6947380B1 (en) 2000-12-01 2005-09-20 Cisco Technology, Inc. Guaranteed bandwidth mechanism for a terabit multiservice switch
US7072297B2 (en) 2001-04-30 2006-07-04 Networks Physics, Inc. Method for dynamical identification of network congestion characteristics
US8160020B2 (en) * 2001-06-25 2012-04-17 Airvana Network Solutions, Inc. Radio network control
US7305492B2 (en) 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7171124B2 (en) 2001-07-19 2007-01-30 Lucent Technologies Inc. Wavelength routing and switching mechanism for a photonic transport network
US6922791B2 (en) 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
ATE448661T1 (de) 2001-12-13 2009-11-15 Sony Deutschland Gmbh Adaptive dienstqualitätsreservierung mit vorheriger ressourcenzuweisung für mobilfunksysteme
US7187652B2 (en) 2001-12-26 2007-03-06 Tropic Networks Inc. Multi-constraint routing system and method
US7408876B1 (en) * 2002-07-02 2008-08-05 Extreme Networks Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US7024580B2 (en) 2002-11-15 2006-04-04 Microsoft Corporation Markov model of availability for clustered systems
US8161145B2 (en) 2003-02-27 2012-04-17 International Business Machines Corporation Method for managing of denial of service attacks using bandwidth allocation technology
KR100735408B1 (ko) * 2003-03-10 2007-07-04 삼성전자주식회사 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
US7746816B2 (en) 2003-03-13 2010-06-29 Qualcomm Incorporated Method and system for a power control in a communication system
US7336605B2 (en) 2003-05-13 2008-02-26 Corrigent Systems, Inc. Bandwidth allocation for link aggregation
US7234073B1 (en) 2003-09-30 2007-06-19 Emc Corporation System and methods for failover management of manageable entity agents
JP4556592B2 (ja) * 2003-10-02 2010-10-06 パナソニック株式会社 ルータ選択方法及びルータ装置
WO2005106546A2 (en) 2004-04-15 2005-11-10 Infinera Corporation COOLERLESS AND FLOATING WAVELENGTH GRID PHOTONIC INTEGRATED CIRCUITS (PICs) FOR WDM TRANSMISSION NETWORKS
US8081566B1 (en) * 2004-04-19 2011-12-20 Rockstar BIDCO, LLP Method and apparatus for indicating congestion in a source routed network
US7460468B2 (en) 2004-04-22 2008-12-02 At&T Intellectual Property I, L.P. Method and system for automatically tracking the rerouting of logical circuit data in a data network
JP4353005B2 (ja) 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US20060209695A1 (en) 2005-03-15 2006-09-21 Archer Shafford R Jr Load balancing in a distributed telecommunications platform
DE102004057496B4 (de) 2004-11-29 2006-08-24 Siemens Ag Verfahren und Vorrichtung zur automatischen Neueinstellung von Grenzen für Zugangskontrollen zur Beschränkung des Verkehrs in einem Kommunikationsnetz
US7626926B2 (en) * 2004-12-09 2009-12-01 Airvana, Inc. Traffic management in a wireless data network
US20060187874A1 (en) * 2005-02-24 2006-08-24 Interdigital Technology Corporation Method and apparatus for supporting data flow control in a wireless mesh network
US9185036B2 (en) 2005-03-23 2015-11-10 Alcatel Lucent Method and apparatus for flow control of data in a network
US7961621B2 (en) 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US7877485B2 (en) 2005-12-02 2011-01-25 International Business Machines Corporation Maintaining session states within virtual machine environments
KR100757872B1 (ko) * 2006-02-06 2007-09-11 삼성전자주식회사 네트워크에서의 혼잡 발생 예고 시스템 및 방법
US20070204266A1 (en) 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US8042108B2 (en) 2006-03-18 2011-10-18 International Business Machines Corporation Virtual machine migration between servers
US7496579B2 (en) 2006-03-30 2009-02-24 International Business Machines Corporation Transitioning of database service responsibility responsive to server failure in a partially clustered computing environment
GB2448851B (en) * 2006-04-05 2011-01-05 Xyratex Tech Ltd A method for congestion management of a network, a switch, and a network
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8369821B2 (en) 2006-09-08 2013-02-05 Logicmark, Llc List-based emergency calling device
US20080137669A1 (en) 2006-12-12 2008-06-12 Nokia Corporation Network of nodes
EP1936880A1 (de) * 2006-12-18 2008-06-25 British Telecommunications Public Limited Company Verfahren und System zur Staumarkierung
US8176181B2 (en) 2007-02-06 2012-05-08 Entropic Communications, Inc. Layer-2 management entity messaging framework in a network
US8116200B2 (en) 2007-03-16 2012-02-14 Cisco Technology, Inc. Source routing approach for network performance and availability measurement of specific paths
US20080298248A1 (en) 2007-05-28 2008-12-04 Guenter Roeck Method and Apparatus For Computer Network Bandwidth Control and Congestion Management
US8121038B2 (en) 2007-08-21 2012-02-21 Cisco Technology, Inc. Backward congestion notification
ATE556509T1 (de) 2007-08-22 2012-05-15 Ericsson Telefon Ab L M Verfahren und vorrichtungen zur datenübertragungssteuerung
US20100214970A1 (en) 2007-09-28 2010-08-26 Nec Europe Ltd Method and system for transmitting data packets from a source to multiple receivers via a network
US7996510B2 (en) * 2007-09-28 2011-08-09 Intel Corporation Virtual clustering for scalable network control and management
US8191063B2 (en) 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
EP2204017B1 (de) 2007-11-01 2012-05-16 Telefonaktiebolaget L M Ericsson (publ) Effiziente flusssteuerung in einem rnc
US7773519B2 (en) 2008-01-10 2010-08-10 Nuova Systems, Inc. Method and system to manage network traffic congestion
US7876751B2 (en) 2008-02-21 2011-01-25 International Business Machines Corporation Reliable link layer packet retry
GB2461244A (en) 2008-02-29 2009-12-30 Francis P Kelly Network congestion control with feedback to adjust flow rates of source nodes.
US7843817B2 (en) 2008-03-11 2010-11-30 Cisco Technology, Inc. Congestion control in wireless mesh networks
CN101534519B (zh) 2008-03-14 2014-03-12 摩托罗拉移动公司 显示无线通信网络的分组交换拥塞状态的方法
US7949893B1 (en) 2008-04-30 2011-05-24 Netapp, Inc. Virtual user interface failover
GB2461132B (en) 2008-06-27 2013-02-13 Gnodal Ltd Method of data delivery across a network
US8045463B2 (en) 2008-07-30 2011-10-25 Microsoft Corporation Path estimation in a wireless mesh network
US8102781B2 (en) 2008-07-31 2012-01-24 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network
ES2332397B1 (es) 2008-08-01 2011-02-09 Telefonica, S.A. Punto de acceso que envia informacion de posicionamiento geografico del punto de acceso a terminales moviles y terminal movil que recibe dicha informacion y que estima su posicion basado en ella.
US20100070722A1 (en) 2008-09-16 2010-03-18 Toshio Otani Method and apparatus for storage migration
JP5232602B2 (ja) 2008-10-30 2013-07-10 株式会社日立製作所 ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
JP4648447B2 (ja) 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
JP4727714B2 (ja) 2008-12-05 2011-07-20 株式会社日立製作所 サーバのフェイルオーバの制御方法及び装置、並びに計算機システム群
US8897139B2 (en) * 2008-12-05 2014-11-25 Hewlett-Packard Development Company, L.P. Packet processing indication
EP2200229B1 (de) 2008-12-18 2012-03-07 Alcatel Lucent Verfahren und Vorrichtung zur Lieferung fehlerkritischen Verkehrs über ein Paketvermittlungsnetzwerk
US8285900B2 (en) * 2009-02-17 2012-10-09 The Board Of Regents Of The University Of Texas System Method and apparatus for congestion-aware routing in a computer interconnection network
WO2010107350A1 (en) 2009-03-20 2010-09-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for automatic tuning in wdm-pon
WO2010126048A1 (ja) 2009-04-28 2010-11-04 日本電気株式会社 計算機システムにおける仮想装置の高速移動システム及び管理装置並びにその方法及びそのプログラム
US8429287B2 (en) * 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
US8477597B2 (en) 2009-05-27 2013-07-02 Yin Zhang Method and system for resilient routing reconfiguration
US8774411B2 (en) 2009-05-29 2014-07-08 Alcatel Lucent Session key generation and distribution with multiple security associations per protocol instance
US8238234B2 (en) 2009-06-03 2012-08-07 Qualcomm Incorporated Switching between MIMO and receiver beam forming in a peer-to-peer network
US8385231B2 (en) 2009-07-30 2013-02-26 Roberto Rojas-Cessa Disseminating link state information to nodes of a network
US20110031082A1 (en) 2009-08-06 2011-02-10 Chen-Lung Chi Wheeled luggage device with brake
KR101358795B1 (ko) 2009-08-13 2014-02-06 뉴저지 인스티튜트 오브 테크놀로지 상이한 동조 시간들을 가지는 가변 레이저들을 구비한 wdm pon 스케줄링
CN101997644A (zh) 2009-08-24 2011-03-30 华为技术有限公司 速率调整方法、系统、编码方式选择方法和装置
JP5403061B2 (ja) 2009-09-24 2014-01-29 日本電気株式会社 仮想サーバ間通信識別システム、及び仮想サーバ間通信識別方法
JP5446040B2 (ja) 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
JPWO2011040511A1 (ja) * 2009-09-30 2013-02-28 日本電気株式会社 課金処理システム、ネットワークスイッチ、ネットワーク管理サーバ、課金処理方法、及び課金処理プログラム
US8724470B2 (en) * 2009-10-01 2014-05-13 Lg Electronics Inc. Method of controlling data flow in wireless communication system
US8780721B2 (en) * 2009-10-06 2014-07-15 Nec Corporation Network system, controller, method, and program
US20110085444A1 (en) 2009-10-13 2011-04-14 Brocade Communications Systems, Inc. Flow autodetermination
JPWO2011049135A1 (ja) 2009-10-23 2013-03-14 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
CN102640464A (zh) 2009-11-26 2012-08-15 日本电气株式会社 负载分配系统、负载分配方法及程序
US20110299389A1 (en) 2009-12-04 2011-12-08 Telcordia Technologies, Inc. Real Time Monitoring, Onset Detection And Control Of Congestive Phase-Transitions in Communication Networks
US20110137772A1 (en) 2009-12-07 2011-06-09 At&T Mobility Ii Llc Devices, Systems and Methods for SLA-Based Billing
US9054832B2 (en) 2009-12-08 2015-06-09 Treq Labs, Inc. Management, monitoring and performance optimization of optical networks
US8270831B2 (en) 2009-12-11 2012-09-18 Cisco Technology, Inc. Use of pre-validated paths in a WDM network
WO2011074630A1 (ja) 2009-12-17 2011-06-23 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
EP2521308B1 (de) 2009-12-28 2016-08-24 Nec Corporation Kommunikationssystem und verfahren zur erfassung von portinformationen dafür
JP5637148B2 (ja) 2010-01-05 2014-12-10 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
JP5664557B2 (ja) * 2010-01-14 2015-02-04 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム
US8429651B2 (en) 2010-01-20 2013-04-23 International Business Machines Corporation Enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks
JP5521614B2 (ja) 2010-02-15 2014-06-18 日本電気株式会社 ネットワークシステム、及びパケット投機転送方法
WO2011118575A1 (ja) 2010-03-24 2011-09-29 日本電気株式会社 通信システム、制御装置およびトラヒック監視方法
US8538327B2 (en) 2010-04-15 2013-09-17 Alcatel Lucent User equipment adjustment of uplink satellite communications
DE102010017935A1 (de) 2010-04-22 2011-10-27 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Stabilisierung eines Strombezuges
US20110261696A1 (en) 2010-04-22 2011-10-27 International Business Machines Corporation Network data congestion management probe system
US8537846B2 (en) 2010-04-27 2013-09-17 Hewlett-Packard Development Company, L.P. Dynamic priority queue level assignment for a network flow
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US8503307B2 (en) 2010-05-10 2013-08-06 Hewlett-Packard Development Company, L.P. Distributing decision making in a centralized flow routing system
WO2011144495A1 (en) 2010-05-19 2011-11-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for use in an openflow network
US8224957B2 (en) 2010-05-20 2012-07-17 International Business Machines Corporation Migrating virtual machines among networked servers upon detection of degrading network link operation
US8559332B2 (en) 2010-05-25 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Method for enhancing table lookups with exact and wildcards matching for parallel environments
US9535762B2 (en) * 2010-05-28 2017-01-03 At&T Intellectual Property I, L.P. Methods to improve overload protection for a home subscriber server (HSS)
JP5783469B2 (ja) 2010-06-07 2015-09-24 日本電気株式会社 輻輳制御システム、輻輳制御方法、及び通信装置
KR101898896B1 (ko) 2010-06-11 2018-09-14 마벨 월드 트레이드 리미티드 채널 대역폭 결정 방법 및 장치
US8995836B2 (en) 2010-07-13 2015-03-31 Futurewei Technologies, Inc. Passive optical network with adaptive filters for upstream transmission management
US8456984B2 (en) 2010-07-19 2013-06-04 Ciena Corporation Virtualized shared protection capacity
WO2012011467A1 (ja) * 2010-07-20 2012-01-26 シャープ株式会社 データ配信システム、データ配信方法、配信側データ中継装置、及び受信側データ中継装置
JP2012049674A (ja) * 2010-08-25 2012-03-08 Nec Corp 通信装置、通信システム、通信方法、および通信プログラム
CN103081415B (zh) * 2010-09-03 2016-11-02 日本电气株式会社 控制装置、通信系统、通信方法和其上记录有通信程序的记录介质
US8929218B2 (en) 2010-09-10 2015-01-06 Brocade Communication Systems, Inc. Congestion notification across multiple layer-2 domains
RU2576480C2 (ru) 2010-10-28 2016-03-10 Нек Корпорейшн Сетевая система и способ управления трафиком связи
US8842536B2 (en) 2010-12-23 2014-09-23 Brocade Communications Systems, Inc. Ingress rate limiting
JP5538257B2 (ja) 2011-02-02 2014-07-02 アラクサラネットワークス株式会社 帯域監視装置、及びパケット中継装置
US8467294B2 (en) * 2011-02-11 2013-06-18 Cisco Technology, Inc. Dynamic load balancing for port groups
CN103444132B (zh) * 2011-03-18 2016-06-01 日本电气株式会社 网络系统及其交换方法
US8429282B1 (en) * 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
WO2012126488A1 (en) * 2011-03-24 2012-09-27 Nec Europe Ltd. Method for operating a flow-based switching system and switching system
WO2012130264A1 (en) * 2011-03-29 2012-10-04 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
EP2693708B1 (de) 2011-03-29 2019-09-04 Nec Corporation Netzwerksystem und verfahren zur erfassung von vlan-tag-informationen
US9590922B2 (en) 2011-05-12 2017-03-07 Microsoft Technology Licensing, Llc Programmable and high performance switch for data center networks
US8923294B2 (en) * 2011-06-28 2014-12-30 Polytechnic Institute Of New York University Dynamically provisioning middleboxes
US8964563B2 (en) 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
CN102291389A (zh) 2011-07-14 2011-12-21 南京邮电大学 一种卫星网络中跨层拥塞控制方法
JP5710418B2 (ja) * 2011-08-08 2015-04-30 アラクサラネットワークス株式会社 パケット中継装置、及び方法
US8762501B2 (en) * 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
JP5915454B2 (ja) * 2011-09-01 2016-05-11 富士通株式会社 ネットワークシステム
US8630307B2 (en) 2011-09-13 2014-01-14 Qualcomm Incorporated Methods and apparatus for traffic contention resource allocation
JP5937806B2 (ja) * 2011-11-10 2016-06-22 株式会社Nttドコモ 移動通信方法、ポリシー及び課金ルールサーバ装置及び移動管理ノード
US8953453B1 (en) * 2011-12-15 2015-02-10 Amazon Technologies, Inc. System and method for throttling service requests using work-based tokens
US8971338B2 (en) * 2012-01-09 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Expanding network functionalities for openflow based split-architecture networks
US8868735B2 (en) 2012-02-02 2014-10-21 Cisco Technology, Inc. Wide area network optimization
US8862744B2 (en) 2012-02-14 2014-10-14 Telefonaktiebolaget L M Ericsson (Publ) Optimizing traffic load in a communications network
CN103534992B (zh) 2012-03-14 2017-07-21 华为技术有限公司 发送建立连接请求的方法、交换机、服务器及系统
US9350671B2 (en) * 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
JP2013207748A (ja) 2012-03-29 2013-10-07 Fujitsu Ltd ネットワークシステム、及びノード装置
US8730806B2 (en) 2012-04-03 2014-05-20 Telefonaktiebolaget L M Ericsson (Publ) Congestion control and resource allocation in split architecture networks
US9013995B2 (en) * 2012-05-04 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in packet data networking
US20140006630A1 (en) * 2012-06-28 2014-01-02 Yigang Cai Session initiation protocol (sip) for message throttling
US20140040526A1 (en) * 2012-07-31 2014-02-06 Bruce J. Chang Coherent data forwarding when link congestion occurs in a multi-node coherent system
US9210079B2 (en) 2012-08-14 2015-12-08 Vmware, Inc. Method and system for virtual and physical network integration
US9548920B2 (en) * 2012-10-15 2017-01-17 Cisco Technology, Inc. System and method for efficient use of flow table space in a network environment
US8995277B2 (en) 2012-10-30 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method for dynamic load balancing of network flows on LAG interfaces
US9301029B2 (en) * 2012-11-05 2016-03-29 Broadcom Corporation Data rate control in an optical line terminal
US9094126B2 (en) 2012-11-07 2015-07-28 Nec Laboratories America, Inc. QoS-aware united control protocol for optical burst switching in software defined optical networks
US8942128B2 (en) 2012-11-27 2015-01-27 At&T Mobility Ii Llc Detection and prevention of heavy congestion in a wireless network
US8976697B2 (en) * 2012-12-17 2015-03-10 Broadcom Corporation Network status mapping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208619B1 (en) 1997-03-27 2001-03-27 Kabushiki Kaisha Toshiba Packet data flow control method and device
US7978607B1 (en) 2008-08-29 2011-07-12 Brocade Communications Systems, Inc. Source-based congestion detection and control

Also Published As

Publication number Publication date
DE112014000322T5 (de) 2015-11-05
US20140269320A1 (en) 2014-09-18
WO2014141006A1 (en) 2014-09-18
US9444748B2 (en) 2016-09-13
CN105027506A (zh) 2015-11-04
JP6670109B2 (ja) 2020-03-18
US9503382B2 (en) 2016-11-22
GB2525832A (en) 2015-11-04
WO2014141006A9 (en) 2014-12-18
CN105027506B (zh) 2018-07-27
GB2525832B (en) 2017-03-01
US20150055476A1 (en) 2015-02-26
JP2016516333A (ja) 2016-06-02
GB201516352D0 (en) 2015-10-28

Similar Documents

Publication Publication Date Title
DE112014000322B4 (de) Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk
DE102013225692B4 (de) Netzwerkstatusabbildung
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE112020002528T5 (de) Algorithmen für die verwendung von lastinformationen von benachbarten knoten bei der adaptiven leitweglenkung
DE112011103082B4 (de) Mehrere virtuelle Maschinen mit gemeinsamer Nutzung einer einzigen IP-Adresse
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE112012001320B4 (de) Prioritätsgestützte Flusssteuerung in einer Switching-Netzwerkarchitektur mit einem Protokoll einer verteilten Struktur (Distributed Fabric Protocol DFP)
DE60203450T2 (de) Verfahren und Schalter zur Überlastregelung
DE112012005111B4 (de) Fragmentierung von "Link Layer Discovery Protocol"-Paketen
DE602005003142T2 (de) Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung
DE112018008119T5 (de) Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE202019103185U1 (de) Verteilte Deduplizierung von Paketen
DE102017122738A1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE112016005924T5 (de) Beschleunigte Netzwerkpaketverarbeitung
DE112013006417B4 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE102016104264B4 (de) Übertragen von Mehrfachzielpaketen in Overlay-Netzwerken
DE102015119893A1 (de) Multiplexen von vielen Client-Datenströmen über eine einzige Verbindung
DE112017004813T5 (de) Techniken zur verwendung eines netzwerkdienst-anfangsblocks zur überwachung der dienstgüte
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
EP3047613A1 (de) Statusabhängige datenweiterleitung
DE602004010056T2 (de) Verfahren und System zur Verwaltung des Netzwerkverkehrs unter Berücksichtung von mehreren Zwangsbedingungen
DE60132360T2 (de) Verwaltung von netzwerk-verkehr durch anwendung einer hashfunktion
DE102013205820A1 (de) Aktualisieren von Zoneninformationen in einem verteilten Switch von Datenweiterleitungsservern
DE102021207394A1 (de) Zusammenführen von paketen auf der grundlage von hinweisen, die vom netzwerkadapter erzeugt werden

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000