DE102018004328B4 - Technologien zur effektiven Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch - Google Patents

Technologien zur effektiven Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch Download PDF

Info

Publication number
DE102018004328B4
DE102018004328B4 DE102018004328.3A DE102018004328A DE102018004328B4 DE 102018004328 B4 DE102018004328 B4 DE 102018004328B4 DE 102018004328 A DE102018004328 A DE 102018004328A DE 102018004328 B4 DE102018004328 B4 DE 102018004328B4
Authority
DE
Germany
Prior art keywords
network switch
congestion
remote
buffer memory
determining whether
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
DE102018004328.3A
Other languages
English (en)
Other versions
DE102018004328A1 (de
Inventor
Albert S. Cheng
Michael A. Parker
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102018004328A1 publication Critical patent/DE102018004328A1/de
Application granted granted Critical
Publication of DE102018004328B4 publication Critical patent/DE102018004328B4/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/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
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

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

Abstract

Netzwerk-Switch (110) zum Bestimmen einer Überlastungsursache, umfassend:mehrere von in einer Stufenhierarchie ausgestaltete Arbiter-Einheiten (162, 164, 166, 168, 170), wobei die Hierarchie eine Ausgangsstufe (150) und eine vorgeschaltete Stufe (140) beinhaltet;eine Schaltungsanordnung zumBetreiben der Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe (150);Bestimmen, ob ein Eingangspufferspeicher (184) eines Remote-Netzwerk-Switches (120) in kommunikativer Verbindung mit der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit (170) in der Ausgangsstufe (150) über eine erste vorbestimmte Zeitspanne anzeigt;Bestimmen, ob ein Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) über eine zweite vorbestimmte Zeitspanne anzeigt;Bestimmen, abhängig davon, ob der Eingangspufferspeicher (184) des Remote-Netzwerk-Switches (120) eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, ob der Netzwerk-Switch (110) eine Überlastungsursache ist, undAuffordern, in Reaktion auf eine Feststellung, dass der Netzwerk-Switch (110) die Überlastungsursache ist, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches (110) einen Durchsatz zum Netzwerk-Switch (110) reduzieren.

