Connect public, paid and private patent data with Google Patents Public Datasets

Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk

Info

Publication number
DE112014000322T5
DE112014000322T5 DE201411000322 DE112014000322T DE112014000322T5 DE 112014000322 T5 DE112014000322 T5 DE 112014000322T5 DE 201411000322 DE201411000322 DE 201411000322 DE 112014000322 T DE112014000322 T DE 112014000322T DE 112014000322 T5 DE112014000322 T5 DE 112014000322T5
Authority
DE
Grant status
Application
Patent type
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.)
Pending
Application number
DE201411000322
Other languages
English (en)
Inventor
Casimer DeCusatis
Rajaram Krishnamurthy
Fabrizio Petrini
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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/25Rate modification upon detection by the source of changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/11Congestion identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/12Congestion avoidance or recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/21Flow control or congestion control using leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/21Flow control or congestion control using leaky bucket
    • H04L47/215Token bucket

Abstract

Ein Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk beinhaltet das Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk. An der Vermittlungseinheit wird festgestellt, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt. Beruhend darauf, dass die Überlastung 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 Daten mit einer vierten Geschwindigkeit anzufordern, die geringer als die dritte Geschwindigkeit ist.

Description

  • TECHNISCHES ANWENDUNGSGEBIET
  • [0001]
    Die vorliegende Erfindung betrifft Computernetzwerke und konkret eine skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk.
  • HINTERGRUND
  • [0002]
    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).
  • [0003]
    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.
  • [0004]
    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.
  • KURZDARSTELLUNG
  • [0005]
    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.
  • [0006]
    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.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • [0007]
    Eine bzw. mehrere Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • [0008]
    1 ein Blockschaubild eines ein Netzwerk mit OpenFlow-fähigen Vermittlungseinheiten beinhaltenden Systems zeigt, das gemäß einer Ausführungsform umgesetzt werden kann;
  • [0009]
    2 ein Blockschaubild einer OpenFlow-fähigen Vermittlungseinheit gemäß einer Ausführungsform zeigt;
  • [0010]
    3 ein Beispiel einer OpenFlow-Flussvermittlungsdefinition zeigt, die in Ausführungsformen verwendet werden kann; und
  • [0011]
    4 einen Prozess zum Durchführen einer Überlastungsverwaltung an einer Vermittlungseinheit gemäß einer Ausführungsform zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • [0012]
    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.
  • [0013]
    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.
  • [0014]
    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.
  • [0015]
    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.
  • [0016]
    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.
  • [0017]
    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.
  • [0018]
    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.
  • [0019]
    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
  • [0020]
    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 208a208n, die verschiedene Warteschlangen 209a209n beinhalten, und Anschlüsse 210a210n. Die Vermittlungseinheit 106 beinhaltet verschiedene Zähler oder Zeitgeber 211 wie zum Beispiel den Warteschlangen 209a209n, 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 210a210n 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.
  • [0021]
    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.
  • [0022]
    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.
  • [0023]
    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 210a210n (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.
  • [0024]
    Die Puffer 208a208n stellen eine vorübergehende Speicherung in den Warteschlangen 209a209n für Flüsse bereit, wenn Pakete zwischen den Anschlüssen 210a210n gesendet werden. In einer verlustfreien Konfiguration speichern die Puffer 208a208n vorübergehend Pakete, bis die zugehörigen Anschlüsse 210a210n und Verbindungen 105 aus 1 verfügbar sind, anstatt Pakete fallenzulassen, wenn eine Netzwerküberlastung vorliegt. Jeder der Puffer 208a208n kann einem bestimmten Anschluss, Fluss oder Teilnetzwerk zugehörig sein. Jeder der Puffer 208a208n ist logisch getrennt, muss aber nicht physisch getrennt sein. Wenn einer der Puffer 208a208n voll ist, wirkt sich das entsprechend nicht negativ auf die Leistungsfähigkeit der anderen Puffer 208a208n innerhalb der Vermittlungseinheit 106 aus.
  • [0025]
    In einer OpenFlow-Vermittlungseinheit ist jeder Anschluss 210a210n zum Beispiel einer entsprechenden Warteschlange 209a209n 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.
  • [0026]
    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 210a210n weitergeleitet.
  • [0027]
    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).
  • [0028]
    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.
  • [0029]
    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 208a208n und/oder der Warteschlangen 209a209n, 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 209a209n 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.
  • [0030]
    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.
  • [0031]
    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.
  • [0032]
    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.
  • [0033]
    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.
  • [0034]
    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.
  • [0035]
    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.
  • [0036]
    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.
  • [0037]
    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.
  • [0038]
    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.
  • [0039]
    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 404412).
  • [0040]
    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.
  • [0041]
    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).
  • [0042]
    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.
  • [0043]
    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.
  • [0044]
    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.
  • [0045]
    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.
  • [0046]
    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).
  • [0047]
    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.
  • [0048]
    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.
  • [0049]
    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.
  • [0050]
    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.
  • [0051]
    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.
  • [0052]
    Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-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.
  • [0053]
    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.
  • [0054]
    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 (16)

  1. Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das Verfahren aufweisend: Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk; Feststellen an der Vermittlungseinheit, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt; beruhend darauf, dass die Überlastung mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft, Ü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 die Überlastung mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft, Ü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 einem der Ansprüche 1 bis 3, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit handelt und das Ermitteln das Untersuchen eines Flags in einem Kopfinformationsfeld eines Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet.
  7. Verfahren nach Anspruch 6, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Daten speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Daten betrifft.
  8. Verfahren nach Anspruch 6, wobei das 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.
  9. 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.
  10. 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 eines Überlastungszustands an der Vermittlungseinheit; Feststellen, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt; Ü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 die Überlastung mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft; 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 die Überlastung mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft.
  11. System nach Anspruch 10, 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.
  12. System nach Anspruch 10 oder Anspruch 11, 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.
  13. System nach einem der Ansprüche 10 bis 12, wobei es sich bei der Vermittlungseinheit, der Quelle und dem Ziel um OpenFlow-Vermittlungseinheiten und bei dem Netzwerk um ein OpenFlow-Netzwerk handelt.
  14. System nach Anspruch 10, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit handelt und das Ermitteln das Untersuchen eines Flags in einem Kopfinformationsfeld eines Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet.
  15. Vorrichtung nach Anspruch 14, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Daten speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Daten betrifft.
  16. Vorrichtung nach Anspruch 14, wobei das 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.
