DE112019003854T5 - Flusssteuerungssichtbarkeit - Google Patents

Flusssteuerungssichtbarkeit Download PDF

Info

Publication number
DE112019003854T5
DE112019003854T5 DE112019003854.0T DE112019003854T DE112019003854T5 DE 112019003854 T5 DE112019003854 T5 DE 112019003854T5 DE 112019003854 T DE112019003854 T DE 112019003854T DE 112019003854 T5 DE112019003854 T5 DE 112019003854T5
Authority
DE
Germany
Prior art keywords
flow control
message
data
metadata
traffic management
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.)
Pending
Application number
DE112019003854.0T
Other languages
English (en)
Inventor
Remy Chang
Anurag Agrawal
Yi Li
Michael Feng
Yan Wang
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.)
Barefoot Networks Inc
Original Assignee
Barefoot Networks Inc
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 Barefoot Networks Inc filed Critical Barefoot Networks Inc
Publication of DE112019003854T5 publication Critical patent/DE112019003854T5/de
Pending legal-status Critical Current

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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

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

Abstract

Manche Ausführungsformen stellen ein Verfahren für eine Verkehrsmanagementschaltung einer Datenebenenweiterleitungsschaltung bereit. Die Verkehrsmanagementschaltung empfängt Datennachrichten von einem Satz von Eingangspipelines und stellt die Datennachrichten an einen Satz von Ausgangspipelines bereit. Das Verfahren identifiziert ein Flusssteuerungsereignis. Das Verfahren stellt Metadaten in Bezug auf das Flusssteuerungsereignis an eine Nachrichtenerzeugungsschaltung der Datenebenenweiterleitungsschaltung über einen Bus zwischen der Verkehrsmanagementschaltung und der Nachrichtenerzeugungsschaltung bereit.

