DE602005006070T2 - Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess - Google Patents

Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess Download PDF

Info

Publication number
DE602005006070T2
DE602005006070T2 DE602005006070T DE602005006070T DE602005006070T2 DE 602005006070 T2 DE602005006070 T2 DE 602005006070T2 DE 602005006070 T DE602005006070 T DE 602005006070T DE 602005006070 T DE602005006070 T DE 602005006070T DE 602005006070 T2 DE602005006070 T2 DE 602005006070T2
Authority
DE
Germany
Prior art keywords
pdu
processing operations
switching
switch
module
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
DE602005006070T
Other languages
English (en)
Other versions
DE602005006070D1 (de
Inventor
Chiang Sierra Madre Yeh
Dennis Spokane Waever
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of DE602005006070D1 publication Critical patent/DE602005006070D1/de
Application granted granted Critical
Publication of DE602005006070T2 publication Critical patent/DE602005006070T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein eine Vermittlungseinrichtung in einem Datenkommunikationsnetzwerk zur Verteilung von Verarbeitungs-Operationen und daher zur Verteilung der Last auf verschiedene Paket-Verarbeitungs-Elemente. Insbesondere betrifft die Erfindung ein System und ein Verfahren zur Verteilung von Paket-Verarbeitungs-Operationen zwischen Eingangs- und Ausgangs-Prozessoren, um Last-Ungleichgewichte zu minimieren.
  • HINTERGRUND
  • Die Verteilung der Netzwerk-Verarbeitungs-Last innerhalb einer Netzwerkeinrichtung, wie z. B. einem Router oder einer Vermittlungsanlage, ist üblicherweise fest und wird im Wesentlichen durch die Architektur der Netzwerkeinrichtung bestimmt. Abhängig vom Hersteller werden zum Beispiel Weiterleitungs-Entscheidungen und andere Paket-Verarbeitungen in allgemeinen vorher als entweder am Eingang oder am Ausgang durchzuführen festgelegt. Als Folge der inhärent unsymmetrischen Verarbeitungs-Lasten und unsymmetrischen Verkehrmuster ist die Netzwerk-Verarbeitungs-Last am Eingangspunkt selten gleich der Netzwerk-Verarbeitungs-Last am Ausgangspunkt. Tatsächlich ist das Missverhältnis der Verarbeitungs-Last zwischen Eingang und Ausgang oft so groß, dass es üblich ist, dass ein Prozessor auf der einen Seite der Vermittlungsanlage sehr viel zu arbeiten hat, während ein Prozessor auf der anderen Seite der Vermittlungsanlage fast ungenutzt bleibt.
  • Obwohl einige Netzwerkeinrichtungen etwas Verarbeitungs-Last mit anderen Netzwerkeinrichtungen teilen können, um die Verarbeitungsleistung auf die verfügbaren Prozessoren aufzuteilen, können diese Verfahren die Paket-Verarbeitungs-Operationen nicht dynamisch ausgleichen, weil: (a) Netzwerk-Verarbeitungs-Operationen typischerweise durch fest verdrahtete anwendungsspezifische integrierte Schaltkreise (ASIC) ausgeführt werden, die bei sich wiederholenden Aufgaben sehr gut sind, aber im Allgemeinen nicht über die Intelligenz verfügen, die Verteilung der Aufgaben dynamisch zu ändern; (b) Netzwerk-Cluster, die eine verteilte Verarbeitung ausführen, konstruiert sind, einen Satz von großen und festen Aufgaben zu bearbeiten, aber relativ langsam und für die Paket-Verarbeitung ungeeignet sind; und (c) die meisten Netzwerkeinrichtungen einfach zu groß dimensioniert werden, um die größtmögliche Last zu verarbeiten, wobei die zusätzliche, auf Systemebene verschwendete Rechnerleistung nicht berücksichtigt wird.
  • Es besteht daher der Bedarf für eine Netzwerk-Vermittlungseinrichtung, die eine Überwachung auf Ungleichgewichte der Paket-Verarbeitungs-Last durchführen kann und die Last dynamisch auf die Eingangs- und Ausgangs-Prozessoren verteilen kann, um das Ungleichgewicht zu minimieren.
  • Ein weiterer Stand der Technik ist aus US 2002/136202 bekannt.
  • ZUSAMMENFASSUNG
  • Die Erfindung erreicht das oben angegeben und weitere Ziele durch die Vermittlungseinrichtung aus Anspruch 1 und durch das Verfahren aus Anspruch 6.
  • Die Erfindung enthält in der bevorzugten Ausführung eine Vermittlungseinrichtung, die eine Vielzahl von Vermittlungsmodulen enthält, wobei jedes der Vermittlungsmodule mindestens einen externen Anschluss enthält, der angepasst ist, ein Paket oder eine andere Protokoll-Daten-Einheit (PDU) zu empfangen; einen Paket-Klassifizierer, der angepasst ist, das Paket zu überprüfen und auf der Grundlage einer oder mehrerer Paket-Eigenschaften eine oder mehrere Paket-Verarbeitungs-Operationen zu erkennen, die auf das Paket anzuwenden sind, und ein zweites Vermittlungsmodul aus der Vielzahl der Vermittlungsmodule zu erkennen, an das das Paket weiterzuleiten ist; eine Steuerung, die angepasst ist, jede der erkannten ein oder mehreren Paket-Verarbeitungs-Operationen auf einen ersten Satz von Paket-Verarbeitungs-Operationen und einen zweiten Satz von Paket-Verarbeitungs-Operationen zu verteilen, den ersten Satz von Paket-Verarbeitungs-Operationen im Vermittlungsmodul auszuführen, das den externen Anschluss enthält, an dem das Paket empfangen wurde, und einen Befehl an das zweite Vermittlungsmodul zu senden, der das zweite Vermittlungsmodul anweist, den zweiten Satz von Paket-Verarbeitungs-Operationen auszuführen. Das zweite Vermittlungsmodul ist wie jedes aus der Vielzahl von Vermittlungsmodulen in der bevorzugten Ausführung angepasst, den zweiten Satz von Paket-Verarbeitungs-Operationen als Reaktion auf den Befehl auszuführen, wonach das Paket vom externen Anschluss zu seinem Ziel-Knoten gesendet werden kann.
  • In der bevorzugten Ausführung ist die Vermittlungseinrichtung ein Router, eine Bridge oder eine Mehrebenen-Vermittlungsanlage, während die Paket-Verarbeitungs-Operationen Paket-Weiterleitungs-Operationen sind, die zum Zweck der Vorbereitung des Paketes für die Übertragung zum nächsten Knoten in Richtung zu seinem Ziel-Knoten ausgeführt werden. Entsprechend der bevorzugten Ausführung sind Paket-Verarbeitungs-Operationen in der Lage, seriell verteilt und entweder im Eingangs-Vermittlungsmodul oder in einem Ausgangs-Vermittlungsmodul aus der Vielzahl der Vermittlungsmodule ausgeführt zu werden. Die Paket-Verarbeitungs-Operationen werden allgemein aus der Gruppe ausgewählt, die aus folgendem besteht: Kopfinformations-Transformation, Tag-Pushing, Tag-Popping, Dienstgüte, Gebührenerfassung und Abrechnung, Multi-Protocol-Label-Switching-(MPLS)-Management, Spanning-Tree-Operationen, Authentifizierung, Zugangskontrolle, Lernen auf höheren Ebenen, Alarm-Erzeugung, Anschluss-Spiegelung, Quellen-Lernen, Dienstklasse, Farbmarkierung und Kombinationen daraus, sind aber nicht darauf beschränkt.
  • In der bevorzugten Ausführung umfasst das Verfahren der Verteilung von Paket-Vermittlungs-Operationen auf ein erstes Vermittlungsmodul und ein zweites Vermittlungsmodul einer Vermittlungseinrichtung die Schritte des Empfangens eines Paketes an einem externen Anschluss des ersten Vermittlungsmoduls; des Bestimmens einer oder mehrerer Paket-Verarbeitungs-Operationen zur Anwendung auf das Paket; des Verteilens jeder der einen oder mehreren Paket-Verarbeitungs-Operationen zwischen einem ersten Satz von Paket-Verarbeitungs-Operationen und einem zweiten Satz von Paket-Verarbeitungs-Operationen; des Ausführens des ersten Satzes von Paket-Verarbeitungs-Operationen im ersten Vermittlungsmodul; und des Sendens eines Befehls zum zweiten Vermittlungsmodul, um den zweiten Satz von Paket-Verarbeitungs-Operationen auszuführen. Das Verfahren kann ferner den Schritt des Ausführens des zweiten Satzes von Paket-Verarbeitungs-Operationen im zweiten Vermittlungsmodul als Reaktion auf den Befehl umfassen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird als Beispiel und nicht als Einschränkung in den Figuren der begleitenden Zeichnungen erläutert, in denen:
  • 1 ein Funktions-Blockdiagramm einer Firmen-Vermittlungsanlage gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist;
  • 2 ein Funktions-Blockdiagramm eines Vermittlungsmoduls der Firmen-Vermittlungsanlage zur Durchführung einer seriell verteilten Paket-Verarbeitung gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist;
  • 3 ein Funktions-Blockdiagramm der Datenbanken, die im lokalen Speicher eines Vermittlungsmoduls gespeichert werden, gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist;
  • 4 ein Funktions-Blockdiagramm einer Steuerung der seriell verteilten Paket-Verarbeitung (SDPP) gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist;
  • 5 eine schematische Darstellung einer Kopfinformation zur Verteilung von SDPP-Diensten auf Vermittlungsmodule gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist;
  • 6 ein Flussdiagramm des Verfahrens, mit dem ein Eingangs-Vermittlungsmodul einen Eingangs-Datenfluss verarbeitet, gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist; und
  • 7 ein Flussdiagramm des Verfahrens, mit dem ein Ausgangs-Vermittlungsmodul einen Ausgangs-Datenfluss verarbeitet, gemäß der bevorzugten Ausführung der vorliegenden Erfindung ist.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNG
  • 1 zeigt ein Funktions-Blockdiagramm einer Firmen-Vermittlungsanlage. Die Firmen-Vermittlungsanlage 100 ist einer aus einer Vielzahl von Knoten und anderer adressierbarer Einheiten, die betriebsfähig mit einem Datenkommunikationsnetz gekoppelt sind, das zum Beispiel durch ein lokales Netz (LAN), ein Weitverkehrsnetz (WAN), ein Stadtnetz (MAN), ein Internet-Protokoll-(IP)-Netzwerk, das Internet oder eine Kombination daraus verkörpert wird.
  • Die Firmen-Vermittlung 100 enthält vorzugsweise eine Vielzahl von Vermittlungsmodulen 110113, manchmal als Blades bezeichnet, die sich in Steckplätzen der Rückwandplatine 152 befinden. Jedes der Vermittlungsmodule 110113 enthält ein oder mehrere externe Anschlüsse 102, von denen jeder betriebsfähig über eine Kommunikationsverbindung (nicht gezeigt) mit einem anderen Knoten im Datenkommunikationsnetz gekoppelt sein kann, sowie ein oder mehrere interne Anschlüsse, die jedes Vermittlungsmodul 110113 betriebsfähig über einen gemeinsam genutzten Koppelbaustein 150 mit jedem anderen Vermittlungsmodul koppeln.
  • Ein Vermittlungsmodul 110113 umfasst vorzugsweise mindestens einen Netzwerk-Prozessor (NP) 106, der in der Lage ist, mindestens Schicht-2-(Datensicherungsschicht)- und Schicht-3-(Netzwerk-Schicht)-Vermittlungsoperationen auszuführen, wie im OSI-Referenzmodell (Open Systems Interconnect) definiert, aber nicht darauf beschränkt ist. Ein mögliches Schicht-2-Protokoll zur betriebsfähigen Kopplung der externen Anschlüsse 102 mit einer verdrahteten und/oder drahtlosen Kommunikationsverbindung umfasst den Standard 802.3 des Institute of Electrical and Electronics Engineers (IEEE), während der Satz möglicher Schicht-3-Protokolle Internet Protocol (IP) Version 4 umfasst, die im Request for Comment (RFC) 791 der Internet Engineering Task Force (IETF) definiert ist, und IP Version 6, die in IETF RFC 1883 definiert ist.
  • Zum Zweck dieser Offenlegung werden Daten, die von einem externen Anschluss 102 in ein Vermittlungsmodul 110113 in Richtung zum Koppelbaustein 150 fließen, hier als Eingangsdaten bezeichnet, die Eingangs-PDUs enthalten. Das Vermittlungsmodul, durch das Eingangsdaten laufen, wird als Eingangs-Vermittlungsmodul bezeichnet. Im Gegensatz dazu werden Daten, die vom Koppelbaustein 150 zu einem externen Anschluss 102 weg fließen, als Ausgangsdaten bezeichnet, die Ausgangs-PDUs enthalten. Das Vermittlungsmodul, durch das Ausgangsdaten laufen, wird als Ausgangs-Vermittlungsmodul bezeichnet. Jedes aus der Vielzahl von Vermittlungsmodulen der bevorzugten Ausführung kann sowohl als Eingangs- Vermittlungsmodul, als auch als Ausgangs-Vermittlungsmodul zum Zweck der verschiedenen Datenflüsse dienen.
  • Die Firmen-Vermittlung 100 enthält ferner einen zentralen Befehls-Prozessor (CMM) 120 zur Verwaltung verschiedener System-Ressourcen, einschließlich Blockierungs-Überwachung und Betriebs-Zuordnungen, die weiter unten detaillierter beschrieben werden. In der bevorzugten Ausführung ist der CMM 120 in einem aus der Vielzahl der Vermittlungsmodule 110113 enthalten, obwohl ein Fachmann erkennen wird, dass die im CMM ausgeführten Funktionen von einer oder mehr Einheiten, die in der Rückwandplatine 152 enthalten sind, oder in einem getrennten Management-Modul ausgeführt werden können.
  • 2 zeigt ein Funktions-Blockdiagramm eines Vermittlungsmoduls zur Durchführung einer seriell verteilten Verarbeitung von PDU-Datenflüssen. Das Vermittlungsmodul 200 der bevorzugten Ausführung, das mit den Vermittlungsmodulen 110113 übereinstimmt, enthält ein oder mehrere Netzwerk-Schnittstellenmodule (NIMs) 104, einen oder mehrere Netzwerk-Prozessoren 106, ein Management-Modul 220 und ein Koppelbaustein-Schnittstellenmodul 208. Jedes der NIMs 104 ist betriebsfähig mit einem oder mehreren externen Anschlüssen 102 verbunden, um Eingangs-Datenverkehr zu empfangen und Ausgangs-Datenverkehr zu senden. Die NIMs 104 enthalten vorzugsweise eine oder mehrere physikalische Schnittstellen und Media-Accesss-Control-(MAC)-Schnittstellen, die angepasst sind, PDUs, z. B. Ethernet-Rahmen, über Netzwerk-Kommunikations-Verbindungen (nicht gezeigt) auszutauschen. Beim Empfang werden die Eingangs-PDUs von der Vielzahl der NIMs 104 mittels ein oder mehrerer sehr schneller serieller Datenbusse 206 zum Netzwerk-Prozessor 106 geleitet. Der Netzwerk-Prozessor 106 klassifiziert vorzugsweise die Eingangs-PDUs, führt alle Weiterleitungs-Operationen aus, die am Eingang durchzuführen sind, und stellt die PDUs in einen Eingangs-Warteschlangen- Speicher 248, bis Bandbreite zur Verfügung steht, um die PDU über den Koppelbaustein 150 an den einen oder die mehreren Ausgangs-Blades zu senden.
  • Bezüglich der Ausgangs-Operationen ist das Vermittlungsmodul 200 auch angepasst, Ausgangs-PDUs vom Koppelbaustein 150 zu empfangen und diese PDUs im Ausgangs-Warteschlangen-Speicher 242 in eine Warteschlange zu stellen. Der NP 106 des Vermittlungsmoduls 200 am Ausgang kann eine oder mehrere zusätzliche Weiterleitungs-Operationen durchführen, die ihm zugeordnet sind, bevor die PDU an eine aus der Vielzahl von Warteschlangen im Puffer 250 übergeben wird und zum geeigneten NIM 104 und an den entsprechenden Ausgangs-Anschluss 102 gesendet wird. Die Vielzahl der Warteschlangen im Puffer 250 wird aktiv von einem Statistik-Manager 252 überwacht, der Blockierungs-Informationen 254 zusammenstellt und über das Management-Modul 220 zum CMM 120 sendet. Die Blockierungs-Information 254, die zum Beispiel die Warteschlangen-Tiefe umfasst, wird dazu benutzt, die Ausgangs-Flüsse zu charakterisieren, den Blockierungs-Zustand des Moduls zu bewerten und Paket-Verarbeitungs-Operationen auf Eingangs- und Ausgangs- Netzwerk-Prozessoren zu verteilen.
  • Das Management-Modul 220 enthält im Allgemeinen einen Strategie-Manager 222, der Verkehrs-Stategien speichert und implementiert, die von einem Netzwerk-Verwalter über einen Konfigurations-Manager 224 in das Vermittlungsmodul 200 geladen werden. Die vom Strategie-Manager 222 erzeugten Strategien basieren auch teilweise auf Adressierungs-Informationen der Schicht 2 und/oder Schicht 3, die aus Quellen-Lern-Operationen abgeleitet werden, mit denen PDU-Adressen-Informationen einem externen Anschluss 102 zugeordnet werden, auf dem sie empfangen wurden. Wie weiter unten detaillierter erläutert wird, ist das Management-Modul 222 auch angepasst, Aktualisierungen 254 vom CMM zum Netzwerk- Prozessor 106 zu übertragen, so dass das Eingangs-Vermittlungsmodul 200 einige, wenn nicht alle Paket-Verarbeitungs-Operationen am Eingang ausführen kann, bevor es die PDU an ein oder mehrere Downstream-Vermittlungsmodule sendet. Die Aktualisierungen 254 enthalten die Daten, die dazu benutzt werden, die Vielzahl von Datenbanken zu belegen, welche die seriell verteilten Paket-Verarbeitungs-Operationen unterstützen, die weiter unten detaillierter erläutert werden.
  • Der NP 106 der bevorzugten Ausführung ist angepasst, Schicht-2-Vermittlungsoperationen und Schicht-3-Routing-Operationen unter Verwendung von PDU-Eigenschaften durchzuführen, die der Schicht 2 bis Schicht 7 zugeordnet sind, wie im OSI-Netzwerk-Referenzmodell definiert. Der NP 106 enthält vorzugsweise einen Klassifizierer 230, eine Steuerung zur Verarbeitung seriell verteilter Pakete (SDPP) 236 und einen Warteschlangen-Manager 240. Der Klassifizierer 230 empfängt Eingangs-PDUs vom Datenbus 206, untersucht die PDUs auf ein oder mehrere interessierende Felder, klassifiziert die PDUs in einen aus einer Vielzahl von Flüssen und ruft Weiterleitungs-Information aus einer Weiterleitungs-Tabelle ab, die in einem lokalen Speicher mit kurzer Zugriffszeit 232 gespeichert ist. Die Weiterleitungs-Information enthält vorzugsweise eine Fluss-Kennung und eine Ausgangs-Anschluss-Kennung, d. h. die Kennung eines externen Anschlusses, von dem die PDU zu senden ist, ist aber nicht darauf beschränkt.
  • Die vom Klassifizierer 230 abgerufene Weiterleitungs-Information wird zur SDPP-Steuerung 236 gesendet, wo sie dazu benutzt wird, einen ersten Satz von ein oder mehreren SDPP-Operationen zu bestimmen, die am Eingang auszuführen sind. Eine SDPP-Operation, wie hier benutzt, bezeichnet eine Paket-Verarbeitungs-Operation oder eine andere Weiterleitungs-Operation, die für eine PDU, als Reaktion auf eine PDU, oder um die Übertragung einer PDU zu erleichtern, von der Vermittlungseinrichtung 100 ausgeführt wird. Das Eingangs-Vermittlungsmodul 200 oder der CMM 120 können auch einen zweiten Satz von SDPP-Operationen bestimmen, die im Ausgangs-Vermittlungsmodul auszuführen sind. Wie ein Fachmann erkennen wird, kann eine SDPP-Operation entweder im Eingangs-Vermittlungsmodul oder im Ausgangs-Vermittlungsmodul ausgeführt werden. Der Bereich möglicher SDPP-Dienste wird detaillierter in Verbindung mit 5 erläutert.
  • Im Allgemeinen kann das Eingangs-Vermittlungsmodul 200 alle, einige oder keine der SDPP-Operationen im Eingangs-Vermittlungsmodul ausführen. Alle SDPP-Operationen, die für die PDU ausgeführt werden, aber nicht im Eingangs-Vermittlungsmodul 200 ausgeführt werden, werden im Ausgangs-Vermittlungsmodul vor der Übertragung der PDU von der Vermittlungseinrichtung 100 ausgeführt.
  • Die Verteilung von SDPP-Operationen zwischen dem ersten Satz von ein oder mehreren SDPP-Diensten, die auf den Eingang angewendet werden, und einem zweiten Satz von SDPP-Diensten, die am Ausgangs-Vermittlungsmodul auszuführen sind, wird dynamisch auf der Grundlage von Paketen oder pro Datenfluss bestimmt.
  • In der bevorzugten Ausführung wird die Zuordnung der am Eingang auszuführenden SDPP-Dienste als Funktion der Fluss-Kennung und des Blockierungs-Status der Eingangs- und Ausgangs-Vermittlungsmodule bestimmt. In manchen Ausführungen wird der Blockierungs-Status der Eingangs- und Ausgangs-Vermittlungsmodule regelmäßig vom CMM 120 erstellt und an jedes Vermittlungsmodul gemeldet, so dass jedes der Vermittlungsmodule dynamisch die vorteilhafteste Verteilung von SDPP-Diensten bestimmen kann. In anderen Ausführungen wird die optimale Verteilung von SDPP-Operationen vom CMM 120 bestimmt, in jedes aus der Vielzahl der Vermittlungsmodule 110113 geladen und in Form einer SDPP-Zuordnungs-Tabelle 238 im lokalen Speicher 232 gespeichert, wie in 3 in Verbindung mit verschiedenen gemeinsam genutzten Datenbanken gezeigt, die im Folgenden detaillierter erläutert werden.
  • Diese SDPP-Zuordnungs-Tabelle 238 kann zum Beispiel explizit die Zuordnung von SDPP-Diensten für jedes Paar von Eingangs- und Ausgangs-Vermittlungsmodulen definieren, zum Beispiel auf der Grundlage der Flüsse oder pro Paket. Die SDPP-Zuordnungs-Tabelle kann in regelmäßigen Zeitabständen aktualisiert werden, einmal oder mehrmals pro Sekunde, um die sich ändernden Verkehrsmuster und Last-Ungleichgewichte innerhalb der Blades widerzuspiegeln.
  • Die SDPP-Dienste werden in der bevorzugten Ausführung abhängig vom relativen Blockierungszustand der Eingangs- und Ausgangs-Vermittlungsmodule auf den Eingang und den Ausgang aufgeteilt. Insbesondere sind die SDPP-Verteilungen so gestaltet, dass die Verarbeitungs-Last vom Vermittlungsmodul mit einem überlasteten NP zum Modul mit einem unterbelasteten NP verschoben wird. Das Ziel der Verteilung von SDPP-Diensten ist es daher, den Verbrauch von Verarbeitungs-Ressourcen in der Vermittlungseinrichtung 100 gleichmäßig zu verteilen und somit die Wahrscheinlichkeit zu minimieren, dass eines der Vermittlungsmodule 200 PDUs durch zu hohe Verkehrsbelastung verwerfen muss. Indem die Verteilung der Verarbeitungs-Last optimiert wird, kann die Vermittlungseinrichtung 100 einen überproportional hohen Verkehr aufnehmen, der an bestimmten Anschlüssen auftreten kann, wie z. B. an dem Anschluss, an dem ein Client angeschlossen ist, oder zum Beispiel an dem Anschluss, der einen Gateway zum Internet bereitstellt, ohne dass alle Vermittlungsmodule zu groß dimensioniert werden müssen.
  • 4 zeigt ein Funktions-Blockdiagramm einer SDPP-Steuerung der bevorzugten Ausführung. Die SDPP-Steuerung 236 enthält einen Eingangs-NP-Prozessor 410 und einen Ausgangs-Prozess 420, der in einem oder mehreren der Hardware- oder Software-Rechenelemente enthalten ist, die SDPP-Zuordnungs-Tabelle 238 und ein oder mehrere Module, die angepasst sind, einzelne SDPP-Dienste 430 auszuführen. Der Eingangs-NP-Prozessor 410 ist angepasst, die Eingangs-PDU 460 und die Fluss-Kennung 462 vom Klassifizierer 230 zu empfangen und die SDPP-Zuordnungs-Tabelle 238 auf die SDPP-Zuweisung abzufragen, die auf das einzelne Paket oder den Fluss anwendbar ist. In der bevorzugten Ausführung wird die Verteilung des SDPP-Dienstes, der den Eingangs- und Ausgangs-Vermittlungsmodulen zugeordnet ist, durch eine SDPP-Kennung angezeigt, die weiter unten detailliert erläutert wird. Die PDU wird anschließend im Eingangs-Vermittlungsmodul 200 entsprechend dem ersten Satz von SDPP-Diensten aus der kompletten Auswahl an SDPP-Diensten 430 verarbeitet.
  • Die PDU 464 und die SDPP-Kennung 466 werden dann an das Ausgangs-Vermittlungsmodul gesendet, um das Ausgangs-Vermittlungsmodul anzuweisen, den zweiten Satz von SDPP-Diensten 430 auszuführen, der dem Ausgangs-Vermittlungsmodul zugeordnet ist. In der bevorzugten Ausführung wird die SDPP-Kennung 466 durch den Betriebs-SDPP-Tag-Generator 412 an die PDU oder einen PDU-Deskriptor angehängt, bevor sie zum Koppelbaustein 150 gesendet wird. In anderen Ausführungen kann die SDPP ID zum Beispiel über einen Außerband-Kommunikationskanal gesendet werden.
  • Bei Empfang einer PDU 470 oder ihres Deskriptors am Ausgangs-Vermittlungsmodul entfernt der Ausgangs-Prozessor 420 des Ausgangs-Vermittlungsmoduls die SDPP-Kennung 472, der SDPP-Tag-Leser 422 bestimmt die SDPP-Dienste, die von der SDPP-Kennung spezifiziert werden, indem er die SDPP-Zuordnungs- Tabelle 238 abfragt, und das Ausgangs-Vermittlungsmodul führt den zweiten Satz von SDPP-Diensten 430 aus, der benötigt wird, um die Weiterleitungs-Operationen auszuführen, die erforderlich sind, die PDU 476 in Richtung zum endgültigern Ziel zu übertragen.
  • In der bevorzugten Ausführung enthält die Liste der SDPP-Dienste 430 zum Beispiel die folgenden Weiterleitungs-Operationen: Kopfinformations-Transformation, Tag-Pushing, Tag-Popping, Dienstgüte, Gebührenerfassung und Abrechnung, Multi-Protocol-Label-Switching-(MPLS)-Management, Spanning-Tree-Operationen, Authentifizierung, Zugangskontrolle, Lernen auf höheren Ebenen, Alarm-Erzeugung, Anschluss-Spiegelung, Quellen-Lernen, Dienstklasse, und Farbmarkierung und Überwachung und Formung, ist aber nicht darauf beschränkt.
  • Kopfinformations-Transformations-Dienste 431 umfassen im Allgemeinen die folgenden Schritte: (a) Abruf der Adresse der nächsten Teilstrecke einer PDU, welche die physikalische Adresse des nächsten Knotens auf dem Pfad zum endgültigen Ziel spezifiziert, (b) Einkapselung der PDU mit einer Kopfinformation, die eine Quell-Adresse enthält, die gleich der physikalischen Adresse der Vermittlungseinrichtung 100 oder des Ausgangs-Vermittlungsmoduls ist, sowie eine Zieladresse, die gleich der physikalischen Adresse der nächsten Teilstrecke auf dem Pfad zum endgültigen Ziel ist; und (c) Dekrementieren des Lebenszeit-Zählers von zum Beispiel IP-Paketen. Die Adresse der nächsten Teilstrecke kann aus der Weiterleitungs-Tabelle 302 des lokalen Speichers 232 (siehe 3) entweder des Eingangs- oder des Ausgangs-Vermittlungsmoduls abgerufen werden, vorausgesetzt die darin enthaltene Adressierungs-Information wird ausgetauscht oder die Tabellen werden zum Beispiel vom CMM 120 regelmäßig synchronisiert.
  • VLAN-Tag-Pushing-Dienste 432 umfassen im Allgemeinen die Schritte (a) der Erkennung einer oder mehrerer VLAN-Kennungen (VIDs) auf der Grundlage von PDU-Eigenschaften, einschließlich zum Beispiel der PDU-Quell-MAC-Adresse, der Ziel-MAC-Adresse, des Protokolls und des Eingangs-Anschlusses; und (b) Einkapselung der PDU mit ein oder mehreren VLAN-Tags. Die geeigneten Tags müssen aus einer VLAN-Zuordnungs-Tabelle 304 im lokalen Speicher 232 (siehe 3) abgerufen werden, die dazu benutzt wird, eine VID zum Beispiel auf der Grundlage einer oder mehrerer PDU-Eigenschaften nachzuschlagen. VLAN-Tag-Pushing-Dienste können entweder im Eingangs- oder Ausgangs-Vermittlungsmodul ausgeführt werden, wenn die VLAN-Zuordnungs-Tabelle 304, die zum Beispiel vom Netzwerk-Verwalter definiert wird, verteilt wurde oder auf andere Weise zwischen jedem aus der Vielzahl von Vermittlungsmodulen 110113 der Vermittlungsanlage 100 synchronisiert wurde.
  • VLAN-Tag-Popping-Dienste 433 umfassen den Schritt des Entfernens eines oder mehrerer VLAN-Tags aus den PDUs, zum Beispiel wenn die Vermittlungsanlage 100 die vorletzte Teilstrecke ist, oder beim Übergang der PDU von einem öffentlichen Netzwerk in den nicht mit Tags versehenen Bereich eines privaten Netzwerks. Wie bei den oben erwähnten VLAN-Tag-Pushing-Diensten 432 werden die in der VLAN-Zuordnungs-Tabelle 304 enthaltenen VLAN-Popping-Regeln auf die Vielzahl von Vermittlungsmodulen 110113 verteilt oder auf andere Weise gemeinsam genutzt.
  • Dienstgüte-Operationen (Quality of Service, QoS) 434 umfassen die Prozeduren zur Reservierung von Netzwerk-Ressourcen, einschließlich zum Beispiel Speicher und Bandbreite, unter Verwendung eines Sitzungs-Aufbau-Mechanismus, wie zum Beispiel des Resource Reservation Protocol (RSVP). QoS-Operationen 434 umfassen auch die Implementation von Integrated Services oder Differentiated Services oder beides. Bezüglich Differentiated Services können verschiedene Operationen entweder am Eingangs- oder Ausgangs-Vermittlungsmodul ausgeführt werden, wobei diese Operationen Prioritäts-Markierung, Paket-Überwachung, Warteschlangenbildung und Scheduling-Operationen umfassen, aber nicht darauf beschränkt sind. Die Implementation von Differentiated Services (DiffServ) kann auch die Erkennung von Dienstklassen umfassen, die den verschiedenen Datenflüssen zugeordnet sind, und die Zuordnung dieser Datenflüsse zu einem aus der Vielzahl von Tunneln, die dazu vorgesehen sind, den Verkehr einer der Dienstklassen zu übertragen. Die verschiedenen Dienstklassen-Tunnel sind vorzugsweise MPLS-Tunnel, die verschiedenen IP-Kopfinformationen zugeordnet sind, die zur Einkapselung der PDUs verwendet werden, die eine schon existierende IP-Kopfinformation enthalten kann oder nicht, wenn die PDU in einen Tunnel eintritt. In der bevorzugten Ausführung können die PDUs sowohl vom Eingangs-, als auch vom Ausgangs-Vermittlungsmodul einem aus einer Vielzahl von MPLS-Tunneln zugeordnet werden, wozu Prozeduren verwendet werden, die in den DiffServ-Modellen vorgeschrieben sind, einschließlich derer, die im Request for Comment (RFC) 2474 und RFC 2475 der Internet Engineering Task Force (IETF) angegeben sind, die beide hier als Referenz mit aufgenommen werden.
  • Gebührenerfassungs- und Abrechnungs-Dienste 435 umfassen vorzugsweise die Schritte: (a) Erkennen von Teilnehmerverkehrs-Datenflüssen auf der Grundlage von PDU-Eigenschaften; (b) Erkennen der Art oder des Charakters der erbrachten Dienste; und (c) Erzeugen von aufsummierten Gebühren auf der Grundlage dieser Dienste pro Teilnehmer und/oder pro Datenfluss. Die Erkennung und Nachverfolgung von Gebühren kann entweder vom Eingangs- oder vom Ausgangs-Vermittlungsmodul durchgeführt werden, das Zugang zur lokalen Gebührenerfassungs- und Abrechnungs-Datenbank 306 im Speicher 232 (siehe 3) hat, vorausgesetzt die Information wird regelmäßig zwischen der Vielzahl von Vermittlungsmodulen oder den lokalen Gebührenerfassungs- und Abrechnungs-Datenbanken 306 und der Vielzahl von Vermittlungsmodulen 110113 ausgetauscht, zum Beispiel synchronisiert durch den CMM 120.
  • MPLS-Management-Dienste 436 umfassen vorzugsweise Prozeduren für: (a) Austausch von MPLS-Bindungs-Nachrichten mit benachbarten Label-Switching-Routern (LSRs), wozu sitzungsorientierte Protokolle verwendet werden, wie zum Beispiel RSVP-verwandte Protokolle, Session Initiation Protocol (SIP) oder Label Distribution Protocol (LDP); (b) Festellen, ob Nicht-MPLS-Pakete in einen MPLS-Bereich weiterzuleiten sind; (c) Feststellen, ob Nicht-MPLS-PDUs Mitglieder einer Forwarding Equivalancy Class (FEC) sind; (d) Anwenden eines MPLS-Labels auf die PDUs, die Mitglieder einer FEC sind; (e) Feststellen, ob das Vermittlungsmodul die vorletzte Teilstrecke für PDUs aus dem MPLS-Bereich ist und Entfernen der MPLS-Labels, falls erforderlich; und (f) Fragmentieren der MPLS-Pakete, welche die maximale Byte-Grenze der Kommunikationsverbindungen überschreiten. Die zur Verwaltung der Implementation der MPLS-Dienste benötigten Daten – die Kriterien umfassen, die dazu benutzt werden, zu bestimmen, welche FEC welcher PDU ein Mitglied ist, den anzuwendenden Label und die Adresse der nächsten Teilstrecke – werden zentral vom CMM verwaltet und an die Vielzahl von Vermittlungsmodulen verteilt, um eine Ausführung sowohl am Eingang als auch am Ausgang zu ermöglichen.
  • Spanning-Tree-Dienste 437 umfassen im Allgemeinen die Verfahren zur Erzeugung von Spanning Trees, die benötigt werden, um die Schleifen zu unterbrechen, die für Rundsende-Überlasten sorgen. Bezogen auf das Netzwerk ist die Firmen-Vermittlungsanlage 100 angepasst, Bridge Protocol Data Units (BPDUs) mit anderen Knoten im Netzwerk auszutauschen. Die BPDUs werden in der Firmen-Vermittlungsanlage 100 zum Beispiel benutzt, um eine Root-Bridge zu wählen und die kürzeste Entfernung zur Root-Bridge zu bestimmen. Die Reaktion auf die BPUs von anderen Vermittlungsanlagen kann es erfordern, dass die Vermittlungsmodule der Vermittlungsanlage 100 Zugriff auf eine einzige gemeinsam genutzte Datenbank haben oder lokale Kopien der gemeinsam genutzten Spanning-Tree-Datenbank 308 speichern (3), einschließlich einer Liste benachbarter Bridges und der Anschlüsse, über die sie erreichbar sind. In der bevorzugten Ausführung wird der Spanning Tree vom CMM 120 erzeugt und regelmäßig in jedes der Vermittlungsmodule 110113 geladen.
  • Jedes der Vermittlungsmodule 110113 ist in der bevorzugten Ausführung ferner angepasst, die Übertragung von BPDUs und das Rundsenden von Paketen zwischen verschiedenen Vermittlungsmodulen oder Anschlüssen der Vermittlungsmodule zu verhindern, wodurch sich sonst Rundsende-Überlasten ergeben würden. Als solches implementiert jedes der Vermittlungsmodule 110113 eine Light-Version des Spanning-Tree-Protokolls, das dazu benutzt wird, zu erkennen, welches der Vermittlungsmodule sich in seinem Rundsende-Bereich befindet und daher in der Lage ist, eine Übertragung ohne eine Rundsende-Überlastung zu empfangen. Nachdem die Vermittlungsmodule im Rundsende-Bereich erkannt wurden, dupliziert das Vermittlungsmodul im Allgemeinen die BPDU und sendet sie zu jedem der erkannten Vermittlungsmodule. In der bevorzugten Ausführung kann der Prozess des Kopierens der BPDUs und des Sendens dieser BPDUs an andere Vermittlungsmodule vom Eingangs-Vermittlungsmodul zum Ausgangs-Vermittlungsmodul delegiert werden, wenn das Ausgangs-Vermittlungsmodul sich im selben Rundsende-Bereich befindet. Ein bedeutender Faktor, der vorgibt, wo das Kopieren der BPDUs stattfinden sollte, ist die Verfügbarkeit von Pufferspeicherplatz in den Eingangs- und Ausgangs-Vermittlungsmodulen.
  • Authentifizierungs-Dienste 438 umfassen Prozeduren, um festzustellen, welchen PDUs Zugang gewährt werden soll und den Grad des Zugangs, der bei Genehmigung bereitgestellt wird. In der bevorzugten Ausführung ist jedes der Vermittlungsmodule angepasst, eine Zugangskontroll-Liste (ACL) abzufragen, die dazu benutzt wird, festzustellen, ob eine empfangene PDU an ihre Zieladresse zu senden ist oder gefiltert werden muss. Die ACL in der bevorzugten Ausführung regelt den Zugriff auf der Grundlage einer oder mehrerer PDU-Eigenschaften, vorzugsweise Eigenschaften der Schicht 2 und der Schicht 3, einschließlich Quell- und Zieladresse, Rundsende-Bit, Protokoll-Typ, um gegen Denial-of-Service-Attacken unter Verwendung von Internet-Control-Message-Protocol-(ICMP)-Nachrichten oder Internet-Group-Management-Protocol-(IGMP)-Paketen zu schützen, wie in RFC 2402, 2463 und 1826 dargelegt, die zum Beispiel Authentifizierungs-Kopfinformationen umfassen. Wie oben kann jedes der Vermittlungsmodule 110113 eine ACL 310 (3) speichern, die Teilnehmer-MAC- oder IP-Adressen, Passworte und zugehörige Zugriffsrechte enthält.
  • Zugangskontroll-Dienste 439 umfassen sekundäre Formen von Authentifizierungs-Diensten, die den Zugriff auf der Basis von Eigenschaften höherer Ebenen regeln. In der bevorzugten Ausführung betreffen Zugangskontroll-Dienste 439 die Gewährung oder Verweigerung des Zugangs auf der Basis von: (a) Protokoll-ID, was es der Vermittlungseinrichtung 100 erlaubt, Denial-of-Service-Attacken, zum Beispiel unter Verwendung von ICMP- und IGMP-Paketen, ohne Authentifizierungs-Kopfinformationen zu entgegnen; (b) Anschluss-Nummer für Protokolle, die sie benutzen, einschließlich zum Beispiel File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP), Telnet und Instant Messaging; und (c) Anwendungs-Kopfinformationen zum Herausfiltern von unerwünschten Anwendungen, wie Peer-to-Peer-Dateiübertragungen. In manchen Ausführungen werden die Zugangskontroll-Dienste 439 dazu benutzt, die Authentifizierungs-Dienste 438 zu ergänzen und können entweder im Eingangs- oder Ausgangs-Vermittlungsmodul ausgeführt werden, jedes Mal nachdem Anfangs-Authentifizierungs-Dienste 438 durchgeführt wurden.
  • Dienste zum Lernen auf höheren Ebenen 440 umfassen die Schritte des Meldens der an einer Netzwerkschnittstelle gelernten Information an Anwendungen in der Vermittlungseinrichtung 100, die zuständig für Operationen höherer Ebenen ist. MAC-Adressen, die zum Beispiel durch Nachrichten des Address Resolution Protocol (ARP) gelernt wurden, werden an eine ARP-Tabelle 312 gemeldet, die im lokalen Speicher 232 (3) gespeichert ist und regelmäßig durch Datenaustausch zwischen der Vielzahl von Vermittlungsmodulen 110113 oder mit dem CMM 120 aktualisiert wird.
  • Alarm-Dienste 441 betreffen systemweite Überprüfungen, die dazu benutzt werden, Anwendungen auf der Vermittlungsanlage 100 über Bedingungen zu informieren, die zum Beispiel die Aufmerksamkeit des CMM 120 oder des Netzwerk-Verwalters erfordern. Diese Bedingungen können zum Beispiel Situationen umfassen, in denen PDUs, die dieselbe Quelladresse haben, an einer Vielzahl von Anschlüssen empfangen werden.
  • Anschluss-Spiegelungs-Dienste 442 beziehen sich auf Prozeduren zum Kopieren von PDUs, die an einem Anschluss empfangen werden, und zum Senden dieser PDUs an ein Verkehrsanalyse-Werkzeug an einem Anschluss, der zum Beispiel vom Netzwerk-Verwalter festgelegt wurde.
  • Quellen-Lernen 443 bezieht sich allgemein auf den folgenden Prozess: (a) Zuordnung der Quelladresse einer PDU zum Eingangs-Anschluss, an dem sie empfangen wurde; (b) Erkennen von Situationen, in denen PDUs, welche dieselbe Quelladresse haben, an verschiedenen Anschlüssen empfangen werden; und (c) Feststellen, ob eine PDU, die an einem Anschluss empfangen wird, aber zuvor für einen anderen gelernt wurde, zurückzuweisen ist, oder die PDU zugelassen werden und die zuvor erlernte Zuordnung einfach auslaufen soll. Die Quellen-Lern-Tabelle 314 (3), die von jedem der Vermittlungsmodule 110113 erstellt wird, kann regelmäßig zwischen den Vermittlungsmodulen 110113 ausgetauscht werden, um jedem Modul Zugang zu Quellen-Lern-Anschluss-Zuordnungen zu geben, unabhängig davon, ob die Quellen-Lern-Dienste 443 am Eingang oder am Ausgang durchgeführt werden.
  • Dienstklassen-(Class of Service, CoS)-Operationen 444 betreffen die folgenden Prozeduren: (a) Am Eingangs- oder Ausgangs-Vermittlungsmodul Feststellen, ob eine PDU bei Vorrang einer anderen gefiltert werden muss, was auf einem oder mehreren Kriterien basiert, einschließlich zum Beispiel des Prioritätswertes nach IEEE 802.1p der eintreffenden PDU, und (b) Speichern von PDUs eines oder mehrerer Datenflüsse in einer Warteschlange in entweder dem Eingangs- oder dem Ausgangs-Vermittlungsmodul und anschließende Abgabe der PDUs der Datenflüsse auf Anwendungsebene mit einem Scheduler entsprechend der Dienstklassen-Anforderungen der Datenflüsse. Die Klassifizierungs-Kriterien die benutzt werden, CoS zu erkennen und bereitzustellen, werden insgesamt als Klassifizierungs-Regeln bezeichnet. In der bevorzugten Ausführung speichert der CMM eine umfangreiche Datenbank, die die Klassifizierungs-Regeln und die anwendbaren Klassifizierungs-Daten enthält, die in regelmäßigen Zeitintervallen oder nach Bedarf an die Vielzahl von Vermittlungsmodulen 110113 verteilt werden.
  • Farbmarkierungs-Dienste 445 werden dazu benutzt, (a) im Eingangs- oder Ausgangs-Vermittlungsmodul festzustellen, ob PDUs weitergegeben, gefiltert oder erneut mit einer Dreifarben-Markierung, die zuvor von einem Upstream-Knoten im Netzwerk angewendet wurde, farbmarkiert werden müssen, und (b) einen Token-Bucket-Algorithmus zu implementieren, um im Eingangs- oder Ausgangs-Vermittlungsmodul eine Dreifarben-Markierung an die PDUS anzuhängen, um Downstream-Knoten dabei zu unterstützen, die Pakete nach Bedarf selektiv zu filtern. Farbmarkierungs-Dienste 445 umfassen Two Rate Tri-Color Marker (trTCM), die zurzeit in einer IETF-Publikation des Autors Osama Aboul Magd enthalten sind, und umfassen Single Rate Tri-Color Marker (srTCM) in einem Entwurf einer IETF-Publikation von Juha Heinanen, die beide hier als Referenz mit aufgenommen werden.
  • 5 zeigt eine schematische Darstellung eines SDPP-Tags zur Übertragung von Paketdaten zwischen Vermittlungsmodulen. Das SDPP-Tag 510 wird in der bevorzugten Ausführung vom SDPP-Tag-Generator 412 des Eingangs-Vermittlungsmoduls 200 an eine PDU 500 oder einen PDU-Deskriptor angehängt und vom SDPP-Tag-Leser 422 des Ausgangs-Vermittlungsmoduls gelesen. Das SDPP-Tag 510 in der bevorzugten Ausführung enthält eine SDPP-Kennung (ID) 512 und einen Op-Code 502.
  • Wie oben erläutert, dient die SDPP ID 512 als Befehl, der dazu benutzt wird, das Ausgangs-Vermittlungsmodul, das die PDU empfangt, anzuweisen, ein oder mehrere Weiterleitungs-Operationen im Auftrag des Eingangs-Vermittlungsmoduls auszuführen. Mit anderen Worten liefert das SDPP-Tag in der bevorzugten Ausführung den Signalisierung-Mechanismus, mit dem ein Eingangs-Prozessor ein oder mehrere PDU-Weiterleitungs-Operationen seriell an einen Ausgangs-Prozessor verteilt und dadurch die Verarbeitungs-Last des Eingangs-Prozessors reduziert. In der bevorzugten Ausführung wird die SDPP ID 512 am Eingang aus der SDPP-Zuordnungs-Tabelle 238 abgerufen, obwohl sie auch dynamisch als Funktion der Verarbeitungs-Last in einem oder mehreren Vermittlungsmodulen 110113 bestimmt werden kann.
  • In manchen Ausführungen umfasst die SDPP ID 512 eine Fluss-ID 504 und eine Quellen-Prozessor-ID 506. Die Fluss-ID 504 definiert eindeutig einen Strom aus einer oder mehreren PDUs, die dieselben Dienst-Verarbeitungs-Anforderungen haben, während die Quellen-Prozessor-ID 506 den NP 106 der Eingangs-Vermittlungseinrichtung 200 kennzeichnet, von der die PDU empfangen wurde. Die Vermittlungsanlage 100 kann die Fluss-ID 504 und die Quellen-Prozessor-ID 506 zusammen dazu benutzen, eindeutig den speziellen SDPP-Dienst zu definieren, der im Auftrag der zugehörigen PDU 500 anzuwenden oder auszuführen ist.
  • Das SDPP-Tag 510 enthält in manchen Ausführungen ferner einen Operations-Code, d. h. Op-Code 502. Der Begriff Op-Code, wie er hier verwendet wird, bezieht sich auf einen Befehl, der bewirkt, dass ein Ausgangs-Vermittlungsmodul konfiguriert wird, die von der SDPP-ID einer oder mehrerer PDU-Flüsse, die mit dem Op-Code verbunden sind, spezifizierten Weiterleitungs-Operationen auszuführen. Bei Empfang eines Op-Codes lädt der Ausgangs-NP ein oder mehrere computerlesbare Instruktionen in den auf dem Chip des NPs befindlichen Cache (nicht gezeigt) oder in einen anderen lokalen Speicher 232. Da der On-Chip-Cache der meisten NPs zu klein ist, die computerlesbaren Instruktionen zu speichern, die benötigt werden, alle möglichen Flüsse zu verarbeiten, die in der Vermittlungsanlage 100 auftreten können, wird der Op-Code 502 dazu benutzt, nur die Programm-Instruktionen zu laden, die benötigt werden, die SDPP-Dienste für die begrenzte Anzahl von Flüssen auszuführen, die an den speziellen Ausgangs-NP gesendet wurden, die eine Untermenge der Flüsse sind, die von der Vermittlungsanlage 100 unterstützt werden. Als solche können verschiedene Instruktionssätze in den NP verschiedener Vermittlungsmodule 110113 geladen werden, um die Weiterleitungs-Operationen in jedem der speziellen NPs 106 zu optimieren. Die Instruktionssätze der einzelnen NPs können auch nach Belieben geladen werden, wenn sich der Verkehr ändert, indem einfach ein neuer Op-Code ausgegeben wird.
  • Zum Beispiel kann von einem Eingangs-Vermittlungsmodul ein Op-Code ausgegeben werden, der den Ausgangs-NP 106 anweist, alle ausführbaren Codes oder Algorithmen, die erforderlich sind, ein oder mehrere Flüsse entsprechend einem MPLS-Protokoll zu verarbeiten, im Cache zu speichern. Sobald die ausführbaren Codes, die dem speziellen Op-Code 502 zugeordnet sind, im Cache gespeichert sind, kann jede der nachfolgenden PDUs, die eine Fluss-ID 404 hat, die eine MPLS-Verarbeitungs-Operation spezifiziert, denselben Verarbeitungs-Regeln unterzogen werden, bis ein neuer Op-Code empfangen wird.
  • Die Vermittlungsmodule 110113 der Vermittlungsanlage 100 sind in manchen Ausführungen angepasst, gemeinsam Bündel von Paketen zu verarbeiten, d. h. eine Vielzahl von Paketen, die einem oder mehreren PDU-Paket-Flüssen zugeordnet sind. Um die Bündel-Verarbeitung auszuführen, wird ein SDPP-Tag 510, das einen Op-Code 502 und eine SDPP ID 512 enthält, mit dem ersten Paket einer Vielzahl von zugehörigen Paketen gesendet. Danach muss das auf die betreffenden Pakete angewendete SDPP-Tag 510 nur die SDPP ID 512 enthalten. Das Ausgangs-Vermittlungsmodul unterzieht dann jede aus der Vielzahl von PDUs den Verarbeitungs-Regeln, die durch seine SDPP ID 510 spezifiziert wird, und den computerlesbaren Instruktionen, die in der ersten der Vielzahl von PDUs spezifiziert werden. Auf diese Weise ist es nicht mehr erforderlich, den Op-Code 502 mit jeder aus der Vielzahl von PDUs zu senden, und die Ressourcen, die benötigt werden, den Op-Code 502 anzuhängen, zu senden und zu lesen, werden verringert.
  • In einer alternativen Ausführung werden die SDPP ID 512 und/oder der Op-Code 502 vom Eingangs-Vermittlungsmodul zum Ausgangs-Vermittlungsmodul unter Verwendung eines Außerband-Kommunikationskanals (nicht gezeigt) gesendet. Der Außerband-Kommunikationskanal entspricht einem Signalisierungskanal, z. B. einem Bus, der sich von den Datenkanälen unterscheidet, die dazu benutzt werden, PDUs zwischen den Vermittlungsmodulen zu übertragen.
  • 6 zeigt ein Flussdiagramm des Verfahrens, mit dem ein Eingangs-Vermittlungsmodul einen Eingangs-Datenfluss verarbeitet. Bei Empfang einer Eingangs-PDU (Schritt 610) klassifiziert das Eingangs-Vermittlungsmodul in der bevorzugten Ausführung die PDU, um das Ausgangs-Vermittlungsmodul festzustellen, an das sie gesendet wird. Bei Kenntnis des Ausgangs-Vermittlungsmoduls kann das Eingangs-Vermittlungsmodul die relativen Anforderungen an die Eingangs- und Ausgangs-Vermittlungsmodule und den Bedarf an Lastausgleich feststellen (Schritt 640). Die PDU-Verarbeitungs-Last, die die Eingangs-Vermittlungsmodule (Schritt 620) und das Ausgangs-Vermittlungsmodul (Schritt 630) erfahren, kann in manchen Ausführungen vom CMM 120 aus den Blockierungs-Zuständen der Module selbst ermittelt werden. Wenn der Blockierungs-Zustand des Eingangs-Vermittlungsmoduls bezogen auf das Ausgangs-Vermittlungsmodul eine Über-Auslastung ist, wird die Anfrage nach Lastausgleich (Test-Schritt 650) positiv beantwortet, und die Verteilung von SDPP-Diensten zwischen Eingang und Ausgang wird geändert (Schritt 660), um das Last-Ungleichgewicht zu verringern. Wenn zum Beispiel das Eingangs-Vermittlungsmodul relativ überlastet ist, kann der Prozentsatz der SDPP-Dienste, die insgesamt dem Ausgangs-Vermittlungsmodul zugeordnet sind, proportional zum Grad des Ungleichgewichtes erhöht werden. Im Fall eines stark überlasteten Eingangs-Vermittlungsmoduls können alle SDPP-Dienste dem Ausgangs-Vermittlungsmodul zugeordnet werden. Wenn die Lasten des Eingangs- und Ausgangs-Vermittlungsmoduls im Wesentlichen gleich sind, und der Unterschied innerhalb einer vorher festgelegten Last-Differenz-Schwelle liegt wird die Anfrage nach Änderung der Lastverteilung (Test-Schritt 650) negativ beantwortet, und die schon vorhandene Verteilung von SDPP-Diensten wird beibehalten.
  • Nachdem die Zuordnung von SDPP-Diensten festgestellt wurde, führt das Eingangs-Vermittlungsmodul die Untermenge von SDPP-Diensten, die für den Eingang bestimmt sind, aus (Schritt 670). Die restlichen SDPP-Dienste, die am Ausgang auszuführen sind, werden in dem einen Feld oder den mehreren Felder des SDPP-Tags spezifiziert, das an die PDU angehängt wird (Schritt 680), bevor die PDU zum Ausgangs-Vermittlungsmodul gesendet wird (Schritt 690). Wenn das Ausgangs-Vermittlungsmodul durch andere Verkehrs-Bedingungen stark überlastet ist, kann das Eingangs-Vermittlungsmodul alle SDPP-Dienste ausführen, die von der PDU gefordert werden, und die SDPP ID wird mit dem Wert Null an das Paket angehängt, der anzeigt, dass am Ausgangs-Vermittlungsmodul keine SDPP-Verarbeitung stattfindet.
  • 7 zeigt ein Flussdiagramm des Verfahrens, mit dem ein Ausgangs-Vermittlungsmodul einen Ausgangs-Datenfluss verarbeitet. Bei Empfang (Schritt 710) einer PDU vom Koppelbaustein 150 untersucht das Modul die PDU auf das Vorhandensein eines SDPP-Tags 510 und liest die darin enthaltenen Felder. Wenn das SDPP-Tag 510 vorhanden ist, wird die SDPP-Tag-Abfrage (Test-Schritt 720) positiv beantwortet und das SDPP-Tag zur Überprüfung entfernt (Schritt 730). Wenn das SDPP-Tag einen Op-Code 502 enthält, wird die Op-Code-Abfrage (Schritt 740) positiv beantwortet, und die vom Op-Code angezeigten computerlesbaren Instruktionen werden in den Cache im Ausgangs-Netzwerkprozessor geladen (Schritt 750). Wenn kein Op-Code im SDPP-Tag vorhanden ist, wird die Op-Code-Abfrage (Schritt 730) negativ beantwortet, und der NP 106 führt den zweiten Satz von SDPP-Diensten aus, die von der SDPP ID 512 entsprechend dem Instruktionssatz gekennzeichnet werden, der durch den Op-Code einer vorherigen PDU desselben Bündels spezifiziert wird (Schritt 760). Die entsprechend der SDPP-Dienst-Anforderungen verarbeiteten PDUs werden dann vom Ausgangs-Vermittlungsmodul in Richtung zum Ziel-Knoten der PDU gesendet (Schritt 770). Wie ein Fachmann erkennen wird, werden die vom Ausgangs-Netzwerk-Prozessor verarbeiteten PDUs derselben Paket-Verarbeitung ausgesetzt und erscheinen im Wesentlichen identisch zu PDUs, die entweder im Eingangs- oder Ausgangs-Vermittlungsmodul alleine verarbeitet werden.
  • Die folgenden Eigenschaften können einzeln oder in beliebiger Kombination ebenfalls vorteilhafte Ausführungen der beanspruchten und/oder beschriebenen Erfindung bilden:
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei die PDU-Verarbeitungs-Operationen Operationen sind, die seriell verteilt und im Eingangs-Vermittlungsmodul und im Ausgangs-Vermittlungsmodul aus der Vielzahl von Vermittlungsmodulen ausgeführt werden können;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei der Befehl eine Kennung ist, die die Verteilung von ein oder mehreren PDU-Verarbeitungs-Operationen auf den ersten Satz von PDU-Verarbeitungs-Operationen und den zweiten Satz von PDU-Verarbeitungs-Operationen anzeigt;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei eine Kopfinformation, die die Kennung enthält, an die PDU zur Übertragung vom Vermittlungsmodul zur Ausführung des ersten Satzes von PDU-Verarbeitungs-Operationen an das Vermittlungsmodul zur Ausführung des zweiten Satzes von PDU-Verarbeitungs-Operationen angehängt wird;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei die Kopfinformation ferner einen Operations-Code enthält, der bewirkt, dass das Vermittlungsmodul zur Ausführung des zweiten Satzes von PDU-Verarbeitungs-Operationen eine oder mehrere computerlesbare Instruktionen lädt, um den zweiten Satz von PDU-Verarbeitungs-Operationen auszuführen;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei die Vermittlungseinrichtung ferner einen Koppelbaustein zur Übertragung der PDU vom Vermittlungsmodul zur Ausführung des ersten Satzes von PDU-Verarbeitungs-Operationen an das Vermittlungsmodul zur Ausführung des zweiten Satzes von PDU-Verarbeitungs-Operationen enthält;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei jedes der Vermittlungsmodule ferner eine Zuordnungs-Tabelle enthält, um jede der einen oder mehreren PDU-Verarbeitungs-Operationen auf den ersten Satz von PDU-Verarbeitungs-Operationen und den zweiten Satz von PDU-Verarbeitungs-Operationen aufzuteilen;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei die Verteilung jeder der einen oder mehreren PDU-Verarbeitungs-Operationen auf den ersten Satz und den zweiten Satz die Ungleichverteilung der Verarbeitung zwischen den Vermittlungsmodulen zur Ausführung des ersten Satzes und den Vermittlungsmodulen zur Ausführung des zweiten Satzes verringert;
    • – Die beanspruchte und/oder beschriebene Vermittlungseinrichtung, wobei die Verteilung jeder der einen oder mehreren PDU-Verarbeitungs-Operationen auf den ersten Satz und den zweiten Satz auf der Grundlage eines Blockierungs-Zustandes der Vermittlungsmodule bestimmt wird;
    • – Das beanspruchte und/oder beschriebene Verfahren, wobei die Verteilung jeder der einen oder mehreren PDU-Verarbeitungs-Operationen auf das erste Vermittlungsmodul und das zweite Vermittlungsmodul auf einem Blockierungs-Zustand des ersten Vermittlungsmoduls und des zweiten Vermittlungsmoduls basiert;
    • – Eine Vermittlungseinrichtung, die folgendes umfasst: ein erstes Vermittlungsmodul, umfassend: Mindestens einen externen Anschluss, der angepasst ist, eine Protokoll-Dateneinheit (PDU) zu empfangen; einen Klassifizierer, der angepasst ist, eine oder mehrere PDU-Verarbeitungs-Operationen zur Anwendung auf die PDU zu erkennen; eine Steuerung, die für folgendes angepasst ist: Verteilen jeder der einen oder mehreren PDU-Verarbeitungs-Operationen auf einen ersten Satz von PDU-Verarbeitungs-Operationen und einen zweiten Satz von PDU-Verarbeitungs-Operationen; Ausführen des ersten Satzes von PDU-Verarbeitungs-Operationen; und Erzeugen eines Befehls zur Ausführung des zweiten Satzes von PDU-Verarbeitungs-Operationen; einen Koppelbaustein; und ein zweites Vermittlungs-Modul, das über den Koppelbaustein betriebsfähig mit dem ersten Vermittlungsmodul gekoppelt ist, wobei das zweite Vermittlungsmodul folgendes umfasst: Eine Steuerung, die angepasst ist, den zweiten Satz von PDU-Verarbeitungs-Operationen als Reaktion auf den Befehl auszuführen; und mindestens einen externen Anschluss, der angepasst ist, die PDU zu senden.
  • Obwohl die obige Beschreibung viele Spezifikationen enthält, dürfen diese nicht als Einschränkung des Umfangs der Erfindung interpretiert werden, sondern nur als Beispiele für einige der zurzeit bevorzugten Ausführungen dieser Erfindung.
  • Daher wurde die Erfindung am Beispiel und nicht als Einschränkung offen gelegt, und zur Bestimmung des Umfangs der vorliegenden Erfindung muss auf die folgenden Ansprüche Bezug genommen werden. Fig. 1
    110, 111, 112, 113 Vermittlungsmodul
    106 Netzwerk-Prozessor
    120 Zentraler Befehls-Prozessor (CMM)
    150 Koppelbaustein
    Fig. 2
    200 Vermittlungsmodul
    220 Management-Modul
    222 Strategie-Manager
    224 Konfigurations-Manager
    232 Speicher
    230 Klassifizierer
    236 Steuerung zur Verarbeitung seriell verteilter Pakete
    238 SDPP-Zuordnungs-Tabelle
    240 Warteschlangen-Manager
    Neben 248 Überwacher
    248 Eingangs-Warteschlangen-Speicher
    Neben 242 Verkehrs-Former
    242 Ausgangs-Warteschlangen-Speicher
    252 Statistik-Manager
    250 Puffer
    206 Datenbus
    208 Koppelbaustein-Schnittstellen-Modul
    Fig. 3
    302 Weiterleitungs-Tabelle
    304 VLAN-Zuordnungs-Tabelle
    306 Gebührenerfassungs- und Abrechnungs-Datenbank
    308 Spanning Tree
    310 Zugangs-Kontroll-Liste (ACL)
    312 ARP-Tabelle
    314 Quellen-Lern-Tabelle
    Fig. 5
    510 SDPP-Tag
    502 Op-Code
    504 Fluss-ID
    506 Quellen-Prozessor-ID
    500 Rahmen
    512 SDPP ID
    Fig. 4
    236 SDPP-Steuerung
    410 Eingangs-Prozessor
    412 SDPP-Tag-Generator
    238 SDPP-Zuordnungs-Tabelle
    420 Ausgangs-Prozessor
    422 SDPP-Tag-Leser
    430 SDPP-Dienste
    431 Kopfinformations-Transformation
    432 VLAN-Push
    433 VLAN-Pop
    435 Gebührenerfassung und Abrechnung
    436 MPLS-Management
    437 Spanning Tree
    438 Authentifizierung
    439 Zugangskontrolle
    440 Lernen auf höheren Ebenen
    442 Anschluss-Spiegelung
    443 Quellen-Lernen
    445 Farbmarkierung
    Fig. 6
    610 Eingangs-PDU klassifizieren
    620 Eingangs-Blockierungszustand
    630 Ausgangs-Blockierungszustand
    640 Feststellen, ob Lastausgleich erforderlich ist
    650 Ist eine Änderung der Lastverteilung erforderlich?
    660 Verteilung der SDPP-Dienste zwischen Eingangs- und Ausgangs-Vermittlungsmodulen ändern
    670 Eingangs-SDPP-Dienste im Eingangs-Vermittlungsmodul ausführen
    680 Seriell verteiltes Operations-Tag an PDU anhängen
    690 PDU zum Ausgangs-Vermittlungsmodul senden
    Fig. 7
    710 Ausgangs-PDU empfangen
    720 Ist SDPP-Tag vorhanden?
    730 Verarbeitungs-Tag für seriell verteiltes Paket aus der PDU entfernen
    740 Ist Op-Code vorhanden?
    750 Durch Op-Code spezifizierten Instruktionssatz laden
    760 Erkannte SDPP-Dienste im Ausgangs-Vermittlungsmodul ausführen
    770 PDU vom Ausgangs-Anschluss senden