Description

  • AUFGABENSTELLUNG
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein gegenüber bekannten Ansätzen verbessertes System und Verfahren zur Bestimmung einer Überlastungsursache bereitzustellen.
  • Diese Aufgabe wird gelöst durch Gegenstände gemäß der unabhängigen Patentansprüche. Die abhängigen Ansprüche beschreiben bevorzugte Ausführungsformen.
  • HINTERGRUND
  • Zur Verwaltung von Überlastungen (Congestion) in einem Fabric verwenden einige Netzwerk-Switches Mechanismen zur Erkennung von Verkehrsströmen, die eine Incast-Dauerüberlastung (d. h. einen steten Anstrom von Paketen, der sich schneller aufbaut, als er vom Netzwerk-Switch abgeführt werden kann) verursachen. Ein Netzwerk-Switch, der einem Incast-Dauerüberlastungszustand ausgesetzt ist, wird manchmal als „Root of Congestion“ (Stauquelle) bezeichnet, da der Netzwerk-Switch die Ursache für einen Abfall des Gesamtdurchsatzes in einem Fabric wird. Nach erfolgter Identifizierung kann der Netzwerk-Switch einen Mechanismus einsetzen, um alle mit dem Stauauflauf (Incast) verbundenen Pakete zu markieren und ein Endpunktgerät zu benachrichtigen, damit dieses die Geschwindigkeit reduziert, mit der die Pakete an den Netzwerk-Switch gesendet werden, um so ein weitergehendes Auflaufen von Paketen im Netzwerk-Switch zu verhindern.
  • Einige High-Radix-Switches mit mehreren Arbitrierungsebenen, manchmal als „Stufen“ bezeichnet, können auf jeder Stufe des Netzwerk-Switches einen Erkennungsmechanismus beinhalten, um zu erkennen, ob und welche Paketeingangsströme der entsprechenden Stufe einem Incast ausgesetzt sind. Jede Stufe mit einem Erkennungsmechanismus auszustatten, verursacht jedoch zusätzliche Kosten und verkompliziert den mehrstufigen Netzwerk-Switch. In manchen mehrstufigen Netzwerk-Switches können zudem die Stufen klein dimensionierte Pufferspeicher aufweisen. Wenn dort ein großes Paket in einem Überlastungsfall aufläuft, kann das Paket den kleinen Pufferspeicher relativ schnell ausfüllen, was dazu führt, dass der mit der entsprechenden Stufe verbundene Erkennungsmechanismus Schwierigkeiten hat, zwischen einer temporären Überlastung und einer Dauerüberlastung zu unterscheiden Druckschrift US 6,487,213 B1 beschreibt eine hierarchische Arbitrierungsmethode, bei der Anforderungen gruppiert werden, beispielsweise unter Verwendung einer logischen ODER-Operation, und an höhere Hierarchieebenen bereitgestellt werden. Dann werden Gewährungssignale von höheren Hierarchieebenen entweder nach unten durch jede Ebene der Hierarchie weitergegeben, wo sie verwendet werden, um beispielsweise Gewährungssignale unter Verwendung einer logischen UND-Operation zu modifizieren. Alternativ können Gewährungssignale von allen höheren Hierarchieebenen an eine Blattschicht der Hierarchie bereitgestellt werden, wo sie alle verwendet werden, um Gewährungssignale unter Verwendung einer logischen UND-Operation zu modifizieren.
  • Druckschrift US 7,133 , 399 B1 beschreibt einen zentralisierten Arbitrationsmechanismus, der dafür sorgt, dass eine Router-Switch-Fabric auf konsistente Weise konfiguriert wird. Entfernt verteilte Paketweiterleitungsmodule bestimmen, welche Datenblöcke bereit sind, durch den optischen Schalter zu gehen, und teilen dies dem zentralen Arbiter mit. Jedes Paketweiterleitungsmodul hat eine Eingangs-ASIC, die Paketheader in ungefähr 4000 virtuellen Ausgangswarteschlangen enthält. Algorithmen wählen höchstens zwei Chunk-Anfragen pro Chunk-Periode aus, die an den Arbiter gesendet werden, der bis zu ungefähr 24 Anfragen pro Ausgangsport in eine Warteschlange stellt. Anforderungen werden über ein Banyan-Netzwerk gesendet, das die Switch-Fabric modelliert und in der Größenordnung von NlogN skaliert, wobei N die Anzahl der Router-Ausgangsports ist. Daher kann eine Crossbar-Switch-Funktion bis zu den 320 Ausgangsports physikalisch im System modelliert werden und dennoch aufweisen, dass der zentrale Arbiter mit der Anzahl der Ports auf eine viel weniger anspruchsvolle Weise skaliert. Ein Algorithmus gewährt höchstens zwei Anforderungen pro Port in jeder Chunk-Periode und gibt die Berechtigungen an die Eingangs-ASIC zurück. Auch für jede Chunk-Periode übermittelt der zentrale Arbiter die entsprechenden Schaltkonfigurations-Steuerinformationen an die Switch-Fabric.
  • Figurenliste
  • Die hier beschriebenen Konzepte werden in den Begleitfiguren beispielhaft veranschaulicht und nicht als beschränkend dargestellt. Im Interesse einer einfachen und übersichtlichen Veranschaulichung sind die in den Figuren abgebildeten Elemente nicht zwingend maßstabsgerecht gezeichnet. Soweit für zweckmäßig erachtet, wiederholen sich Bezugszeichen in den verschiedenen Figuren, um entsprechende oder analoge Elemente anzuzeigen.
    • 1 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform eines Systems zur effizienten Bestimmung einer Überlastungsursache (Root of Congestion) mit einem mehrstufigen Netzwerk-Switch;
    • 2 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform des Netzwerk-Switches von 2;
    • 3 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform einer Umgebung, die durch den Netzwerk-Switch von 1 und 2 ausgeführt werden kann;
    • 4 und 5 sind ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform eines durch den Netzwerk-Switch von 1 und 2 ausführbaren Verfahrens zur Erkennung einer Remote-Überlastung;
    • 6 und 7 sind ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform eines durch den Netzwerk-Switch von 1 und 2 ausführbaren Verfahrens zur Erkennung einer lokalen Überlastung; und
    • 8 ist ein vereinfachtes Blockschaltbild mindestens einer Ausführungsform eines durch den Netzwerk-Switch von 1 und 2 ausführbaren Verfahrens zur Bestimmung einer Überlastungsursache.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die Konzepte der vorliegenden Offenbarung verschiedene Abänderungen und alternative Formen erfahren können, sind in den Zeichnungen spezielle Ausführungsformen beispielhaft abgebildet und hierin näher beschrieben. Es versteht sich jedoch, dass nicht beabsichtigt ist, die Konzepte der vorliegenden Offenbarung auf die offenbarten besonderen Ausführungsformen zu beschränken, sondern im Gegenteil die Absicht besteht, alle mit der vorliegenden Offenbarung und den angehängten Ansprüchen übereinstimmenden Abänderungen, Äquivalente und Alternativen mit zu erfassen.
  • In der Beschreibung gebrauchte Bezeichnungen wie „eine Ausführungsform“, „eine illustrierende Ausführungsform“ usw. zeigen an, dass die beschriebene Ausführungsform ein besonderes Merkmal, eine besondere Struktur oder besondere Charakteristik beinhalten kann, aber dass dieses besondere Merkmal oder diese besondere Struktur oder Charakteristik nicht zwangsläufig in jeder Ausführungsform enthalten sein muss. Zudem gilt, dass damit nicht zwingend jeweils auf die gleiche Ausführungsform verwiesen wird. Wenn ein besonderes Merkmal, eine besondere Struktur oder eine besondere Charakteristik im Zusammenhang mit einer Ausführungsform beschrieben wird, wird des Weiteren davon ausgegangen, dass eine fachkundige Person über das entsprechende Wissen verfügt, ein solches Merkmal, eine solche Struktur oder Charakteristik auch im Zusammenhang mit anderen Ausführungsformen zu bewirken, unabhängig davon, ob dies ausdrücklich beschrieben ist. Ferner versteht es sich, dass Elemente in einer Aufzählung der Form „wenigstens ein A, B und C“ bedeuten kann: (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C). Gleichermaßen kann eine Aufzählung der Form „mindestens eines von A, B oder C“ bedeuten: (A); (B); (C); (A und B); (A und C); (B und C); oder (A, B und C).
  • Die offenbarten Ausführungsformen können in einigen Fällen als Hardware, Firmware, Software oder eine beliebige Kombination davon implementiert werden. Die offenbarten Ausführungsformen können auch als Anweisungen implementiert werden, die auf einem flüchtigen oder nichtflüchtigen maschinenlesbaren (z. B. computerlesbaren) Speichermedium abgelegt oder gespeichert sind und von einem oder mehreren Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Speichermedium kann als beliebige Speichervorrichtung, Mechanismus oder andere physische Struktur zum Speichern oder Übertragen von Informationen in einer von einer Maschine lesbaren Form (z. B. als flüchtiger oder nichtflüchtiger Speicher, Mediendisk oder andere Medienvorrichtung) ausgeführt sein.
  • In den Zeichnungen können Struktur- oder Verfahrensmerkmale in besonderen Anordnungen und/oder Ordnungen dargestellt sein. Es versteht sich jedoch, dass diese besonderen Anordnungen und/oder Ordnungen nicht unbedingt erforderlich sind. Stattdessen können diese Merkmale in einigen Ausführungsformen anders als in den illustrierenden Figuren angeordnet und/oder geordnet sein. Die Einbeziehung eines Struktur- oder Verfahrensmerkmals in einer speziellen Figur soll außerdem keinen Anlass zur Deutung geben, dass ein solches Merkmal in allen Ausführungsformen erforderlich ist, und es kann in anderen Ausführungsformen nicht enthalten sein oder mit anderen Merkmalen kombiniert sein.
  • Wie in 1 dargestellt, umfasst ein illustrierendes System 100 zur Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch 110 den mehrstufigen Netzwerk-Switch 110 in kommunikativer Verbindung mit einem anderen Netzwerk-Switch 120 in einem Netzwerk 130. Der Netzwerk-Switch 110 beinhaltet mehrere Stufen 140, 150 und jede Stufe 140, 150 beinhaltet eine oder mehrere Arbiter-Einheiten 160, die jeweils als Vorrichtung oder Schaltanordnung, beispielsweise als Sub-Switch, ausgeführt sein können und in der Lage sind, Pakete von einem oder mehreren Eingangsströmen zu einer nachgeschalteten Vorrichtung (zum Beispiel einem anderen Netzwerk-Switch wie dem Netzwerk-Switch 120 oder einem anderen Gerät) zu übertragen. In der illustrierenden Ausführungsform beinhaltet die erste Stufe 140 Arbiter-Einheiten 162, 164, 166 und 168 und die zweite Stufe 150, hierin als Ausgangsstufe bezeichnet, beinhaltet eine Arbiter-Einheit 170. In anderen Ausführungsformen kann die Anzahl von Arbiter-Einheiten 160 in jeder Stufe 140, 150 von der dargestellten Ausführungsform abweichen und die Anzahl der Stufen 140, 150 kann größer als zwei sein. Unabhängig davon bilden die Stufen 140, 150 eine Hierarchie, in welcher die Anzahl der Arbiter-Einheiten 160 in jeder nachfolgenden Stufe (zum Beispiel auf dem Weg von einer Eingangsseite des Netzwerk-Switches 100 zu einer Ausgangsseite des Netzwerk-Switches 110) abnimmt. Während des Betriebs können die Arbiter-Einheiten 162, 164, 166, 168 in der Eingangsstufe 140 einströmende Pakete aus anderen Geräten (zum Beispiel Rechengeräten, anderen Netzwerk-Switches usw.) empfangen. In 1 ist die Arbiter-Einheit 162 im Detail dargestellt, wobei Eingangsströme A, B, C und D in einen Satz entsprechender Eingangspufferspeicher 180 eintreten. Es versteht sich, dass, wenn auch nicht dargestellt, jede der Arbiter-Einheiten 164, 166, 168 Eingangsströme aufnehmen kann, die in die Arbiter-Einheit 170 der Ausgangsstufe 150 einfließen können. Wie zu sehen, umfasst die Arbiter-Einheit 170 einen Satz entsprechender Pufferspeicher 182, die von Paketen aus den vorgeschalteten Stufen (zum Beispiel von Eingangsstufe 140 und eventuellen Zwischenstufen) durchströmt werden, wenn die Arbiter-Einheit 170 die Pakete aus dem Netzwerk-Switch 110 (zum Beispiel an den Netzwerk-Switch 120, der entsprechende Eingangspufferspeicher 184 aufweist) aussendet. Während des Betriebs übertragen die Arbiter-Einheiten 160 (zum Beispiel die Arbiter-Einheiten 162, 164, 166, 168) in den vorgeschalteten Stufen (zum Beispiel in der Eingangsstufe 140 und etwaigen zwischengeschalteten Stufen) Pakete mit einer Übertragungsrate, die größer ist als die Übertragungsrate der Arbiter-Einheit 170. So lange die durch A, B, C und D angelegte kombinierte Paketrate größer ist die Übertragungsrate der Arbiter-Einheit 162, welche größer ist als die Übertragungsrate der Arbiter-Einheit 170, würden sich die Ausgangspufferspeicher 182 füllen. Anders als bei einigen mehrstufigen Netzwerk-Switches, wo die Arbiter-Einheiten in jeder Stufe einen Incast-Überlastungserkennungsmechanismus beinhalten, wird außerdem im mehrstufigen Netzwerk-Switch 110 eine Incast-Dauerüberlastung nur an der Arbiter-Einheit 170 der Ausgangsstufe 150 bestimmt, wie nachfolgend noch näher beschrieben. Durch Arbeit mit der Übertragungsrate der Arbiter-Einheiten 160 in den vorgeschalteten Stufen und durch Bestimmung, ob im Netzwerk-Switch 120 (zum Beispiel im Remote-Eingangspufferspeicher 184) eine Dauerüberlastung eintritt, ist der Netzwerk-Switch 110 in der Lage zu bestimmen, ob der Netzwerk-Switch 110 eine Überlastungsursache im Netzwerk 130 ist, ohne dass jede der Ausgangsstufe 150 vorgeschaltete Arbiter-Einheit 160 über einen separaten Incast-Überlastungserkennungsmechanismus verfügen muss.
  • Wie nun in 2 zu sehen, kann der Netzwerk-Switch 110 als eine beliebige Art von Vorrichtung mit Fähigkeit zur Durchführung der hier beschriebenen Funktionen ausgeführt sein, darunter das Empfangen mehrerer Paketströme und Erkennen, ob ein Incast-Dauerüberlastungszustand im Netzwerk-Switch 110 eingetreten ist, abhängig von einem Zustand des Ausgangspufferspeichers (zum Beispiel eines Ausgangspuffers 182) des Netzwerk-Switches 110 und einem Zustand eines Eingangspufferspeichers (zum Beispiel des Eingangspuffers 184) eines vorgeschalteten Netzwerk-Switches (zum Beispiel des Netzwerk-Switches 120). In einigen Ausführungsformen kann der Netzwerk-Switch 110 beispielsweise als Computer, als Multiprozessorsystem oder als Netzgerät ausgeführt sein.
  • Wie in 2 darstellt, umfasst der illustrierende Netzwerk-Switch 110 eine zentrale Verarbeitungseinheit (CPU) 202, einen Hauptspeicher 204, ein Eingabe/Ausgabe(E/A)-Teilsystem 206, eine Kommunikationsschaltungsanordnung 208 und eine oder mehrere Datenspeichervorrichtungen 216. In anderen Ausführungsformen kann der Netzwerk-Switch 110 natürlich andere oder zusätzliche Komponenten beinhalten, wie sie in einem Computer gemeinhin zu finden sind (zum Beispiel Peripheriegeräte, eine Anzeige usw.). In einigen Ausführungsformen können außerdem eine oder mehrere der abgebildeten Komponenten in einer anderen Komponente eingebaut oder anderweitig Teil einer anderen Komponente sein. In manchen Ausführungsformen kann beispielsweise der Hauptspeicher 204 ganz oder teilweise in der CPU 202 eingebaut sein.
  • Die CPU 202 kann als beliebige Art von Prozessor oder Prozessoren mit Fähigkeit zur Ausführung der hier beschriebenen Funktionen ausgeführt sein. Dementsprechend kann die CPU 202 als Ein- oder Mehrkernprozessor(en), Mikrocontroller oder anderer Prozessor oder Verarbeitungs-/Steuerschaltung ausgeführt sein. In einigen Ausführungsformen kann die CPU 202 zur besseren Ausführung der hier beschriebenen Funktionen ein feldprogrammierbares Gate-Array (FPGA), eine anwendungsspezifische integrierte Schaltung (ASIC), rekonfigurierbare Hardware oder Hardware-Schaltungsanordnung oder andere Spezial-Hardware beinhaltet, als solche ausgeführt sein oder damit gekoppelt sein. Der Hauptspeicher 204 kann als beliebige Art von flüchtigem (zum Beispiel dynamischem Speicher mit wahlfreiem Zugriff (DRAM) usw.) oder nichtflüchtigem Speicherbaustein oder Datenspeichervorrichtung mit Fähigkeit zur Ausführung der hier beschriebenen Funktionen ausgeführt sein. In einigen Ausführungsformen kann der Hauptspeicher 204 komplett oder teilweise in die CPU 202 integriert sein. Während des Betriebs kann der Hauptspeicher 204 verschiedene Software und Daten speichern, die im Betrieb verwendet werden, wie etwa Paketdaten, Füllstandsinformationen der Remote-Eingangspufferspeicher, Füllstandsinformationen der lokalen Ausgangspufferspeicher, Betriebssysteme, Anwendungen, Programme, Bibliotheken und Treiber.
  • Das E/A-Teilsystem 206 kann als beliebige Schaltungsanordnung und/oder Komponenten mit Fähigkeit zur Begünstigung von Eingabe/Ausgabe-Vorgängen mit der CPU 202, dem Hauptspeicher 204 und anderen Komponenten des Netzwerk-Switches 110 ausgeführt sein. Das E/A-Teilsystem 206 kann zur Begünstigung der Eingabe/Ausgabe-Vorgänge beispielsweise als Memory Controller Hubs, Input/Output Control Hubs, integrierte Sensor-Hubs, Firmware-Geräte, Kommunikationsverbindungen (zum Beispiel Point-to-Point-Direktverbindungen, Busverbindungen, Verdrahtungen, Verkabelungen, Lichtleiter, Platinenspuren usw.) und/oder andere Komponenten und Teilsysteme ausgeführt sein oder diese anderweitig beinhalten. In einigen Ausführungsformen kann das E/A-Teilsystem 206 Teil eines System-on-Chip (SoC) sein und gemeinsam mit einem oder mehreren von CPU 202, Hauptspeicher 204 und anderen Komponenten des Netzwerk-Switches 110 auf einem einzelnen integrierten Schaltungschip eingebaut sein.
  • Die Kommunikationsschaltungsanordnung 208 kann als beliebige Kommunikationsschaltung, Kommunikationsvorrichtung oder Zusammenstellung derselben ausgeführt sein, mit Fähigkeit zum Ermöglichen von Kommunikationsvorgängen zwischen dem Netzwerk-Switch 110 und einem anderen Gerät (zum Beispiel einem oder mehreren Rechengeräten, einem anderen Netzwerk-Switch wie dem Netzwerk-Switch 120) über das Netzwerk 130. Die Kommunikationsschaltungsanordnung 208 kann so ausgestaltet sein, dass sie zur Bewirkung dieser Kommunikation eine oder mehrere Kommunikationstechnologien (zum Beispiel drahtgebundene oder drahtlose Kommunikation) und diesbezügliche Protokolle (zum Beispiel Ethernet, Bluetooth®, Wi-Fi®, WiMAX usw.) verwendet.
  • Die illustrierende Kommunikationsschaltungsanordnung 208 umfasst eine oder mehrere Anschlusslogiken 210, die jeweils als Netzschnittstellencontroller (NIC) bezeichnet werden können. Die Kommunikationsschaltungsanordnung 208 kann auf einem Chip getrennt von der CPU 202 angeordnet sein, oder die Kommunikationsschaltungsanordnung 208 kann mit der CPU 202 in einem Multi-Chip-Modul enthalten sein oder sich sogar auf dem gleichen Die wie die CPU 202 befinden. Die eine oder mehreren Anschlusslogiken 210 können als eine oder mehrere Erweiterungskarten, Tochterkarten, Netzschnittstellenkarten, Controllerchips, Chipsätze, Spezialbauteile wie ein feldprogrammierbares Gate-Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC), oder andere als Netzwerk-Switch 110 zur Verbindung mit einem anderen Gerät (zum Beispiel einem Rechengerät, einem anderen Netzwerk-Switch, wie etwa dem Netzwerk-Switch 120, usw.) verwendbare Geräte ausgeführt sein. In einigen Ausführungsformen können die eine oder mehreren Anschlusslogiken 210 als Teil eines System-on-Chip (SoC), das einen oder mehrere Prozessoren umfasst, ausgeführt sein oder auf einem Multi-Chip-Modul, das auch einen oder mehrere Prozessoren aufweist, enthalten sein. In einigen Ausführungsformen können die eine oder mehreren Anschlusslogiken 210 einen lokalen Prozessor (nicht dargestellt) und/oder einen lokalen Speicherbaustein (nicht dargestellt) beinhalten, die beide für die Anschlusslogik(en) 210 lokal sind. In solchen Ausführungsformen kann der lokale Prozessor der Anschlusslogik(en) 210 zur Ausführung einer oder mehrerer der hier beschriebenen Funktionen der CPU 202 fähig sein. Zusätzlich oder alternativ dazu kann in solchen Ausführungsformen der lokale Speicher der Anschlusslogik(en) 210 in einer oder mehreren Komponenten des Netzwerk-Switches 110 auf Kartenebene, Sockelebene, Chipebene und/oder anderen Ebenen integriert sein.
  • In der illustrierenden Ausführungsform beinhalten die Anschlusslogik(en) 210 die oben beschriebenen Arbiter-Einheiten 160, die jeweils als Vorrichtung oder Schaltungsanordnung, beispielsweise als Sub-Switch, ausgeführt sein können und in der Lage sind, Pakete von einem oder mehreren Eingangsströmen zu einer nachgeschalteten Vorrichtung (zum Beispiel einem anderen Netzwerk-Switch, wie dem Netzwerk-Switch 120, oder einem anderen Gerät) zu übertragen. Dabei verfügen die Arbiter-Einheiten 160 über die Fähigkeit zum temporären Speichern von Paketen in einem oder mehreren Pufferspeichern (zum Beispiel einem Pufferspeicher je Eingangsstrom) und zum Übertragen der Pakete an das nachgeschaltete Gerät, wenn der Pufferspeicher des vorgeschalteten Geräts eine ausreichende Kapazität für die temporäre Speicherung der Pakete aufweist. Die Arbiter-Einheiten 160 können bestimmen, ob ein nachgeschaltetes Gerät über ausreichend Kapazität für den Empfang eines oder mehrerer Pakete verfügt, und zwar entsprechend einem Kreditplan (Credit Scheme), in welchem jede Arbiter-Einheit 160 vom nachgeschalteten Gerät eine bestimmte Anzahl von Krediten (d. h. eines Einheitsmaßes, das einer vordefinierten Anzahl von Paketen, Bytes oder anderem Datensatz entspricht) zugewiesen bekommt, Krediten durch das Senden von Paketen an das nachgeschaltete Gerät verbraucht und Kredite zurückerwirbt, wenn das nachgeschaltete Gerät die Arbiter-Einheit 160 benachrichtigt, dass es das/die Paket(e) weitergesendet hat und dadurch Raum für zusätzliche Pakete bereitstellt.
  • In der illustrierenden Ausführungsform beinhaltet die Arbiter-Einheit 170 der Ausgangsstufe des Netzwerk-Switches 110 eine Ausgangsstufe-Überlastungserkennungseinheit 212, die als beliebige Vorrichtung oder Schaltungsanordnung (zum Beispiel ASIC, FGPA, Coprozessor usw.) ausgeführt sein kann, mit Fähigkeit zur Bestimmung, ob der Netzwerk-Switch 110 eine Überlastungsursache ist, und zwar in Abhängigkeit vom Zustand (zum Beispiel von der verfügbaren Kapazität) des Eingangspufferspeichers 184 des nachgeschalteten Netzwerk-Switches 120 und eines oder mehrerer Ausgangspufferspeicher 182 der Arbiter-Einheit 170. In der illustrierenden Ausführungsform kann darüber hinaus jede Arbiter-Einheit 160 eine Paketübertragungsraten-Anpassungseinheit 214 beinhalten, die als beliebige Vorrichtung oder Schaltungsanordnung (zum Beispiel FPGA, ASIC, Coprozessor usw.) mit Fähigkeit zum Einstellen der Paketübertragungsrate der entsprechenden Arbiter-Einheit 160 (zum Beispiel in Reaktion auf einen Bestimmungsvorgang zum Erkennen, ob der Netzwerk-Switch 110 eine Überlastungsursache ist) ausgeführt sein kann.
  • Die eine oder die mehreren illustrierenden Datenspeichervorrichtungen 216 können als beliebige Art von Vorrichtung mit Ausgestaltung für eine kurzfristige oder langfristige Speicherablage von Daten ausgeführt sein, beispielsweise als Speicherbausteine und Speicherschaltungen, Speicherkarten, Festplattenlaufwerke, SSD-Platten oder andere Datenspeichervorrichtungen. Jede Datenspeichervorrichtung 216 kann eine Systempartition beinhalten, die Daten und Firmware-Code für die Datenspeichervorrichtung 216 speichert. Jede Datenspeichervorrichtung 216 kann auch eine Betriebssystempartition beinhalten, die Datendateien und ausführbare Dateien für ein Betriebssystem speichert. Darüber hinaus kann der Netzwerk-Switch 110 ein oder mehrere Peripheriegeräte 218 beinhalten. Solche Peripheriegeräte 218 können eine beliebige Art von Peripheriegerät, wie sie in einem Rechengerät gemeinhin zu finden sind, wie etwa eine Anzeige, Lautsprecher, eine Maus, eine Tastatur und/oder andere Eingabe/Ausgabe-Geräte, Schnittstellengeräte und/oder andere Peripheriegeräte, beinhalten.
  • Der Netzwerk-Switch 120 kann Komponenten ähnlich den in 2 beschriebenen Komponenten aufweisen. Dementsprechend gilt die Beschreibung dieser Komponenten des Netzwerk-Switches 110 auch für die Beschreibung der Komponenten des Netzwerk-Switches 120 zu und wird hierin aus Übersichtlichkeitsgründen nicht wiederholt. Es versteht sich, dass der Netzwerk-Switch 120 andere Komponenten, Teilkomponenten und Vorrichtungen beinhalten kann, wie sie gewöhnlich in einem Rechengerät zu finden sind und die zur Übersichtlichkeit der Beschreibung weder in Bezug auf den Netzwerk-Switch 110 beschrieben noch hierin erörtert werden.
  • Wie vorstehend illustrierend beschrieben, kommunizieren der Netzwerk-Switch 110 und der Netzwerk-Switch 120 über das Netzwerk 130, das als eine beliebige Art von drahtgebundenem oder drahtlosem Kommunikationsnetz, einschließlich globale Netze (zum Beispiel das Internet), lokale Netze (LAN) oder Weitverkehrsnetze (WAN), Mobilfunknetze (zum Beispiel Global System for Mobile Communications (GSM), 3G, Long Term Evolution (LTE), Worldwide Interoperability for Microwave Access (WiMAX) usw.), DLS-Netze (Digital Subscriber Line), Kabelnetze (zum Beispiel Koaxialnetze, Glasfasernetze usw.) oder eine Kombination derselben, ausgeführt sein kann.
  • Wie nunmehr in 3 zu sehen, kann der Netzwerk-Switch 110 in der illustrierenden Ausführungsform während des Betriebs eine Umgebung 300 herstellen. Die illustrierende Umgebung 300 beinhaltet einen Netzwerk-Communicator 320 und einen Congestion-Manager 330. Jede der Komponenten der Umgebung 300 kann als Hardware, Firmware, Software oder Kombination derselben ausgeführt sein. In einigen Ausführungsformen können eine oder mehrere der Komponenten der Umgebung 300 als Schaltungsanordnung oder Zusammenstellung elektrischer Geräte (zum Beispiel Netzwerk-Communicator-Schaltung 320, Congestion-Manager-Schaltung 330 usw.) ausgeführt sein. Es versteht sich, dass in solchen Ausführungsformen die Netzwerk-Communicator-Schaltungsanordnung 320 und/oder Congestion-Manager-Schaltungsanordnung 330 Teil der CPU 202, des Hauptspeichers 204, des E/A-Teilsystems 206 und/oder anderer Komponenten des Netzwerk-Switches 110 sein kann.
  • In der illustrierenden Ausführungsform beinhaltet die Umgebung 300 Paketdaten 302, die als beliebige paketanzeigende Daten (zum Beispiel als Paketstrom) ausgeführt sein können und Nutzdaten und Kopfdaten (zum Beispiel Quelladressinformationen, Zieladressinformationen, Port-Informationen usw.) beinhalten, die von den Eingangsströmen (zum Beispiel den Eingangsströmen A, B, C, D von 1), zwischen den Arbiter-Einheiten 160 und aus dem Netzwerk-Switch 110 an ein nachgeschaltetes Gerät (zum Beispiel den Netzwerk-Switch 120) übertragen werden. Darüber hinaus beinhaltet die Umgebung 300 in der illustrierenden Ausführungsform Remote-Eingangspufferspeicher-Füllstandsinformationen 304, die als beliebige Informationen zum Anzeigen der für die Annahme von Paketen aus der Ausgangsstufe 150 (zum Beispiel der Arbiter-Einheit 170) des Netzwerk-Switches 110 verfügbaren Kapazität des nachgeschalteten Geräts (zum Beispiel der verfügbaren Kapazität des Eingangsspeichers 184, wie etwa eine Anzahl von Krediten) ausgeführt sein können. Außerdem beinhaltet die Umgebung 300 in der illustrierenden Ausführungsform lokale Ausgangspufferspeicher-Füllstandsinformationen 306, die als beliebige Informationen zum Anzeigen einer für die Annahme von Paketen aus der vorgeschalteten Stufe (zum Beispiel der Arbiter-Einheiten 162, 164, 166, 168 der Eingangsstufe 140) verfügbaren Kapazität (zum Beispiel Anzahl von Krediten) der Ausgangspufferspeicher 182 ausgeführt sein können.
  • In der illustrierenden Ausführungsform 300 ist der Netzwerk-Communicator 320, der als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder einer Kombination daraus ausgeführt sein kann, wie oben erörtert, ausgelegt zum Erleichtern von in den Netzwerk-Switch 110 eingehenden beziehungsweise von ihm ausgehenden Netzwerkkommunikationsvorgängen (zum Beispiel Netzverkehr, Netzpakete, Netzströme usw.). Zu diesem Zweck ist der Netzwerk-Communicator 320 ausgelegt zum Empfangen und Verarbeiten von Datenpaketen (zum Beispiel aus einem oder mehreren Rechengeräten, Netzwerk-Switches oder anderen Geräten) und zum Aufbereiten und Senden von Datenpaketen zu einem System oder Rechengerät (zum Beispiel einem anderen Rechengerät, Netzwerk-Switch oder anderen Gerät). Dementsprechend kann in einigen Ausführungsformen die Funktionalität des Netzwerk-Communicators 320 zumindest teilweise von der Kommunikationsschaltungsanordnung 208 und, in der illustrierenden Ausführungsform, von der/den Anschlusslogik(en) 210 ausgeführt werden.
  • Der Congestion-Manager 300, der, wie oben erörtert, als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder Kombination derselben ausgeführt sein kann, ist ausgelegt zum Betreiben der Paketübertragungsraten-Arbiter-Einheiten 160 der der Ausgangsstufe 150 vorgeschalteten Stufen mit einer Rate, die größer ist als die Rate der Arbiter-Einheit 170 in der Ausgangsstufe 150 (zum Beispiel mit dem 1,5-fachen der Rate der Arbiter-Einheit 170), Bestimmen, ob der nachgeschaltete Netzwerk-Switch 120 einer Dauerüberlastung ausgesetzt ist, Bestimmen, ob der Netzwerk-Switch 110 an der Arbiter-Einheit 170 (zum Beispiel in den Ausgangspufferspeichern 182) einer Dauerüberlastung ausgesetzt ist, und Bestimmen, und zwar in Abhängigkeit vom Überlastungszustand des nachgeschalteten Netzwerk-Switches 120 und des Netzwerk-Switches 110, ob der Netzwerk-Switch 110 eine Überlastungsursache ist. Dazu beinhaltet der Congestion-Manager 300 in der illustrierenden Ausführungsform einen Arbiter-Übertragungsratenmanager 340, einen Remote-Überlastungswächter 350, einen lokalen Überlastungswächter 360 und ein Ursachenermittlungsglied 370.
  • Der Arbiter-Übertragungsratenmanager 340 in der illustrierenden Ausführungsform ist so ausgelegt, dass er die Übertragungsrate der Arbiter-Einheiten 160 in den der Ausgangsstufe 150 vorgeschalteten Stufen (zum Beispiel Stufe 140) auf einen Wert größer als die Übertragungsrate der Arbiter-Einheit 170 in der Ausgangsstufe 150 einstellt. Der Arbiter-Übertragungsratenmanager 340 in der illustrierenden Ausführungsform stellt die Übertragungsrate der Arbiter-Einheiten 160 in den vorgeschalteten Stufen (zum Beispiel Stufe 140) auf den 1,5-fachen Wert der Übertragungsrate der Arbiter-Einheit 170 in der Ausgangsstufe 150 ein. Dementsprechend werden Pakete durch die Arbiter-Einheiten 160 in den vorgeschalteten Stufen (zum Beispiel Stufe 140) aus den Eingangsströmen (zum Beispiel den Eingangsströmen A, B, C, D in 1) mit relativ hoher Geschwindigkeit (zum Beispiel schneller, als die Arbiter-Einheit 170 die Pakete ausbringen kann) zu den Ausgangspufferspeichern 182 der Arbiter-Einheit 170 übertragen, was dazu führt, dass die aktuell vom Netzwerk-Switch 110 verarbeiteten Pakete mehrheitlich in den Ausgangspufferspeichern 182 verweilen. Dementsprechend liefert eine Ermittlung der verfügbaren Kapazität der Ausgangspufferspeicher 182 eine sehr genaue Vorstellung über die Anzahl der im Netzwerk-Switch 110 insgesamt verbliebenen Pakete. Der Arbiter-Übertragungsratenmanager 340 kann die Übertragungsraten wie vorstehend beschrieben einstellen, in Reaktion auf einen Bestimmungsvorgang des Netzwerk-Switches 110 zum Erkennen, ob der Netzwerk-Switch 110 eine Überlastungsursache ist. In anderen Ausführungsformen können die Arbiter-Einheiten 160 der verschiedenen Stufen 140, 150 so ausgelegt sein, dass sie mit festen Übertragungsraten arbeiten, nicht mit einer Anpassung der Übertragungsraten in Reaktion auf einen Bestimmungsvorgang zum Erkennen, ob der Netzwerk-Switch 110 eine Überlastungsursache ist.
  • Der Remote-Überlastungswächter 350 in der illustrierenden Ausführungsform ist ausgelegt zum Bestimmen, ob das nachgeschaltete Gerät (zum Beispiel der Netzwerk-Switch 120) einer Dauerüberlastung ausgesetzt ist. In der illustrierenden Ausführungsform bestimmt der Remote-Überlastungswächter 350 in periodischen Abständen, ob der Netzwerk-Switch 120 aktuell einen Kapazitätsschwellwert für die Annahme von Paketen aus dem vorliegenden Netzwerk-Switch 110 (zum Beispiel Kapazität zur Aufnahme von mindestens einem Paket) aufweist. Stellt der Remote-Überlastungswächter 350 fest, dass der nachgeschaltete Netzwerk-Switch 120 über eine vorbestimmte Zeitdauer oder über eine vorbestimmte Anzahl periodischer Überlastungsbestimmungen überlastet ist, dann stellt der Remote-Überlastungswächter 350 fest, dass eine Dauerüberlastung des Netzwerk-Switches 120 vorliegt. Zur Ermittlung der für die Annahme von Paketen aus dem Netzwerk-Switch 110 verfügbaren Kapazität des Netzwerk-Switches 120 kann der Remote-Überlastungswächter 350 ein Modell des Eingangspufferspeichers 184 führen, das der Remote-Überlastungswächter 350 in dem Maße anpasst, wie der Netzwerk-Switch 110 Pakete zum Netzwerk-Switch 120 überträgt (zum Beispiel Reduzierung der verfügbaren Kapazität) und wie der Netzwerk-Switch 110 vom Netzwerk-Switch 120 Bestätigungsnachrichten oder andere Mitteilungen darüber empfängt, dass die Pakete aus dem Eingangspuffer 184 ausgetragen und weiter übertragen wurden (zum Beispiel Erhöhung der verfügbaren Kapazität des Eingangspufferspeichers 184 des Netzwerk-Switches 120). Zu diesem Zweck beinhaltet der Remote-Überlastungswächter 350 in der illustrierenden Ausführungsform einen Zuteilungsmanager 352, der so ausgelegt ist, dass er eine Anzahl von Krediten, die die Kapazität des Eingangspufferspeichers 184 des Netzwerk-Switches 120 darstellen, in Reaktion auf das Übertragen von Paketen vom Netzwerk-Switch 110 zum Netzwerk-Switch 120 und auf das Senden von Mitteilungen des Netzwerk-Switches 120 an den Netzwerk-Switch 110 darüber, dass diese Pakete aus dem Eingangspuffer 184 heraus übertragen wurden, wie vorstehend beschrieben, ständig vermindert und erhöht.. In anderen Ausführungsformen kann mittels eines abweichenden Verfahrens der Füllstand des Eingangspuffers 184 bestimmt werden. Beispielsweise kann der Switch 120 die Informationen über den Füllstand des Eingangspufferspeichers 184 periodisch an den Switch 110 senden.
  • Der lokale Überlastungswächter 360 in der illustrierenden Ausführungsform ist ausgelegt zum Bestimmen, ob der Netzwerk-Switch 110 einer Dauerüberlastung ausgesetzt ist. In der illustrierenden Ausführungsform bestimmt der lokale Überlastungswächter 360 in periodischen Abständen, ob die Ausgangspufferspeicher 182 aktuell einen Kapazitätsschwellwert für den Empfang zusätzlicher Pakete aus den vorgeschalteten Arbiter-Einheiten (zum Beispiel den Arbiter-Einheiten 162, 164, 166, 168) aufweist. Stellt der lokale Überlastungswächter 360 fest, dass die Ausgangspufferspeicher 182 eine vorbestimmte Anzahl von Malen oder über eine vorbestimmte Zeitdauer nicht auf die Grenzkapazität kommen, stellt der lokale Überlastungswächter 360 fest, dass der Netzwerk-Switch 110 einer Dauerüberlastung ausgesetzt ist. In der illustrierenden Ausführungsform beinhaltet der örtliche Überlastungswächter 360 einen Zuteilungsmanager 362, der die verfügbare Kapazität (zum Beispiel die Anzahl verfügbarer Kredite) der Ausgangspufferspeicher 182 der Arbiter-Einheit 170 in der Ausgangsstufe 150 zur Annahme von Paketen aus der vorgeschalteten Stufe (zum Beispiel der Arbiter-Einheiten 162, 164, 166, 168) kontinuierlich verfolgt, die Anzahl verfügbarer Kredite in dem Maße erhöht, wie Pakete aus der Ausgangsstufe 150 (zum Beispiel an den Netzwerk-Switch 120) übertragen werden, und die Anzahl verfügbarer Kredite in dem Maße vermindert, wie Pakete aus der vorgeschalteten Stufe 140 an die Ausgangsstufe 150 übertragen werden. In einigen Ausführungsformen kann der örtliche Überlastungsmanager 360 aufgrund der kleinen Bemessung der örtlichen Ausgangspufferspeicher 182 feststellen, dass die einzelnen Ausgangspufferspeicher 182 effektiv voll sind. Wenn ein Ausgangspuffer (zum Beispiel der erste Ausgangspuffer 182 von 1) voll ist, kommt der örtliche Überwachungsmanager 360 zur Einschätzung und Annahme, dass sich Pakete anstromseitig aufbauen. Der lokale Überlastungswächter 360 verfolgt in solchen Ausführungsformen nicht nur das Ist-Paketaufkommen im Ausgangspufferspeicher 182, sondern führt auch für jeden Taktzyklus, in dem der Ausgangspuffer 182 als voll festgestellt wird, einen separaten Zähler für den geschätzten Rückstau anströmender Pakete. Je nach Ausführungsform, kann der lokale Überlastungswächter 360 entweder den tatsächlichen Füllstand oder den effektiven Füllstand jedes Ausgangspuffers 182 verwenden.
  • Nach erfolgter Ermittlung eines effektiven Füllstands für jeden Ausgangspuffer 182 kann der lokale Überlastungswächter 360 bestimmen, ob an der Arbiter-Einheit 170 eine temporäre lokale Überlastung vorliegt, indem er prüft, ob die beiden folgenden Bedingungen zutreffen: i) der effektive Füllstand eines der Ausgangspufferspeicher 182 überschreitet einen vorbestimmten Schwellenwert, oder ii) der effektive Füllstand aller Ausgangspufferspeicher 182 überschreitet einen vorbestimmten Schwellenwert. Die beiden vorbestimmten Schwellenwerte können unterschiedlich sein. Wenn ein Dauerüberlastungszeitraum abläuft, kann der lokale Überlastungswächter 360 durch Löschung einer geschätzten anstromseitigen Füllstandszählung den effektiven Füllstand jedes Ausgangspufferspeichers 182 neu schätzen. Falls der lokale Ausgangspufferspeicher 182 (zum Beispiel der erste Ausgangspuffer 182) noch voll ist, beginnt der lokale Überlastungswächter 360 während des neuen Zeitraums mit einer inkrementellen Hochzählung des geschätzten anstromseitigen Füllstands. Falls jedoch der Ausgangspuffer 182 bei Ablauf eines vorbestimmten Zeitraums nicht mehr voll ist, löscht der lokale Überlastungswächter 360 die geschätzte anstromseitige Füllstandszählung.
  • Das Ursachenermittlungsglied 370 in der illustrierenden Ausführungsform ist ausgelegt zum Bestimmen, ob der Netzwerk-Switch 110 im Netzwerk 130 eine Überlastungsursache ist, und zwar in Abhängigkeit vom Überlastungszustand des Remote-Eingangspufferspeichers 184 des nachgeschalteten Netzwerk-Switches 120 und der Ausgangspufferspeicher 182 des Netzwerk-Switches 110. Das Ursachenermittlungsglied 370 ist hierbei so ausgelegt, dass es den Netzwerk-Switch 110 als Überlastungsquelle ermittelt, wenn der Remote-Überlastungswächter 350 festgestellt hat, dass der Netzwerk-Switch 120 keiner Dauerüberlastung (zum Beispiel am Eingangspufferspeicher 184) ausgesetzt ist, und der lokale Überlastungswächter 360 festgestellt hat, dass der Netzwerk-Switch 110 einer Dauerüberlastung (zum Beispiel an den Ausgangspufferspeichern 182) ausgesetzt ist. In anderen Ausführungsformen kann das Ursachenermittlungsglied 370 den Netzwerk-Switch 110 als Ursache der Überlastung ermitteln, wenn sowohl am lokalen als auch am fernen Überlastungswächter eine Dauerüberlastung vorliegt.
  • Es versteht sich, dass der Arbiter-Übertragungsratenmanager 340, der Remote-Überlastungswächter 350, der Zuteilungsmanager 352, der lokale Überlastungswächter 360, der Zuteilungsmanager 362 und das Ursachenermittlungsglied 370 jeweils separat als Hardware, Firmware, Software, virtualisierte Hardware, emulierte Architektur und/oder Kombination derselben ausgeführt sein können. Der Arbiter-Übertragungsratenmanager 340 kann beispielsweise als Hardware-Komponente ausgeführt sein, während der Remote-Überlastungswächter 350, der Zuteilungsmanager 352, der lokale Überlastungswächter 360, der Zuteilungsmanager 362 und das Ursachenermittlungsglied 370 jeweils als virtualisierte Hardware-Komponente oder als eine andere Kombination von Hardware, Firmware, Software, virtualisierter Hardware, emulierter Architektur und/oder Kombination derselben ausgeführt sein können.
  • Wie nunmehr in 4 zu sehen, kann der Netzwerk-Switch 110 im Betrieb ein Verfahren 400 zum Erkennen einer Remote-Überlastung (zum Beispiel einer Überlastung im nachgeschalteten Netzwerk-Switch 120) ausführen. Das Verfahren 400 beginnt mit Block 402, wo der Netzwerk-Switch 110 bestimmt, ob eine Remote-Überlastung zu erkennen ist. Dabei kann der Netzwerk-Switch 110 bestimmen, ob von einem Remote-Rechengerät (nicht dargestellt), wie von einem Administrator-Rechengerät, eine Anfrage zum Erkennen einer Remote-Überlastung, als Teil einer Anfrage zur Ermittlung, ob der Netzwerk-Switch 110 eine Überlastungsursache ist, eingegangen ist. In anderen Ausführungsformen kann der Netzwerk-Switch 110 den Bestimmungsvorgang zur Erkennung einer Remote-Überlastung in Reaktion auf die Erkennung einer entsprechenden Einstellung in einer Konfigurationsdatei (zum Beispiel einer in der Datenspeichervorrichtung 216 abgelegten Konfigurationsdatei) ausführen. In anderen Ausführungsformen kann der Bestimmungsvorgang des Netzwerk-Switches 110 zur Erkennung einer Remote-Überlastung in Reaktion auf eine Feststellung, dass der Netzwerk-Switch 110 eingeschaltet und mit einem nachgeschalteten Gerät (zum Beispiel Netzwerk-Switch 120) kommunikationstechnisch verbunden ist, und/oder ausgehend von anderen Faktoren erfolgen. Unabhängig davon geht das Verfahren 400, in Reaktion auf einen Bestimmungsvorgang zur Erkennung einer Remote-Überlastung, zu Block 404 über, wo der Netzwerk-Switch 110 gegebenenfalls über eine vorbestimmte Zeitdauer wartet. Dabei kann der Netzwerk-Switch 110 eine vorbestimmte Anzahl von Taktzyklen abwarten, wie in Block 406 angezeigt.
  • In Block 408 bestimmt der Netzwerk-Switch 100, ob der Eingangspufferspeicher 184 des Remote-Netzwerk-Switches (zum Beispiel des nachgeschalteten Netzwerk-Switches 120) temporär überlastet ist. Dabei empfängt der Netzwerk-Switch 110 in der illustrierenden Ausführungsform vom Remote-Netzwerk-Switch (zum Beispiel vom Netzwerk-Switch 120) Remote-Eingangspufferspeicher-Füllstandsinformationen (zum Beispiel die Remote-Eingangspufferspeicher-Füllstandsinformationen 304) mit Angabe einer Anzahl von Paketen, die der Remote-Netzwerk-Switch 120 vom Netzwerk-Switch 110 entgegennimmt, wie in Block 410 angegeben. In der illustrierenden Ausführungsform empfängt der Netzwerk-Switch 110 Kreditdaten mit Angabe einer Anzahl von Krediten, die dem Netzwerk-Switch 110 zum Senden von Paketen zum Remote-Netzwerk-Switch 120 zur Verfügung stehen, wie in Block 412 angegeben. Bei der Bestimmung, ob der Eingangspufferspeicher 184 des Remote-Netzwerk-Switches 120 temporär überlastet ist, ermittelt der Netzwerk-Switch 110 außerdem, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen 304 einen Schwellenwert einhalten (zum Beispiel anzeigen, dass eine als Schwellenwert festgelegte Byte-Anzahl für den Empfang von Paketen aus dem Netzwerk-Switch 110 zur Verfügung steht), wie in Block 414 angegeben. Hierbei kann der Netzwerk-Switch 110 ermitteln, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen 304 anzeigen, dass null Pakete gesendet werden können (zum Beispiel Nichtvorhandensein von Krediten zum Senden von Paketen an den Remote-Netzwerk-Switch 120), wie in Block 416 angegeben.
  • In Block 418 bestimmt der Netzwerk-Switch 110 die auszuführenden Folgemaßnahmen in Abhängigkeit davon, ob der Remote-Netzwerk-Switch 120 temporär überlastet ist. In Reaktion auf ein Bestimmungsergebnis, demzufolge der Remote-Netzwerk-Switch 120 nicht temporär überlastet ist, setzt das Verfahren 400 mit Block 420 fort, wo der Netzwerk-Switch 110 einen Remote-Überlastungszähler (zum Beispiele eine lokale Variable, die anzeigt, wie oft beim Remote-Netzwerk-Switch 120 eine Überlastung festgestellt wurde) vermindert. Wenn in der illustrierenden Ausführungsform der Remote-Überlastungszähler null ist, hält der Netzwerk-Switch 110 in Block 420 den Wert auf null (zum Beispiel statt den Wert in den negativen Bereich zu senken). In einigen Ausführungsformen stellt der Netzwerk-Switch 110 beim Herunterzählen der Remote-Überlastung den Remote-Überlastungszähler auf null, unabhängig davon, welchen Wert der Remote-Überlastungszähler vorher hatte. Wenn, zurück zu Block 418 der Netzwerk-Switch 110 stattdessen eine temporäre Überlastung des Remote-Netzwerk-Switches 120 feststellt, fährt das Verfahren 400 mit Block 422 fort, wo der Netzwerk-Switch 110 den Remote-Überlastungszähler hochzählt. In der illustrierenden Ausführungsform erhöht der Netzwerk-Switch 110 hierbei den Remote-Überlastungszähler inkrementell um den Wert eins, wie in Block 424 angegeben. In anderen Ausführungsformen kann der Netzwerk-Switch 110 den Remote-Überlastungszähler um einen anderen Wert erhöhen (zum Beispiel um eine seit der letzten Ermittlung einer temporären Überlastung des Netzwerk-Switches 120 verstrichene Zeitspanne). Anschließend setzt das Verfahren 400 mit Block 426 von 5 fort, wo der Netzwerk-Switch 110 bestimmt, ob der Eingangspufferspeicher 184 des Remote-Netzwerk-Switches 120 eine Dauerüberlastung aufweist.
  • Bei der Bestimmung, ob der Eingangspuffer 184 des Remote-Netzwerk-Switches 120 eine Dauerüberlastung aufweist, wie nunmehr in 5 zu sehen, ermittelt der Netzwerk-Switch 110, ob der Remote-Überlastungszähler einen vorbestimmten Wert einhält (zum Beispiel eine vorbestimmte Anzahl von Malen einer festgestellten Überlastung des Remote-Netzwerk-Switches 120, eine vorbestimmte Zeitdauer einer vorliegenden Überlastung des Remote-Netzwerk-Switches 120, usw.), wie in Block 428 angegeben. Danach geht das Verfahren 400 zu Block 430 über, wo der Netzwerk-Switch 110 die auszuführenden Folgemaßnahmen in Abhängigkeit vom Ergebnis der vom Netzwerk-Switch 110 durchgeführten Bestimmung, ob der Remote-Netzwerk-Switch 120 einer Dauerüberlastung unterliegt, bestimmt. In Reaktion auf ein Bestimmungsergebnis, demzufolge der Remote-Netzwerk-Switch 120 einer Dauerüberlastung ausgesetzt ist, setzt das Verfahren 400 mit Block 432 fort, wo der Netzwerk-Switch 110 einen Indikator (zum Beispiel im Speicherbaustein 204) setzt, der anzeigt, dass eine Remote-Dauerüberlastung erkannt wurde. Danach springt das Verfahren 400 zu Block 404 zurück, wo der Netzwerk-Switch 110 erneut eine vorbestimmte Zeit lang wartet und dann bestimmt, ob der Eingangspufferspeicher 184 des Remote-Netzwerk-Switches 120 temporär überlastet ist.
  • Wenn, zurück bei Block 430, der Netzwerk-Switch 110 stattdessen feststellt, dass der Remote-Netzwerk-Switch 120 aktuell keiner Dauerüberlastung ausgesetzt ist, fährt das Verfahren 400 mit Block 434 fort, wo der Netzwerk-Switch 110 einen Indikator (zum Beispiel im Speicherbaustein 204) setzt, der anzeigt, dass keine Remote-Dauerüberlastung festgestellt wurde. Anschließend springt das Verfahren 400 zurück zu Block 404 von 4, wo der Netzwerk-Switch 110 erneut eine vorbestimmte Zeit lang wartet und dann bestimmt, ob der Eingangspufferspeicher 184 des Remote-Netzwerk-Switches 120 temporär überlastet ist.
  • Wie nunmehr in 6 zu sehen, kann der Netzwerk-Switch 110 im Betrieb ein Verfahren 600 zum Erkennen einer lokalen Überlastung ausführen. Das Verfahren 600 beginnt mit Block 602, wo der Netzwerk-Switch 110 bestimmt, ob eine lokale Überlastung zu erkennen ist. Dabei kann der Netzwerk-Switch 110 bestimmen, ob von einem Remote-Rechengerät (nicht dargestellt), wie etwa von einem Administrator-Rechengerät, eine Anfrage zum Erkennen einer lokalen Überlastung, als Teil einer Anfrage zur Ermittlung, ob der Netzwerk-Switch 110 eine Überlastungsursache ist, eingegangen ist. In anderen Ausführungsformen kann der Netzwerk-Switch 110 den Bestimmungsvorgang zur Erkennung einer lokalen Überlastung in Reaktion auf die Erkennung einer entsprechenden Einstellung in einer Konfigurationsdatei (zum Beispiel einer in der Datenspeichervorrichtung 216 abgelegten Konfigurationsdatei) ausführen. In anderen Ausführungsformen kann der Bestimmungsvorgang des Netzwerk-Switches 110 zur Erkennung einer lokalen Überlastung in Reaktion auf eine Feststellung, dass der Netzwerk-Switch 110 eingeschaltet und mit einem oder mehreren anderen Geräten kommunikationstechnisch verbunden ist, und/oder ausgehend von anderen Faktoren erfolgen. Unabhängig davon geht das Verfahren 600, in Reaktion auf einen Bestimmungsvorgang zur Erkennung einer lokalen Überlastung, zu Block 604 über, wo der Netzwerk-Switch 110 gegebenenfalls über eine vorbestimmte Zeitdauer wartet. Hierbei kann der Netzwerk-Switch 110 eine vorbestimmte Anzahl von Taktzyklen abwarten, wie in Block 606 angezeigt.
  • In Block 608 bestimmt der Netzwerk-Switch 100, ob jeder lokale Ausgangspufferspeicher 182 des Netzwerk-Switches 110 temporär überlastet ist. Dabei bestimmt der Netzwerk-Switch 110 in der illustrierenden Ausführungsform lokale Eingangspufferspeicher-Füllstandsinformationen (zum Beispiel die lokalen Eingangspufferspeicher-Füllstandsinformationen 306) mit Angabe einer Anzahl von Paketen, die jeder Ausgangspufferspeicher 182 von der vorgeschalteten Stufe (zum Beispiel Stufe 140) entgegennimmt, wie in Block 610 angegeben. Hierbei bestimmt der Netzwerk-Switch 110 Kreditdaten, die eine Anzahl von Krediten anzeigen, die den Arbiter-Einheiten (zum Beispiel den Arbiter-Einheiten 162, 164, 166, 168) in der vorgeschalteten Stufe 140 zur Verfügung stehen, um Pakete an die Ausgangsstufe 150 zu senden, wie in Block 612 angegeben. Während der Bestimmung, ob bei jedem lokalen Ausgangspufferspeicher 182 des Netzwerk-Switches 110 eine temporäre Überlastung vorliegt, bestimmt der Netzwerk-Switch 110 außerdem, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen 306 einen vorherbestimmten Schwellenwert einhalten, wie in Block 614 angegeben. Hierbei kann der Netzwerk-Switch 110 bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen 306 anzeigen, dass zu keinem der Ausgangspufferspeicher 182 Pakete gesendet werden können, wie in Block 616 angegeben. Wie oben unter Verweis auf 3 beschrieben, kann der Netzwerk-Switch 110 in anderen Ausführungsformen bestimmen, ob der Netzwerk-Switch 110 einer temporären Überlastung ausgesetzt ist, indem er einen effektiven Füllstand je Ausgangspuffer 182 ermittelt und bestimmt, ob eine der beiden folgenden Bedingungen erfüllt ist: i) der effektive Füllstand eines der Ausgangspufferspeicher 182 überschreitet einen vorbestimmten Schwellenwert, oder ii) der effektive Füllstand aller Ausgangspufferspeicher 182 überschreitet einen vorbestimmten Schwellenwert. Die beiden vorbestimmten Schwellenwerte können unterschiedlich sein.
  • Anschließend geht das Verfahren 600 zu Block 618, wo der Netzwerk-Switch 110 die auszuführenden Folgemaßnahmen in Abhängigkeit davon bestimmt, ob der Netzwerk-Switch 110 für einen lokalen Ausgangspufferspeicher 182 eine temporäre Überlastung festgestellt hat. In Reaktion auf eine Feststellung, dass kein lokaler Ausgangspufferspeicher 182 temporär überlastet ist, setzt das Verfahren 600 mit Block 620 fort, wo der Netzwerk-Switch 110 einen Lokalüberlastungszähler heruntersetzt. Wenn hierbei in der illustrierenden Ausführungsform der Lokalüberlastungszähler null ist, hält der Netzwerk-Switch 110 in Block 620 den Wert auf null (zum Beispiel statt den Lokalüberlastungszähler in den negativen Bereich zu senken). In einigen Ausführungsformen stellt der Netzwerk-Switch 110 beim Herunterzählen der lokalen Überlastung den Lokalüberlastungszähler auf null, unabhängig davon, welchen Wert der Lokalüberlastungszähler vorher hatte. Wenn, zurück bei Block 618, der Netzwerk-Switch 110 stattdessen feststellt, dass einer der lokalen Ausgangspufferspeicher 182 temporär überlastet ist, fährt das Verfahren 600 mit Block 622 fort, wo der Netzwerk-Switch 110 den Lokalüberlastungszähler hochzählt. Dabei erhöht der Netzwerk-Switch 110 den Lokalüberlastungszähler gegebenenfalls um den Wert eins, wie in Block 624 angegeben. In anderen Ausführungsformen kann der Netzwerk-Switch 110 den Lokalüberlastungszähler um eine seit der letzten Ermittlung einer temporären Überlastung eines lokalen Ausgangspufferspeichers 182 verstrichene Zeitspanne erhöhen. In weiteren Ausführungsformen kann der Netzwerk-Switch 110 den Lokalüberlastungszähler um einen anderen Betrag hochsetzen. Daraufhin setzt das Verfahren 600 mit Block 626 von 7 fort, wo der Netzwerk-Switch 110 bestimmt, ob der lokale Ausgangspufferspeicher 182 des Netzwerk-Switches 110 eine Dauerüberlastung aufweist.
  • Bei der Bestimmung, ob die lokalen Ausgangspufferspeicher 182 des Netzwerk-Switches 110 eine Dauerüberlastung aufweisen, wie nunmehr in 7 zu sehen, bestimmt der Netzwerk-Switch 110, ob der Lokalüberlastungszähler einen vorbestimmten Wert einhält (zum Beispiel eine vorbestimmte Anzahl von Malen einer festgestellten Überlastung des Netzwerk-Switches 110, eine vorbestimmte Zeitdauer einer vorliegenden Überlastung des Netzwerk-Switches 110, usw.), wie in Block 628 angegeben. In einigen Ausführungsformen (zum Beispiel in Ausführungsformen, in denen ein effektiver Füllstand ermittelt wird) kann der Netzwerk-Switch 110 bei Ablauf einer Dauerüberlastungszeitspanne durch Löschung einer geschätzten anstromseitigen Füllstandszählung den effektiven Füllstand jedes Ausgangspufferspeichers 182 neu schätzen. Falls der lokale Ausgangspufferspeicher 182 (zum Beispiel der erste Ausgangspuffer 182) noch voll ist, kann der Netzwerk-Switch 110 mit dem Hochzählen der geschätzten anstromseitigen Füllstandszählung im neuen Zeitraum beginnen. Falls jedoch der Ausgangspuffer 182 bei Ablauf eines vorbestimmten Zeitraums nicht mehr voll ist, kann der Netzwerk-Switch 110 die geschätzte anstromseitige Füllstandszählung löschen.
  • Anschließend geht das Verfahren 600 zu Block 630, wo der Netzwerk-Switch 110 die auszuführenden Folgemaßnahmen in Abhängigkeit davon bestimmt, ob eine lokale Dauerüberlastung erkannt wurde. In Reaktion auf ein Bestimmungsergebnis, demzufolge der Netzwerk-Switch 110 eine Dauerüberlastung aufweist, setzt das Verfahren 600 mit Block 632 fort, wo der Netzwerk-Switch 110 einen Indikator (zum Beispiel im Speicherbaustein 204) setzt, der anzeigt, dass eine lokale Dauerüberlastung erkannt wurde. Anschließend springt das Verfahren 600 zurück zu Block 604 von 6, wo der Netzwerk-Switch 110 eine vorbestimmte Zeit lang wartet und anschließend nochmals bestimmt, ob ein oder mehrere Ausgangspufferspeicher 182 temporär überlastet sind. Wenn, zurück bei Block 630, der Netzwerk-Switch 100 feststellt, dass keine lokale Dauerüberlastung erkannt wurde, setzt das Verfahren 600 mit Block 634 fort, wo der Netzwerk-Switch 110 einen Indikator (zum Beispiel im Speicherbaustein 204) setzt, der anzeigt, dass keine lokale Dauerüberlastung erkannt wurde. Anschließend springt das Verfahren 600 zu Block 604 von 6 zurück, wo der Netzwerk-Switch 110 eine vorbestimmte Zeit lang wartet und anschließend nochmals bestimmt, ob ein oder mehrere Ausgangspufferspeicher 182 temporär überlastet sind.
  • Wie nunmehr in 8 zu sehen, kann der Netzwerk-Switch 110 im Betrieb ein Verfahren 800 ausführen, um zu bestimmen, ob der Netzwerk-Switch 110 eine Überlastungsursache ist. Das Verfahren 800 beginnt mit Block 802, wo der Netzwerk-Switch 110 bestimmt, ob zu bestimmen ist, ob der Netzwerk-Switch 110 eine Überlastungsursache im Netzwerk 130 ist. Dabei kann der Netzwerk-Switch 110 bestimmen, ob von einem Remote-Rechengerät (nicht dargestellt), wie etwa von einem Administrator-Rechengerät, eine Anfrage eingegangen ist, dass zu bestimmen ist, ob der Netzwerk-Switch 110 eine Überlastungsursache ist. In anderen Ausführungsformen kann der Netzwerk-Switch 110 zum Schluss kommen, den Bestimmungsvorgang in Reaktion auf die Erkennung einer entsprechenden Einstellung in einer Konfigurationsdatei (zum Beispiel einer in der Datenspeichervorrichtung 216 abgelegten Konfigurationsdatei) auszuführen. In anderen Ausführungsformen kann der Netzwerk-Switch 110 die Ausführung des Verfahrens 800 davon, dass der Netzwerk-Switch 110 eingeschaltet und mit anderen Geräten kommunikationstechnisch verbunden ist, und/oder von anderen Faktoren abhängig machen. Unabhängig davon geht das Verfahren 800, in Reaktion auf einen Bestimmungsvorgang zur Untersuchung, ob der Netzwerk-Switch 110 eine Überlastungsursache ist, zu Block 804 über. In Block 804 kann der Netzwerk-Switch 110 Paketübertragungsraten der Arbiter-Einheiten 160 in der Eingangsstufe 140 und etwaigen Zwischenstufen so einstellen, dass sie schneller (zum Beispiel größer) als die Übertragungsrate der Arbiter-Einheit 170 in der Ausgangsstufe 150 sind. Hierbei kann der Netzwerk-Switch 110 die Übertragungsraten auf den 1,5-fachen Wert der Übertragungsrate der Arbiter-Einheit 170 der Ausgangsstufe 150 einstellen, wie in Block 806 angezeigt. In anderen Ausführungsformen werden die Übertragungsraten der Arbiter-Einheiten 160 fest auf die oben beschriebenen Raten eingestellt und nicht als Reaktion auf einen Bestimmungsvorgang zur Ausführung des Verfahrens 800 angepasst. In Block 808 bestimmt der Netzwerk-Switch 110 anschließend, ob der Remote-Netzwerk-Switch (zum Beispiel der nachgeschaltete Netzwerk-Switch 120) einer Dauerüberlastung ausgesetzt ist. Dabei führt der Netzwerk-Switch 110 das unter Verweis auf 4 und 5 beschriebene Verfahren 400 aus. In Block 810 bestimmt der Netzwerk-Switch 100 außerdem, ob in einem lokalen Ausgangspufferspeicher 182 des vorliegenden Netzwerk-Switches 110 eine Dauerüberlastung vorliegt. In der illustrierenden Ausführungsform führt der Netzwerk-Switch 110 das unter Verweis auf 6 und 7 beschriebene Verfahren 600 aus. In einigen Ausführungsformen kann der Netzwerk-Switch 110 die Blöcke 808 und 810 gleichzeitig ausführen, wie in separaten Threads. Unabhängig davon, bestimmt der Netzwerk-Switch 110 in Block 812, ob der Netzwerk-Switch 110 einer Dauerüberlastung ausgesetzt ist (zum Beispiel ob ein oder mehrere lokale Ausgangspufferspeicher 182 einer Dauerüberlastung unterworfen sind) und der Remote-Netzwerk-Switch (zum Beispiel der nachgeschaltete Netzwerk-Switch 120) keiner Dauerüberlastung ausgesetzt ist. Falls nicht, geht das Verfahren zu Block 814 über, wo der Netzwerk-Switch 110 feststellt, dass der Netzwerk-Switch 110 keine Überlastungsursache ist. Anschließend springt das Verfahren 800 zum Block 802 zurück, wo der Netzwerk-Switch 110 nochmals bestimmt, ob der Netzwerk-Switch 110 als Überlastungsursache feststellbar ist. Wenn, zurück bei Block 812, der Netzwerk-Switch 110 stattdessen eine lokale Dauerüberlastung und keine Remote-Dauerüberlastung feststellt, fährt das Verfahren 800 mit Block 816 fort, wo der Netzwerk-Switch 110 feststellt, dass der Netzwerk-Switch 110 die Überlastungsursache ist. Dabei kann der Netzwerk-Switch 110 Eingangsquellen (zum Beispiel Rechengeräte, die die Eingangsströme A, B, C, D von 1 bereitstellen) auffordern, den Durchsatz zum Netzwerk-Switch 110 zu reduzieren. In der illustrierenden Ausführungsform erfolgt die Aufforderung des Netzwerk-Switches 110 durch Markieren der ausgehenden Pakete mit einer Überlastungsmitteilung, aus der hervorgeht, dass der Durchsatz zum Netzwerk-Switch 110 reduziert werden sollte. In anderen Ausführungsformen ermittelt der Netzwerk-Switch 110 stattdessen den Netzwerk-Switch 110 als Überlastungsursache, wenn sowohl der nachgeschaltete Netzwerk-Switch 120 als auch der vorliegende Netzwerk-Switch 110 einer Dauerüberlastung unterliegen.
  • BEISPIELE
  • Es folgen illustrierende Beispiele der hierin offenbarten Technologien. Eine Ausführungsform der Technologien kann eine oder mehrere und eine beliebige Kombination der nachstehend beschriebenen Beispiele beinhalten.
  • Beispiel 1 beinhaltet einen Netzwerk-Switch zum Bestimmen einer Überlastungsursache, wobei der Netzwerk-Switch eine Mehrzahl von in einer Stufenhierarchie ausgestalteten Arbiter-Einheiten umfasst, wobei die Hierarchie beinhaltet: eine Ausgangsstufe und eine vorgeschaltete Stufe; eine Schaltungsanordnung zum Betreiben der Arbiter-Einheiten in der vorgeschalteten Stufe mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe; Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit in der Ausgangsstufe über eine erste vorbestimmte Zeitspanne anzeigt; Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten in der vorgeschalteten Stufe über eine zweite vorbestimmte Zeitspanne anzeigt; Bestimmen, abhängig davon, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, ob der Netzwerk-Switch eine Überlastungsursache ist; und in Reaktion auf eine Feststellung, dass der Netzwerk-Switch die Überlastungsursache ist, Auffordern, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches einen Durchsatz zum Netzwerk-Switch reduzieren.
  • Beispiel 2 beinhaltet den Gegenstand von Beispiel 1, und wobei die Schaltungsanordnung ferner, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe keine Dauerüberlastung aufweist, bestimmen soll, dass der Netzwerk-Switch keine Überlastungsursache ist.
  • Beispiel 3 beinhaltet den Gegenstand eines der Beispiele 1 und 2, und wobei das Bestimmen, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Remote-Netzwerk-Switch eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch eine Dauerüberlastung aufweist.
  • Beispiel 4 beinhaltet den Gegenstand eines der Beispiele 1 bis 3, und wobei die Schaltungsanordnung ferner eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, abwarten soll.
  • Beispiel 5 beinhaltet den Gegenstand eines der Beispiele 1 bis 4, und wobei das Bestimmen, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, umfasst: Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch aus dem Netzwerk-Switch entgegennehmen wird; Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 6 beinhaltet den Gegenstand eines der Beispiele 1 bis 5, und wobei das Bestimmen, ob die Remote-Pufferspeicherdaten einen Schwellenwert einhalten, umfasst: Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch null Pakete aus dem Netzwerk-Switch entgegennehmen wird.
  • Beispiel 7 beinhaltet den Gegenstand eines der Beispiele 1 bis 6, und wobei das Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch entgegennehmen wird.
  • Beispiel 8 beinhaltet den Gegenstand eines der Beispiele 1 bis 7, und wobei das Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Ausgangspufferspeicher eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher eine Dauerüberlastung aufweist.
  • Beispiel 9 beinhaltet den Gegenstand eines der Beispiele 1 bis 8, und wobei die Schaltungsanordnung ferner eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, abwarten soll.
  • Beispiel 10 beinhaltet den Gegenstand eines der Beispiele 1 bis 9, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: Bestimmen von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit in der Ausgangsstufe aus der vorgeschalteten Stufe entgegennehmen wird; Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 11 beinhaltet den Gegenstand eines der Beispiele 1 bis 10, und wobei das Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit in der Ausgangsstufe null Pakete aus der vorgeschalteten Stufe entgegennehmen wird.
  • Beispiel 12 beinhaltet den Gegenstand eines der Beispiele 1 bis 11, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: Bestimmen von effektiven Füllstandsinformationen, die einen geschätzten Rückstau von Paketen anstromseitig zum Ausgangspufferspeicher anzeigen; und Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, und zwar in Abhängigkeit von den effektiven Füllstandsinformationen.
  • Beispiel 13 beinhaltet ein Verfahren zum Bestimmen einer Überlastungsursache, wobei das Verfahren umfasst: durch einen Netzwerk-Switch, der eine Mehrzahl von Arbiter-Einheiten umfasst, die in einer Stufenhierarchie ausgestaltet sind, die eine Ausgangsstufe und eine vorgeschaltete Stufe umfasst, Betreiben der Arbiter-Einheiten in der vorgeschalteten Stufe mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe; Bestimmen, durch den Netzwerk-Switch, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit in der Ausgangsstufe über eine erste vorbestimmte Zeitspanne anzeigt; Bestimmen, durch den Netzwerk-Switch, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten in der vorgeschalteten Stufe über eine zweite vorbestimmte Zeitspanne anzeigt; Bestimmen, durch den Netzwerk-Switch und abhängig davon, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, ob der Netzwerk-Switch eine Überlastungsursache ist; und in Reaktion auf eine Feststellung, dass der Netzwerk-Switch die Überlastungsursache ist, Auffordern, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches einen Durchsatz zum Netzwerk-Switch reduzieren.
  • Beispiel 14 beinhaltet den Gegenstand von Beispiel 13, und beinhaltet ferner: Bestimmen, durch den Netzwerk-Switch und in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe keine Dauerüberlastung aufweist, dass der Netzwerk-Switch keine Überlastungsursache ist.
  • Beispiel 15 beinhaltet den Gegenstand eines der Beispiele 13 und 14, und wobei das Bestimmen, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Remote-Netzwerk-Switch eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch eine Dauerüberlastung aufweist.
  • Beispiel 16 beinhaltet den Gegenstand eines der Beispiele 13 bis 15, und beinhaltet ferner: durch den Netzwerk-Switch, Abwarten einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 17 beinhaltet den Gegenstand eines der Beispiele 13 bis 16, und wobei das Bestimmen, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, umfasst: Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch aus dem Netzwerk-Switch entgegennehmen wird; Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 18 beinhaltet den Gegenstand eines der Beispiele 13 bis 17, und wobei das Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch null Pakete aus dem Netzwerk-Switch entgegennehmen wird.
  • Beispiel 19 beinhaltet den Gegenstand eines der Beispiele 13 bis 18, und wobei das Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch entgegennehmen wird.
  • Beispiel 20 beinhaltet den Gegenstand eines der Beispiele 13 bis 19, und wobei das Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Ausgangspufferspeicher eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher eine Dauerüberlastung aufweist.
  • Beispiel 21 beinhaltet den Gegenstand eines der Beispiele 13 bis 20, und beinhaltet ferner: durch den Netzwerk-Switch, Abwarten einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 22 beinhaltet den Gegenstand eines der Beispiele 13 bis 21, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: durch den Netzwerk-Switch, Bestimmen von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit in der Ausgangsstufe aus der vorgeschalteten Stufe entgegennehmen wird; Bestimmen durch den Netzwerk-Switch, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, durch den Netzwerk-Switch und in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 23 beinhaltet den Gegenstand eines der Beispiele 13 bis 22, und wobei das Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit in der Ausgangsstufe null Pakete aus der vorgeschalteten Stufe entgegennehmen wird.
  • Beispiel 24 beinhaltet den Gegenstand eines der Beispiele 13 bis 23, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: Bestimmen von effektiven Füllstandsinformationen, die einen geschätzten Rückstau von Paketen anstromseitig zum Ausgangspufferspeicher anzeigen; und Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, und zwar in Abhängigkeit von den effektiven Füllstandsinformationen.
  • Beispiel 25 beinhaltet ein oder mehrere maschinenlesbare Speichermedien, die mehrere darauf gespeicherte Anweisungen umfassen, die auf entsprechende Ausführung einen Netzwerk-Switch zum Ausführen des Verfahrens nach einem der Beispiele 13 bis 24 veranlassen.
  • Beispiel 26 beinhaltet einen Netzwerk-Switch zum Bestimmen einer Überlastungsursache, wobei der Netzwerk-Switch umfasst: einen oder mehrere Prozessoren; ein oder mehrere Speicherbauelemente, in denen eine Mehrzahl von Anweisungen gespeichert ist, die bei Ausführung durch einen oder mehrere Prozessoren den Netzwerk-Switch zum Ausführen des Verfahrens nach einem der Beispiele 13 bis 24 veranlassen.
  • Beispiel 27 beinhaltet einen Netzwerk-Switch, der Mittel zum Ausführen des Verfahrens nach einem der Beispiele 13 bis 24 umfasst.
  • Beispiel 28 beinhaltet einen Netzwerk-Switch zum Bestimmen einer Überlastungsursache, wobei der Netzwerk-Switch eine Mehrzahl von in einer Stufenhierarchie ausgestalteten Arbiter-Einheiten umfasst, wobei die Hierarchie eine Ausgangsstufe und eine vorgeschaltete Stufe beinhaltet; eine Überlastungsmanager-Schaltanordnung zum Betreiben der Arbiter-Einheiten in der vorgeschalteten Stufe mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe; Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit in der Ausgangsstufe über eine erste vorbestimmte Zeitspanne anzeigt; Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten in der vorgeschalteten Stufe über eine zweite vorbestimmte Zeitspanne anzeigt; Bestimmen, abhängig davon, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, ob der Netzwerk-Switch eine Überlastungsursache ist; und in Reaktion auf eine Feststellung, dass der Netzwerk-Switch die Überlastungsursache ist, Auffordern, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches einen Durchsatz zum Netzwerk-Switch reduzieren.
  • Beispiel 29 beinhaltet den Gegenstand von Beispiel 28, und wobei die Congestion-Manager-Schaltungsanordnung ferner, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe keine Dauerüberlastung aufweist, bestimmen soll, dass der Netzwerk-Switch keine Überlastungsursache ist.
  • Beispiel 30 beinhaltet den Gegenstand eines der Beispiele 28 und 29, und wobei das Bestimmen, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Remote-Netzwerk-Switch eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch eine Dauerüberlastung aufweist.
  • Beispiel 31 beinhaltet den Gegenstand eines der Beispiele 28 bis 30, und wobei die Congestion-Manager-Schaltungsanordnung ferner eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, abwarten soll.
  • Beispiel 32 beinhaltet den Gegenstand eines der Beispiele 28 bis 31, und wobei das Bestimmen, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, umfasst: Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch aus dem Netzwerk-Switch entgegennehmen wird; Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 33 beinhaltet den Gegenstand eines der Beispiele 28 bis 32, und wobei das Bestimmen, ob die Remote-Pufferspeicherdaten einen Schwellenwert einhalten, umfasst: Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch null Pakete aus dem Netzwerk-Switch entgegennehmen wird.
  • Beispiel 34 beinhaltet den Gegenstand eines der Beispiele 28 bis 33, und wobei das Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch entgegennehmen wird.
  • Beispiel 35 beinhaltet den Gegenstand eines der Beispiele 28 bis 34, und wobei das Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Ausgangspufferspeicher eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher eine Dauerüberlastung aufweist.
  • Beispiel 36 beinhaltet den Gegenstand eines der Beispiele 28 bis 35, und wobei die Congestion-Manager-Schaltungsanordnung ferner eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, abwarten soll.
  • Beispiel 37 beinhaltet den Gegenstand eines der Beispiele 28 bis 36, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: Bestimmen von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit in der Ausgangsstufe aus der vorgeschalteten Stufe entgegennehmen wird; Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 38 beinhaltet den Gegenstand eines der Beispiele 28 bis 37, und wobei das Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit in der Ausgangsstufe null Pakete aus der vorgeschalteten Stufe entgegennehmen wird.
  • Beispiel 39 beinhaltet den Gegenstand eines der Beispiele 28 bis 38, und wobei das Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: Bestimmen von effektiven Füllstandsinformationen, die einen geschätzten Rückstau von Paketen anstromseitig zum Ausgangspufferspeicher anzeigen; und Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, und zwar in Abhängigkeit von den effektiven Füllstandsinformationen.
  • Beispiel 40 beinhaltet einen Netzwerk-Switch zum Bestimmen einer Überlastungsursache, wobei der Netzwerk-Switch umfasst: eine Schaltungsanordnung, wobei eine Mehrzahl von Arbiter-Einheiten in einer Stufenhierarchie ausgestaltet ist, die eine Ausgangsstufe und eine vorgeschaltete Stufe umfasst, zum Betreiben der Arbiter-Einheiten in der vorgeschalteten Stufe mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe; ein Mittel zum Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit in der Ausgangsstufe über eine erste vorbestimmte Zeitspanne anzeigt; ein Mittel zum Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten in der vorgeschalteten Stufe über eine zweite vorbestimmte Zeitspanne anzeigt; ein Mittel zum Bestimmen, abhängig davon, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, ob der Netzwerk-Switch eine Überlastungsursache ist; und eine Schaltungsanordnung, zum Auffordern, in Reaktion auf eine Feststellung, dass der Netzwerk-Switch die Überlastungsursache ist, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches einen Durchsatz zum Netzwerk-Switch reduzieren.
  • Beispiel 41 beinhaltet den Gegenstand von Beispiel 40, und beinhaltet ferner: ein Mittel zum Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe keine Dauerüberlastung aufweist, dass der Netzwerk-Switch keine Überlastungsursache ist.
  • Beispiel 42 beinhaltet den Gegenstand eines der Beispiele 40 und 41, und wobei das Mittel zum Bestimmen, ob der Eingangspufferspeicher des Remote-Netzwerk-Switches eine Dauerüberlastung aufweist, umfasst: ein Mittel zum Bestimmen, ob der Remote-Netzwerk-Switch eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und ein Mittel zum Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch eine Dauerüberlastung aufweist.
  • Beispiel 43 beinhaltet den Gegenstand eines der Beispiele 40 bis 42, und umfasst ferner: eine Schaltungsanordnung zum Abwarten einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 44 beinhaltet den Gegenstand eines der Beispiele 40 bis 43, und wobei das Mittel zum Bestimmen, ob der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist, umfasst: ein Mittel zum Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch aus dem Netzwerk-Switch entgegennehmen wird; ein Mittel zum Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und ein Mittel zum Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch eine temporäre Überlastung aufweist.
  • Beispiel 45 beinhaltet den Gegenstand eines der Beispiele 40 bis 44, und wobei das Mittel zum Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: ein Mittel zum Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch null Pakete aus dem Netzwerk-Switch entgegennehmen wird.
  • Beispiel 46 beinhaltet den Gegenstand eines der Beispiele 40 bis 45, und wobei das Mittel zum Bestimmen, ob ein Eingangspufferspeicher eines Remote-Netzwerk-Switches in kommunikativer Verbindung mit der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: eine Schaltungsanordnung zum Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch entgegennehmen wird.
  • Beispiel 47 beinhaltet den Gegenstand eines der Beispiele 40 bis 46, und wobei das Mittel zum Bestimmen, ob ein Ausgangspufferspeicher der Arbiter-Einheit in der Ausgangsstufe eine Dauerüberlastung aufweist, umfasst: ein Mittel zum Bestimmen, ob der Ausgangspufferspeicher eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und ein Mittel zum Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher eine Dauerüberlastung aufweist.
  • Beispiel 48 beinhaltet den Gegenstand eines der Beispiele 40 bis 47, und umfasst ferner: eine Schaltungsanordnung zum Abwarten einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 49 beinhaltet den Gegenstand eines der Beispiele 40 bis 48, und wobei das Mittel zum Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: ein Mittel zum, durch den Netzwerk-Switch, Bestimmen von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit in der Ausgangsstufe aus der vorgeschalteten Stufe entgegennehmen wird; ein Mittel zum Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und ein Mittel zum Bestimmen, in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher eine temporäre Überlastung aufweist.
  • Beispiel 50 beinhaltet den Gegenstand eines der Beispiele 40 bis 49, und wobei das Mittel zum Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: ein Mittel zum Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit in der Ausgangsstufe null Pakete aus der vorgeschalteten Stufe entgegennehmen wird.
  • Beispiel 51 beinhaltet den Gegenstand eines der Beispiele 40 bis 50, und wobei das Mittel zum Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, umfasst: ein Mittel zum Bestimmen von effektiven Füllstandsinformationen, die einen geschätzten Rückstau von Paketen anstromseitig zum Ausgangspufferspeicher anzeigen; und ein Mittel zum Bestimmen, ob der Ausgangspufferspeicher eine temporäre Überlastung aufweist, und zwar in Abhängigkeit von den effektiven Füllstandsinformationen.