DE201411000322 2013-03-15 2014-03-05 Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk Pending DE112014000322T5 (de)

Priority Applications (3)

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

Publications (1)

Publication Number Publication Date
DE112014000322T5 true true DE112014000322T5 (de) 2015-11-05

Family

ID=51526633

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201411000322 Pending DE112014000322T5 (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) JP2016516333A (de)
CN (1) CN105027506A (de)
DE (1) DE112014000322T5 (de)
GB (1) GB2525832B (de)
WO (1) WO2014141006A9 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103929334A (zh) * 2013-01-11 2014-07-16 华为技术有限公司 网络异常通知方法和装置
US20150208277A1 (en) * 2014-01-20 2015-07-23 Vodafone Ip Licensing Limited Congestion management
KR20170084776A (ko) * 2016-01-13 2017-07-21 삼성전자주식회사 소프트웨어 정의 네트워크 기반 이동통신 시스템에서 제어 메시지 전송 방법 및 장치

Family Cites Families (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187230B2 (ja) * 1993-09-06 2001-07-11 株式会社東芝 ふくそう制御方法及びふくそう制御装置
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
GB9610337D0 (en) 1996-05-17 1996-07-24 Motorola Ltd Method and apparatus for transmitting data
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
JPH10271132A (ja) 1997-03-27 1998-10-09 Toshiba Corp パケット交換網におけるフロー制御方式
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
EP0876023A1 (de) 1997-04-30 1998-11-04 Sony Corporation Sender und Übertragugnsverfahren, Empfänger und Empfangsverfahren, und Sender/Empfänger und Sende/Empfangsverfahren
WO1999030462A3 (en) 1997-12-12 1999-09-02 3Com Corp A forward error correction system for packet based real-time media
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
WO2000013379A1 (fr) * 1998-08-31 2000-03-09 Fujitsu Limited Appareil d'affectation de service
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
EP1324628B1 (de) 2001-12-13 2009-11-11 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
US20040179476A1 (en) * 2003-03-10 2004-09-16 Sung-Ha Kim Apparatus and method for controlling a traffic switching operation based on a service class in an ethernet-based network
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 パナソニック株式会社 ルータ選択方法及びルータ装置
WO2005106546A3 (en) 2004-04-15 2006-05-11 Infinera Corp COOLERLESS AND FLOATING WAVELENGTH GRID PHOTONIC INTEGRATED CIRCUITS (PICs) FOR WDM TRANSMISSION NETWORKS
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
US8509077B2 (en) * 2006-04-05 2013-08-13 Xyratex Technology Limited 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
JP5168699B2 (ja) 2007-02-06 2013-03-21 エントロピック・コミュニケーションズ・インコーポレイテッドEntropic Communications, Inc. ネットワークにおけるパラメータ化サービス品質アーキテクチャ
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
EP2028798B1 (de) 2007-08-22 2012-05-02 Telefonaktiebolaget L M Ericsson (publ) 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
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
CN101849391B (zh) 2007-11-01 2012-10-10 艾利森电话股份有限公司 无线网络控制器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
GB0803788D0 (en) 2008-02-29 2008-04-09 Kelly Francis P Network communication
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.
US7978607B1 (en) 2008-08-29 2011-07-12 Brocade Communications Systems, Inc. Source-based congestion detection and control
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
US20120030306A1 (en) 2009-04-28 2012-02-02 Nobuharu Kami Rapid movement system for virtual devices in a computing system, management device, and method and program therefor
US8429287B2 (en) * 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
WO2010138545A1 (en) 2009-05-27 2010-12-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
WO2011019992A1 (en) 2009-08-13 2011-02-17 New Jersey Institute Of Technology Scheduling wdm pon with tunable lasers with different tuning times
CN101997644A (zh) 2009-08-24 2011-03-30 华为技术有限公司 速率调整方法、系统、编码方式选择方法和装置
CN104065555A (zh) 2009-09-24 2014-09-24 日本电气株式会社 虚拟服务器间通信识别系统和虚拟服务器间通信识别方法
JP5446040B2 (ja) 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
WO2011040511A1 (ja) * 2009-09-30 2011-04-07 日本電気株式会社 課金処理システム、ネットワークスイッチ、ネットワーク管理サーバ、課金処理方法、及び課金処理プログラム
EP2484146B1 (de) * 2009-10-01 2017-12-06 LG Electronics Inc. Verfahren zur steuerung des datenflusses in einem drahtlosen kommunikationssystem
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
WO2011049135A1 (ja) 2009-10-23 2011-04-28 日本電気株式会社 ネットワークシステムとその制御方法、及びコントローラ
US20120250496A1 (en) 2009-11-26 2012-10-04 Takeshi Kato Load distribution system, load distribution method, and program
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
US20110135301A1 (en) 2009-12-08 2011-06-09 Vello Systems, Inc. Wavelocker for Improving Laser Wavelength Accuracy in WDM 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 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
WO2011080870A1 (ja) 2009-12-28 2011-07-07 日本電気株式会社 通信システムおよびポート情報収集方法
WO2011083682A1 (ja) 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
WO2011083846A1 (ja) * 2010-01-08 2011-07-14 日本電気株式会社 通信システム、転送ノード、経路管理サーバおよび通信方法
WO2011087085A1 (ja) * 2010-01-14 2011-07-21 日本電気株式会社 計算機、ネットワーク接続切替え方法およびプログラム
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
EP2572473B1 (de) 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Verfahren und vorrichtung zur verwendung in einem openflow-netzwerk
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)
WO2011155392A1 (ja) 2010-06-07 2011-12-15 日本電気株式会社 輻輳制御システム、輻輳制御方法、及び通信装置
US8737405B2 (en) 2010-06-11 2014-05-27 Marvell World Trade Ltd. Method and apparatus for determining channel bandwidth
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 シャープ株式会社 データ配信システム、データ配信方法、配信側データ中継装置、及び受信側データ中継装置
JP5846199B2 (ja) * 2010-09-03 2016-01-20 日本電気株式会社 制御装置、通信システム、通信方法、および通信プログラム
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
WO2012127894A1 (ja) * 2011-03-18 2012-09-27 日本電気株式会社 ネットワークシステム、及びスイッチ方法
US8429282B1 (en) * 2011-03-22 2013-04-23 Amazon Technologies, Inc. System and method for avoiding system overload by maintaining an ideal request rate
EP2689562B1 (de) * 2011-03-24 2017-05-03 Nec Corporation Verfahren zum betreiben eines flussbasierten schaltsystem und schaltsystem
US9608908B2 (en) 2011-03-29 2017-03-28 Nec Corporation Network system and VLAN tag data acquiring method
US9231876B2 (en) * 2011-03-29 2016-01-05 Nec Europe Ltd. User traffic accountability under congestion in flow-based multi-layer switches
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 南京邮电大学 一种卫星网络中跨层拥塞控制方法
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
WO2013134937A1 (zh) 2012-03-14 2013-09-19 华为技术有限公司 发送建立连接请求的方法、交换机、服务器及系统
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

