DE60302045T2 - Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren - Google Patents

Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren Download PDF

Info

Publication number
DE60302045T2
DE60302045T2 DE60302045T DE60302045T DE60302045T2 DE 60302045 T2 DE60302045 T2 DE 60302045T2 DE 60302045 T DE60302045 T DE 60302045T DE 60302045 T DE60302045 T DE 60302045T DE 60302045 T2 DE60302045 T2 DE 60302045T2
Authority
DE
Germany
Prior art keywords
network processor
processor means
packet
packets
processed
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.)
Expired - Lifetime
Application number
DE60302045T
Other languages
English (en)
Other versions
DE60302045D1 (de
Inventor
Francois Abel
Alan Benner
Gero Dittmann
Andreas Herkersdorf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60302045D1 publication Critical patent/DE60302045D1/de
Publication of DE60302045T2 publication Critical patent/DE60302045T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet der Netzwerksteuerung, gemäß der Pakete, die ein paketvermittelndes Netzwerk durchlaufen, von Netzwerkprozessormitteln analysiert werden, und insbesondere ein Verfahren und ein System zur dynamischen Verteilung von Paketströmen zwischen mehreren Netzwerkprozessormitteln sowie zum Neukombinieren von Paketströmen nach der Verarbeitung unter Beibehaltung der Paketreihenfolge – auch bei Datenverkehr, bei dem ein einzelner Strom die Leistungsfähigkeit eines einzelnen Netzwerkprozessormittels übersteigt.
  • Hintergrund der Erfindung
  • In Netzwerksteuerungssystemen werden Pakete, die ein paketvermittelndes Netzwerk durchlaufen, im Allgemeinen von Netzwerkprozessoren analysiert, die u. a. Funktionen wie Routing, Segmentierung und Neuerstellung, Filterung und Virusprüfungen auf die Pakete anwenden, um Leistung, Sicherheit und Servicequalität zu erhöhen. Aufgrund der zunehmend komplexeren Operationen, die Netzwerkprozessoren unter Umständen an Paketen ausführen müssen, und aufgrund der in Relation zur Erhöhung der Verarbeitungsleistung von Netzwerkprozessoren wachsenden Bandbreite und Paketübertragungsrate, ist es bei Vorrichtungen und Verfahren jedoch entscheidend, dass sie die Gesamtverarbeitungsleistung von Netzwerkprozessoren entsprechend erhöhen.
  • Ein allgemeines Verfahren, mit dem sich eine höhere Verarbeitungsleistung erzielen lässt, als mit einem einzelnen Prozessor oder Netzwerkprozessor erreicht werden kann, besteht in der Parallelverarbeitung, bei der Prozessoren parallel betrieben werden. Diese Multiprozessoren können als ein einzelner Netzwerkprozessor mit höherer Verarbeitungsgeschwindigkeit aufgefasst werden.
  • Im Kontext der Netzwerksteuerung wurde die Parallelverarbeitung gemäß dem Stand der Technik als Lastausgleich oder Kanal-Striping implementiert. Dem Stand der Technik entsprechendes Kanal-Striping (auch als Lastteilung oder inverses Multiplexing bezeichnet) wird bei Leistungsengpässen oder einfach wegen des Preis-Leistungs-Verhältnisses häufig im Netzbetrieb genutzt. In solch einem Schema wird ein zyklischer Algorithmus (Round-Robin-Algorithmus) oder ein Lastteilungsalgorithmus verwendet, der die zu einem Paketstrom gehörenden Pakete auf mehrere Kanäle verteilt. Ein großes Problem besteht bei dieser Verteilung darin, da es wegen der unterschiedlichen Verzögerungen der verschiedenen Kanäle und aufgrund von unterschiedlichen Paketgrößen möglich ist, dass die Pakete falsch sortiert werden. Für dieses Problem der Falschsortierung gibt es nach dem Stand der Technik drei Lösungen:
    • i) Jeder Strom bleibt einem einzigen Kanal zugeordnet und es wird hingenommen, dass ein einzelner Strom nicht mehr Bandbreite in Anspruch nehmen kann als jeder Kanal zur Verfügung stellen kann.
    • ii) Die falsch sortierten Pakete werden nach ihrem Empfang neu sortiert, und die resultierende ungenutzte Bandbreite für die Verarbeitung wird hingenommen.
    • iii) Die Pakete werden in feste Übertragungseinheiten aufgeteilt, die von den Netzwerkprozessormitteln in einer vorhersagbaren Zeitspanne verarbeitet werden können.
  • Der dynamische Lastausgleich kommt hingegen allgemein auf dem Gebiet der Parallelverarbeitung zur Anwendung und bezieht sich auf drei allgemeine Verarbeitungseinheiten: Berechnungen, Tasks und Daten. In diesen Fällen wird durch den dynamischen Lastausgleich versucht, die Zuordnung von Berechnungen, Tasks und Daten zu Computern zu ermitteln, sodass zur Verkürzung der Laufzeit und zur Steigerung der allgemeinen Effizienz einer Berechnung jedem Computer ungefähr die gleiche Arbeitsmenge zugeordnet ist.
  • Die an die IBM Corporation abgetretene und am 18. April 2000 beim Amerikanischen Patent- und Markenamt (USPTO) eingereichte US-Patentschrift 6,768,716 beschreibt ein System für den Echtzeit-Lastausgleich zum Verteilen einer über eine Hochgeschwindigkeitsleitung ankommenden Datenpaketfolge auf eine Vielzahl von Verarbeitungsmitteln, deren Betriebskapazität jeweils unter der Kapazität der Hochgeschwindigkeitsleitung liegt. Das System umfasst Parsermittel, die in der Lage sind, aus den ankommenden Paketen eine konfigurierbare Gruppe von Klassifizierungsbits zu extrahieren, um diese Komprimierungsmitteln bereitzustellen. Die Komprimierungsmittel sind in der Lage, ein Bitmuster der Länge K auf ein Bitmuster der Länge L zu reduzieren, die einen Bruchteil von K darstellt. Dieses System umfasst ferner eine Pipelinesperre, die ankommende Pakete so lange verzögert, bis eine Entscheidung über den Lastausgleich gefallen ist, sowie einen inversen Demultiplexer für den Empfang einer als Selektor von den Komprimierungsmitteln ausgegebenen Port-ID und für die Weiterleitung der im Pipelinesystem verarbeiteten Pakete an den entsprechenden Ausgangsport.
  • Das von BUX W ET AL verfasste Dokument („TECHNOLOGIES AND BUILDING BLOCKS FOR FAST PACKET FORWARDING", IEEE COMMUNICATIONS MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, N.J., USA, Bd. 39 Nr. 1 vom 1. Januar 2001 (2001-01-01), Seiten 70-77, XP001006836 ISSN: 0163-6804) beschreibt ein Verfahren und eine Lastausgleichseinrichtung zur geordneten dynamischen Verteilung der über eine Hochgeschwindigkeitsleitung ankommenden Paketströme zwischen Netzwerkprozessormitteln, die das Parsen der Kopfdaten eines ankommenden Pakets zum Extrahieren einer ID und das Analysieren von Netzwerkprozessormitteln für das Laden und Festlegen eines aktuellen Netzwerkprozessormittels und das Weiterleiten der ankommenden Pakete an das aktuelle Netzwerkprozessormittel umfassen.
  • Das Verfahren und die Lastausgleichseinrichtung; die im Dokument WO 99 07180A (NOKIA TELECOMMUNICATIONS OY; HEIMAN PETRI (FI)) vom 11. Februar 1999 (1999-02-11) vorgeschlagen werden, ordnen jedem Paket eine Folgekennung zu und suchen anschließend auf zyklische Weise (Round-Robin-Verfahren) in den Prozessorpuffern das Paket mit der nächsten Folgenummer.
  • Es besteht jedoch weiterhin ein Bedarf, die korrekte Abfolge der Ströme insbesondere bei einem Datenverkehr beizubehalten, bei dem ein einzelner Strom die Leistungsfähigkeit eines einzelnen Netzwerkprozessors übersteigt. Die geordnete Neukombinierung von Paketströmen ist einfach, wenn die Pakete modifiziert werden können. Ein naheliegendes Verfahren bestünde in der Kennzeichnung jedes ankommenden Pakets mit einer Folgenummer und darin, ausschließlich das Abgehen von Ausgabepaketen in nicht sequenzieller Reihenfolge zu verhindern. Der Nachteil der Paketmodifizierung besteht jedoch darin, dass die einzelnen Netzwerkprozessoren in einer modular aufgebauten Konfiguration anders konfiguriert werden müssen als in einer Konfiguration mit nur einem einzigen Netzwerkprozessor, damit die modifizierten Pakete korrekt verarbeitet werden.
  • Wenn angesichts der aktuellen technischen Leistungsfähigkeit von Netzwerkprozessormitteln ein solcher Bedarf besteht, ist auch die Wiederverwendung früherer Generationen von Netzwerkprozessormitteln möglich, indem ihre Leistungen zum Erzielen der gewünschten Leistung gebündelt werden, um dadurch die Kosten für solche Netzwerkprozessormittel zu optimieren.
  • Überblick über die Erfindung
  • Eine wesentliche Aufgabe der vorliegenden Erfindung besteht folglich darin, die dem Stand der Technik entspringenden und oben beschriebenen Nachteile auszugleichen.
  • Eine weitere Aufgabe der Erfindung besteht in der Bereitstellung eines Verfahrens und von Systemen zur dynamischen Verteilung von Paketströmen zwischen mehreren Netzwerkprozessormitteln und zur Neukombinierung von Paketströmen nach der Verarbeitung, wobei gleichzeitig die Paketreihenfolge selbst bei einem Datenverkehr beibehalten wird, bei dem ein einzelner Strom die Leistungsfähigkeit eines einzelnen Netzwerkprozessormittels übersteigt, und wobei weder die Pakete noch der Betrieb der einzelnen Netzwerkprozessormittel modifiziert wird.
  • Eine weitere Aufgabe der Erfindung besteht in der Bereitstellung eines Verfahrens und von Systemen zur dynamischen Verteilung von Paketströmen zwischen mehreren Netzwerkprozessormitteln mit unterschiedlichen Verarbeitungsleistungen und zur Neukombinierung von Paketströmen nach der Verarbeitung, wobei gleichzeitig die Paketreihenfolge selbst bei einem Datenverkehr beibehalten wird, bei dem ein einzelner Strom die Leistungsfähigkeit eines einzelnen Netzwerkprozessormittels übersteigt.
  • Die Erfüllung dieser und anderer zugehöriger Aufgaben wird erreicht durch ein Verfahren für die geordnete dynamische Verteilung von über Hochgeschwindigkeitsleitungen ankommenden Paketströmen zwischen Netzwerkprozessormitteln, das folgende Schritte umfasst:
    • – Parsen der Kopfdaten eines ankommenden Pakets zum Extrahieren einer Paketstrom-ID;
    • – Erstellen eines Lastausgleichsprotokolls, sofern dieses noch nicht existiert, das der Paketstrom-ID zugeordnet ist;
    • – Analysieren von Netzwerkprozessormitteln für das Laden und Festlegen von aktuellen Netzwerkprozessormitteln; – wenn sich die ID der aktuellen Netzwerkprozessormittel von der ID der Netzwerkprozessormittel unterscheidet, die das vorherige Paket desselben Paketstroms verarbeitet haben, Speichern der ID der aktuellen Netzwerkprozessormittel im Lastausgleichsprotokoll und Festlegen des Werts Eins für die im Lastausgleichsprotokoll angegebene Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; – andernfalls, wenn die ID der aktuellen Netzwerkprozessormittel mit der ID der Netzwerkprozessormittel identisch ist, die das vorherige Paket desselben Paketstroms verarbeitet haben, Erhöhen des Werts für die im Lastausgleichsprotokoll angegebene Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; und
    • – Weiterleiten des ankommenden Pakets an die aktuellen Netzwerkprozessormittel, und durch ein Verfahren zur Neukombinierung der gemäß dem oben beschriebenen Verfahren von einer Vielzahl von Netzwerkprozessormitteln verarbeiteten Pakete, das folgende Schritte umfasst:
    • – Parsen der Kopfdaten eines verarbeiteten Pakets zum Extrahieren einer Paketstrom-ID;
    • – Abrufen der ID der ältesten Netzwerkprozessormittel und der zugeordneten Anzahl verarbeiteter Pakete gemäß der Paketstrom-ID aus dem Lastausgleichsprotokoll; – wurde das verarbeitete Paket nicht von den ältesten Netzwerkprozessormitteln verarbeitet, wird es in einem Paketspeicher gespeichert; – wurde andernfalls das verarbeitete Paket von den ältesten Netzwerkprozessormitteln verarbeitet, wird das verarbeitete Paket an die Hochgeschwindigkeitsleitung gesendet, die zugeordnete Anzahl verarbeiteter Pakete wird verringert, und wenn die zugeordnete Anzahl verarbeiteter Pakete den Wert Null erreicht, wird die ID der ältesten Netzwerkprozessormittel in die nächste im Lastausgleichsprotokoll enthaltene ID geändert, und die entsprechend der neuen ID der ältesten Netzwerkprozessormittel im Paketspeicher aufgereihten Pakete können an die Hochgeschwindigkeitsleitung gesendet und anschließend aus dem Paketspeicher entfernt werden.
  • Die Aufgabe der Erfindung wird auch durch eine Einrichtung für den geordneten Lastausgleich nach Anspruch 10 erfüllt.
  • Weitere Vorteile der vorliegenden Erfindung werden für den Fachmann bei der Prüfung der Zeichnungen und der detaillierten Beschreibung ersichtlich. Alle zusätzlichen Vorteile sollen Bestandteil der vorliegenden Patentanmeldung sein.
  • Kurzbeschreibung der Zeichnungen
  • 1 stellt ein Netzwerkprozessorsystem dar, das die Nutzung einer erfindungsgemäßen Einrichtung für den geordneten Lastausgleich veranschaulicht.
  • 2 veranschaulicht eine Beispielarchitektur des in der Erfindung beschriebenen Systems zur dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessormitteln.
  • 3 veranschaulicht den Inhalt des Speichers für das Lastausgleichsprotokoll.
  • 4 stellt ein Netzwerkvermittlungssystem dar, das Verarbeitungssysteme umfasst, die auf Lastausgleichseinrichtungen gemäß der Erfindung basieren.
  • Detaillierte Beschreibung der bevorzugten Ausführungsart
  • 1 stellt ein Netzwerkprozessorsystem dar, das die Nutzung einer erfindungsgemäßen Einrichtung für den geordneten Lastausgleich veranschaulicht, die der Verteilung der über eine aggregierte Hochgeschwindigkeitsleitung ankommenden Datenflüsse auf eine Vielzahl von unabhängigen Netzwerkprozessoreinheiten dient. In diesem Beispiel umfasst das Netzwerkprozessorsystem eine erfindungsgemäße Einrichtung 100 für den geordneten Lastausgleich und vier unabhängige Netzwerkprozessoren A bis D, auf die unter der Kennzeichnung 110-1 bis 110-4 Bezug genommen wird. Es versteht sich, dass die Einrichtung 100 für den geordneten Lastausgleich mit mehr oder weniger als vier Netzwerkprozessoren verbunden sein kann, und dass das in diesem Dokument beschriebene Systemschema zur Veranschaulichung dient. Eine Hochgeschwindigkeitsleitung, die aus Eingangs- und Ausgangsports (allgemein durch die Referenznummern 120 bzw. 130 gekennzeichnet) besteht, sendet Paketströme an die Einrichtung 100 für den geordneten Lastausgleich bzw. empfängt Paketströme von dieser, um Daten mit einem Netzwerk oder einer Netzwerkeinheit, wie z. B. einer Vermittlungsstruktur, auszutauschen, die zum besseren Verständnis nicht dargestellt ist. Die Eingangs- und Ausgangsports 120-i bzw. 130-j (i =1 , ..., m, j = 1, ..., n) können ähnliche oder unterschiedliche Datentypen verarbeiten. Gleichermaßen können die Eingangs- und Ausgangsports 120-i bzw. 130-j je nach angeforderter Datenverarbeitung, z. B. Weiterleiten oder Filtern, mit unterschiedlichen Netzwerktypen oder Netzwerkeinheiten verbunden sein. Die Anzahl der Eingangsports 120 kann der Anzahl der Ausgangsports 130 entsprechen (n = m) oder von dieser abweichen (n ≠ m). Das System umfasst außerdem Verbindungen 140-k und 150-k (k = 1, ..., 4) für den Austausch von Paketen zwischen der Einrichtung 100 für den geordneten Lastausgleich und dem unabhängigen Netzwerkprozessor k.
  • Das in 1 dargestellte Netzwerkprozessorsystem ermöglicht es, die über Hochgeschwindigkeitsleitungen ankommenden Paketströme durch unabhängige Netzwerkprozessoren zu verarbeiten, deren Verarbeitungsraten unter der Paketübertragungsrate der Hochgeschwindigkeitsleitung liegen. Zu diesem Zweck analysiert die Einrichtung 100 für den geordneten Lastausgleich die ankommenden Paketströme und verteilt Pakete dynamisch auf die angeschlossenen unabhängigen Netzwerkprozessoren. Nach ihrer Verarbeitung werden die Pakete in der Einrichtung 100 für den geordneten Lastausgleich zur Rücksendung an die Hochgeschwindigkeitsleitung neu kombiniert, wobei die Sortierung aller Paketströme beibehalten wird.
  • Gemäß dem Verfahren der Erfindung wird jedes ankommende Paket zur Bestimmung der entsprechenden Paketstrom-ID analysiert, und Netzwerkprozessormittel werden zugewiesen, um das ankommende Paket gemäß der Arbeitslast der Netzwerkprozessormittel zu verarbeiten. Pro Strom wird ein Lastausgleichsprotokoll erstellt, um die Abfolge der verwendeten Netzwerkprozessormittel und die entsprechende Anzahl der verarbeiteten Pakete zu speichern. Werden die von Netzwerkprozessormitteln verarbeiteten Pakete an die Hochgeschwindigkeitsleitung zurückgesendet, werden die ID dieser Netzwerkprozessormittel und die zugeordnete Anzahl der verarbeiteten Pakete aus dem Lastausgleichsprotokoll entfernt. Der Algorithmus für die Verarbeitung der ankommenden Daten umfasst daher folgende Schritte:
    • – Parsen der Kopfdaten eines ankommenden Pakets zum Extrahieren einer Paketstrom-ID;
    • – Anwenden des Hashverfahrens auf die extrahierte Paketstrom-ID zum Generieren einer anderen ID, die als „Flow-Bucket-ID" bezeichnet wird;
    • – Bestimmen der ID des aktuellen Netzwerkprozessors durch Analysieren der Arbeitslast von Netzwerkprozessormitteln; – wenn die ID des aktuellen Netzwerkprozessors mit der ID des Netzwerkprozessors identisch ist, der das vorherige Paket desselben Paketstroms verarbeitet hat, Erhöhen des Werts für die im Speicher für das Lastausgleichsprotokoll aufgezeichnete Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; – wenn sich die ID des aktuellen Netzwerkprozessors von der ID des Netzwerkprozessors unterscheidet, der das vorherige Paket desselben Paketstroms verarbeitet hat, Speichern der ID des aktuellen Netzwerkprozessors im Speicher für das Lastausgleichsprotokoll und Festlegen des Werts Eins für die Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; und
    • – Weiterleiten des ankommenden Pakets an die aktuellen Netzwerkprozessormittel.
  • Nach der Verarbeitung der ankommenden Pakete müssen diese vor ihrer Rücksendung an die Hochgeschwindigkeitsleitung neu kombiniert werden. Daher wird jedes verarbeitete Paket zur Bestimmung der entsprechenden Paketstrom-ID analysiert, und das entsprechende Lastausgleichsprotokoll wird für die Einhaltung der Paketreihenfolge herangezogen. Verarbeitete Pakete können gepuffert werden, wenn ältere Pakete desselben Stroms noch nicht verarbeitet wurden. Nach dem Zurücksenden der Pakete an die Hochgeschwindigkeitsleitung wird das Lastausgleichsprotokoll aktualisiert, und der Puffer wird freigegeben. Der Algorithmus für die Handhabung der verarbeiteten Daten umfasst folgende Schritte:
    • – Parsen der Kopfdaten eines verarbeiteten Pakets zum Extrahieren einer Paketstrom-ID;
    • – Anwenden des Hashverfahrens auf die extrahierte Paketstrom-ID zum Generieren der entsprechenden „Flow-Bucket-ID";
    • – Abrufen der ID der ältesten Netzwerkprozessormittel und der zugeordneten Anzahl verarbeiteter Pakete entsprechend der Flow-Bucket-ID aus dem Speicher für das Lastausgleichsprotokoll; – wurde das verarbeitete Paket nicht von den ältesten Netzwerkprozessormitteln verarbeitet, die für seine Flow-Bucket-ID aufgezeichnet wurden, wird es in einem Paketspeicher gespeichert; – wurde andernfalls das Paket von den ältesten Netzwerkprozessormitteln verarbeitet, wird es an die Hochgeschwindigkeitsleitung gesendet, die zugeordnete Anzahl verarbeiteter Pakete wird verringert, und wenn die zugeordnete Anzahl verarbeiteter Pakete den Wert Null erreicht, wird die ID der ältesten Netzwerkprozessormittel in die nächste im Lastausgleichsprotokoll enthaltene ID geändert, und die entsprechend der neuen ID der ältesten Netzwerkprozessormittel im Paketspeicher aufgereihten Pakete können an die Hochgeschwindigkeitsleitung gesendet und anschließend aus dem Paketspeicher entfernt werden.
  • 2 veranschaulicht die Architektur einer Einrichtung 100 für den geordneten Lastausgleich zum dynamischen Verteilen von Paketströmen auf Netzwerkprozessormittel gemäß dem oben beschriebenen Verfahren. Die Einrichtung 100 für den geordneten Lastausgleich umfasst eine Hochgeschwindigkeitsleitung, die aus Eingangs- und Ausgangsports 120-i (i = 1, ..., m) bzw. 130-j (j = 1, ..., n) und Verbindungen 140-1 bis 140-4 sowie 150-1 bis 150-4 besteht, um Pakete an Netzwerkprozessoren 110-1 bis 110-4 zu senden bzw. von diesen zu empfangen. Es versteht sich wiederum, dass die Einrichtung 100 für den geordneten Lastausgleich mit mehr oder weniger als vier Netzwerkprozessoren verbunden sein kann, und dass die in diesem Dokument beschriebene Beispielimplementierung zur Veranschaulichung dient.
  • Die Empfangsseite der Einrichtung 100 für den geordneten Lastausgleich besteht aus einer Zeitmultiplexeinheit 200 (Time Division Multiplex, TDM), einer Parsereinheit 205 zum Parsen von Kopfdaten, einer Hashfunktionseinheit 210, einem Speicher 215 für das Lastausgleichsprotokoll, einer Demultiplexereinheit 220, einer Pipelineeinheit 225, FIFO-Speichereinheiten 230-1 bis 230-4 und einer Einheit 235 zur Bestimmung des aktuellen Netzwerkprozessors. An den Eingangsports 120 der Hochgeschwindigkeitsleitung ankommende Pakete werden in der TDM-Einheit 200 gemäß dem standardmäßigen TDM-Algorithmus neu kombiniert und anschließend von der Einrichtung 100 für den geordneten Lastausgleich geprüft. Abhängig vom Pakettyp, vom Strom, dem das Paket angehört, und von der Größe der aktuellen Arbeitslast an den einzelnen Netzwerkprozessoren 110-1 bis 110-4 wird jedes Paket an einen der Netzwerkprozessoren 110-1 bis 110-4 weitergeleitet. Die Kopfdaten ankommender Pakete werden in der Parsereinheit 205 geparst, um Paketstrom-IDs zu extrahieren, die an die Hashfunktionseinheit 210 gesendet werden, wo durch das Anwenden des Hashverfahrens auf die Paketstrom-IDs andere IDs generiert werden, die als Flow-Bucket-IDs bezeichnet werden. Die Hashfunktionseinheit 210 stellt sicher, dass die zum gleichen Strom gehörenden Pakete durch die gleiche Flow-Bucket-ID gekennzeichnet sind. Im Allgemeinen wird die Hashfunktion so konfiguriert, dass die Anzahl der Flow-Bucket-IDs deutlich unter der Anzahl der möglichen Paketstrom-IDs liegt, aber dies stellt keine Anforderung der Erfindung dar.
  • Die Parsereinheit 205 muss mit Blick auf die Anzahl und die Typen der extrahierten Paketstrom-IDs flexibel sein und eine umfassende Anwendbarkeit verschiedener Protokolle sicherstellen. Eine bevorzugte Ausführungsart der Parsereinheit 205 ist ein rekonfigurierbarer endlicher Automat (Finite State Machine).
  • Flow-Bucket-IDs werden als Indizes im Speicher 215 für das Lastausgleichsprotokoll verwendet, in dem eine ID des aktuellen Netzwerkprozessors dem aktuellen Paket zugewiesen wird. Die IDs aller Netzwerkprozessoren, die Pakete desselben Stroms verarbeitet haben, und die zugeordnete Anzahl verarbeiteter Pakete wird in der Reihenfolge der Verarbeitungszeit zusammen mit dem zugeordneten Flow-Bucket im Speicher 215 für das Lastausgleichsprotokoll gespeichert.
  • 3 veranschaulicht den Inhalt des Speichers 215 für das Lastausgleichsprotokoll, in dem jede Tabellenzeile den Verarbeitungsverlauf eines Stroms darstellt. In der ersten Spalte 300 werden die Paketstrom-IDs aufgeführt, die, wie oben beschrieben, mithilfe der Flow-Buckets ermittelt wurden, während die anderen Spalten die Netzwerkprozessor-IDs und die zugeordnete Anzahl verarbeiteter Pakete enthalten, die durch 305-i bzw. 310-i gekennzeichnet sind. Folglich enthält die Spalte 305-1 die ID des letzten aktuellen Netzwerkprozessors für jeden aktiven Strom und Spalte 310-1 die zugeordnete Anzahl verarbeiteter Pakete, Spalte 305-2 die ID des vorherigen aktuellen Netzwerkprozessors für jeden aktiven Strom und Spalte 310-2 die zugeordnete Anzahl verarbeiteter Pakete usw. Ein aktiver Flow-Bucket ist als Flow-Bucket definiert, aus dem mindestens ein Paket nicht an den Ausgangsport 130 zurückgesendet wurde. In dem in 3 dargestellten Beispiel werden 125 Pakete, die zu einem Strom eines Flow-Buckets mit der ID 6302 gehören, vom aktuellen Netzwerkprozessor mit der ID 1 verarbeitet, und 265 Pakete dieses Flow-Buckets wurden vorher vom Netzwerkprozessor mit der ID 2 verarbeitet.
  • Aus 2 geht hervor, dass die ID des aktuellen Netzwerkprozessors an die Demultiplexereinheit 220 gesendet wird, sodass das aktuell empfangene Paket, das in der Pipelineeinheit 225 verzögert wird, entsprechend der ID des aktuellen Netzwerkprozessors im FIFO-Speicher (230-1 bis 230-4) gespeichert wird, aus dem es an den aktuellen Netzwerkprozessor gesendet wird. Die Einheit 235 zur Bestimmung des aktuellen Netzwerkprozessors legt den aktuellen Netzwerkprozessor fest, indem sie die Aktivität der Netzwerkprozessoren 110-1 bis 110-4 durch eine Belastungsanalyse der FIFO-Speicher 230-1 bis 230-4 mithilfe von standardmäßigen statistischen Techniken ermittelt. Ein Netzwerkprozessor kann beispielsweise immer dann als aktueller Netzwerkprozessor festgelegt werden, wenn der Füllstand des ihm zugeordneten FIFO-Speichers unter einem vorbestimmten Schwellenwert liegt. Ein weiteres Beispiel für die Bestimmung des aktuellen Netzwerkprozessors besteht im Auswählen des Netzwerkprozessors, dessen zugeordneter FIFO-Speicher demnächst entleert sein wird. In diesem Fall schaltet die Einrichtung für den geordneten Lastausgleich nicht sehr häufig zwischen den Netzwerkprozessoren um. Die Auswahl des aktuellen Netzwerkprozessors lässt sich auch durch die Verwendung von Paketstromprotokollen optimieren.
  • Es gilt zu beachten, dass die Einrichtung 100 für den geordneten Lastausgleich ohne jede Modifikation mit Netzwerkprozessoren verbunden werden kann, die über unterschiedliche Verarbeitungsleistungen verfügen, denn selbst wenn ein Netzwerkprozessor mit einer höheren Verarbeitungsleistung als andere den ihm zugeordneten FIFO-Speicher schneller leert, wird er von der Einrichtung 100 für den geordneten Lastausgleich häufiger als aktueller Netzwerkprozessor ausgewählt, weil die Auswahl des aktuellen Netzwerkprozessors anhand des Füllstands des FIFO-Speichers erfolgt. Eine weitere Lösung, bei der eine Modifikation der Einrichtung 100 für den geordneten Lastausgleich erforderlich ist, besteht darin, die Verarbeitungsleistung jedes Netzwerkprozessors zusammen mit der zugeordneten Netzwerkprozessor-ID in der Einheit 235 zur Bestimmung des aktuellen Netzwerkprozessors zu speichern. Die Verarbeitungsleistung und die zugeordnete Netzwerkprozessor-ID werden zusammen mit dem Füllstand des FIFO-Speichers (230-1 bis 230-4) zur Bestimmung des aktuellen Netzwerkprozessors herangezogen, um das Laden der Netzwerkprozessormittel zu optimieren.
  • Die Sendeseite der Einrichtung 100 für den geordneten Lastausgleich besteht aus einer Multiplexereinheit 240, einer Pipelineeinheit 245, einer Demultiplexereinheit 250, einem Paketspeicher 255, einer Multiplexereinheit 260 und einer Vermittlungseinheit 285. Nach der Verarbeitung der Pakete in den Netzwerkprozessoren 110-1 bis 110-4 werden sie über die Multiplexereinheit 240 an die Pipelineeinheit 245 und anschließend an die Demultiplexereinheit 250 gesendet. Je nach Status des Paketstroms werden ankommende Pakete im Paketspeicher 255 gespeichert oder zur Ausgabe durch die Vermittlungseinheit 285 an die Multiplexereinheit 260 gesendet. Die Vermittlungseinheit 285 analysiert die Kopfdaten der Pakete, um den Ausgangsport 130-j der Hochgeschwindigkeitsleitung zu ermitteln, an die die Pakete gesendet werden sollen.
  • Die Einrichtung 100 für den geordneten Lastausgleich umfasst ferner eine Datenfluss-Steuerung zum Neukombinieren der Pakete nach der Verarbeitung, die eine Parsereinheit 205 zum Parsen von Kopfdaten, eine Hashfunktionseinheit 210, einen Speicher 215 für das Lastausgleichsprotokoll, eine Einheit 265 zum Stellen bzw. Entfernen von Paketen in die bzw. aus der Warteschlange, eine Protokollaktualisierungseinheit 270, eine Einheit 275 zur Aktualisierung des Warteschlangenzeigers und einen Speicher 280 für Warteschlangenzeiger umfasst. Es gilt zu beachten, dass die Parsereinheit 205, die Hashfunktionseinheit 210 und der Speicher 215 für das Lastausgleichsprotokoll vor und nach der Verarbeitung zum Analysieren von Paketen verwendet werden. Nach der Verarbeitung der Pakete in den Netzwerkprozessoren 110-1 bis 110-4 werden sie über die Multiplexereinheit 240 an die Parsereinheit 205 gesendet. Die Kopfdaten der verarbeiteten Pakete werden geparst, um Paketstrom-IDs zu extrahieren, die an die Hashfunktionseinheit 210 gesendet werden, wo durch das Anwenden des Hashverfahrens auf die Paketstrom-IDs Flow-Bucket-IDs generiert werden.
  • Die Flow-Bucket-ID dient im Speicher 215 für das Lastausgleichsprotokoll als Index für den Zugriff auf das Lastausgleichsprotokoll, anhand dessen die Einheit 265 zum Stellen bzw. Entfernen von Paketen in die bzw. aus der Warteschlange ermittelt, ob ein verarbeitetes Paket an den Ausgangsport 130-j gesendet oder im Paketspeicher 255 gespeichert werden muss. Die Flow-Bucket-ID dient außerdem als Index zum Speichern des Paketzeigers im Speicher 280 für Warteschlangenzeiger, wenn ein verarbeitetes Paket im Paketspeicher 255 gespeichert oder aus diesem abgerufen werden muss.
  • Die Einheit 265 zum Stellen bzw. Entfernen von Paketen in die bzw. aus der Warteschlange analysiert das aus dem Speicher 215 für das Lastausgleichsprotokoll empfangene Lastausgleichsprotokoll, um die ID des Netzwerkprozessors, der das aktuelle Paket verarbeitet hat, mit derjenigen des ältesten Netzwerkprozessors im Flow-Bucket zu vergleichen, zum dem das aktuelle Paket gehört. Wenn sie nicht identisch sind, wird das aktuelle verarbeitete Paket im Paketspeicher 255 gespeichert, und der entsprechende Zeiger wird gemäß dem Flow-Bucket des aktuellen verarbeiteten Pakets und gemäß der ID des Netzwerkprozessors, der das aktuelle verarbeitete Paket verarbeitet hat, im Speicher 280 für Warteschlangenzeiger gespeichert. Wenn die IDs identisch sind, wird das aktuelle verarbeitete Paket direkt an den Ausgangsport 130-j gesendet, und die Einheit 265 zum Stellen bzw. Entfernen von Paketen in die bzw. aus der Warteschlange verringert die der ID des ältesten Netzerwerkprozessors zugeordnete Anzahl der verarbeiteten Pakete mithilfe der Protokollaktualisierungseinheit 270. Wenn diese Anzahl den Wert Null erreicht, wird die ID der ältesten Netzwerkprozessormittel ebenfalls aktualisiert und im Lastausgleichsprotokoll auf den nächsten Wert gesetzt, und die im Paketspeicher entsprechend der neuen ID der ältesten Netzwerkprozessormittel aufgereihten Pakete können an die Hochgeschwindigkeitsleitung gesendet und anschließend aus dem Paketspeicher entfernt werden.
  • Es gilt zu beachten, dass in dem Fall, in dem nur ein Eingangsport 120 vorhanden ist, die TDM-Einheit 200 nicht benötigt wird. Wenn nur ein Ausgangsport 130 vorhanden ist, wird gleichermaßen die Vermittlungseinheit 285 nicht benötigt.
  • 4 veranschaulicht den Einsatz von mehreren der oben beschriebenen Einrichtungen 100 für den geordneten Lastausgleich in einem hochwertigen Vermittlungs- oder Routersystem 400. Ein solches System umfasst üblicherweise mindestens eine Vermittlungsstruktur 410 mit einer Vielzahl von Hochgeschwindigkeitsleitungen, z. B. ein 64 × 64-Port-Switch, dessen einzelne Ports für Duplexübertragungen von insgesamt 40 GB/s ausgelegt sind. In diesem Beispiel werden vier Netzwerkprozessoren zur Bedienung einer Hochgeschwindigkeitsleitung für Halbduplexübertragungen, d. h. für einen Eingangs- oder einen Ausgangsport, benötigt. Daher umfasst das Vermittlungssystem 400 genauso viele Einrichtungen für den geordneten Lastausgleich, allgemein durch 100-r gekennzeichnet, wie Halbduplexverbindungen, wobei jede Einrichtung für den geordneten Lastausgleich mit vier Netzwerkprozessoren, NP Ar, NP Br, NP Cr und NP Dr, verbunden ist. Die Einrichtungen für den geordneten Lastausgleich sind U-förmig dargestellt, um die Zeichnung übersichtlicher zu gestalten und zu verdeutlichen, dass die Gruppierung aus Einrichtungen für den geordneten Lastausgleich und Netzwerkprozessormitteln gegenüber dem übrigen System ein einziges, leistungsfähigeres Netzwerkprozessormittel darstellt.
  • Das Verhalten des in 4 dargestellten Systems lässt sich anhand eines bestimmten Paketstroms veranschaulichen, der über den Eingangsport 120-s von der Einrichtung 100-1 für den geordneten Lastausgleich empfangen wird. Gemäß dem in dieser Erfindung beschriebenen Verfahren werden die Pakete dieses Stroms zu ihrer Verarbeitung dynamisch zwischen den Netzwerkprozessoren NP A1, NP B1, NP C1 und NP D1 verteilt. Anschließend werden die Pakete in der Einrichtung 100-1 für den geordneten Lastausgleich unter Beibehaltung der Paketreihenfolge neu kombiniert, um daraufhin über den Ausgangsport 130-t an die Vermittlungsstruktur 410 gesendet zu werden. In der Vermittlungsstruktur 410 werden die Pakete umgeleitet und beispielsweise an den Eingangsport 120-u der Einrichtung 100-2 für den geordneten Lastausgleich gesendet. Die Pakete werden dann zu ihrer Verarbeitung erneut gemäß dem in dieser Erfindung beschriebenen Verfahren wiederum dynamisch zwischen den Netzwerkprozessoren NP A2, NP B2, NP C2 und NP D2 der Einrichtung 100-2 für den geordneten Lastausgleich verteilt, bevor sie wiederum unter Beibehaltung der Paketreihenfolge neu kombiniert und über den Ausgangsport 130-v an ein Netzwerk oder eine Netzwerkeinheit (nicht dargestellt) gesendet werden.
  • Auch wenn die Erfindung unter Bezugnahme auf bevorzugte Ausführungsarten beschrieben wurde, ist für den Fachmann ersichtlich, dass die Erfindung auch auf andere Weise implementiert werden kann. Zur Erfüllung lokaler und spezifischer Anforderungen kann der Fachmann gleichermaßen viele Modifikationen und Änderungen auf die oben beschriebene Lösung anwenden, die allesamt jedoch im Geltungsbereich der Erfindung liegen, der durch die folgenden Ansprüche definiert wird.

Claims (10)

  1. Verfahren zur geordneten dynamischen Verteilung von über Hochgeschwindigkeitsleitungen (120, 130) ankommenden Paketströmen zwischen Netzwerkprozessormitteln (110-1, 110-2, 110-3, 110-4), das folgende Schritte umfasst: – Parsen der Kopfdaten eines ankommenden Pakets zum Extrahieren einer Paketstrom-ID; – Erstellen eines Lastausgleichsprotokolls, sofern dieses noch nicht existiert, das der Paketstrom-ID zugeordnet ist; – Analysieren von Netzwerkprozessormitteln für das Laden und Festlegen von aktuellen Netzwerkprozessormitteln; – wenn sich die ID der aktuellen Netzwerkprozessormittel von der ID der Netzwerkprozessormittel unterscheidet, die das vorherige Paket desselben Paketstroms verarbeitet haben, Speichern der ID der aktuellen Netzwerkprozessormittel im Lastausgleichsprotokoll und Festlegen des Werts Eins für die im Lastausgleichsprotokoll angegebene Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; – andernfalls, wenn die ID der aktuellen Netzwerkprozessormittel mit der ID der Netzwerkprozessormittel identisch ist, die das vorherige Paket desselben Paketstroms verarbeitet haben, Erhöhen des Werts für die im Lastausgleichsprotokoll angegebene Anzahl der von den aktuellen Netzwerkprozessormitteln verarbeiteten Pakete; und – Weiterleiten des ankommenden Pakets an die aktuellen Netzwerkprozessormittel.
  2. Verfahren nach Anspruch 1, bei dem der Schritt zum Weiterleiten des ankommenden Pakets an die aktuellen Netzwerkprozessormittel folgende Schritte umfasst: – Speichern des ankommenden Pakets in Speichermitteln, die den aktuellen Netzwerkprozessormitteln zugeordnet sind; und – auf Anforderung durch die Netzwerkprozessormittel Senden von Paketen, die in den den Netzwerkprozessormitteln zugeordneten Speichermitteln gespeichert sind.
  3. Verfahren nach Anspruch 2, bei dem der Schritt zum Analysieren von Netzwerkprozessormitteln für das Laden und Festlegen von aktuellen Netzwerkprozessormitteln folgende Schritte umfasst: – Analysieren des Füllstands der Speichermittel, die den Netzwerkprozessormitteln zugeordnet sind. – Festlegen der aktuellen Netzwerkprozessormittel gemäß dem Füllstand der Speichermittel, die den Netzwerkprozessormitteln zugeordnet sind.
  4. Verfahren nach einem beliebigen der Ansprüche 1 bis 3, das ferner den Schritt der Zeitmultiplexbildung in Bezug auf ankommende Pakete umfasst, die über eine Vielzahl von Eingangsports empfangen werden.
  5. Verfahren zum Neukombinieren von Paketen, die von einer Vielzahl von Netzwerkprozessormitteln gemäß einem beliebigen der Ansprüche 1 bis 4 verarbeitet wurden, das folgende Schritte umfasst: – Parsen der Kopfdaten eines verarbeiteten Pakets zum Extrahieren einer Paketstrom-ID; – Abrufen der ID der ältesten Netzwerkprozessormittel und der zugeordneten Anzahl verarbeiteter Pakete gemäß der Paketstrom-ID aus dem Lastausgleichsprotokoll; – wurde das verarbeitete Paket nicht von den ältesten Netzwerkprozessormitteln verarbeitet, wird es in einem Paketspeicher gespeichert; – wurde andernfalls das verarbeitete Paket von den ältesten Netzwerkprozessormitteln verarbeitet, wird das verarbeitete Paket an die Hochgeschwindigkeitsleitung gesendet, die zugeordnete Anzahl verarbeiteter Pakete wird verringert, und wenn die zugeordnete Anzahl verarbeiteter Pakete den Wert Null erreicht, wird die ID der ältesten Netzwerkprozessormittel in die nächste im Lastausgleichsprotokoll enthaltene ID geändert, und die entsprechend der neuen ID der ältesten Netzwerkprozessormittel im Paketspeicher aufgereihten Pakete können an die Hochgeschwindigkeitsleitung gesendet und anschließend aus dem Paketspeicher entfernt werden.
  6. Verfahren nach Anspruch 5, das ferner den Schritt umfasst, verarbeitete Pakete gemäß den Paketkopfdaten über eine Vielzahl von Ausgangsports zu vermitteln.
  7. Verfahren nach einem beliebigen der Ansprüche 1 bis 6, das ferner den Schritt umfasst, durch das Anwenden des Hashverfahrens auf die extrahierten Paketstrom-IDs andere IDs so zu generieren, dass die anderen IDs für Pakete, die zu demselben Paketstrom gehören, identisch sind.
  8. Verfahren nach Anspruch 7, bei dem die anderen IDs kleiner als die extrahierten Paketstrom-IDs sind.
  9. Verfahren nach Anspruch 8, bei dem der zum Generieren einer kleineren ID ausgeführte Schritt zum Anwenden des Hashverfahrens auf die extrahierte Paketstrom-ID auf einer nicht linearen Hashfunktion basiert.
  10. Einrichtung (100) für den geordneten Lastausgleich, zur geordneten dynamischen Verteilung von über eine Hochgeschwindigkeitsleitung ankommenden Paketströmen zwischen Netzwerkprozessormitteln, die angepasste Mittel zum Ausführen des in einem beliebigen der Ansprüche 1 bis 9 beschriebenen Verfahrens umfasst.
DE60302045T 2002-03-05 2003-02-27 Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren Expired - Lifetime DE60302045T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02368023 2002-03-05
EP02368023 2002-03-05
PCT/EP2003/003249 WO2003075520A2 (en) 2002-03-05 2003-02-27 Method and system for ordered dynamic distribution of packet flows over network processors

Publications (2)

Publication Number Publication Date
DE60302045D1 DE60302045D1 (de) 2005-12-01
DE60302045T2 true DE60302045T2 (de) 2006-07-20

Family

ID=27771965

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60302045T Expired - Lifetime DE60302045T2 (de) 2002-03-05 2003-02-27 Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren

Country Status (9)

Country Link
US (1) US7359318B2 (de)
EP (1) EP1483870B1 (de)
JP (1) JP3809873B2 (de)
KR (1) KR100570137B1 (de)
CN (1) CN100440851C (de)
AT (1) ATE308185T1 (de)
AU (1) AU2003221530A1 (de)
DE (1) DE60302045T2 (de)
WO (1) WO2003075520A2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366092B2 (en) * 2003-10-14 2008-04-29 Broadcom Corporation Hash and route hardware with parallel routing scheme
US7440404B2 (en) * 2004-02-24 2008-10-21 Lucent Technologies Inc. Load balancing method and apparatus for ethernet over SONET and other types of networks
US7369557B1 (en) * 2004-06-03 2008-05-06 Cisco Technology, Inc. Distribution of flows in a flow-based multi-processor system
US7660897B2 (en) * 2004-08-03 2010-02-09 International Business Machines Corporation Method, system, and program for distributing application transactions among work servers
US7840731B2 (en) * 2004-08-25 2010-11-23 Cisco Technology, Inc. Accelerated data switching on symmetric multiprocessor systems using port affinity
CN100393162C (zh) * 2004-10-10 2008-06-04 中兴通讯股份有限公司 一种时分组网系统中扇区负载均衡的方法
EP1877899B1 (de) * 2005-05-04 2009-12-23 Telecom Italia S.p.A. Verfahren und system zum verarbeiten von paketflüssen und computerprogrammprodukt dafür
ATE426981T1 (de) * 2005-06-03 2009-04-15 Koninkl Philips Electronics Nv Elektronische vorrichtung und verfahren zur kommunikationsressourcenzuteilung
CN100459575C (zh) * 2005-11-10 2009-02-04 中国科学院计算技术研究所 一种网络处理器中维护ip分组出入顺序的方法
JP4776412B2 (ja) * 2006-03-23 2011-09-21 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット転送装置、パケット転送方法、及びプログラム
US7792102B2 (en) * 2006-03-31 2010-09-07 Intel Corporation Scaling egress network traffic
JP4630262B2 (ja) * 2006-11-21 2011-02-09 日本電信電話株式会社 キャッシュシステム、キャッシュ装置、パケット処理装置、キャッシュ方法、パケット処理方法、キャッシュプログラム、およびパケット処理プログラム
KR100843184B1 (ko) * 2006-12-08 2008-07-02 한국전자통신연구원 패킷 전송의 최적 경로 선택 장치 및 그 방법
KR100896784B1 (ko) * 2007-06-05 2009-05-11 나리넷(주) 네트워크 프로세서 간 패킷인터페이스스위치 연결에 의한패킷처리장치
KR100899526B1 (ko) * 2007-09-07 2009-05-27 삼성네트웍스 주식회사 다중 프로세서 기반의 패킷 처리 장치 및 방법
JP5081847B2 (ja) * 2009-02-20 2012-11-28 株式会社日立製作所 マルチプロセッサによるパケット処理装置およびパケット処理方法
JP5325731B2 (ja) * 2009-09-30 2013-10-23 株式会社日立製作所 ネットワーク中継装置
JP5471581B2 (ja) 2010-02-23 2014-04-16 富士通株式会社 監視プログラム、監視装置、および監視方法
US8745264B1 (en) * 2011-03-31 2014-06-03 Amazon Technologies, Inc. Random next iteration for data update management
US8654643B2 (en) * 2011-07-27 2014-02-18 Ixia Wide field indexing for packet tracking
US8830838B2 (en) 2011-09-14 2014-09-09 Hewlett-Packard Development Company, L.P. Node interface indicators
US8705366B2 (en) 2012-01-23 2014-04-22 Cisco Technology, Inc. Dynamic load balancing without packet reordering
WO2014010156A1 (ja) * 2012-07-13 2014-01-16 日本電気株式会社 集約型メータリング装置、集約型メータリング方法および集約型メータリングプログラムが格納された記憶媒体
EP2874362B1 (de) 2013-11-13 2019-10-02 Napatech A/S System und verfahren zur analyse einer vielzahl von datenpaketen
US9467384B2 (en) * 2013-12-05 2016-10-11 Mediatek Singapore Pte. Ltd. Packet forwarding apparatus and method using flow subgroup based path selection for dynamic load balancing
US10764179B2 (en) * 2017-07-19 2020-09-01 Corsa Technology Inc. Look up table based match action processor for data packets

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128305A (en) * 1997-01-31 2000-10-03 At&T Corp. Architecture for lightweight signaling in ATM networks
FI104672B (fi) * 1997-07-14 2000-04-14 Nokia Networks Oy Kytkinjärjestely
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
JP4078755B2 (ja) * 1999-06-02 2008-04-23 株式会社日立製作所 帯域監視方法
US7996670B1 (en) * 1999-07-08 2011-08-09 Broadcom Corporation Classification engine in a cryptography acceleration chip
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
JP3646638B2 (ja) * 2000-09-06 2005-05-11 日本電気株式会社 パケット交換装置及びそれに用いるスイッチ制御方法
US6901052B2 (en) * 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
JP3965283B2 (ja) * 2001-07-02 2007-08-29 株式会社日立製作所 複数種類のパケット制御機能を備えたパケット転送装置

Also Published As

Publication number Publication date
US20050152354A1 (en) 2005-07-14
AU2003221530A1 (en) 2003-09-16
AU2003221530A8 (en) 2003-09-16
KR20040086325A (ko) 2004-10-08
CN1579075A (zh) 2005-02-09
ATE308185T1 (de) 2005-11-15
EP1483870A2 (de) 2004-12-08
KR100570137B1 (ko) 2006-04-12
WO2003075520A3 (en) 2004-03-04
JP2005519530A (ja) 2005-06-30
EP1483870B1 (de) 2005-10-26
US7359318B2 (en) 2008-04-15
WO2003075520A2 (en) 2003-09-12
CN100440851C (zh) 2008-12-03
JP3809873B2 (ja) 2006-08-16
DE60302045D1 (de) 2005-12-01

Similar Documents

Publication Publication Date Title
DE60302045T2 (de) Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren
DE112006000282B4 (de) Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE3780800T2 (de) Anordnung zur ueberlastregelung fuer paketvermittlungssystem.
DE602005003142T2 (de) Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung
DE60038538T2 (de) Vermittlungseinrichtung und Vermittlungsverfahren
DE60120807T2 (de) Schaltvorrichtung und Verfahren
DE3780799T2 (de) Anordnung zur ueberlastregelung durch bandbreitenverwaltung fuer paketvermittlungssystem.
DE60033099T2 (de) Hochkapazitäts WDM-TDM Paketvermittlungseinrichtung
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE69917835T2 (de) Datenpfadstrukturen mit Rotatorumschalter
DE60110760T2 (de) Auslese-ablaufsteuerung für nicht aufeinander-folgende daten
DE60203380T2 (de) Verfahren und vorrichtung zur mehrfachsendung
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE10196447B4 (de) Verfahren und Vorrichtung zum Verringern der Erschöpfung des Pools in einer Vermittlung mit gemeinsam genutztem Speicher
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE69628631T2 (de) Dateneingangs/-ausgangsvorrichtung durch Referenzierung zwischen zentralen Verarbeitungseinheiten und Ein-/Ausgabevorrichtungen
DE60026676T2 (de) Paketklassifizierungsautomat
DE60022802T2 (de) System und Verfahren zum Übertragen verteilter Datensätze über mehrere Fäden
DE69832205T2 (de) Paketübertragungsverfahren und -vorrichtung
DE102007038964A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Netzwerkdaten
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter
DE19745020A1 (de) Verfahren zum Steuern des Datenverkehrs in einem ATM-Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R082 Change of representative

Ref document number: 1483870

Country of ref document: EP

Representative=s name: PFENNING MEINIG & PARTNER GBR, DE