Claims (24)

  1. Netzwerk-Switch (110) zum Bestimmen einer Überlastungsursache, umfassend: mehrere von in einer Stufenhierarchie ausgestaltete Arbiter-Einheiten (162, 164, 166, 168, 170), wobei die Hierarchie eine Ausgangsstufe (150) und eine vorgeschaltete Stufe (140) beinhaltet; eine Schaltungsanordnung zum Betreiben der Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit in der Ausgangsstufe (150); Bestimmen, ob ein Eingangspufferspeicher (184) eines Remote-Netzwerk-Switches (120) in kommunikativer Verbindung mit der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit (170) in der Ausgangsstufe (150) über eine erste vorbestimmte Zeitspanne anzeigt; Bestimmen, ob ein Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) über eine zweite vorbestimmte Zeitspanne anzeigt; Bestimmen, abhängig davon, ob der Eingangspufferspeicher (184) des Remote-Netzwerk-Switches (120) eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, ob der Netzwerk-Switch (110) eine Überlastungsursache ist, und Auffordern, in Reaktion auf eine Feststellung, dass der Netzwerk-Switch (110) die Überlastungsursache ist, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches (110) einen Durchsatz zum Netzwerk-Switch (110) reduzieren.
  2. Netzwerk-Switch (110) nach Anspruch 1, wobei die Schaltungsanordnung ferner ausgelegt ist, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) keine Dauerüberlastung aufweist, zu bestimmen, dass der Netzwerk-Switch (110) keine Überlastungsursache ist.
  3. Netzwerk-Switch (110) nach Anspruch 1, wobei das Bestimmen, ob der Eingangspufferspeicher (184) des Remote-Netzwerk-Switches (120) eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Remote-Netzwerk-Switch (120) eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch (120) die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch (120) eine Dauerüberlastung aufweist.
  4. Netzwerk-Switch (110) nach Anspruch 3, wobei die Schaltungsanordnung ferner ausgelegt ist, eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist, abzuwarten.
  5. Netzwerk-Switch (110) nach Anspruch 3, wobei das Bestimmen, ob der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist, umfasst: Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch (120) aus dem Netzwerk-Switch (110) entgegennehmen wird; Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist.
  6. Netzwerk-Switch (110) nach Anspruch 5, wobei das Bestimmen, ob die Remote-Pufferspeicherdaten einen Schwellenwert einhalten, umfasst: Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch (120) null Pakete aus dem Netzwerk-Switch (110) entgegennehmen wird.
  7. Netzwerk-Switch (110) nach Anspruch 1, wobei das Bestimmen, ob ein Eingangspufferspeicher (184) eines Remote-Netzwerk-Switches (120) in kommunikativer Verbindung mit der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, umfasst: Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch (120) entgegennehmen wird.
  8. Netzwerk-Switch (110) nach Anspruch 1, wobei das Bestimmen, ob ein Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Ausgangspufferspeicher (182) eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher (182) die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher (182) eine Dauerüberlastung aufweist.
  9. Netzwerk-Switch (110) nach Anspruch 8, wobei die Schaltungsanordnung ferner ausgelegt ist, eine vorbestimmte Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist, abzuwarten.
  10. Netzwerk-Switch (110) nach Anspruch 8, wobei das Bestimmen, ob der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist, umfasst: Bestimmen von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit (170) in der Ausgangsstufe (150) aus der vorgeschalteten Stufe (140) entgegennehmen wird; Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist.
  11. Netzwerk-Switch (110) nach Anspruch 10, wobei das Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit (170) in der Ausgangsstufe (150) null Pakete aus der vorgeschalteten Stufe (140) entgegennehmen wird.
  12. Netzwerk-Switch (110) nach Anspruch 8, wobei das Bestimmen, ob der Ausgangspufferspeicher (180) eine temporäre Überlastung aufweist, umfasst: Bestimmen von effektiven Füllstandsinformationen, die einen geschätzten Rückstau von Paketen anstromseitig zum Ausgangspufferspeicher (182) anzeigen; und Bestimmen, ob der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist, in Abhängigkeit von den effektiven Füllstandsinformationen.
  13. Verfahren zum Bestimmen einer Überlastungsursache, umfassend: Betreiben, durch einen Netzwerk-Switch (110), der eine Mehrzahl von Arbiter-Einheiten (162, 164, 166, 168, 170) umfasst, die in einer Stufenhierarchie ausgestaltet sind, die eine Ausgangsstufe (150) und eine vorgeschaltete Stufe (140) umfasst, der Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) mit einer Paketübertragungsrate, die größer ist als eine Paketübertragungsrate der Arbiter-Einheit (170) in der Ausgangsstufe (150); Bestimmen, durch den Netzwerk-Switch (110), ob ein Eingangspufferspeicher (184) eines Remote-Netzwerk-Switches (120) in kommunikativer Verbindung mit der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus der Arbiter-Einheit (170) in der Ausgangsstufe (150) über eine erste vorbestimmte Zeitspanne anzeigt; Bestimmen, durch den Netzwerk-Switch (110), ob ein Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, die eine Unfähigkeit zur Übertragung von Paketen aus einer oder mehreren Arbiter-Einheiten (162, 164, 166, 168) in der vorgeschalteten Stufe (140) über eine zweite vorbestimmte Zeitspanne anzeigt; Bestimmen, durch den Netzwerk-Switch (110) und abhängig davon, ob der Eingangspufferspeicher (184) des Remote-Netzwerk-Switches (120) eine Dauerüberlastung aufweist und ob der Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, ob der Netzwerk-Switch (110) eine Überlastungsursache ist, und Auffordern, in Reaktion auf eine Feststellung, dass der Netzwerk-Switch (110) die Überlastungsursache ist, dass eine oder mehrere Eingangsquellen des Netzwerk-Switches (110) einen Durchsatz zum Netzwerk-Switch (110) reduzieren.
  14. Verfahren nach Anspruch 13, ferner umfassend: Bestimmen, durch den Netzwerk-Switch (110) und in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) keine Dauerüberlastung aufweist, dass der Netzwerk-Switch (110) keine Überlastungsursache ist.
  15. Verfahren nach Anspruch 13, wobei das Bestimmen, ob der Eingangspufferspeicher (184) des Remote-Netzwerk-Switches (120) eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Remote-Netzwerk-Switch (120) eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Remote-Netzwerk-Switch (120) die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Remote-Netzwerk-Switch (120) eine Dauerüberlastung aufweist.
  16. Verfahren nach Anspruch 15, ferner umfassend: Abwarten, durch den Netzwerk-Switch (110), einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist.
  17. Verfahren nach Anspruch 15, wobei das Bestimmen, ob der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist, umfasst: Empfangen von Remote-Eingangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch (120) aus dem Netzwerk-Switch (110) entgegennehmen wird; Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, in Reaktion auf eine Feststellung, dass die Remote-Eingangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Remote-Netzwerk-Switch (120) eine temporäre Überlastung aufweist.
  18. Verfahren nach Anspruch 17, wobei das Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die Remote-Eingangspufferspeicher-Füllstandsinformationen anzeigen, dass der Remote-Netzwerk-Switch (120) null Pakete aus dem Netzwerk-Switch (110) entgegennehmen wird.
  19. Verfahren nach Anspruch 13, wobei das Bestimmen, ob ein Eingangspufferspeicher (184) eines Remote-Netzwerk-Switches (120) in kommunikativer Verbindung mit der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, umfasst: Empfangen von Kreditdaten, die eine Anzahl von Paketen anzeigen, die der Remote-Netzwerk-Switch (120) entgegennehmen wird.
  20. Verfahren nach Anspruch 13, wobei das Bestimmen, ob ein Ausgangspufferspeicher (182) der Arbiter-Einheit (170) in der Ausgangsstufe (150) eine Dauerüberlastung aufweist, umfasst: Bestimmen, ob der Ausgangspufferspeicher (182) eine vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist; und Bestimmen, in Reaktion auf eine Feststellung, dass der Ausgangspufferspeicher (182) die vorbestimmte Anzahl von Malen eine temporäre Überlastung aufweist, dass der Ausgangspufferspeicher (182) eine Dauerüberlastung aufweist.
  21. Verfahren nach Anspruch 20, ferner umfassend: Abwarten, durch den Netzwerk-Switch (110), einer vorbestimmten Zeitspanne zwischen jeder Bestimmung, ob der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist.
  22. Verfahren nach Anspruch 20, wobei das Bestimmen, ob der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist, umfasst: Bestimmen, durch den Netzwerk-Switch (110), von lokalen Ausgangspufferspeicher-Füllstandsinformationen, die eine Anzahl von Paketen anzeigen, die die Arbiter-Einheit (170) in der Ausgangsstufe (150) aus der vorgeschalteten Stufe (140) entgegennehmen wird; Bestimmen, durch den Netzwerk-Switch (110), ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten; und Bestimmen, durch den Netzwerk-Switch (110) und in Reaktion auf eine Feststellung, dass die lokalen Ausgangspufferspeicher-Füllstandsinformationen den Schwellenwert einhalten, dass der Ausgangspufferspeicher (182) eine temporäre Überlastung aufweist.
  23. Verfahren nach Anspruch 22, wobei das Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen einen Schwellenwert einhalten, umfasst: Bestimmen, ob die lokalen Ausgangspufferspeicher-Füllstandsinformationen anzeigen, dass die Arbiter-Einheit (170) in der Ausgangsstufe (150) null Pakete aus der vorgeschalteten Stufe (140) entgegennehmen wird.
  24. Maschinenlesbares Speichermedium oder mehrere maschinenlesbare Speichermedien, die mehrere darauf gespeicherte Anweisungen umfassen, die auf entsprechende Ausführung einen Netzwerk-Switch (110) zum Ausführen des Verfahrens nach einem der Ansprüche 13 bis 23 veranlassen.