Also Published As

Publication number Publication date Type
US20140269320A1 (en) 2014-09-18 application
GB2525832A (en) 2015-11-04 application
US9444748B2 (en) 2016-09-13 grant
GB201516352D0 (en) 2015-10-28 grant
GB2525832B (en) 2017-03-01 grant
US9503382B2 (en) 2016-11-22 grant
US20150055476A1 (en) 2015-02-26 application
WO2014141006A1 (en) 2014-09-18 application
WO2014141006A9 (en) 2014-12-18 application
JP2016516333A (ja) 2016-06-02 application
CN105027506A (zh) 2015-11-04 application

Similar Documents

Publication Publication Date Title
Riley The georgia tech network simulator
US7813277B2 (en) Lockless bandwidth management for multiprocessor networking devices
US20100333165A1 (en) Firewall configured with dynamic membership sets representing machine attributes
US8281382B1 (en) Dynamic throttling systems and services
US20120233349A1 (en) Methods and apparatus for path selection within a network based on flow duration
WO2013184846A1 (en) Physical path determination for virtual network packet flows
US20130235870A1 (en) Methods, Systems, and Fabrics Implementing a Distributed Network Operating System
US20130215754A1 (en) Servers, Switches, and Systems with Switching Module Implementing a Distributed Network Operating System
US20140280547A1 (en) Virtual Machine Mobility Using OpenFlow
US20080019274A1 (en) Notifying network applications of receive overflow conditions
CN103236945A (zh) 基于OpenFlow的FlowVisor网络系统
US7764678B2 (en) Routing based on dynamic classification rules
US20150281092A1 (en) Hash tag load balancing
US8111707B2 (en) Compression mechanisms for control plane—data plane processing architectures
US20130100803A1 (en) Application based bandwidth control for communication networks
US8169910B1 (en) Network traffic analysis using a flow table
US8804747B2 (en) Network interface controller for virtual and distributed services
Li et al. Scaling IP multicast on datacenter topologies
US20130238885A1 (en) Network Switch, Systems, and Servers Implementing Boot Image Delivery
US8964742B1 (en) Linked list profiling and updating
US20150089045A1 (en) Determining Sampling Rate from Randomly Sampled Events
JP2005102104A (ja) Ipマルチキャスト配信システムとそのレート制御方法、およびそのプログラムと記録媒体
US20150016286A1 (en) Tracing Network Packets by a Cluster of Network Controllers
Kapoor et al. Bullet trains: a study of NIC burst behavior at microsecond timescales
US20140282611A1 (en) Distributed and scaled-out network switch and packet processing

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)