Claims (10)

  1. Vermittlungseinrichtung, die eine Vielzahl von Vermittlungsmodulen (110113) enthält, wobei jedes der Vermittlungsmodule folgendes umfasst: mindestens einen externen Anschluss (102), der angepasst ist, eine Protokolldateneinheit zu empfangen, die im Folgenden als PDU bezeichnet wird; einen Klassifizierer (230), der angepasst ist, folgendes zu bestimmen: eine oder mehrere PDU-Verarbeitungs-Operationen zur Anwendung auf die PDU; und ein zweites Vermittlungsmodul aus der Vielzahl von Vermittlungsmodulen, an das das Paket weiterzuleiten ist; und eine Steuerung (236), die für folgendes angepasst ist: Verteilen jeder der einen oder mehreren PDU-Verarbeitungs-Operationen zwischen einem ersten Satz von PDU-Verarbeitungs-Operationen und einem zweiten Satz von PDU-Verarbeitungs-Operationen; Ausführen des ersten Satzes von PDU-Verarbeitungs-Operationen in einem ersten Vermittlungsmodul bei Empfang der PDU vom externen Anschluss; und Senden eines Befehls zum zweiten Vermittlungsmodul, um den zweiten Satz von PDU-Verarbeitungs-Operationen im zweiten Vermittlungsmodul auszuführen
  2. Vermittlungseinrichtung aus Anspruch 1, wobei jedes der Vermittlungsmodule weiterhin angepasst ist, den zweiten Satz von PDU-Verarbeitungs-Operationen als Reaktion auf den Befehl von einem aus der Vielzahl von Vermittlungsmodulen auszuführen.
  3. Vermittlungseinrichtung aus Anspruch 2, wobei jedes der Vermittlungsmodule weiterhin angepasst ist, die PDU zum Vermittlungsmodul zu senden, an das der Befehl gesendet wird.
  4. Vermittlungseinrichtung aus Anspruch 1, wobei die PDU-Verarbeitungs-Operationen PDU-Weiterleitungs-Operationen umfassen.
  5. Vermittlungseinrichtung aus Anspruch 1, wobei die PDU-Verarbeitungs-Operationen aus der Gruppe ausgewählt werden, die aus folgendem besteht: Kopfinformations-Transformation, Tag-Pushing, Tag-Popping, Dienstgüte, Gebührenerfassung und Abrechnung, Multi-Protocol-Label-Switching-(MPLS)-Management, Spanning-Tree-Operationen, Authentifizierung, Zugangskontrolle, Lernen auf höheren Ebenen, Alarm-Erzeugung, Anschluss-Spiegelung, Quellen-Lernen, Dienstklasse, Farbmarkierung und Kombinationen daraus.
  6. Verfahren zum Verteilen von Protokolldateneinheit-(PDU)-Vermittlungs-Operationen in einer Vermittlungseinrichtung, die ein erstes Vermittlungsmodul und ein zweites Vermittlungsmodul enthält, wobei das Verfahren folgende Schritte umfasst: Empfangen einer PDU an einem externen Anschluss des ersten Vermittlungsmoduls; Bestimmen einer oder mehrerer PDU-Verarbeitungs-Operationen zur Anwendung auf die PDU; Verteilen jeder der einen oder mehreren PDU-Verarbeitungs-Operationen zwischen einem ersten Satz von PDU-Verarbeitungs-Operationen und einem zweiten Satz von PDU-Verarbeitungs-Operationen; Ausführen des ersten Satzes von PDU-Verarbeitungs-Operationen im ersten Vermittlungsmodul; und Senden eines Befehls zum zweiten Vermittlungsmodul, um den zweiten Satz von PDU-Verarbeitungs-Operationen auszuführen.
  7. Verfahren aus Anspruch 6, wobei das Verfahren ferner den Schritt des Ausführens des zweiten Satzes von PDU-Verarbeitungs-Operationen im zweiten Vermittlungsmodul als Reaktion auf den Befehl vom ersten der Vermittlungsmodule umfasst.
  8. Verfahren aus Anspruch 6, wobei das Verfahren ferner den Schritt des Sendens der PDU zum zweiten Vermittlungsmodul umfasst.
  9. Verfahren aus Anspruch 6, wobei das Verfahren ferner den Schritt umfasst, an die PDU, die vom ersten Vermittlungsmodul zum zweiten Vermittlungsmodul gesendet wird, eine Kopfinformation anzufügen, die eine Kennung enthält, wobei die Kennung die Verteilung der einen oder mehreren PDU-Verarbeitungs-Operationen zwischen dem ersten Vermittlungsmodul und dem zweiten Vermittlungsmodul angibt.
  10. Verfahren aus Anspruch 6, wobei das Verfahren ferner den Schritt umfasst, die Kennung von einer Zuweisungs-Tabelle abzurufen, die jede der einen oder mehreren PDU-Verarbeitungs-Operationen zwischen dem ersten Vermittlungsmodul und dem zweiten Vermittlungsmodul verteilt.