Description

  • HINTERGRUND
  • Ein Netzwerkweiterleitungselement verwendet Prioritätsflusssteuerung als einen Mechanismus zur Verhinderung, dass spezifische Datenflüsse die Kapazität des Weiterleitungselements überlasten. Das überlastete Weiterleitungselement kann eine Flusssteuerungsnachricht an einen Linkpartner (ein anderes Weiterleitungselement senden), um dem Linkpartner anzuzeigen, Senden spezifischen Verkehrs zu pausieren (oder Senden spezifischen Verkehrs, der zuvor pausiert wurde, wieder aufzunehmen, nachdem die Stauungsbedingungen beseitigt sind). Auf ähnliche Weise kann das Netzwerkweiterleitungselement Flusssteuerungsnachrichten von seinen Linkpartnern empfangen, die für das Weiterleitungselement Pausieren (oder Wiederaufnahme) des Sendens spezifischen Verkehrs zu diesem Linkpartner spezifizieren. Der Einsatz von Flusssteuerung innerhalb eines Netzwerks kann für Verkehrsmuster innerhalb des Netzwerks indikativ sein, ist aber nicht leicht nachzuverfolgen.
  • KURZZUSAMMENFASSUNG
  • Manche Ausführungsformen der Erfindung stellen eine Datenebenenweiterleitungsschaltung bereit, die dafür ausgelegt sein kann, Flusssteuerungsereignisse nachzuverfolgen und Informationen über die Flusssteuerungsereignisse an einen (lokalen oder entfernten) Monitor bereitzustellen. Die Datenebenenweiterleitungsschaltung mancher Ausführungsformen enthält konfigurierbare Nachrichtenverarbeitungsstufen, die dafür ausgelegt sind, Eingangs- und Ausgangspipelines zum Verarbeiten von Datennachrichten auszuführen, sowie eine Verkehrsmanagementschaltung auszuführen, die (neben anderen Operationen) als eine Kreuzschiene zum Empfangen von Datennachrichten von den Eingangspipelines und zum Bereitstellen der Datennachrichten an die richtigen Ausgangspipelines funktioniert. In manchen Ausführungsformen ist die Verkehrsmanagementschaltung dafür ausgelegt, Flusssteuerungsereignisse zu identifizieren und Metadaten in Bezug auf diese Flusssteuerungsereignisse an eine Datennachrichtenerzeugungsschaltung der Datenebenenweiterleitungsschaltung bereitzustellen. Diese Datennachrichtenerzeugungsschaltung speichert in manchen Ausführungsformen die Metadaten und erzeugt eine Datennachricht, die die Metadaten für die Datenebenenweiterleitungsschaltung zur Übertragung an ein Überwachungssystem enthält.
  • In manchen Ausführungsformen verarbeitet die Datenebenenweiterleitungsschaltung Daten-Tupel, die Datennachrichten zugeordnet sind, die von der Datenebene empfangen werden, um die Datennachrichten innerhalb des Netzwerks weiterzuleiten. In manchen Ausführungsformen ist die Datenebene Teil eines Netzwerkweiterleitungselements (z.B. ein Schalter, ein Router usw.), das eine Steuerungsebenenschaltung („Steuerungsebene“) enthält, die die Datenebene konfiguriert. In manchen Ausführungsformen sind die Nachrichtenverarbeitungsstufen, die Verkehrsmanagementschaltung und/oder die Datennachrichtenerzeugungsschaltung dafür konfigurierbar, Datennachrichten zu verarbeiten und damit verbundene Operationen (z.B. Überwachen und Melden von Flusssteuerungsereignissen) durch die Steuerebene durchzuführen. In anderen Ausführungsformen arbeitet die Steuerebene, die die Datenebenenweiterleitungsschaltung konfiguriert, außerhalb des Weiterleitungselements der Datenebene (z.B. auf einem entferntem Server). In manchen Ausführungsformen wird die lokale Steuerebene durch eine Steuersoftwareschicht implementiert, die von einem oder mehreren Allzweckprozessoren (z.B. CPUs) des Weiterleitungselements ausgeführt wird, während eine entfernte Steuerebene durch eine Steuersoftwareschicht implementiert wird, die von einer oder mehreren CPUs eines anderen Weiterleitungselements oder eines entfernten Computers (z.B. Server) ausgeführt wird.
  • Die Flusssteuerungsereignisse, die die Verkehrsmanagementschaltung erkennt, können den Empfang einer Flusssteuerungsnachricht an einem Verbindungsschichtport des Weiterleitungselements und/oder das Erzeugen einer Flusssteuerungsnachricht durch die Datenebenenweiterleitungsschaltung umfassen. Wenn ein Linkpartner des Netzwerkweiterleitungselements (d.h. ein anderes Weiterleitungselement mit einer Verbindungsschichtverbindung zu dem Netzwerkweiterleitungselement) zumindest teilweise basierend auf dem Empfang von Datennachrichten eines bestimmten Flusses von dem Netzwerkweiterleitungselement zu sehr gestaut ist, sendet der Linkpartner eine Flusssteuerungsnachricht an den Port des Netzwerkweiterleitungselements, die anfordert, dass das Netzwerkweiterleitungselement das Senden der Datennachrichten mit einer bestimmten Priorität (die dem Datenfluss entspricht, der die Stauung verursacht) an diesen Port pausiert. Auf ähnliche Weise kann es, wenn der Linkpartner seine Stauung beseitigt hat, eine Flusssteuerungsnachricht senden, die angibt, dass das Netzwerkweiterleitungselement Senden von Datennachrichten mit der spezifizierten Priorität an den Linkpartner wieder aufnehmen kann. Diese Flusssteuerungsnachrichten werden von der Datenebenenweiterleitungsschaltung verarbeitet, welche Senden dieser Datennachrichten wie angefordert einstellt oder wieder aufnimmt.
  • Die Verkehrsmanagementschaltung mancher Ausführungsformen erkennt, wenn die Datenebenenweiterleitungsschaltung diese Flusssteuerungsnachrichten empfängt und überträgt Metadaten an die Datennachrichtenerzeugungsschaltung über die die Flusssteuerungsnachrichten. In manchen Ausführungsformen erkennt die Verkehrsmanagementschaltung den Empfang einer Flusssteuerungsnachricht, wenn diese Flusssteuerungsnachricht von einer Eingangspipeline zu der Verkehrsmanagementschaltung weitergeleitet wird. In anderen Ausführungsformen empfängt die Verkehrsmanagementschaltung ein Signal, das eine empfangene Flusssteuerungsnachricht von dem Port, an dem die Flusssteuerungsnachricht empfangen wird, zusammenfasst.
  • Darüber hinaus überträgt die Verkehrsmanagementschaltung Metadaten in Bezug auf ein Flusssteuerungsereignis, wenn die Datenebenenweiterleitungsschaltung eine an einen Linkpartner zu sendende Flusssteuerungsnachricht erzeugt. In manchen Ausführungsformen ist die Verkehrsmanagementschaltung dafür ausgelegt, diese Flusssteuerungsnachrichten in Reaktion auf das Erkennen von Stauung in bestimmten Warteschlangen (die die Verkehrsmanagementschaltung verwaltet) zu erzeugen. In diesem Fall verfügt die Verkehrsmanagementschaltung über die Informationen, die zum Erzeugen der Metadaten für das Flusssteuerungsereignis erforderlich sind.
  • Die Metadaten enthalten in manchen Ausführungsformen (i) einen Zeitstempel für das Flusssteuerungsereignis (durch eine Schaltung der Verkehrsmanagementschaltung erzeugt), (ii) einen Empfangs-/Übertragungs-Indikator (z.B. ein Bit), der angibt, ob das Ereignis der Empfang einer Flusssteuerungsnachricht oder Erzeugung und Übertragung einer Flusssteuerungsnachricht ist, (iii) eine Portkennung, die den Port spezifiziert, an dem die Flusssteuerungsnachricht empfangen wurde oder durch den die Flusssteuerungsnachricht gesendet wurde, und (iv) die Inhalte der Flusssteuerungsnachricht (z.B. die Priorität).
  • In manchen Ausführungsformen kann die Verkehrsmanagementschaltung Metadaten für ein Flusssteuerungsereignis pro Taktzyklus an die Datennachrichtenerzeugungsschaltung über einen Bus von der Verkehrsmanagementschaltung zu der Datennachrichtenerzeugungsschaltung senden. Für den Fall, dass mehr als ein Flusssteuerungsereignis während eines Taktzyklus auftritt, enthält die Verkehrsmanagementschaltung mancher Ausführungsformen eine Warteschlange, die Metadaten für bis zu einer bestimmten Anzahl von Flusssteuerungsereignissen speichert. Falls Verwendung der Warteschlange erforderlich ist, überträgt die Verkehrsmanagementschaltung Metadaten für ein Flusssteuerungsereignis pro Taktzyklus bis die Warteschlange beseitigt ist.
  • Wie bereits erwähnt, speichert die Datennachrichtenerzeugungsschaltung mancher Ausführungsformen die von der Verkehrsmanagementschaltung empfangenen Metadaten. In manchen Ausführungsformen enthält die Datennachrichtenerzeugungsschaltung einen Puffer zum Speichern der Metadaten. Bei Auftreten einer bestimmten Bedingung (z.B. der Puffer füllt sich über einen Schwellenwert hinaus, eine bestimmte Zeitspanne läuft ab usw.) erzeugt die Datennachrichtenerzeugungsschaltung eine Datennachricht, die (i) einen Satz von Datennachrichten-Headern und (ii) mindestens einen Teil der in dem Puffer gespeicherten Metadaten enthält. In manchen Ausführungsformen sind die Datennachrichten-Header vorkonfiguriert und enthalten eine Zielnetzwerkadresse für ein Überwachungssystem (z.B. einen Fernüberwachungsserver). Die Datennachrichtenerzeugungsschaltung stellt diese erzeugte Datennachricht mit den amalgamierten Metadaten in manchen Ausführungsformen an eine der Eingangspipelines derart bereit, dass die Datennachricht durch die Datenebenenweiterleitungsschaltung verarbeitet und an das Überwachungssystem übertragen wird.
  • Die vorstehende Zusammenfassung soll als eine Kurzeinführung für manche Ausführungsformen der Erfindung dienen. Sie ist nicht als Einführung zu oder Überblick über alle erfinderischen Gegenstände, die in diesem Dokument offenbart werden, gedacht. Die folgende ausführliche Beschreibung und die Zeichnungen, auf die sich in der ausführlichen Beschreibung bezogen wird, beschreiben die in der Zusammenfassung beschriebenen Ausführungsformen sowie andere Ausführungsformen näher. Dementsprechend ist zum Verständnis aller in diesem Dokument beschriebenen Ausführungsformen, eine vollständige Durchsicht der Zusammenfassung, ausführlichen Beschreibung und Zeichnungen erforderlich. Darüber hinaus sind die beanspruchten Gegenstände nicht durch die veranschaulichenden Einzelheiten in der Zusammenfassung, ausführlichen Beschreibung und den Zeichnungen eingeschränkt, sondern sie werden vielmehr durch die beigefügten Ansprüche definiert, da die beanspruchten Gegenstände in anderen spezifischen Formen verkörpert sein können, ohne dass vom Geist der Gegenstände abgewichen werden würde.
  • Figurenliste
  • Die neuartigen Merkmale der Erfindung sind in den beigefügten Ansprüchen dargelegt. Zur Erläuterung sind jedoch mehrere Ausführungsformen der Erfindung in den folgenden Figuren dargestellt.
    • 1 veranschaulicht konzeptionell ein Beispiel eines Netzwerkweiterleitungselements, das eine Datenebenenschaltung enthält, die konfiguriert sein kann, Flusssteuerungsereignisse nachzuverfolgen und Informationen über diese Ereignisse an einen Monitor bereitzustellen.
    • 2 veranschaulicht konzeptionell einen Verkehrsmanager mancher Ausführungsformen.
    • 3 veranschaulicht konzeptionell einen Prozess mancher Ausführungsformen zum Speichern von Flusssteuerungsereignismetadaten in einer Warteschlange.
    • 4 veranschaulicht konzeptionell einen Prozess mancher Ausführungsformen, der von dem Verkehrsmanager zu jedem Taktzyklus der Datenebenenschaltung zum Übertragen von Flusssteuerungsereignismetadaten an einen Nachrichtengenerator durchgeführt wird.
    • 5 veranschaulicht konzeptionell die Daten, die in manchen Ausführungsformen über den Bus von dem Verkehrsmanager an den Nachrichtengenerator übertragen werden.
    • 6 veranschaulicht konzeptionell einen Nachrichtengenerator mancher Ausführungsformen.
    • 7 veranschaulicht konzeptionell einen Prozess mancher Ausführungsformen zum Erzeugen einer Datennachricht basierend auf Flusssteuerungsereignismetadaten, die von dem Verkehrsmanager empfangen werden.
    • 8 veranschaulicht konzeptionell ein elektronisches System, mit dem manche Ausführungsformen der Erfindung implementiert sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Manche Ausführungsformen der Erfindung stellen eine Datenebenenweiterleitungsschaltung bereit, die dafür ausgelegt sein kann, Flusssteuerungsereignisse nachzuverfolgen und Informationen über die Flusssteuerungsereignisse an einen (lokalen oder entfernten) Monitor bereitzustellen. Die Datenebenenweiterleitungsschaltung mancher Ausführungsformen enthält konfigurierbare Nachrichtenverarbeitungsstufen, die dafür ausgelegt sind, Eingangs- und Ausgangspipelines zum Verarbeiten von Datennachrichten auszuführen, sowie eine Verkehrsmanagementschaltung auszuführen, die (neben anderen Operationen) als eine Kreuzschiene zum Empfangen von Datennachrichten von den Eingangspipelines und zum Bereitstellen der Datennachrichten an die richtigen Ausgangspipelines funktioniert. In manchen Ausführungsformen ist die Verkehrsmanagementschaltung dafür ausgelegt, Flusssteuerungsereignisse zu identifizieren und Metadaten in Bezug auf diese Flusssteuerungsereignisse an eine Datennachrichtenerzeugungsschaltung der Datenebenenweiterleitungsschaltung bereitzustellen. Diese Datennachrichtenerzeugungsschaltung speichert in manchen Ausführungsformen die Metadaten und erzeugt eine Datennachricht, die die Metadaten für die Datenebenenweiterleitungsschaltung zur Übertragung an ein Überwachungssystem enthält.
  • 1 veranschaulicht konzeptionell ein Beispiel eines Netzwerkweiterleitungselements 100, das solch eine Datenebenenschaltung 120 enthält, die konfiguriert sein kann, Flusssteuerungsereignisse nachzuverfolgen und Informationen über diese Ereignisse an einen Monitor bereitzustellen. Das Weiterleitungselement 100 leitet Datennachrichten innerhalb eines Netzwerks weiter und kann eine beliebige Art von Weiterleitungselement sein (z.B. ein Schalter, ein Router, eine Bridge usw.).
  • In 1 leitet das Weiterleitungselement Datennachrichten an und von mindestens zwei Linkpartnern 105 und 110 weiter (der gestrichelte Pfeil zeigt insbesondere einen Pfad für eine Datennachricht von dem ersten Linkpartner 105, die von dem Weiterleitungselement 100 an den zweiten Linkpartner 110 weitergeleitet wird). Die Linkpartner 105 und 110 sind mit dem Weiterleitungselement 100 auf der Verbindungsschicht (Schicht 2 in dem Open Systems Interconnect (OSI) Modell) verbunden. Diese Linkpartner sind beispielsweise andere Weiterleitungselemente (d.h. entweder Software-Weiterleitungselemente oder andere Hardware-Weiterleitungselemente).
  • Das Weiterleitungselement 100 kann als ein Randweiterleitungselement am Rand des Netzwerks eingesetzt werden, um mit Rechenvorrichtungen (z.B. eigenständige oder Host-Computer) zu verbinden, die als Quellen und Ziele von Datennachrichten innerhalb des Netzwerks dienen, oder als ein Nicht-Rand-Weiterleitungselement zum Weiterleiten von Datennachrichten zwischen anderen Weiterleitungselementen in dem Netzwerk.
  • Wie gezeigt enthält das Weiterleitungselement 100 (i) eine Datenebenenweiterleitungsschaltung 120 (die „Datenebene“), die die Weiterleitungsoperationen des Weiterleitungselements 100 zum Weiterleiten von Datennachrichten, die von dem Weiterleitungselement empfangen werden, an andere Vorrichtungen durchführt, und (ii) eine Steuerebenenschaltung 125 (die „Steuerebene“), die die Datenebenenschaltung konfiguriert. Das Weiterleitungselement 100 enthält auch physische Ports 112, die Datennachrichten von den Linkpartnern 105 und 110 (sowie jedwede andere Linkpartner des Weiterleitungselements 100) empfangen und an diese übertragen.
  • Die Steuerebene 125 konfiguriert die Datenebene 120 dafür, Datennachrichten zu verarbeiten und damit in Bezug stehende Operationen durchzuführen (z.B. Überwachen auf und Melden von Flusssteuerungsereignissen). In manchen Ausführungsformen enthält die Steuerebene einen oder mehrere Prozessoren (wie etwa einen Mikroprozessor mit mehreren Verarbeitungskernen oder -einheiten), die Anweisungen ausführen, und einen Speicher, der Anweisungen für Prozesse speichert, die, wenn sie von den Prozessoren ausgeführt werden, die Operationen auf Steuerebene durchführen. Diese Anweisungen können spezifiziert werden von (i) einem Hersteller des Netzwerkweiterleitungselements, das die Steuer- und Datenebenen 125 und 120 enthält, (ii) einem Netzwerkadministrator, der das Netzwerkweiterleitungselement einsetzt und pflegt, oder (iii) einem oder mehreren automatisierten Prozessen, die auf Servern und/oder Netzwerkweiterleitungselementen ausgeführt werden, die Netzwerkbedingungen überwachen. Der Steuerebenenprozessor oder eine andere Schaltung der Steuerebene kommuniziert mit der Datenebene (z.B. zum Konfigurieren der Datenebene oder zum Empfangen von Statistiken von der Datenebene) durch die Schnittstelle.
  • Die Datenebenenschaltung 120 enthält Ports 115, die Datennachrichten zum Verarbeiten empfangen und Datennachrichten übertragen, nachdem sie verarbeitet wurden. In manchen Ausführungsformen sind diese Ports 115 Ports der Verbindungsschicht, für die Flusssteuerungsnachrichten empfangen und gesendet werden. Manche Ports 115 der Datenebene 120 sind den physischen Ports 112 des Weiterleitungselements 100 zugeordnet, während in manchen Ausführungsformen andere Ports 115 anderen Komponenten der Datenebene 120 zugeordnet sind. Die Datenebene 120 enthält außerdem Nachrichtengeneratorschaltungen („Nachrichtengeneratoren“) 135, mehrere Eingangspipelines 140, mehrere Ausgangspipelines 142 und eine Verkehrsmanagementschaltung („Verkehrsmanager“) 144. In manchen Ausführungsformen ist die Datenebene 120 auf einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert und ihre Komponenten sind auf dieser integrierten Schaltung definiert.
  • Die Nachrichtengeneratoren 135 erzeugen Nachrichten in der Datenebene. In manchen Ausführungsformen können diese Nachrichten Schaltungen in der Datenebene anweisen, bestimmte Operationen durchzuführen oder Daten in den Nachrichten für Export zu der Steuerebene oder zu einer anderen Vorrichtung durch ein Netzwerk zu speichern. In manchen Ausführungsformen erzeugen die Nachrichtengeneratoren 135 Datennachrichten, die durch die Eingangs- und/oder Ausgangspipelines 140 und 142 verarbeitet und durch das Netzwerk an eine Vorrichtung übertragen werden, die das Weiterleitungselement 100 überwacht. In manchen Ausführungsformen empfangen die Nachrichtengeneratoren 135 zum Beispiel Flusssteuerungsereignismetadaten und verpacken diese Metadaten in Datennachrichten, die durch das Netzwerk an eine Überwachungsvorrichtung gesendet werden.
  • Die Eingangs- und Ausgangspipelines 140 und 142 verarbeiten die Datennachrichten, die von dem Weiterleitungselement empfangen (und von den Nachrichtengeneratoren 135 erzeugt) wurden, um diese Nachrichten zu ihren Zielen in dem Netzwerk weiterzuleiten. Der Verkehrsmanager 144 dient als ein Kreuzschienenschalter, der Nachrichten von den Eingangspipelines zu den Ausgangspipelines leitet. Darüber hinaus enthält die Datenebenenschaltung 115, wie gezeigt, einen Bus 150, der Daten (z.B. Flusssteuerungsereignismetadaten) von dem Verkehrsmanager 144 an die Nachrichtengeneratoren 135 bereitstellt. Der Verkehrsmanager mancher Ausführungsformen wird unten unter Bezugnahme auf 2 ausführlicher beschrieben.
  • Jede Eingangs- oder Ausgangspipeline enthält mehrere konfigurierbare (d.h. programmierbare) Nachrichtenverarbeitungsstufen 132, die konfiguriert werden können, die Datenebenenweiterleitungsoperationen des Weiterleitungselements 100 zum Verarbeiten und Weiterleiten von Datennachrichten an ihre Ziele durchzuführen. Diese Nachrichtenverarbeitungsstufen führen diese Weiterleitungsoperationen durch Verarbeiten von Daten-Tupel (z.B. Nachrichten-Header) durch, die Datennachrichten zugeordnet sind, die von der Datenebene 120 empfangen werden, um zu bestimmen, wie die Nachrichten weiterzuleiten sind. In manchen Ausführungsformen führen die Eingangs- und Ausgangspipelines 140 und 142, obwohl sie als separate Pipelines beschrieben sind, tatsächlich gleichzeitig auf den gleichen nachrichtenverarbeitenden Ressourcen der Datenebenenschaltung 115 usw. Das heißt, jede Nachrichtenverarbeitungsstufe 132 kann in manchen Ausführungsformen eine Eingangspipelinedatennachricht und eine Ausgangspipelinedatennachricht in dem gleichen Taktzyklus verarbeiten.
  • In manchen Ausführungsformen sind die Nachrichtenverarbeitungsstufen 132 Match-Action-Units (MAUs), wie in diesem Beispiel gezeigt. Die MAUs enthalten in manchen Ausführungsformen Abgleichtabellen, die mehrere Einträge zum Abgleich mit Daten-Tupeln (z.B. Nachrichten-Header-Werte, die in Header-Vektoren gespeichert sind, die von einer MAU an die nächste weitergegeben werden) der verarbeiteten Datennachrichten speichern. Wenn eine Datennachricht mit einem Abgleicheintrag übereinstimmt, führt die MAU dann eine Aktion durch, die durch einen Aktionseintrag spezifiziert ist, der dem identifiziertem Abgleicheintrag zugeordnet ist (z.B. ein Aktionseintrag, der von dem identifiziertem Abgleicheintrag identifiziert wird).
  • In manchen Ausführungsformen enthält jede MAU auch einen Satz zustandsbehafteter arithmetischer Logikeinheiten (ALUs), die arithmetische Operationen auf Grundlage von Parametern durchführen, die von den Header-Vektoren und/oder den Abgleichtabellen spezifiziert werden. Die zustandsbehafteten ALUs können das Ergebnis ihrer Operationen in den zustandsbehafteten Tabellen, auf die sie zugreifen, speichern und/oder sie können diese Ergebnisse in die Header-Vektoren schreiben (z.B. direkt oder durch Anweisen einer anderen Aktions-ALU, diese Ergebnisse in die Header-Vektoren zu schreiben), so dass andere MAU-Stufen sie bei Verarbeitung der Datennachricht verwenden können.
  • Zusätzlich zu den MAU-Stufen 132 enthält jede Eingangs- oder Ausgangspipeline 140 oder 142 einen Parser 130 und einen Deparser 134. Der Parser 130 extrahiert Nachrichten-Header-Werte aus einer Datennachricht, die die Pipeline zur Verarbeitung empfängt. In manchen Ausführungsformen sind die Nachrichten-Header-Werte in einem Header-Vektor gespeichert, der an die erste MAU-Stufe (und dann an nachfolgende MAU-Stufen) übergeben wird. Der Header-Vektor wird durch sukzessive Nachrichtenverarbeitungsstufen 132 im Rahmen ihrer Nachrichtenverarbeitungsoperationen verarbeitet und in manchen Fällen modifiziert. Der Parser 130 einer Pipeline übergibt die Nutzlast der Nachricht an den Deparser 134, während die Nachrichtenverarbeitungsstufen 132 der Pipeline an den Header-Vektoren arbeiten. In manchen Ausführungsformen übergibt der Parser die gesamte Nachricht und nicht nur die Nutzlast an den Deparser 134.
  • Wenn eine Pipeline Verarbeiten einer Datennachricht beendet und die Nachricht an den Verkehrsmanager (im Fall einer Eingangspipeline) oder an einen Port 115 (im Fall einer Ausgangspipeline) bereitgestellt werden muss, rekonstruiert der Deparser 134 der Pipeline die Datennachricht (einschließlich jedweder Modifikationen an den Nachricht-Header-Werten). In manchen Ausführungsformen konstruiert der Deparser den Nachricht-Header aus dem modifiziertem Nachricht-Header-Vektor, der von der letzten Nachrichtenverarbeitungsstufe 132 empfangen wurde, und kombiniert dies mit der Nutzlast (oder einem Abschnitt des gesamten Pakets, der als die Nutzlast spezifiziert ist), die von dem Parser 130 empfangen wurde.
  • 2 veranschaulicht konzeptionell einen Verkehrsmanager 200 mancher Ausführungsformen. Wie bereits erwähnt, empfängt der Verkehrsmanager 200 rekonstruierte Pakete von Eingangspipelines 205 und stellt diese Pakete an die entsprechenden Ausgangspipelines 210 bereit. Der Verkehrsmanager 200 mancher Ausführungsformen enthält einen Eingangsnachrichtenanalysator 215, Vermittlungsstruktur- und Nachrichtenreplikator 220, einen Ausgangspuffer und Warteschlangen 225, einen Warteschlangenmonitor 230 und einen Flusssteuerungsereignisgenerator 235.
  • Bei Empfang einer Datennachricht von einer der Eingangspipelines 205 bestimmt der Eingangsnachrichtenanalysator 215, wie die Datennachricht zu verarbeiten ist. In manchen Ausführungsformen stellt die Eingangspipeline 205 dem Verkehrsmanager die rekonstruierte Datennachricht sowie zusätzliche Metadaten bereit, wie etwa eine Ausgangswarteschlange für die Datennachricht, eine Multicast-Gruppenkennung usw. In manchen Ausführungsformen können die Eingangspipelines 205 auch Anweisungen an den Verkehrsmanager 200 bereitstellen, wie etwa Modifizieren von Warteschlangen-Credits (die sich auf die Warteschlangenplanung auswirken) und Ein- oder Ausschalten bestimmter Warteschlangen (effektives Durchführen von Flusssteuerung). Darüber hinaus können die Eingangspipelines Flusssteuerungsnachrichten von Linkpartnern des Weiterleitungselements verarbeiten und diese Flusssteuerungsnachrichten an den Verkehrsmanager 200 bereitstellen (so dass der Verkehrsmanager die durch die Flusssteuerungsnachricht spezifizierte(n) Warteschlange(n) pausieren oder wieder aufnehmen kann).
  • Der Eingangsnachrichtenanalysator 215 analysiert in manchen Ausführungsformen diese Metadaten, die von der Eingangspipeline 205 bereitgestellt werden, mit der Datennachricht, um zu bestimmen, wie der Verkehrsmanager 200 die Datennachricht verarbeiten wird. Wenn die Metadaten beispielsweise eine Multicast-Gruppenkennung enthalten, wird diese Information mit der Datennachricht an den Vermittlungsstruktur- und Nachrichtenreplikator 220 bereitgestellt. Darüber hinaus stellt der Eingangsnachrichtenanalysator 215, wenn eine Flusssteuerungsnachricht empfangen wird, diese Information an den Flusssteuerungsereignisgenerator 235 bereit.
  • Der Vermittlungsstruktur- und Nachrichtenreplikator 220 mancher Ausführungsform handhabt das Hinzufügen der Datennachrichten zu der bzw. den entsprechenden Warteschlange(n) 225. In manchen Ausführungsformen identifiziert die Eingangspipeline für Unicast-Pakete eine spezifische Warteschlange und die Vermittlungsstruktur 220 fügt die Nachricht dieser Warteschlange hinzu. In manchen Ausführungsformen wird die Datennachricht tatsächlich dem Ausgangspuffer 225 hinzugefügt und ein Verweis auf die Position in dem Ausgangspuffer, an der die Datennachricht gespeichert ist, wird der Warteschlange hinzugefügt. Darüber hinaus verwendet der Vermittlungsstruktur- und Nachrichtenreplikator 220, wenn die Datennachricht eine Multicast-Nachricht ist, die Multicast-Gruppenkennung, die durch die Eingangspipeline bestimmt wurde, um die mehreren Warteschlangen 225 zu bestimmen, zu denen die Datennachricht hinzuzufügen ist. In manchen Ausführungsformen wählt der Vermittlungsstruktur- und Nachrichtenreplikator 220 auch aus Gruppen von Ausgangswarteschlangen aus (z.B. Warteschlangen, die kostengleichen Mehrweg-Routing-Pfaden entsprechen oder innerhalb einer Linkaggregatgruppe liegen).
  • Der Ausgangspuffer und Warteschlangen 225 speichern die Datennachrichten, wie bereits erwähnt, bis sie aus der Warteschlange genommen und an eine Ausgangspipeline 210 bereitgestellt werden. In manchen Ausführungsformen bestimmt ein Scheduler die Reihenfolge, in der die Datennachrichten aus der Warteschlange genommen werden, für jede Ausgangspipeline 210 (es wird nicht mehr als eine Datennachricht zu jeder Pipeline während jedes Taktzyklus aus der Warteschlange genommen) basierend auf den Prioritäten der Datennachrichten in den unterschiedlichen Warteschlangen und anderen Faktoren.
  • Der Warteschlangenmonitor 230 überwacht in manchen Ausführungsformen Statistiken jeder der Ausgangswarteschlangen 225. Dazu gehören Warteschlangentiefe (d.h. die Anzahl von Datennachrichten und/oder Bytes, die derzeit in einer Warteschlange gespeichert sind) sowie andere Warteschlangenstatistiken. In manchen Ausführungsformen bestimmt der Warteschlangenmonitor 230, wann die Warteschlangentiefe bestimmter Warteschlangen verschiedene Schwellenwerte durchlaufen hat, und sendet Signale an die Eingangs- und/oder Ausgangspipelines in Bezug auf die Warteschlangenstatistiken. Darüber hinaus sendet der Warteschlangenmonitor, wenn der Warteschlangenmonitor 230 erkennt, dass eine bestimmte Warteschlange an einem Schwellenwert-Stauungsniveau vorbeigelaufen ist (d.h. die Warteschlangentiefe läuft an einem bestimmten Schwellenwert vorbei), eine Nachricht bezüglich dieser Warteschlange an den Flusssteuerungsereignisgenerator 235, so dass der Flusssteuerungsereignisgenerator (i) eine Flusssteuerungsnachricht für diese Warteschlange erzeugen und übertragen kann und (ii) Metadaten in Bezug auf dieses Flusssteuerungsereignis speichern kann.
  • Der Flusssteuerungsereignisgenerator 235 erkennt Flusssteuerungsereignisse, speichert Metadaten über diese Ereignisse in einer Warteschlange 240 und überträgt diese Metadaten an einen oder mehrere der Nachrichtengeneratoren (d.h. den Nachrichtengenerator 135 der Datenebenenschaltung 120) über einen Bus 245. Wie gezeigt, enthält der Flusssteuerungsereignisgenerator 235 mancher Ausführungsformen einen Flusssteuerungsnachrichtengenerator 250, einen Zeitstempelgenerator 255 und die vorstehend erwähnte Metadatenwarteschlange 240. Die Operationen des Flusssteuerungsereignisgenerators werden unter Bezugnahme auf 3 und 4 beschrieben.
  • 3 veranschaulicht konzeptionell einen Prozess 300 mancher Ausführungsformen zum Speichern von Flusssteuerungsereignismetadaten in einer Warteschlange. In manchen Ausführungsformen führen Komponenten des Flusssteuerungsereignisgenerators 235 den Prozess 300 durch. Der Prozess 300 beginnt, wie gezeigt, mit Erkennen (bei 305) eines Flusssteuerungsereignisses. Diese Flusssteuerungsereignisse können den Empfang einer Flusssteuerungsnachricht an einem Verbindungsschichtport des Weiterleitungselements und/oder die Erzeugung einer Flusssteuerungsnachricht durch die Datenebenenweiterleitungsschaltung umfassen.
  • Wenn ein Linkpartner des Weiterleitungselements zumindest teilweise basierend auf dem Empfang von Datennachrichten von dem Weiterleitungselement, das zu einem bestimmten Datenfluss gehört, zu sehr gestaut ist, sendet der Linkpartner eine Flusssteuerungsnachricht an den Port des Netzwerkweiterleitungselements, die anfordert, dass das Netzwerkweiterleitungselement das Senden der Datennachrichten mit einer bestimmten Priorität (z.B. dem Datenfluss, der die Stauung verursacht, entsprechend) an den Port pausiert. Auf ähnliche Weise kann es, wenn der Linkpartner seine Stauung beseitigt hat, eine Flusssteuerungsnachricht senden, die angibt, dass das Netzwerkweiterleitungselement Senden von Datennachrichten mit der spezifizierten Priorität an den Linkpartner wieder aufnehmen kann. Diese Flusssteuerungsnachrichten werden an den Verkehrsmanager 200 bereitgestellt, der den Warteschlangen-Scheduler wie von dem Linkpartner angefordert modifiziert, das Senden von Datennachrichten aus der spezifizierten Warteschlange zu pausieren oder wieder aufzunehmen.
  • Darüber hinaus empfängt der Flusssteuerungsereignisgenerator 235 die Flusssteuerungsnachricht oder zumindest Metadaten, die den Inhalt der Flusssteuerungsnachricht angeben. In manchen Ausführungsformen wird die Flusssteuerungsnachricht von einer der Eingangspipelines 205 an den Verkehrsmanager weitergeleitet (z.B. an den Eingangsnachrichtenanalysator 215, der die Daten an den Flusssteuerungsereignisgenerator 235 bereitstellt). In anderen Ausführungsformen empfängt der Flusssteuerungsereignisgenerator 235 ein Signal, das eine empfangene Flusssteuerungsnachricht direkt von dem Verbindungsschichtport, an dem die Flusssteuerungsnachricht von der Datenebene empfangen wurde, zusammenfasst.
  • Das Netzwerkweiterleitungselement (d.h. die Datenebene) erzeugt ebenfalls Flusssteuerungsnachrichten, die an einen Linkpartner zu senden sind, die der Flusssteuerungsereignisgenerator 235 ebenfalls als ein Flusssteuerungsereignis erkennt. In manchen Ausführungsformen ist der Verkehrsmanager 200 (z.B. der Flusssteuerungsnachrichtengenerator 205) dafür ausgelegt, diese Flusssteuerungsnachrichten in Reaktion auf das Erkennen der Stauung in bestimmten Warteschlangen zu erzeugen.
  • Wieder unter Bezugnahme auf 3 erzeugt der Prozess 300 (bei 310) Metadaten für das erkannte Flusssteuerungsereignis. In manchen Ausführungsformen umfassen die erzeugten Metadaten für ein Flusssteuerungsereignis (i) einen Zeitstempel für das Flusssteuerungsereignis (von dem Zeitstempelgenerator 255 erzeugt), (ii) eine Identifikation, ob das Flusssteuerungsereignis eine empfangene Flusssteuerungsnachricht oder eine übertragene Flusssteuerungsnachricht (z.B. ein einzelnes Bit) ist, (iii) eine Portkennung, die den Verbindungsschichtport spezifiziert, an dem die Flusssteuerungsnachricht empfangen wurde oder durch den die Flusssteuerungsnachricht gesendet wurde, und (iv) die Flusssteuerungsnachrichteninhalte (z.B. die Flusspriorität oder Prioritäten, die pausiert bzw. wieder aufgenommen werden, die Pausierungszeit und jedwede andere Daten). Für empfangene Flusssteuerungsnachrichten basieren die Metadaten in manchen Ausführungsformen auf der Nachricht, wie von dem Verbindungsschichtport oder der Eingangspipeline empfangen. Für Flusssteuerungsnachrichten, die von dem Weiterleitungselement übertragen werden, werden diese Metadaten basierend auf den Daten bestimmt, die von dem Flusssteuerungsnachrichtengenerator 250 zum Erzeugen der Nachricht verwendet wurden.
  • Als nächstes bestimmt der Prozess 300 (bei 315), ob die Metadatenwarteschlange voll ist. In manchen Ausführungsformen enthält der Flusssteuerungsereignisgenerator, wie in 2 gezeigt, eine FIFO-Warteschlange zum Speichern von Flusssteuerungsereignissen. Da möglicherweise mehrere Flusssteuerungsnachrichten in dem gleichen Taktzyklus empfangen und/oder erzeugt werden, wird in manchen Ausführungsformen eine Warteschlange 240 zum Speichern von Metadaten für diese Nachrichten vor Übertragen der Metadaten an den Nachrichtengenerator verwendet. Diese Warteschlange kann zum Beispiel in unterschiedlichen Ausführungsformen Metadaten für acht, sechzehn usw. Flusssteuerungsereignisse enthalten.
  • Wenn die Metadatenwarteschlange voll ist (z.B. weil eine größere Anzahl von Flusssteuerungsnachrichten kürzlich empfangen und/oder übertragen wurde), lässt der Prozess (bei 320) die Metadaten fallen (d.h. die Daten werden nicht gespeichert). Wenn in der Metadatenwarteschlange jedoch noch Platz ist, dann fügt der Prozess 300 (bei 325) der Warteschlange Metadaten für das erkannte Flusssteuerungsereignis hinzu.
  • In manchen Ausführungsformen überträgt der Flusssteuerungsereignisgenerator 235 Metadaten für ein Flusssteuerungsereignis pro Taktzyklus von der Metadatenwarteschlange 240 zu dem Nachrichtengenerator über den Bus 245. 4 veranschaulicht konzeptionell einen Prozess 400 mancher Ausführungsformen, der zu jedem Taktzyklus der Datenebenenschaltung von dem Verkehrsmanager (z.B. durch den Flusssteuerungsereignisgenerator) durchgeführt wird, um Flusssteuerungsereignismetadaten zu einem Nachrichtengenerator zu übertragen. Der Prozess 400 beginnt, wie gezeigt, mit Bestimmen (bei 405), ob die Metadaten für Flusssteuerungsereignisse in der Metadatenwarteschlange gespeichert sind.
  • Wenn die Warteschlange Metadaten für mindestens ein Flusssteuerungsereignis enthält, dann überträgt der Prozess 400 (bei 410) Metadaten für das erste (älteste) Ereignis in der Warteschlange mit einem Signal, das das Ereignis als gültig markiert. Sind jedoch keine Metadaten in der Warteschlange gespeichert, dann überträgt der Prozess (bei 415) ein Signal an den Nachrichtengenerator, das als ungültig spezifiziert ist. Das heißt, der Verkehrsmanager überträgt jeden Taktzyklus ein Signal über den Bus an den Nachrichtengenerator. Wenn jedoch keine Metadaten zu übertragen sind, dann wird in manchen Ausführungsformen ein Gültigkeitsbit auf 0 gesetzt, so dass der Nachrichtengenerator das Signal nicht als Flusssteuerungsmetadaten speichert.
  • 5 veranschaulicht konzeptionell die Daten 500, die in manchen Ausführungsformen von dem Verkehrsmanager 200 über den Bus an den Nachrichtengenerator übertragen werden. Die Daten 500 enthalten, wie gezeigt, ein Gültigkeitsbit, einen Zeitstempel, ein Sende-/Empfangsbit, eine Portkennung und Flusssteuerungsdaten. Das Gültigkeitsbit ist in manchen Ausführungsformen ein einzelnes Bit, das identifiziert, ob das Signal gültige Flusssteuerungsmetadaten darstellt. Der Zeitstempel gibt die Zeit an, zu der das Flusssteuerungsereignis erkannt wurde (d.h. die Zeit, zu der eine Flusssteuerungsnachricht von dem Weiterleitungselement empfangen oder von dem Weiterleitungselement erzeugt wurde). Das Sende-/Empfangsbit ist in manchen Ausführungsformen ein einzelnes Bit, das angibt, ob das Ereignis eine übertragene Flusssteuerungsnachricht oder eine empfangende Flusssteuerungsnachricht repräsentiert. Die Portkennung spezifiziert den Verbindungsschichtport der Datenebenenschaltung, an der die Flusssteuerungsnachricht empfangen oder durch die die Flusssteuerungsnachricht übertragen wurde. Schließlich geben die Flusssteuerungsereignisdaten in manchen Ausführungsformen die Daten an, die in der Flusssteuerungsnachricht enthalten sind (z.B. die betroffene Priorität, ob diese Priorität zu pausieren oder wieder aufzunehmen ist, und wie lange diese Priorität zu pausieren ist).
  • Wie bereits erwähnt werden die Metadaten von dem Verkehrsmanager an einen oder mehrere der Nachrichtengeneratoren der Datenebenenschaltung übertragen. Der Nachrichtengenerator mancher Ausführungsformen speichert die Metadaten, die von der Verkehrsmanagementschaltung (z.B. in einem Puffer oder Puffersatz) empfangen wurden, und erzeugt bei Auftreten einer bestimmten Bedingung Datennachrichten, die Datennachrichten-Header und mindestens einen Teil der in dem Puffer gespeicherten Metadaten enthalten. Der Nachrichtengenerator überträgt diese generierten Datennachrichten an eine Verarbeitungspipeline der Datenebene (z.B. die Eingangspipeline), so dass die Datennachricht von der Datenebene verarbeitet und durch das Netzwerk zu einem Monitor übertragen wird.
  • 6 veranschaulicht konzeptionell einen Nachrichtengenerator 600 mancher Ausführungsformen. Wie vorstehend beschrieben, erzeugt der Verkehrsmanager 600 Daten und/oder Steuernachrichten, die an die Eingangs- und/oder Ausgangspipelines gesendet werden. Diese Nachrichten können in Reaktion auf den Empfang bestimmter Signale (z.B. zum Senden einer bestimmten Art von Steuernachricht), in Reaktion auf das Auftreten bestimmter Bedingungen usw. erzeugt werden. Der Nachrichtengenerator 600 enthält, wie gezeigt, mindestens einen Satz Nachrichten-Header-Vorlagen 605, einen Nachrichtenaggregator 610, ein Paar Puffer 615 und 620, einen Puffermanager 625 und Pufferspeicherlogik 630.
  • Die Nachrichten-Header-Vorlagen 605 sind konfigurierte Nachrichten-Header (z.B. im RAM gespeichert), die von dem Nachrichtenaggregator 610 verwendet werden, um Daten zu erzeugen und/oder Nachrichten zu steuern. Für bestimmte Arten von Nachrichten (z.B. bidirektionale Weiterleitungserkennungsherzschlagnachrichten) könnte beispielsweise die gesamte Nachricht in dem Nachricht-Header-Template gespeichert sein. Für andere Arten von Nachrichten, die Laufzeitdaten in eine Nachricht verpacken, kombiniert der Nachrichtenaggregator 610 diese Laufzeitdaten mit einem Satz von Nachrichten-Headern aus den Vorlagen 605. Zum Erzeugen einer Datennachricht mit Flusssteuerungsereignismetadaten ruft der Nachrichtenaggregator 610 beispielsweise Daten aus einem der Puffer 615 oder 620 ab und hängt diesen Daten einen Satz von Nachrichten-Headern an, die die Datennachricht 635 zu einer Überwachungsvorrichtung leiten.
  • Der Puffermanager 625 mancher Ausführungsformen verwaltet die Puffer 615 und 620 sowie die Pufferspeicherlogik 630. In manchen Ausführungsformen empfängt die Pufferspeicherlogik 630 Flusssteuerungsereignismetadaten von dem Verkehrsmanager über den Bus 640 und bestimmt, (i) ob die empfangenen Metadaten in einem der Puffer 615 und 620 zu speichern sind, und (ii) in welchen dieser Puffer die Metadaten zu speichern sind (sofern sie zu speichern sind). Die erste Entscheidung (ob die Metadaten überhaupt zu speichern sind) wird durch das Gültigkeitsbit bestimmt, das mit dem Metadatensignal von dem Verkehrsmanager übertragen wird. Falls dieses Bit angibt, dass das Metadatensignal gültige Daten darstellt, dann speichert die Pufferspeicherlogik 630 die Daten in einem der Puffer 615 und 620. Welcher Puffer zu verwenden ist, basiert in manchen Ausführungsformen auf einem Signal von dem Puffermanager 625. Der Puffermanager spezifiziert insbesondere für die Pufferspeicherlogik 630 das Speichern empfangener Daten in einen der Puffer 615 oder 620 bis dieser Puffer von dem Nachrichtenaggregator 610 in eine Datennachricht gelesen wird. Zu diesem Zeitpunkt spezifiziert der Puffermanager 625 für die Pufferspeicherlogik 630 eingehende Metadaten zu dem anderen der Puffer 615 und 620 zu leiten. Es ist zu verstehen, dass auch andere Mechanismen oder Schaltungsstrukturen zum Puffern von Flusssteuerungsereignismetadaten und zum Erzeugen von Datennachrichten zum Übertragen dieser Metadaten an einen lokalen oder entfernten Monitor verwendet werden können.
  • 7 veranschaulicht konzeptionell einen Prozess 700 mancher Ausführungsformen zum Erzeugen einer Datennachricht basierend auf Flusssteuerungsereignismetadaten, die von dem Verkehrsmanager (oder in unterschiedlichen Ausführungsformen aus anderen Quellen) empfangen werden. Der Prozess 700 wird von einem Nachrichtengenerator (z.B. dem Nachrichtengenerator 600 oder einer ähnlichen Schaltung) durchgeführt. In diesem Beispiel verwendet der Prozess zwei Puffer zum Speichern der Flusssteuerungsereignismetadaten, obwohl, wie bereits erwähnt, andere Ausführungsformen nur einen einzelnen Speicher verwenden können.
  • Der Prozess 700 bestimmt (bei 705), wie gezeigt, die Inhalte eines derzeit aktiven Metadatenpuffers an einen Monitor zu übertragen. In manchen Ausführungsformen ist der Nachrichtengenerator 600 dafür ausgelegt, die Inhalte des Flusssteuerungsereignismetadatenpuffers zu übertragen, wenn dieser Puffer eine Schwellenkapazität erreicht, nach einem bestimmten Zeitraum (oder was davon auch zuerst auftritt) oder auf anderen Ereignissen basierend.
  • Auf Grundlage dieser Bestimmung legt der Prozess (bei 710) den derzeit inaktiven Puffer als den neuen aktiven Puffer fest. In manchen Ausführungsformen sendet der Puffermanager 625 ein anderes Signal an die Pufferspeicherlogik 630, so dass die Pufferspeicherlogik anschließend empfangene Metadaten in dem anderen Puffer speichert (d.h. dem Puffer, der derzeit leer ist). Der Prozess liest (bei 715) auch die Inhalte des zuvor aktiven Puffers (d.h. der Puffer, der Flusssteuerungsereignismetadaten, die von dem Verkehrsmanager empfangen wurden, gespeichert hat). Diese Verwendung mehrerer Puffer erlaubt es dem Nachrichtengenerator (z.B. dem Puffermanager 625 oder dem Nachrichtenaggregator 610) aus einem der Puffer zu lesen, während neu empfangene Metadaten in einem anderen Puffer gespeichert werden können, ohne die Lesevorgänge zu beeinträchtigen.
  • Als nächstes fügt der Prozess (bei 720) einen Nachrichten-Header zu den Inhalten hinzu, die aus dem zuvor aktivem Puffer gelesen wurden, um eine Datennachricht zu erzeugen. In manchen Ausführungsformen ist dieser Nachrichten-Header für alle Datennachrichten, die Flusssteuerungsereignismetadaten enthalten, vorkonfiguriert und wird von dem Nachrichtengenerator als eine Nachrichten-Header-Vorlage 605 gespeichert. Jedes Mal, wenn die Inhalte eines der Puffer 615 und 620 gelesen werden, fügt der Nachrichtenaggregator 610 diesen Nachrichten-Header zu diesen Inhalten (oder zu einer Teilmenge der Inhalte, wenn mehrere Datennachrichten für die Inhalte eines Puffers gesendet werden) hinzu, um eine Datennachricht zu erzeugen.
  • Der Prozess sendet (bei 725) dann die erzeugte Datennachricht an eine Pipeline der Datenebene. Dann endet der Prozess. In manchen Ausführungsformen senden die Nachrichtengeneratoren immer Datennachrichten an die Eingangspipeline (als wäre die Datennachricht an einem Port der Datenebene empfangen worden), während andere Ausführungsformen manche der erzeugten Datennachrichten an den Verkehrsmanager zur direkten Lieferung an eine Ausgangspipeline senden. Diese Datennachrichten werden von der Datenebene verarbeitet und in manchen Fällen von dem Netzwerkweiterleitungselement an eine Zielüberwachungsvorrichtung durch das dazwischenliegende Netzwerk übertragen. In anderen Ausführungsformen werden die Datennachrichten an einen lokalen Monitor gesendet (z.B. auf der Datenebenenschaltung oder dem Prozessor, der die Steuerebene ausführt).
  • 8 veranschaulicht konzeptionell ein elektronisches System 800 mit dem manche Ausführungsformen der Erfindung implementiert sind. Das elektronische System 800 kann ein Computer sein (z.B. ein Desktop-Computer, Personal Computer, Tablet-Computer, Server-Computer, Mainframe, ein Blade-Computer usw.), Telefon, PDA oder jedwede andere Art elektronischer Vorrichtung. Solch ein elektronisches System enthält verschiedene Arten computerlesbarer Medien und Schnittstellen für verschiedene andere Arten von computerlesbaren Medien. Elektronisches System 800 enthält einen Bus 805, Verarbeitungseinheit(en) 810, einen Systemspeicher 825, einen Nur-Lese-Speicher 830, eine Permanentspeichervorrichtung 835, Eingabevorrichtungen 840 und Ausgabevorrichtungen 845.
  • Der Bus 805 repräsentiert kollektiv alle System-, Peripherie- und Chipsetbusse, die die zahlreichen internen Vorrichtungen des elektronischen Systems 800 kommunikativ verbinden. Der Bus 805 verbindet beispielsweise kommunikativ die Verarbeitungseinheit(en) 810 mit dem Nur-Lese-Speicher 830, dem Systemspeicher 825 und der Permanentspeichervorrichtung 835. Die Verarbeitungseinheit(en) 810 ruft/rufen aus diesen verschiedenen Speichereinheiten Anweisungen zum Ausführen und Daten zum Verarbeiten ab, um die Prozesse der Erfindung auszuführen. Die Verarbeitungseinheit(en) kann bzw. können in unterschiedlichen Ausführungsformen ein einzelner Prozessor oder ein Mehrkernprozessor sein.
  • Der Nur-Lese-Speicher (ROM) 830 speichert statische Daten und Anweisungen, die von der bzw. den Verarbeitungseinheit(en) 810 und anderen Modulen des elektronischen Systems benötigt werden. Die Permanentspeichervorrichtung 835 ist hingegen eine Schreib- und Lesespeichervorrichtung. Diese Vorrichtung ist eine nichtflüchtige Speichereinheit, die Anweisungen und Daten selbst dann speichert, wenn das elektronische System 800 ausgeschaltet ist. Manche Ausführungsformen der Erfindung verwenden eine Massenspeichervorrichtung (wie etwa eine magnetische oder optische Platte und ihr entsprechendes Laufwerk) als die Permanentspeichervorrichtung 835.
  • Andere Ausführungsformen verwenden eine entfernbare Speichervorrichtung (wie etwa eine Diskette, ein Flash-Laufwerk usw.) als die Permanentspeichervorrichtung. Wie die Permanentspeichervorrichtung 835 ist der Systemspeicher 825 eine Schreib- und Lesespeichervorrichtung. Anders als Speichervorrichtung 835 ist der Systemspeicher allerdings ein flüchtiger Schreib- und Lesespeicher, wie etwa ein Direktzugriffsspeicher. Der Systemspeicher speichert manche der Anweisungen und Daten, die der Prozessor zur Laufzeit benötigt. In manchen Ausführungsformen sind die Prozesse der Erfindung in dem Systemspeicher 825, der Permanentspeichervorrichtung 835 und/oder dem Nur-Lese-Speicher 830 gespeichert. Die Verarbeitungseinheit(en) 810 ruft/rufen aus diesen verschiedenen Speichereinheiten Anweisungen zum Ausführen und Daten zum Verarbeiten ab, um die Prozesse mancher Ausführungsformen auszuführen.
  • Der Bus 805 verbindet auch die Ein- und Ausgabevorrichtungen 840 und 845. Die Eingabevorrichtungen befähigen den Benutzer Informationen zu kommunizieren und Befehle an das elektronische System auszuwählen. Die Eingabevorrichtungen 840 enthalten alphanumerische Tastaturen und Zeigevorrichtungen (auch als „Cursorsteuervorrichtungen“ bezeichnet). Die Ausgabevorrichtungen 845 zeigen Bilder an, die von dem elektronischen System erzeugt werden. Die Ausgabevorrichtungen umfassen Drucker und Anzeigevorrichtungen, wie etwa Kathodenstrahlröhren (CRT) oder Flüssigkristallanzeigen (LCD). Manche Ausführungsformen umfassen Vorrichtungen, wie etwa ein Touchscreen, das sowohl als Eingabe- wie auch als Ausgabevorrichtung funktioniert.
  • Schließlich koppelt Bus 805, wie in 8 gezeigt, elektronisches System 800 auch mit einem Netzwerk 865 durch einen Netzwerkadapter (nicht gezeigt). Auf diese Weise kann der Computer Teil eines Netzwerks von Computern sein (wie etwa ein lokales Netzwerk („LAN“), ein Weitverkehrsnetzwerks („WAN“) oder ein Intranet oder ein Netzwerk von Netzwerken, wie etwa das Internet). Jedwede oder alle Komponenten des elektronischen Systems 800 können in Verbindung mit der Erfindung verwendet werden.
  • Manche Ausführungsformen enthalten elektronische Komponenten, wie etwa Mikroprozessoren und Speicher, die Computerprogrammanweisungen in einem maschinenlesbarem oder computerlesbarem Medium (alternativ auch als computerlesbare Speichermedien, maschinenlesbare Medien oder maschinenlesbare Speichermedien bezeichnet) speichern. Einige Beispiele für solche computerlesbaren Medien sind u.a. RAM, ROM, schreibgeschützte Compact Discs (CD-ROM), beschreibbare Compact Discs (CD-R), wiederbeschreibbare Compact Discs (CD-RW), schreibgeschützte Digital Versatile Discs (z.B. DVD-ROM, Dual-Layer DVD-ROM), eine Vielzahl beschreibbarer/wiederbeschreibbarer DVDs (z.B. DVD-RAM, DVD-RW, DVD+RW usw.), Flash-Speicher (z.B. SD-Karten, Mini-SD-Karten, Micro-SD-Karten usw.), magnetische und/oder Festkörperfestplatten, schreibgeschützte und beschreibbare Blu-Ray®-Discs, jedwede andere optische oder magnetische Medien und Disketten. Die computerlesbaren Medien können ein Computerprogramm speichern, das durch mindestens eine Verarbeitungseinheit ausführbar ist, und Anweisungssätze zum Durchführen verschiedener Operationen enthalten. Beispiele für Computerprogramme oder Computercode sind u.a. Maschinencode, wie er etwa von einem Compiler produziert wird, und Dateien, die Code höherer Ebene enthalten, die von einem Computer, einer elektronischen Komponente oder einem Mikroprozessor unter Verwendung eines Interpreters ausgeführt werden.
  • Während die vorstehende Diskussion sich primär auf Mikroprozessoren bzw. Mehrkernprozessoren, die Software ausführen, bezieht, werden manche Ausführungsformen von einer oder mehreren integrierten Schaltungen durchgeführt, wie etwa anwendungsspezifischen integrierten Schaltungen (ASICs) oder feldprogrammierbaren Gate-Arrays (FPGAs). In manchen Ausführungsformen führen solche integrierte Schaltungen Anweisungen aus, die auf der Schaltung selber gespeichert sind.
  • Wie in dieser Spezifikation verwendet, beziehen sich die Begriffe „Computer“, „Server“, „Prozessor“ und „Speicher“ alle auf elektronische oder andere technologische Vorrichtungen. Diese Begriffe schließen Personen oder Personengruppen aus. Für die Zwecke der Spezifikation bedeuten die Begriffe „Anzeige“ oder „anzeigen“ Anzeigen auf einer elektronischen Vorrichtung. Wie in dieser Spezifikation verwendet, sind die Formulierungen „computerlesbares Medium“, „computerlesbare Medien“ und „maschinenlesbares Medium“ in ihrer Gesamtheit auf greifbare, physische Objekte, die Informationen in einer Form speichern, die durch einen Computer lesbar ist, beschränkt. Diese Begriffe schließen jedwede drahtlosen Signale, drahtgebundene Downloadsignale und jedwede andere ephemere Signale aus.
  • Während die Erfindung unter Bezugnahme auf zahlreiche spezifische Details beschrieben wurde, werden Fachleute erkennen, dass die Erfindung in anderen spezifischen Formen verkörpert sein kann, ohne dass vom Geist der Erfindung abgewichen werden würde. Darüber hinaus veranschaulichen eine Reihe der Figuren (einschließlich 3, 4 und 7) Prozesse konzeptionell. Die spezifischen Operationen dieser Prozesse müssen nicht exakt in der gezeigten und beschriebenen Reihenfolge durchgeführt werden. Die spezifischen Operationen müssen nicht in einer kontinuierlichen Serie von Operationen durchgeführt werden und es können in anderen Ausführungsformen andere spezifische Operationen durchgeführt werden. Darüber hinaus könnte der Prozess unter Verwendung mehrerer Unterprozesse oder als Teil eines größeren Makroprozesses implementiert sein. Somit werden Fachleute verstehen, dass die Erfindung durch die vorstehenden veranschaulichenden Einzelheiten nicht eingeschränkt ist, sondern vielmehr durch die beigefügten Ansprüche definiert ist.

Claims (21)

  1. Verfahren, umfassend: an einer Verkehrsmanagementschaltung einer Netzwerk-weiterleitenden integrierten Schaltung (IC), Identifizieren eines Flusssteuerungsereignisses, wobei die Verkehrsmanagementschaltung Datennachrichten von einem Satz von Eingangspipelines empfängt und die Datennachrichten an einen Satz von Ausgangspipelines bereitstellt; und Bereitstellen von Metadaten in Bezug auf das Flusssteuerungsereignis an eine Nachrichtenerzeugungsschaltung der Netzwerk-weiterleitenden IC über einen Bus zwischen der Verkehrsmanagementschaltung und der N achri chtenerzeugungsschal tung.
  2. Verfahren nach Anspruch 1, wobei die Nachrichtenerzeugungsschaltung die Metadaten in einem Puffer mit Metadaten für eine Vielzahl von Flusssteuerungsereignissen speichert.
  3. Verfahren nach Anspruch 2, wobei die Nachrichtenerzeugungsschaltung eine Datennachricht erzeugt, die (i) die in dem Puffer gespeicherten Metadaten und (ii) einen Satz von Datennachricht-Headern umfasst und die erzeugte Datennachricht an eine der Eingangspipelines bereitstellt.
  4. Verfahren nach Anspruch 3, wobei die erzeugte Datennachricht an einen entfernten Server adressiert ist, der die Flusssteuerungsmetadaten analysiert.
  5. Verfahren nach Anspruch 1, wobei das Flusssteuerungsereignis Empfang einer Flusssteuerungsnachricht von einem separaten Weiterleitungselement umfasst, die die Netzwerk-weiterleitende IC anweist, Senden von Datennachrichten mit einem bestimmten Satz von Eigenschaften an das separate Weiterleitungselement entweder zu stoppen oder wieder aufzunehmen.
  6. Verfahren nach Anspruch 5, wobei die Nachricht an einem bestimmten Port der Netzwerk-weiterleitenden IC empfangen wird und der bestimmte Satz von Eigenschaften einen Prioritätswert umfasst.
  7. Verfahren nach Anspruch 1, wobei das Flusssteuerungsereignis Erzeugung einer Flusssteuerungsnachricht durch die Verkehrsmanagementschaltung umfasst, um ein separates Weiterleitungselement anzuweisen, Senden von Datennachrichten mit einem bestimmten Satz von Eigenschaften an die Netzwerk-weiterleitende IC entweder zu stoppen oder wieder aufzunehmen.
  8. Verfahren nach Anspruch 1, wobei der bestimmte Satz von Eigenschaften einen Prioritätswert umfasst.
  9. Verfahren nach Anspruch 1, wobei Bereitstellen der Metadaten über den Bus Übertragen eines Signals auf dem Bus umfasst, das das Folgende spezifiziert (i) einen Zeitstempel für das Flusssteuerungsereignis, (ii) ob das Flusssteuerungsereignis Empfang einer Flusssteuerungsnachricht oder Erzeugung einer Flusssteuerungsnachricht umfasst, (iii) eine Portkennung, (iv) einen Prioritätswert.
  10. Verfahren nach Anspruch 9, wobei die Verkehrsmanagementschaltung Metadaten für ein Flusssteuerungsereignis pro Taktzyklus der Netzwerk-weiterleitenden IC überträgt.
  11. Verfahren nach Anspruch 10, wobei die Verkehrsmanagementschaltung eine Warteschlange zum Speichern von Metadaten in Bezug auf Flusssteuerungsereignisse vor Übertragen der Metadaten an die Paketerzeugungsschaltung umfasst.
  12. Datenebenenschaltung eines Netzwerk-weiterleitenden Elements zum Weiterleiten von Datennachrichten innerhalb eines Netzwerks, wobei die Datenebenenschaltung umfasst: einen Satz von Eingangspipelines; einen Satz von Ausgangspipelines; eine Nachrichtenerzeugungsschaltung; und eine Verkehrsmanagementschaltung zum Empfangen von Datennachrichten von den Eingangspipelines und Bereitstellen der Datennachrichten an die Ausgangspipelines, wobei die Verkehrsmanagementschaltung (i) ein Flusssteuerungsereignis identifiziert und (ii) Metadaten in Bezug auf das Flusssteuerungsereignis an die Nachrichtenerzeugungsschaltung über einen Bus zwischen der Verkehrsmanagementschaltung und der Nachrichtenerzeugungsschaltung bereitstellt.
  13. Datenebenenschaltung nach Anspruch 12, wobei die Nachrichtenerzeugungsschaltung die Metadaten in einem Puffer mit Metadaten für eine Vielzahl von Flusssteuerungsereignissen speichert.
  14. Datenebenenschaltung nach Anspruch 13, wobei die Nachrichtenerzeugungsschaltung eine Datennachricht erzeugt, die (i) die in dem Puffer gespeicherten Metadaten und (ii) einen Satz von Datennachricht-Headern umfasst und die erzeugte Datennachricht an eine der Eingangspipelines bereitstellt.
  15. Datenebenenschaltung nach Anspruch 14, wobei die erzeugte Datennachricht an einen entfernten Server adressiert ist, der die Flusssteuerungsmetadaten analysiert.
  16. Datenebenenschaltung nach Anspruch 12, wobei das Flusssteuerungsereignis Empfang einer Flusssteuerungsnachricht von einem separaten Weiterleitungselement umfasst, die die Datenebenenschaltung anweist, Senden von Datennachrichten mit einem bestimmten Satz von Eigenschaften an das separate Weiterleitungselement entweder zu stoppen oder wieder aufzunehmen.
  17. Datenebenenschaltung nach Anspruch 16, wobei die Nachricht an einem bestimmten Port der Netzwerk-weiterleitenden IC empfangen wird und der bestimmte Satz von Eigenschaften einen Prioritätswert umfasst.
  18. Datenebenenschaltung nach Anspruch 12, wobei das Flusssteuerungsereignis Erzeugung einer Flusssteuerungsnachricht durch die Verkehrsmanagementschaltung umfasst, um ein separates Weiterleitungselement anzuweisen, Senden von Datennachrichten mit einem bestimmten Satz von Eigenschaften an die Datenebenenschaltung entweder zu stoppen oder wieder aufzunehmen.
  19. Datenebenenschaltung nach Anspruch 12, wobei die Verkehrsmanagementschaltung die Metadaten an die Nachrichtenerzeugungsschaltung durch Übertragen eines Signals auf dem Bus bereitstellt, das spezifiziert (i) einen Zeitstempel für das Flusssteuerungsereignis, (ii) ob das Flusssteuerungsereignis Empfang einer Flusssteuerungsnachricht oder Erzeugung einer Flusssteuerungsnachricht umfasst, (iii) eine Portkennung, (iv) einen Prioritätswert.
  20. Datenebenenschaltung nach Anspruch 19, wobei die Verkehrsmanagementschaltung Metadaten für ein Flusssteuerungsereignis pro Taktzyklus der Netzwerk-weiterleitenden IC überträgt.
  21. Datenebenenschaltung nach Anspruch 20, wobei die Verkehrsmanagementschaltung eine Warteschlange zum Speichern von Metadaten in Bezug auf Flusssteuerungsereignisse vor Übertragen der Metadaten an die Paketerzeugungsschaltung umfasst.
DE112019003854.0T 2018-07-31 2019-03-08 Flusssteuerungssichtbarkeit Pending DE112019003854T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862712927P 2018-07-31 2018-07-31
US62/712,927 2018-07-31
US16/108,661 US10873532B2 (en) 2018-07-31 2018-08-22 Flow control visibility
US16/108,661 2018-08-22
PCT/US2019/021459 WO2020027878A1 (en) 2018-07-31 2019-03-08 Flow control visibility

Publications (1)

Publication Number Publication Date
DE112019003854T5 true DE112019003854T5 (de) 2021-05-12

Family

ID=69229372

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019003854.0T Pending DE112019003854T5 (de) 2018-07-31 2019-03-08 Flusssteuerungssichtbarkeit

Country Status (4)

Country Link
US (1) US10873532B2 (de)
CN (2) CN112106329A (de)
DE (1) DE112019003854T5 (de)
WO (1) WO2020027878A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3972209A4 (de) * 2019-07-24 2022-07-06 Huawei Technologies Co., Ltd. Verfahren zur verarbeitung von netzüberlastung und entsprechende vorrichtung
US11206568B2 (en) * 2019-09-19 2021-12-21 Realtek Semiconductor Corporation Router and routing method
US11611513B2 (en) * 2020-07-17 2023-03-21 Larsen And Toubro Infotech Limited System and method for discovering interfaces in a network
CN112039720B (zh) * 2020-07-31 2022-03-25 中国人民解放军战略支援部队信息工程大学 1~100%流量精确可控流量发生装置及流量生成方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7542425B2 (en) 2003-05-21 2009-06-02 Agere Systems Inc. Traffic management using in-band flow control and multiple-rate traffic shaping
US8887048B2 (en) 2007-08-23 2014-11-11 Sony Computer Entertainment Inc. Media data presented with time-based metadata
US7860009B2 (en) * 2008-06-26 2010-12-28 Alcatel Lucent Providing backpressure flow control to specific traffic flows
US8644139B2 (en) 2010-04-26 2014-02-04 International Business Machines Corporation Priority based flow control within a virtual distributed bridge environment
US9391903B2 (en) 2013-07-15 2016-07-12 Calix, Inc. Methods and apparatuses for distributed packet flow control
US20170083319A1 (en) * 2015-09-19 2017-03-23 Microsoft Technology Licensing, Llc Generation and use of block branch metadata
US10069918B2 (en) * 2015-11-11 2018-09-04 Ut-Battelle, Llc Global communication and control
US9961022B1 (en) 2015-12-28 2018-05-01 Amazon Technologies, Inc. Burst absorption for processing network packets
WO2017199209A2 (en) 2016-05-18 2017-11-23 Marvell Israel (M.I.S.L) Ltd. Traffic management in a network switching system with remote physical ports

Also Published As

Publication number Publication date
US20200044976A1 (en) 2020-02-06
WO2020027878A1 (en) 2020-02-06
CN117097669A (zh) 2023-11-21
US10873532B2 (en) 2020-12-22
CN112106329A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
DE112019003854T5 (de) Flusssteuerungssichtbarkeit
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE112013006417B4 (de) Verlustfreie Schalterstruktur mit niedriger Latenzzeit zum Gebrauch in einem Rechenzentrum
DE102009022152B4 (de) Verwenden von Kritikaliätsinformationen zum Routen von Cache-Kohärenz-Kommmunikationen
DE112018008119T5 (de) Modifizieren einer Ressourcenzuweisung oder einer Strategie in Reaktion auf Steuerungsinformationen von einer virtuellen Netzwerkfunktion
DE102013225692B4 (de) Netzwerkstatusabbildung
DE112014000358B4 (de) Regionales Firewall-Clustering in einer vernetzten Datenverarbeitungsumgebung
DE60131517T2 (de) Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk
DE112016004368T5 (de) Verwaltung eines Fehlerzustands in einem Datenverarbeitungssystem
DE112013003180T5 (de) Verfahren, System und Gerät zum Verwalten von Server-Hardware-Resourcen in einer Cloud-Scheduling-Umgebung
DE112018003482T5 (de) Serveranfrageverwaltung
DE102017122738A1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE102015001024A1 (de) Verfahren und Systeme zum Erkennen von Extrusion und Intrusion in einer Cloud-Computer-Umgebung, welche Netzwerkkommunikationsgeräte verwendet
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
CN110224947A (zh) 一种多核转发系统中的报文处理方法、装置及设备
DE112013006187T5 (de) Verfahren und Vorrichtung zum Verwalten einer Vielzahl von Sitzungen in einem auf Multi-Path Routing basierenden Netzwerk
DE112017004907T5 (de) System, Vorrichtung und Verfahren zur Durchführung einer verteilten Arbitration
DE102019105288A1 (de) Technologien zur Paketweiterleitung bei Eingangswarteschlangenüberlauf
DE102013212213A1 (de) System und Verfahren zur Spiegelung von Datenströmen
DE112005000705B4 (de) Konfiguration von Umleitungstabellen
DE102018207377A1 (de) Vorabvalidierung einer plattform
DE112006002912T5 (de) Verwaltung von On-Chip-Warteschleifen in geschalteten Netzwerken
DE112010004809B4 (de) Mehrfachgranulare Datenstromverarbeitung
DE112019002591T5 (de) Weiterleitungselement-datenebene mit flussgrössendetektor
DE202019005789U1 (de) Bereitstellung von Ereignisinhalten

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012801000

Ipc: H04L0047100000

R130 Divisional application to

Ref document number: 112019008029

Country of ref document: DE