DE102018004328.3A 2017-06-30 2018-05-30 Technologien zur effektiven Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch Active DE102018004328B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/639,864 2017-06-30
US15/639,864 US10951526B2 (en) 2017-06-30 2017-06-30 Technologies for efficiently determining a root of congestion with a multi-stage network switch

Publications (2)

Publication Number Publication Date
DE102018004328A1 DE102018004328A1 (de) 2019-01-03
DE102018004328B4 true DE102018004328B4 (de) 2022-06-15

Family

ID=64662030

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018004328.3A Active DE102018004328B4 (de) 2017-06-30 2018-05-30 Technologien zur effektiven Bestimmung einer Überlastungsursache mit einem mehrstufigen Netzwerk-Switch

Country Status (2)

Country Link
US (1) US10951526B2 (de)
DE (1) DE102018004328B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102129B2 (en) * 2018-09-09 2021-08-24 Mellanox Technologies, Ltd. Adjusting rate of outgoing data requests for avoiding incast congestion

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US399A (en) 1837-09-22 Slide-valve for steam-engines
US7133A (en) 1850-03-05 Machinery for planing slats for blinds
US6487213B1 (en) 1998-01-05 2002-11-26 Polytechnic University Methods and apparatus for fairly arbitrating contention for an output port

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073005B1 (en) * 2002-01-17 2006-07-04 Juniper Networks, Inc. Multiple concurrent dequeue arbiters
US9191284B2 (en) * 2010-10-28 2015-11-17 Avvasi Inc. Methods and apparatus for providing a media stream quality signal
US10191879B2 (en) * 2015-03-31 2019-01-29 Veritas Technologies Llc System and method for creating snapshots in openflame environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US399A (en) 1837-09-22 Slide-valve for steam-engines
US7133A (en) 1850-03-05 Machinery for planing slats for blinds
US6487213B1 (en) 1998-01-05 2002-11-26 Polytechnic University Methods and apparatus for fairly arbitrating contention for an output port

Also Published As

Publication number Publication date
US10951526B2 (en) 2021-03-16
US20190007317A1 (en) 2019-01-03
DE102018004328A1 (de) 2019-01-03

Similar Documents

Publication Publication Date Title
DE602004002522T2 (de) Dienstgüte-Verfahren basierend auf einer Durchflussregelung in einem verteilten Switch Fabric-Netzwerk
DE112013003733B4 (de) Adaptive Paketumleitung, um angemessene, kostengünstige und/oder Energie-effiziente Dienstgüte im Netzwerk auf Chipvorrichtungen zu erreichen
DE112020002512T5 (de) Systeme und verfahren zur verkehrsklassenbezogenen leitweglenkung
DE112014000322B4 (de) Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk
DE112013004750B4 (de) Verwaltung von Aushungern und Überlastung in einem zweidimensionalen Netz mit Flusskontrolle
DE102018204859A1 (de) Dynamischer Lastenausgleich in Netzschnittstellenkarten für eine optimale Leistung auf Systemebene
DE112018008119T5 (de) Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE102018214776A1 (de) Technologien für die Verwaltung von Netz-Statistik-Zählern
DE102015119889A1 (de) Verfahren für Netzwerkvorrichtungsfluss-Look-up-Verwaltung
DE112020006828T5 (de) Verbessern einer Ende-zu-Ende-Überlastungsreaktion unter Verwendung von adaptivem Routing und Überlastungshinweis-basierter Drosselung für IP-geroutete Rechenzentrumsnetzwerke
DE112016004347T5 (de) Lokale und globale Datenzentrumsnetzoptimierungen in Echtzeit basierend auf Plattformtelemetriedaten
DE102020113544A1 (de) Bedarfsgesteuerte paketwarteschlangen in einer netzwerkvorrichtung
DE102020105776A1 (de) Kostengünstige Überlastungsisolierung für verlustfreies Ethernet
DE102017122738A1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE102012222367A1 (de) Hybrid-Management von eingaben- und belegungsabhängigen Überlastungen
DE112013006417T5 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE202014009422U1 (de) NOC-Elektronikelement
DE102019105288A1 (de) Technologien zur Paketweiterleitung bei Eingangswarteschlangenüberlauf
DE202016009092U1 (de) System zum Ausgleichen von Speicherdatenverkehr in konvergierten Netzwerken
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE112006002912T5 (de) Verwaltung von On-Chip-Warteschleifen in geschalteten Netzwerken
DE102018004111A1 (de) Datencenter-Leistungsmanagement
DE102021207394A1 (de) Zusammenführen von paketen auf der grundlage von hinweisen, die vom netzwerkadapter erzeugt werden
DE102022121268A1 (de) Überlastungssteuerung auf basis von netzwerktelemetrie

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012825000

Ipc: H04L0047263000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final