DE602005006070T 2004-10-25 2005-10-19 Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess Active DE602005006070T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US972524 1992-11-06
US10/972,524 US7639674B2 (en) 2004-10-25 2004-10-25 Internal load balancing in a data switch using distributed network processing

Publications (2)

Publication Number Publication Date
DE602005006070D1 DE602005006070D1 (de) 2008-05-29
DE602005006070T2 true DE602005006070T2 (de) 2009-05-14

Family

ID=35385862

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005006070T Active DE602005006070T2 (de) 2004-10-25 2005-10-19 Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess

Country Status (5)

Country Link
US (1) US7639674B2 (de)
EP (1) EP1650908B1 (de)
CN (1) CN100512215C (de)
AT (1) ATE392760T1 (de)
DE (1) DE602005006070T2 (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747959B1 (en) 1998-10-07 2004-06-08 At&T Corp. Voice data integrated mulitaccess by self-reservation and blocked binary tree resolution
US6963545B1 (en) 1998-10-07 2005-11-08 At&T Corp. Voice-data integrated multiaccess by self-reservation and stabilized aloha contention
US7068633B1 (en) 2000-07-14 2006-06-27 At&T Corp. Enhanced channel access mechanisms for QoS-driven wireless lans
US7039032B1 (en) 2000-07-14 2006-05-02 At&T Corp. Multipoll for QoS-Driven wireless LANs
US7068632B1 (en) * 2000-07-14 2006-06-27 At&T Corp. RSVP/SBM based up-stream session setup, modification, and teardown for QOS-driven wireless LANs
US7031287B1 (en) * 2000-07-14 2006-04-18 At&T Corp. Centralized contention and reservation request for QoS-driven wireless LANs
US8923292B2 (en) * 2004-04-06 2014-12-30 Rockstar Consortium Us Lp Differential forwarding in address-based carrier networks
US20050220096A1 (en) 2004-04-06 2005-10-06 Robert Friskney Traffic engineering in frame-based carrier networks
US7606147B2 (en) * 2005-04-13 2009-10-20 Zeugma Systems Inc. Application aware traffic shaping service node positioned between the access and core networks
US7719966B2 (en) * 2005-04-13 2010-05-18 Zeugma Systems Inc. Network element architecture for deep packet inspection
US7809126B2 (en) 2005-05-19 2010-10-05 Cisco Technology, Inc. Proxy server for internet telephony
US7707240B2 (en) * 2005-05-19 2010-04-27 Cisco Technology, Inc. Proxy for application server
EP1727316B1 (de) * 2005-05-23 2009-10-14 Alcatel Lucent RSVP-Protokollerweiterung zur Unterstützung von OAM-Funktionen
US7719995B2 (en) * 2005-09-09 2010-05-18 Zeugma Systems Inc. Application driven fast unicast flow replication
US7508764B2 (en) * 2005-09-12 2009-03-24 Zeugma Systems Inc. Packet flow bifurcation and analysis
US7733891B2 (en) * 2005-09-12 2010-06-08 Zeugma Systems Inc. Methods and apparatus to support dynamic allocation of traffic management resources in a network element
US7844675B2 (en) * 2005-12-15 2010-11-30 At&T Intellectual Property I, L.P. Accessing web services
US20070171906A1 (en) * 2006-01-26 2007-07-26 Broadcom Corporation Apparatus and method for extending functions from a high end device to other devices in a switching network
US8451730B2 (en) * 2006-01-26 2013-05-28 Broadcom Corporation Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology
US8218440B2 (en) 2006-01-26 2012-07-10 Broadcom Corporation High speed transmission protocol
US8994700B2 (en) 2006-03-23 2015-03-31 Mark J. Foster Artifact-free transitions between dual display controllers
US8301752B2 (en) * 2006-05-02 2012-10-30 International Business Machines Corporation Load balancing for network server
FI119311B (fi) * 2006-07-04 2008-09-30 Tellabs Oy Menetelmä ja järjestely valvonta- ja hallintaviestien käsittelemiseksi
US8005101B1 (en) 2006-08-10 2011-08-23 Bivio Networks, Inc. Scalable architecture for deep-packet processing
US8077607B2 (en) * 2007-03-14 2011-12-13 Cisco Technology, Inc. Dynamic response to traffic bursts in a computer network
US7773510B2 (en) * 2007-05-25 2010-08-10 Zeugma Systems Inc. Application routing in a distributed compute environment
JP5115033B2 (ja) * 2007-05-30 2013-01-09 富士通株式会社 パケット中継方法及び装置
US20080298230A1 (en) * 2007-05-30 2008-12-04 Luft Siegfried J Scheduling of workloads in a distributed compute environment
US7706291B2 (en) * 2007-08-01 2010-04-27 Zeugma Systems Inc. Monitoring quality of experience on a per subscriber, per session basis
US8374102B2 (en) * 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
WO2009070280A1 (en) * 2007-11-26 2009-06-04 One Laptop Per Child Association, Inc. Method and apparatus for maintaining connectivity in a network
US8750126B2 (en) * 2009-10-16 2014-06-10 Tekelec, Inc. Methods, systems, and computer readable media for multi-interface monitoring and correlation of diameter signaling information
US8958306B2 (en) * 2009-10-16 2015-02-17 Tekelec, Inc. Methods, systems, and computer readable media for providing diameter signaling router with integrated monitoring functionality
US8699488B2 (en) * 2009-12-30 2014-04-15 Verizon Patent And Licensing Inc. Modification of peer-to-peer based feature network based on changing conditions / session signaling
US8549146B2 (en) * 2010-01-28 2013-10-01 Telefonaktiebolaget L M Ericsson (Publ) Stateless forwarding of load balanced packets
CN102986169B (zh) * 2010-02-12 2015-09-30 泰克莱克股份有限公司 用于在diameter节点处提供对等路由的方法、系统
EP2534790B1 (de) * 2010-02-12 2016-04-27 Tekelec, Inc. Verfahren, systeme und computerlesbare medien für eine durchmesserlastenteilung auf basis einer quelleninhaltskapazität
US9300576B2 (en) * 2010-05-03 2016-03-29 Pluribus Networks Inc. Methods, systems, and fabrics implementing a distributed network operating system
US10581734B2 (en) * 2010-05-03 2020-03-03 Pluribus Networks, Inc. Methods, systems, and fabrics implementing a distributed network operating system
US8811153B1 (en) * 2010-05-03 2014-08-19 Pluribus Networks Inc. Switch fabric for network devices
US9319335B1 (en) * 2010-12-07 2016-04-19 Pluribus Networks, Inc. Distributed operating system for a layer 2 fabric
US8391174B2 (en) * 2010-07-13 2013-03-05 Hewlett-Packard Development Company, L.P. Data packet routing
US9143384B2 (en) * 2010-11-03 2015-09-22 Broadcom Corporation Vehicular network with concurrent packet transmission
KR20120065724A (ko) * 2010-12-13 2012-06-21 한국전자통신연구원 다수 패킷 처리 엔진에서의 부하 분산을 위한 패킷 분산 처리 장치 및 방법
US8467298B2 (en) * 2011-01-10 2013-06-18 Telefonaktiebolaget L M Ericsson (Publ) Applying a table-lookup approach to load spreading in forwarding data in a network
CN103493522B (zh) 2011-03-03 2016-12-07 泰科来股份有限公司 用于丰富Diameter信令消息的方法、系统和计算机可读介质
US8588224B2 (en) * 2011-05-14 2013-11-19 International Business Machines Corporation Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
US9246823B1 (en) * 2011-12-22 2016-01-26 Marvell Israel (M.I.S.L.) Ltd. Remote policing in a chassis switch
US9237095B2 (en) * 2012-02-17 2016-01-12 Netronome Systems, Inc. Island-based network flow processor integrated circuit
US8964554B2 (en) * 2012-06-07 2015-02-24 Broadcom Corporation Tunnel acceleration for wireless access points
CN104350711B (zh) 2012-06-11 2018-11-06 泰科来股份有限公司 用于在diameter信令路由器处路由diameter消息的方法、系统及装置
US8902902B2 (en) 2012-07-18 2014-12-02 Netronome Systems, Incorporated Recursive lookup with a hardware trie structure that has no sequential logic elements
US20140050221A1 (en) * 2012-08-16 2014-02-20 Stmicroelectronics, Inc. Interconnect arrangement
US9787570B2 (en) * 2012-10-17 2017-10-10 Verizon Patent And Licensing Inc. Dynamic feature peer network for application flows
US9160797B2 (en) * 2012-10-17 2015-10-13 Verizon Patent And Licensing Inc. Network devices with feature peer network logic
CN104871529B (zh) 2012-12-17 2018-09-18 马维尔国际贸易有限公司 网络发现装置
US9148388B2 (en) 2013-05-23 2015-09-29 Tekelec, Inc. Methods, systems, and computer readable media for performing enhanced service routing
CN103324539B (zh) * 2013-06-24 2017-05-24 浪潮电子信息产业股份有限公司 一种作业调度管理系统及方法
CN104135447B (zh) * 2014-08-06 2018-03-23 曙光信息产业(北京)有限公司 一种数据包的传输方法和装置
US9729454B2 (en) 2015-01-21 2017-08-08 Oracle International Corporation Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections
US9917762B2 (en) * 2015-07-07 2018-03-13 Dell Products L.P. Microburst monitoring system
US10027577B2 (en) * 2015-07-29 2018-07-17 Oracle International Corporation Methods, systems, and computer readable media for peer aware load distribution
CN106549871B (zh) * 2015-09-22 2020-09-08 华为技术有限公司 一种报文处理的方法、设备和系统
US10009258B2 (en) 2016-03-29 2018-06-26 Oracle International Corporation Methods, systems, and computer readable media for routing a redirected request message
TWI617157B (zh) * 2016-05-31 2018-03-01 鴻海精密工業股份有限公司 負載動態調整裝置以及方法
US10148576B2 (en) * 2016-07-28 2018-12-04 Fortinet, Inc. Network processing unit (NPU) integrated layer 2 network device for layer 3 offloading
US10455641B2 (en) * 2017-01-05 2019-10-22 Huawei Technologies Co., Ltd. Protocol data unit management
US10674241B2 (en) * 2018-04-23 2020-06-02 Ciena Corporation Multipath selection in an ethernet fabric in a modular network element
US10999202B2 (en) 2018-11-30 2021-05-04 Oracle International Corporation Methods, systems, and computer readable media for distributing Sigtran connections among signal transfer point (STP) message processors
CN111031390B (zh) * 2019-12-17 2022-10-21 南京航空航天大学 一种输出大小固定序列行列式点过程视频概要方法
US11576072B2 (en) 2020-09-21 2023-02-07 Oracle International Corporation Methods, systems, and computer-readable media for distributing S1 connections to mobility management entities (MMEs) and N2 connections to access and mobility management functions (AMFs)
CN113423109B (zh) * 2021-08-24 2021-10-29 深圳兆瑞优品科技有限公司 面向个人计算机用户的指定数据共享方法
US11824731B2 (en) * 2021-12-29 2023-11-21 Salesforce, Inc. Allocation of processing resources to processing nodes

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287537A (en) * 1985-11-15 1994-02-15 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
US5219692A (en) * 1989-03-29 1993-06-15 Ricoh Company, Ltd. Electrophotographic photoconductors and tertiary amine compounds having condensed polycyclic group for use in the same
DE9300562U1 (de) * 1992-08-27 1993-03-04 Siemens Ag, 8000 Muenchen, De
US5619650A (en) * 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
US6219692B1 (en) 1997-03-21 2001-04-17 Stiles Invention, L.L.C. Method and system for efficiently disbursing requests among a tiered hierarchy of service providers
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
EP1085711B1 (de) * 1999-09-20 2013-06-05 Christian Prof. Dr. Tschudin Verfahren und Vorrichtung zur Verarbeitung und Weiterleitung von Datenpaketen
US6680933B1 (en) * 1999-09-23 2004-01-20 Nortel Networks Limited Telecommunications switches and methods for their operation
US7020153B2 (en) * 2000-07-03 2006-03-28 International Business Machines Corporation Method and system for processing data packets
US7342942B1 (en) * 2001-02-07 2008-03-11 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US20030074473A1 (en) * 2001-10-12 2003-04-17 Duc Pham Scalable network gateway processor architecture
US7283538B2 (en) * 2001-10-12 2007-10-16 Vormetric, Inc. Load balanced scalable network gateway processor architecture
KR100429904B1 (ko) * 2002-05-18 2004-05-03 한국전자통신연구원 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7408957B2 (en) * 2002-06-13 2008-08-05 International Business Machines Corporation Selective header field dispatch in a network processing system
US20050105560A1 (en) * 2003-10-31 2005-05-19 Harpal Mann Virtual chassis for continuous switching
US7474661B2 (en) * 2004-03-26 2009-01-06 Samsung Electronics Co., Ltd. Apparatus and method for distributing forwarding table lookup operations among a plurality of microengines in a high-speed routing node

Also Published As

Publication number Publication date
CN100512215C (zh) 2009-07-08
US7639674B2 (en) 2009-12-29
CN1777143A (zh) 2006-05-24
EP1650908A2 (de) 2006-04-26
EP1650908B1 (de) 2008-04-16
ATE392760T1 (de) 2008-05-15
DE602005006070D1 (de) 2008-05-29
US20060101159A1 (en) 2006-05-11
EP1650908A3 (de) 2006-07-05

Similar Documents

Publication Publication Date Title
DE602005006070T2 (de) Interner Lastausgleich in einem Datenschalter mit verteiltem Netzwerkprozess
DE69826680T2 (de) Hochintegrierte mehrschichtige Vermittlungsstellenelementarchitektur
DE60217253T2 (de) Centrale und regelbasierte Verkehrsverwaltung
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE10296945B4 (de) System und Verfahren zum differenzierten Warteschlangenbilden in einem Routing-System
DE112020002493T5 (de) Fat-tree adaptive leitweglenkung
DE60034654T2 (de) System und Verfahren zur Adaption und Verwaltung von IP Dienstqualität
DE602004010526T2 (de) Verfahren und vorrichtung zum adaptiven routen auf strömungsbasis in mehrstufigen datennetzwerken
DE69919569T2 (de) Verwaltung von verbindungsorientierten diensten über das internet-protokoll
DE69926109T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE10100842B4 (de) Kommunikationsvorrichtung mit Mehrschichten-Klassenidentifikation und Prioritätssteuerung
DE10123821A1 (de) Geschaltete Ethernet-Netzwerke
DE60309947T2 (de) Hochgeschwindigkeitsprotokoll für die Verbindung von modularen Netzwerkelementen
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE60120321T2 (de) Dienstqualitätenanpassung und -bereitstellung für einen Datenkommunikationsschalter und zugehöriges Verfahren
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE60309414T2 (de) Metro-Ethernet Netzwerksystem mit einer selektiven aufwärtigen Pausenachrichtenübermittlung
DE102005053688B4 (de) Verfahren und Mechanismus zum Identifizieren eines nicht-verwalteten Schalters in einem Netz
EP1428361B1 (de) Verkehrsbegrenzung mittels zulässigkeitsprüfung für ein paketorientiertes verbindungsloses netz mit qos niveau übertragung
EP2638672A1 (de) Verfahren zum erhöhen der qualität der datenübertragung in einem paketbasierten kommunikationsnetz
DE60208955T2 (de) System zur Bandbreitegewährleistung, Relaisvorrichtung und Netzwerkmanagement-Server
DE102021109310B4 (de) Konsistente dienstgütepolitik in einem softwaredefinierten unternehmensnetzwerk
EP1133112A2 (de) Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens
DE60215416T2 (de) Zeigerbasierte binäre Suchmaschine und dafür geeignetes Verfahren
DE102004005016B4 (de) Verfahren zur Steuerung der Transportkapazität für Datenübertragung über ein Netzwerk und Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition