DE60119866T2 - Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern - Google Patents

Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern Download PDF

Info

Publication number
DE60119866T2
DE60119866T2 DE60119866T DE60119866T DE60119866T2 DE 60119866 T2 DE60119866 T2 DE 60119866T2 DE 60119866 T DE60119866 T DE 60119866T DE 60119866 T DE60119866 T DE 60119866T DE 60119866 T2 DE60119866 T2 DE 60119866T2
Authority
DE
Germany
Prior art keywords
input
output
queues
buffer
ports
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
DE60119866T
Other languages
English (en)
Other versions
DE60119866D1 (de
Inventor
Cyriel Minkenberg
Ronald P. Luijten
Juergen Koehl
Bernd Leppla
Norbert Schumacher
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 DE60119866D1 publication Critical patent/DE60119866D1/de
Publication of DE60119866T2 publication Critical patent/DE60119866T2/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/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
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance

Description

  • Die vorliegende Erfindung betrifft eine Vermittlungseinrichtung für Datenpakete, welche mehrere Eingangsports und Ausgangsports hat und für den Transport eingehender Pakete zu einem oder mehreren Ausgangsports und von dort an eine nachfolgende Vorrichtung bestimmt ist. Im Besonderen betrifft die Erfindung eine Vermittlungseinrichtung und ein Vermittlungsverfahren, bei denen für jeden Eingangsport oder jede Untergruppe von Eingangsports ein getrennter Ausgangspuffer existiert. Als Datenpakete können insbesondere ATM-Zellen oder auch Ethernet-Frames akzeptiert werden.
  • TECHNISCHES GEBIET UND HINTERGRUND DER ERFINDUNG
  • Die schnelle Vermittlung von Informationen, seien es analoge Signale oder alphanumerische Daten, ist eine wichtige Aufgabe in einem Kommunikationsnetz. Die Netzknoten, in denen die Leitungen oder Übertragungsverbindungen aus verschiedenen Richtungen zum Informationsaustausch untereinander verbunden sind, sind oft der Grund für Verzögerungen bei der Übertragung. Wenn sich viel Datenverkehr auf einen Knoten konzentriert und wenn insbesondere der meiste Datenverkehr nur über einige wenige der Verbindungen abläuft, treten oft größere Verzögerungen oder sogar Datenverluste auf. Es ist daher wünschenswert, Vermittlungsknoten zur Verfügung zu haben, die ein schnelles Routing ermöglichen.
  • In EP 312628 ist eine Vermittlungseinrichtung für die Verbindung einer Vielzahl ein- und ausgehender Übertragungsverbindungen eines Kommunikationsnetzes oder für den Datenaustausch zwischen Ein- und Ausgangsverbindungsabschnitten von Computern und Workstations dargelegt. Außerdem sind bekannte Datenpaketformate beschrieben.
  • Auf der Internetseite www.zurich.ibm.com/Technology/ATM/SWOCPWP wird ein Überblick über die Vermittlungstechnologie nach dem Stand der Technik mit einer Einführung in die Technologie des PRIZMA-Chips gegeben. Informationen zu diesem Thema finden sich auch in der Veröffentlichung „A flexible shared-buffer switch for ATM at Gbit/s rates von W. E. Denzel, A. P. J. Engbersen, I. Iliadis, Computer Networks and ISDN Systems, (0169-7552/94), Elsevier Science B. V., Bd. 27, Nr. 4, 5.611-624.
  • Der PRIZMA-Chip umfasst einen gemeinsam genutzten Ausgangspuffer mit 16 Eingangs- und 16 Ausgangsports und einer Portgeschwindigkeit von 300-400 Mbit/s. Das Prinzip der Vermittlungseinrichtung besteht darin, die eingehenden Pakete zunächst durch einen voll parallelen E/A-Routingbaum zu routen und dann die gerouteten Pakete in eine Warteschlange im Ausgangspuffer zu stellen. Außerdem verwendet der Chip eine Trennung zwischen Datenfluss (Nutzinformationen) und Steuersignalfluss (Header). Nur die Nutzinformationen werden in einem dynamisch aufgeteilten Ausgangspufferspeicher abgelegt. Durch diese Architektur wird eine HOL-Warteschlangenblockierung (Head-of-line Blocking) vermieden. Der PRIZMA-Chip weist eine skalierbare Architektur auf und bietet somit zahlreiche Erweiterungsmöglichkeiten, durch welche die Portgeschwindigkeit, die Anzahl der Ports sowie der Datendurchsatz erhöht werden können. Diese Erweiterungen können durch eine modulare Verwendung des PRIZMA-Chips realisiert werden. Es können auch ein- oder mehrstufige Vermittlungskonfigurationen in modularer Form aufgebaut werden.
  • Der PRIZMA-Chip ist besonders für die Breitband-Telekommunikation auf ATM-Basis (Asynchronous Transfer Mode) geeignet. Jedoch ist das Konzept nicht auf ATM-orientierte Umgebungsarchitekturen beschränkt. ATM basiert auf Datenpaketen mit fester, kurzer Länge, oft als Zellen bezeichnet, und wird vermutlich in Zukunft als integrierter Vermittlungs- und Übertragungsstandard im öffentlichen Broadband Integrated Services Digital Network (BISDN) eingesetzt. Die Topologie und Anordnung der Warteschlangen im PRIZMA-Chip zur Konfliktlösung nutzen in hohem Maß die Parallelität. Die Routingfunktion wird in verteilter Form auf der Hardwareebene durchgeführt, was als Self-Routing bezeichnet wird. ATM-Pakete werden in mehrere Pakettypen klassifiziert, insbesondere Pakettypen mit unterschiedlichem Umfang an Nutzinformationen, und der PRIZMA-Chip ist zur Verarbeitung von Paketen mit bis zu 64 Bytes Nutzinformationen vorgesehen. Es werden jedoch oft auch Nutzinformationen mit 12, 16, 32 oder 48 Bytes in den Paketen transportiert.
  • Die Bandbreite im gemeinsam genutzten Speicher einer Vermittlungseinrichtung mit Ausgangswarteschlangen und N Ports muss das N-fache der Geschwindigkeit an den einzelnen Ports betragen, was erhebliche Implementierungsprobleme bei hohen Übertragungsgeschwindigkeiten aufwirft. Deshalb haben in den letzten Jahren Vermittlungseinrichtungen mit Eingangswarteschlangen an Popularität gewonnen. Die Leistungseinschränkungen von mit FIFO-Warteschlangen ausgestatteten Vermittlungseinrichtungen sind durch den Einsatz von Techniken wie Virtual Output Queuing (VOQ) in Kombination mit einer zentralisierten Ablaufsteuerung zur Erzielung eines hohen Durchsatzes weitgehend überwunden. VOQ führt auf der Grundlage des Zielausgangs der Pakete zu einer Sortierung der eingehenden Pakete auf der Eingangsseite.
  • Paketvermittlungseinrichtungen, die allein auf einem Warteschlangensystem am Ausgang beruhen, lassen sich wegen des hohen Bandbreitenbedarfs im Speicher schlecht an hohe Übertragungsgeschwindigkeiten anpassen. Implementierungen mit einem hohen Grad an Parallelität können die gewünschte Bandbreite erreichen, begrenzen jedoch die Größe des Speichers, der auf einem einzelnen Chip untergebracht werden kann, und führen somit potenziell zu hohen Datenpaketverlustraten und einer sehr vom Datenverkehrsaufkommen abhängigen Leistung.
  • In EP 0838 972 A2 wird eine Vermittlungseinrichtung mit asynchronem Übertragungsmodus (ATM) beschrieben. Das ATM-Vermittlungssystem umfasst einen Kern-Vermittlungsbereich CS in einer Ausgangspuffer-Konfiguration, die eine ATM-Vermittlungsfunktion zwischen Hochgeschwindigkeits-Eingangsports und -Ausgangsports aufweist, einen Bereich mit einem Eingangspuffermodul IXB, das mehrere langsame Eingangsleitungen auf den Hochgeschwindigkeits-Eingangsport des Vermittlungsbereiches multiplext, sowie einen Bereich mit einem Ausgangspuffermodul OXB, das den Ausgang eines Hochgeschwindigkeits-Ausgangsports des CS in mehrere langsame Ausgangsleitungen trennt. Das IXB ermöglicht Warteschlangen für jede Ausgangsleitung und jede Serviceklasse. Das OXB ermöglicht Warteschlangen für die im OXB vorhandene Ausgangsleitung und Serviceklasse. Überschreitet die Pufferbelegung einen Schwellenwert, erzeugt das OXB ein Zellen-Unterdrückungssignal für den CS. Überschreitet die Länge der Warteschlange für jeden Ausgangsport einen Schwellenwert, erzeugt der CS ein Zellen-Unterdrückungssignal für alle IXBs. Aufgrund des Zellen-Unterdrückungssignals stoppt der IXB eine Zellenübertragung. Die reibungslose Abarbeitung wird dadurch gesteigert, dass das Auftreten von Überlastungen innerhalb des ATM-Datenaustausches unterdrückt wird. Durch die Verwendung derselben Ausgangsleitung wird ein gleichmäßiger Durchsatz auf den virtuellen Kanälen gewährleistet.
  • VORTEILE DER ERFINDUNG
  • Gemäß den Ansprüchen besteht ein Vorteil der Erfindung in der Bereitstellung einer Vermittlungseinrichtung bzw. eines Vermittlungsverfahrens, die bei im Wesentlichen gleich guter Leistung weniger Verbindungen als bekannte Einrichtungen erfordern. Da das Schema der virtuellen Ausgangsspeicherung (Virtual Output Queuing, VOQ) zur Reduzierung der Head-of-line-Blockierung dient, hat ein von mehreren Eingangsports gemeinsam genutzter Speicher nicht mehr die Auswirkungen, die er ohne VOQ hätte. Tatsächlich weist der Ausgangspuffer selbst bei stoßweise auftretendem Datenverkehr oder in Situationen, die zu einem Rückstau führen, mit VOQ einen viel höheren Füllgrad auf. Der Vorteil der gemeinsamen Nutzung wird daher vernachlässigbar. Die Vervielfachung der Vermittlungs-Infrastruktur, d. h. des Ausgangspuffers und seiner Umgebung, führt auf den ersten Blick zu erhöhtem Platzbedarf der Hardware, reduziert am Ende jedoch die notwendige Verdrahtung deutlich. In einer Ausführungsart, bei welcher der Ausgangspuffer für jeden Eingangsport eine Anzahl von N Adressen bietet, wobei N die Anzahl der Eingangs- bzw. Ausgangsports ist, reduziert sich die Verdrahtung um den Faktor N2. Stellt man sich vor, dass jede Verbindung normalerweise aus einer 16-Bit-Busverbindung besteht, und setzt man N = 32, ergeben sich daraus bei einem völlig gemeinsam genutzten Ausgangspuffer 32 * 16 * 1024 = 524.288 Verbindungen und eine Reduzierung um den Faktor 1024, d. h. auf 512, mit der durch die Erfindung vorgeschlagenen Einrichtung. Da die Größe des Ausgangspuffers für jede Untergruppe von Eingangsports entsprechend des Umfangs der Untergruppe festgelegt werden kann, können die Ausgangspuffer für die Untergruppen kleiner gewählt werden als der Ausgangspuffer, der für die gemeinsame Nutzung durch alle Eingangsport verwendet wurde. Dies bedeutet bei einer Gesamtgröße des Ausgangspuffers von N * N Adressen, dass pro Eingangsport ein Adressraum von N Adressen reserviert ist, der auch in der durch die vorliegende Erfindung beschriebenen Einrichtung für jeden Ausgangspuffer verwendet werden kann. In einer Ausführungsart, in der für jeden einzelnen Eingangsport ein eigener Ausgangspuffer vorgesehen ist, bedeutet dies, dass jeder derartige Ausgangspuffer N Adressen bieten würde.
  • Darüber hinaus würde durch Vervielfachung der Vermittlungs-Infrastruktur der Adressmanager nur einen N-mal kleineren Adressraum verarbeiten müssen und daher nur die Hälfte der Bits eines gewöhnlichen Adressmanagers verwenden. Die Ausgangswarteschlangen könnten ebenfalls kleiner, d. h. mit weniger Platzbedarf, ausgeführt werden. Die Vervielfachung würde somit letztendlich nicht zu einer tatsächlichen Vervielfachung in Bezug auf den Platzbedarf führen. Der oben erwähnte Vorteil der reduzierten Verdrahtungskomplexität wird somit nicht durch einen erhöhten Platzbedarf aufgrund der Verdopplung der Funktionsgruppen zunichte gemacht.
  • Die Frage ist, wie groß die Untergruppen zu wählen sind. Eine Untergruppe kann aus einem einzigen Eingangsport bestehen, woraus sich ein Ausgangspuffer pro Eingangsport ergibt. Eine andere Möglichkeit könnte darin bestehen, zwei Eingangsports zu einer Untergruppe zusammenzufassen, die sich dann ihren Ausgangspuffer teilen. Es können auch – je nach Zweckmäßigkeit – verschieden große Untergruppen gebildet werden, wie z. B. eine Untergruppe mit einem Eingangsport, eine weitere mit zwei Ports, eine weitere mit vier Ports. Es scheint am vorteilhaftesten zu sein, wenn alle Untergruppen dieselbe Größe aufweisen, weil das endgültige Layout dann einheitlich und weniger kompliziert ist. Die optimale Lösung scheint in einem Ausgangspuffer pro Eingangsport zu bestehen.
  • Die Verwendung eines gemeinsamen Schwellwertkomparators ist zur Vereinheitlichung des Füllgrades aller Ausgangswarteschlangen, die zu ein und demselben Ausgangsport gehören, von Vorteil, weil hierdurch der tatsächliche Verkehr zu diesem einen Ausgangsport gemessen und dazu verwendet wird, eine Rückmeldeinformation zu den Eingangswarteschlangen zu erzeugen, was zu einer effektiven Steuerung des Verkehrs in einer Konkurrenzsituation führt.
  • Die Verteilung der Rückmeldungen vom Schwellwertkomparator auf die Eingangswarteschlangen in einer selektiven Weise, d. h. nur auf diejenigen Eingangswarteschlangen, welche Datenpakete für den entsprechenden Ausgangsport enthalten, an dem die Überlastung auftrat, hat den Vorteil, dass kein unnötiger Blockiereffekt durch den Rückstau hervorgerufen wird. Hierdurch wird die Head-of-line-Blockierung selbst bei einer Konkurrenzsituation vermieden.
  • Die Erzeugung eines Rückstaus im Ausgangspuffer ist insofern zweckmäßig, als auf diese Weise der Verlust von Datenpaketen aufgrund eines vollen Ausgangspuffers vermieden wird.
  • Die Verarbeitung von Multicast-Datenpaketen könnte gelöst werden, indem die Nutzinformationen nur einmal im Ausgangspuffer gespeichert werden und dessen Adresse in die Ausgangswarteschlange jedes Ausgangsports eingetragen wird, an den das Datenpaket gerichtet ist. Es kann ein Zähler verwendet werden, der immer dann rückwärts gezählt wird, wenn die Adresse aus der Ausgangswarteschlange ausgelesen wird, und der, wenn er den Wert null erreicht, die Adresse zur weiteren Verwendung freigibt.
  • Verschiedene Eingangswarteschlangen zur Verarbeitung unterschiedlicher Prioritäten ermöglichen es, Datenpakete mit höherer Priorität an solchen mit niedrigerer Priorität vorbeizuleiten.
  • Weisen die Ausgangswarteschlangen mehr Warteschlangenplätze auf als der Ausgangspuffer Adressen enthält, kann eine ungleiche Verteilung zwischen den verschiedenen Eingangswarteschlangen ohne Verlust von Datenpaketen bewältigt werden. Eine ungleiche Gesamtverteilung könnte vollständig gepuffert werden, wenn jede Ausgangswarteschlange über so viele Warteschlangenplätze verfügt wie Adressen im entsprechenden Ausgangspuffer enthalten sind.
  • Eine Möglichkeit zur Behandlung von Multicast-Datenpaketen besteht darin, Kopien jedes zugeordneten Ausgangsports in der entsprechenden Eingangswarteschlange abzulegen und diese Kopien gleichzeitig zu multiplexen, wenn der Status des Ausgangsports dies zulässt.
  • Im Puffer 11 ist auch ein System realisierbar, welches nur die Header in der Warteschlange einreiht und die Nutzinformationen in einem separaten Speicherbereich ablegt, der auch als gemeinsamer Eingangspuffer bezeichnet wird. In einem solchen Fall müssen die Nutzinformationen eines Multicast-Datenpaketes nur einmal gespeichert werden, wodurch Speicherplatz eingespart wird.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Die Erfindung beschreibt eine Vermittlungseinrichtung für den Transport von Datenpaketen und ein Vermittlungsverfahren gemäß den entsprechenden Ansprüchen 1 und 13.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Beispiele der Erfindung sind in den Zeichnungen abgebildet und nachfolgend exemplarisch detailliert beschrieben.
  • 1 stellt eine Vermittlungseinrichtung mit einem Eingangspuffer und einem separaten Ausgangspuffer pro Eingangspuffer sowie einer Gruppe von Ausgangswarteschlangen pro Eingangspuffer dar.
  • 2 stellt eine Vermittlungseinrichtung mit einem Eingangspuffer und einem separaten Ausgangspuffer pro Eingangspuffer sowie nur einer Gruppe von Ausgangswarteschlangen dar.
  • Aus Gründen der Übersichtlichkeit sind in den Figuren weder reale Abmessungen dargestellt noch die Relationen zwischen den Abmessungen in einem realistischen Maßstab wiedergegeben.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden verschiedene exemplarische Ausführungsarten der Erfindung beschrieben.
  • In 1 ist eine Vermittlungseinrichtung mit Eingangspuffer zur Verarbeitung von Datenpaketen dargestellt. Die Einrichtung umfasst eine Vermittlungseinrichtung 10 mit einer Anzahl N Eingangsports 20 und einer Anzahl N Ausgangsports 30. An jedem der mit „IP" bezeichneten Eingangsports 20 ist ein mit „IB" bezeichneter Eingangspuffer 11 angeordnet. Jeder Eingangspuffer 11 umfasst einen Eingangscontroller 25, mit „Ctrl" bezeichnet, der seinerseits mit der Vermittlungseinrichtung 10 verbunden ist. Der Zweck besteht darin, die über die Kommunikationsleitungen 50 am Eingangspuffer 11 eingehenden Datenpakete, die bei einem oder mehreren der Ausgangsports 30 eintreffen sollen, zu diesen Ausgangsports 30 zu leiten. Von den Ausgangsports 30 können die Datenpakete an die nachfolgenden Vorrichtungen, seien es weitere Vermittlungs- oder Empfangsvorrichtungen usw., übergeben werden.
  • Die Datenpakete sind in einen Headerbereich und einen Nutzinformationsbereich des Datenpaketes aufgeteilt. Im Paketheaderbereich sind die Zielinformationen des Datenpakets enthalten, aus denen hervorgeht, an welchen der Ausgangsports 30 das betreffende Datenpaket zu übergeben ist. Hinsichtlich der Zielinformationen in einem Datenpaket gibt es zwei Arten von Datenpaketen: Unicast-Datenpakete und Multicast-Datenpakete. Bei einem Unicast-Datenpaket handelt es sich um ein Datenpaket mit lediglich einem der Ausgangsports 30 als Ziel. Im Gegensatz dazu hat ein Multicast-Datenpaket mehr als einen der Ausgangsports 30 zum Ziel. Ein Multicast-Datenpaket ist somit per Definition ein Datenpaket, dessen Nutzinformationen an mehrere Ausgangsports 30 gehen sollen. Im Nutzinformationsbereich eines Datenpaketes können alle Daten enthalten sein, die an das Ziel zu übergeben sind.
  • Die Eingangspuffer 11 sind jeweils aufgeteilt in eine Vielzahl von Eingangspufferwarteschlangen, d. h. jeder Eingangspuffer 11 weist exakt eine Eingangswarteschlange 12 für jeden Ausgangsport 30 auf. Somit umfasst jeder Eingangspuffer 11 hier N Eingangswarteschlangen 12. Jede dieser Eingangswarteschlangen 12 in einem Eingangspuffer 11 dient der Speicherung der eintreffenden Datenpakete für einen zugeordneten Ausgangsport 30 in diesem Eingangspuffer 11. Folglich werden die eintreffenden Datenpakete in jedem Eingangspuffer 11 entsprechend ihres Ziel-Ausgangsports 30 sortiert. Wenn ein an einen bestimmten Ausgangsport 30 gerichtetes Unicast-Datenpaket wegen einer Belegung dieses Ausgangsports 30 blockiert ist, werden durch diese von dem Unicast-Datenpaket verursachte Head-of-line-Blockierung nur diejenigen Datenpakete blockiert, die an denselben Ausgangsport 30 gerichtet sind; die an andere Ausgangsports 30 gerichteten Datenpakete können hingegen unabhängig davon verarbeitet und zur Vermittlungseinrichtung 10 weitergeleitet werden, wenn der Pfad zu ihrem Ziel-Ausgangsport 30 nicht belegt ist. Diese Sortierung nach Ziel wird auch als Virtual Output Queuing, kurz VOQ, bezeichnet. Die Vielzahl der Eingangswarteschlangen 12 zusammen wird ebenfalls als VOQ bezeichnet.
  • Zur Verteilung der auf der entsprechenden Kommunikationsleitung 50 eintreffenden Datenpakete auf die richtigen Eingangswarteschlangen 12 umfasst der Eingangspuffer 11 einen Demultiplexer 19, der auch als Eingangswarteschlangen-Router IQR bezeichnet wird. Für die Auswahl der Datenpakete aus den Eingangswarteschlangen 12 und deren Übergabe über den entsprechenden Eingangsport 20 an die Vermittlungseinrichtung 10 umfasst der Eingangspuffer 11 einen Multiplexer 21, der auch als Warteschlangen-Selektor QS bezeichnet wird. Der Multiplexer 21 wählt zu einem bestimmten Zeitpunkt eine der Eingangswarteschlangen 12 aus, nimmt ein Datenpaket aus dieser Eingangswarteschlange 12 auf und sendet es über seinen Eingangsport 20 an die Vermittlungseinrichtung 10. Der Auswahlprozess wird durch den Eingangscontroller 25 gesteuert, der seine Informationen hierfür von der Vermittlungseinrichtung 10 erhält. Zu einem bestimmten Zeitpunkt signalisiert der Eingangscontroller 25 dem Multiplexer 21, ob er ein Datenpaket an die Vermittlungseinrichtung 10 senden kann, und falls ja, von welcher Eingangswarteschlange 12 dieses Datenpaket zu seinem Ausgangsport 30 gesendet werden kann. Die Reihenfolge, in welcher die in den Warteschlangen befindlichen Datenpakete aus den verschiedenen Eingangswarteschlangen 12 abgerufen werden, wird vor allem von der Zugriffsmöglichkeit auf die Ausgangsports 30 bestimmt, d. h. von ihrem Belegungszustand. Befindet sich ein Ausgangsport 30 im Leerlauf, ist er zum Empfang eines Datenpaketes bereit und dies wird dem Eingangscontroller 25 signalisiert. Der Eingangscontroller 25 stellt den Arbiter dar für die Auswahl, welches Datenpaket zu welchem Zeitpunkt vom Eingangspuffer 12 an die Vermittlungseinrichtung 10 zu senden ist.
  • In einer anderen Anordnung mit einem gemeinsamen Ausgangspuffer würde unter den verschiedenen Eingangscontrollern 25 ein Schema anzuwenden sein, welches zwischen ihnen das Recht aufteilt, die in den Warteschlangen vorhandenen Datenpakete an die Vermittlungseinrichtung 10 zu senden. In der hier beschriebenen Anordnung besitzt jedoch jeder Eingangspuffer 11 seinen eigenen Eingangsrouter 13, der unabhängig von den anderen Eingangsroutern 13 arbeitet, und seinen eigenen Ausgangspuffer 35, der unabhängig von den anderen Ausgangspuffern 35 ist. Aufgrund der Aufteilung des Ausgangspuffers 35 und des Eingangsrouters 13 kann folglich jeder Eingangspuffer 11 unabhängig von den anderen Eingangspuffern 11 seine Datenpakete an den Ausgangspuffer 35 weiterleiten. Die einzige Abhängigkeit zwischen den verschiedenen Eingangspuffern 11 betrifft den nachfolgend erläuterten Rückstaumechanismus.
  • Multicast-Datenpakete können am Demultiplexer 19 verteilt werden, indem in jeder Eingangswarteschlange 12, deren entsprechender Ausgangsport 30 im Zielheader des Datenpakets vermerkt ist, ein Eintrag vorgenommen wird. Hier wird das Multicast-Datenpaket einfach kopiert und in jeder derartigen Warteschlange 12 eingereiht. Das bedeutet, dass jedes Multicast-Datenpaket, das an eine Anzahl von n verschiedenen Ausgangsports 30 gerichtet ist, kopiert und so in der Warteschlange eingereiht wird, dass n Kopien davon in dem Eingangspuffer 11 vorhanden sind, in dem das Datenpaket ankam. Auf Seiten des Multiplexers 21 kann das Prinzip, zu einem bestimmten Zeitpunkt nur ein Datenpaket abzurufen, dahingehend geändert werden, dass es bei Multicast-Datenpaketen zulässig ist, mehrere Kopien des Pakets auf einmal an die Vermittlungseinrichtung 10 zu senden. Mit anderen Worten, der durch das im Demultiplexer 19 stattfindende Kopieren und Verteilen eines Multicast-Datenpaketes entstandene Nachteil wird durch den Vorteil des Zusammenfassens mehrerer Pakete mit gleichen Nutzinformationen zu einem Weiterleitungsprozess im Multiplexer 21 ausgeglichen. Alternativ kann ein Multicast-Datenpaket in lediglich einer der Eingangswarteschlangen 12 oder in einer separaten Multicast-Warteschlange und nur einmal im Ausgangspuffer 35 gespeichert sowie zerstörungsfrei von dort ausgelesen werden, um an alle seine Ziel-Ausgangsports 30 übertragen zu werden.
  • Die Vermittlungseinrichtung 10 umfasst hier einen gemeinsamen Ausgangsrouter 14 und einen separaten Vermittlungsbereich 15 für jeden Eingangsport 20 mit seinem Eingangspuffer 11. Jeder derartige Vermittlungsbereich 15 umfasst einen Ausgangspuffer 35, einen Eingangsrouter 13, Ausgangswarteschlangen 18, einen Ausgangswarteschlangen-Router 17 und einen Adressmanager 16.
  • Jeder der Eingangspuffer 11 weist folglich seinen mit „IR" bezeichneten eigenen Eingangsrouter 13 auf, der über den zugehörigen Eingangsport 20 mit dem Eingangspuffer 11 verbunden ist. Auf der Ausgangsseite des Eingangsrouters 13 ist der mit „OB" bezeichnete Ausgangspuffer 35 angeordnet, der alle vom Eingangsrouter 13 kommenden Datenpakete aufnimmt. Die Ausgangsseite des Ausgangspuffers 35 führt zu dem mit „OR" bezeichneten gemeinsamen Ausgangsrouter 14. Die Router 13, 14 bieten hier für jeden Eingangsport 20 die Möglichkeit, ohne Blockierung jeden Ausgangsport 30 zu erreichen. Folglich kann jeder Eingangsport 20 zu jedem Zeitpunkt an jeden der Ausgangsports 30 ein Datenpaket senden, falls ein derartiges Datenpaket eintrifft.
  • Parallel zum Eingangsrouter 13 und Ausgangspuffer 35 sind der Ausgangswarteschlangen-Router 17 und die Ausgangswarteschlangen 18 angeordnet. Der Eingangsport 20 führt somit über den Ausgangswarteschlangen-Router 17 zu den Ausgangswarteschlangen 18 und von dort zum Ausgangsrouter 14. Ein mit „AM" bezeichneter Adressmanager 16 ist zwischen dem Ausgangsrouter 14 und dem Eingangsrouter 13 sowie zwischen dem Ausgangsrouter 14 und dem Ausgangswarteschlangen-Router 17 angeordnet. Für jeden Ausgangsport 30 ist eine mit „Q" bezeichnete Ausgangswarteschlange 18 angeordnet, welche das Eingangssignal für den Ausgangsrouter 14 liefert und das Eingangssignal vom Ausgangswarteschlangen-Router 17 erhält.
  • Alle Datenpakete von einem Eingangsport 20 werden über seinen Eingangsrouter 13 zu seinem Ausgangspuffer 35 geroutet. Der Adressmanager 16 versorgt den Eingangsrouter 13 mit der Information, an welcher Stelle im Ausgangspuffer 35, d. h. an welcher Adresse darin, die eintreffenden Datenpakete gespeichert werden sollen. Die Information, an welcher Adresse im Ausgangspuffer 35 jedes an einen bestimmten Ausgangsport 30 gerichtete Datenpaket gespeichert wird, wird über den Ausgangswarteschlangen-Router 17 in die Ausgangswarteschlange 18 geschrieben. Diese Information wird als Ordnungsinformation bezeichnet. Für jedes im Ausgangspuffer 35 gespeicherte Datenpaket wird eine derartige Ordnungsinformation an einer Stelle in der Ausgangswarteschlange 18 abgelegt, die zu demjenigen Ausgangsport 30 gehört, an den dieses Datenpaket gesendet werden soll. Diese Adressen sind dadurch anhand der zugehörigen Ausgangsports 30 sortiert, d. h. jener Ausgangsports 30, an welche die an den jeweiligen Adressen gespeicherten Datenpakete gerichtet sind. Die Sortierinformationen, in welcher der Ausgangswarteschlangen 18 die betreffende Adresse abzulegen ist, kann aus dem Eingangspuffer 11 abgeleitet werden, weil dort dasselbe Prinzip für die Warteschlangenbildung auf das gesamte Datenpaket angewendet wird. Die Einstellung des Warteschlangen-Selektors 21 kann daher für den Ausgangswarteschlangen-Router 17 verwendet werden.
  • Jeder Ausgangsport 30 kann daher die gespeicherten Adressen der Datenpakete abrufen, die von der entsprechenden Ausgangswarteschlange 18 am Ausgangsport 30 eintreffen sollen. Der Adressmanager 16 verarbeitet hier zu jedem Zeitpunkt gleichzeitig für jede Ausgangswarteschlange 18 eine Adresse. Dies bedeutet auch, dass für jeden Eingangsport 20 immer eine Adresse verfügbar gehalten wird, und dies kann bereits geschehen, bevor die betreffenden Datenpakete eintreffen. Jedes am Eingangsport 20 als vorderstes Paket der Warteschlage (Head-of-the-Line) eintreffende Datenpaket findet somit eine Adresse vor, wohin es durch den Eingangsrouter 13 zu übertragen ist.
  • Diese Adresse wird durch den Adressmanager 16 auch dem Ausgangswarteschlangen-Router 17 zur Verfügung gestellt, der als weitere Eingangsinformation Teile der Zielinformation des Datenpaketes als Maske dafür erhält, in welche Ausgangswarteschlange 18 die Reihenfolgeinformationen für alle eintreffenden Datenpakete einzutragen sind. Der Fall einer Nichtverfügbarkeit von Adressen wird später erörtert.
  • Für jedes eintreffende Datenpaket wird somit durch den Adressmanager 16 eine Adresse vergeben, an welcher dieses Datenpaket dann im Ausgangspuffer 35 gespeichert wird, wobei die Adresse an einer Stelle in der Ausgangswarteschlange 18 gespeichert wird, welche dem Ausgangsport 30 entspricht, an den das Datenpaket gerichtet ist. Die Informationen hierfür, d. h. die Zielinformationen des Datenpaketes, können aus dem Paketheader abgeleitet werden. Der Ausgangsrouter 14 dient der endgültigen Verteilung in der Weise, dass er für jeden Ausgangsport 30 die nächste Adresse aus der zugehörigen Ausgangswarteschlange 18 ausliest, das Datenpaket von dieser Adresse abruft und es dann an den Ausgangsport 30 weitergibt, der das Ziel dieses Datenpaketes ist.
  • Der Schritt des Abrufens kann ein zerstörungsfreier Leseprozess sein, der eine Verarbeitung von Multicast-Datenpaketen in der Weise ermöglicht, dass sie nur einmal im Ausgangspuffer 35 gespeichert, aber mehrmals gelesen werden, bis jeder Ausgangsport 30, der das Datenpaket erhalten muss, dieses auch erhalten hat. Nach dem Auslesen des Datenpaketes aus dem Ausgangspuffer 35 wird die betreffende Adresse in der Weise freigegeben, dass diese Adresse an den Adressmanager 16 zurückgegeben wird, der diese Adresse dem Eingangsport 20 für die Verarbeitung des nächsten eintreffenden Datenpaketes erneut zuweisen kann. Bei Multicast-Datenpaketen kann ein Zähler (in der Zeichnung nicht dargestellt) verwendet werden, der nach dem Speichern des Datenpaketes auf die Zahl von Ausgangsports 30 gesetzt wird, an die dieses Datenpaket zu senden ist, und der jedes Mal verringert wird, wenn das Datenpaket durch den Ausgangsrouter 14 abgerufen wird. Erreicht der Zähler den Wert null für dieses Datenpaket, kann die zugehörige Adresse zur Wiederverwendung freigegeben werden.
  • Zur Verarbeitung von Multicast-Datenpaketen kann für jede Speicherstelle ein Belegungszähler geführt werden. Diese Zähler werden mit dem Wert null initialisiert. Beim Eintreffen eines Datenpaketes stellt der Adressmanager eine freie Adresse bereit, falls eine solche verfügbar ist, und das Datenpaket wird an dieser Stelle gespeichert; andernfalls wird das ganze Datenpaket verworfen. Der zugehörige Belegungszähler wird auf die Anzahl von Zielen gesetzt, die vom Header des Datenpaketes gefordert ist. Die Adresse wird an jede VOQ angehängt, an die das Datenpaket gerichtet ist.
  • Wenn der Ausgangsrouter 30 eine Adresse ausgewählt hat, wird das zugehörige Datenpaket aus dem Speicher übertragen. Die Adresse selbst wird an den Adressmanager zurückgegeben, zusammen mit einem vom Ausgangsrouter 30 festgelegten Zählerstand, der die Anzahl von Zielen angibt, an die das Datenpaket im aktuellen Zyklus gerade übertragen wird. Der Adressmanager 16 reduziert den Belegungszähler um diese Zahl. Erreicht der Zähler den Wert null und zeigt damit an, dass das Datenpaket an alle seine Ziele übertragen wurde, wird die Adresse in den Pool freier Adressen zurückgegeben.
  • Im Falle von mehreren Vermittlungsbereichen 15, d. h. mehreren Gruppen von Ausgangswarteschlangen 18, könnte eine in der Zeichnung nicht dargestellte Ausgangswarteschlangen-Arbitrierungseinheit hinzugefügt werden, die bei einem einzelnen Ausgangsport 30 entscheidet, welche seiner zugeordneten Ausgangswarteschlangen 18 zu einem bestimmten Zeitpunkt ihren Eintrag an diesen bestimmten Ausgangsport 30 senden darf. Eine derartige Ausgangswarteschlangen-Arbitrierungseinheit kann auch so ausgelegt werden, dass sie für mehrere oder auch alle Ausgangsports 30 die Auswahl trifft.
  • Das Prinzip der gemeinsamen Nutzung des Ausgangspuffers 35 ist insofern eingeführt, als alle Ausgangswarteschlangen 18 zusammen mehr logische Speicherstellen aufweisen als der Ausgangspuffer 35 physikalische Adressen besitzt. Durch diese Maßnahme kann eine Asymmetrie in der Verteilung von Datenpaketen unter den Eingangswarteschlangen 12 gepuffert werden. Solange der gesamte Verkehr von Datenpaketen die reale maximale Kapazität des Ausgangspuffers 35 nicht überschreitet, nimmt die Leistungsfähigkeit zu, da die Anordnung in Bezug auf extreme Wechsel des Verkehrsmusters viel flexibler ist. Insbesondere stoßweiser Datenverkehr kann besser bewältigt werden, da die Wahrscheinlichkeit des Verlustes von Datenpaketen dadurch reduziert ist, dass eine Eingangswarteschlange 12 mehr Platz im Ausgangspuffer nutzen kann als sie durch die gleichberechtigte gemeinsame Nutzung erhalten würde.
  • Jeder Eingangsport 20 besitzt seinen eigenen Eingangspuffer 11 mit virtueller Ausgangsspeicherung, d. h. mit den Eingangswarteschlangen 12 für jede Ausgangswarteschlange 18 in jedem Eingangspuffer 11. Die Eingangspuffer 11 sind jeweils mit ihrem eigenen Eingangsrouter 13 verbunden. Jeder Eingangspuffer 11 besitzt ebenfalls seinen eigenen Eingangscontroller 25, der zur Steuerung der Reihenfolge ausgehender Datenpakete von den verschiedenen Eingangswarteschlangen 12 dieses Eingangspuffers 11 dient. Jeder Eingangscontroller 25 arbeitet unabhängig von den anderen Eingangscontrollern 25.
  • Die Unabhängigkeit der Eingangscontroller 25 voneinander reduziert die Komplexität aller Steuerungsressourcen erheblich. Jeder Eingangscontroller 25 muss hier lediglich die eintreffenden Datenpakete gemäß einer vordefinierten Entscheidungsrichtlinie verarbeiten, bei der es sich um einen zyklischen Betrieb (Round Robin), einen zyklischen Betrieb mit Gleichbehandlung und Vorrang-Verarbeitung nach Prioritätsebenen oder irgendeine andere Strategie wie OCF, FIFO, LRU oder Ähnliches handeln kann. Jeder der Eingangscontroller 25 entscheidet individuell, welches der von ihm gespeicherten Datenpakete er als nächstes an den Eingangsrouter 13 sendet.
  • Ein Rückmeldungsmechanismus ist angeordnet, der den Eingangspuffern 11 ein Signal sendet, wenn alle Ausgangswarteschlangen 18 eines bestimmten Ausgangsports 30 voll sind, d. h. ein bestimmter Schwellenwert für den Füllgrad aller Ausgangswarteschlangen 18 dieses Ausgangsports 30 überschritten worden ist. Daher ist hinter den Ausgangswarteschlangen ein mit „OQCT" bezeichneter Schwellwertkomparator 22 angeordnet, der alle Füllgrade der zu einem einzelnen Ausgangsport 30 gehörenden Ausgangswarteschlangen 18 erfasst. Der kumulierte Füllgrad ist das korrekte Maß für die Anzahl aller Datenpakete in der Vermittlungseinrichtung, die an einen bestimmten Ausgangsport 30 gerichtet sind. Diese kumulierte Anzahl muss folglich mit einem oder mehreren vorgegebenen Schwellenwerten verglichen werden, was in der Schwellenwert-Erfassungseinrichtung 22 für die Ausgangswarteschlangen erfolgt. Bei Überschreitung des Schwellenwertes wird das oben erwähnte Signal generiert und an den Eingangscontroller 25 gesendet.
  • Auf dieses Signal hin kann jeder Eingangscontroller 25 in der Weise reagieren, dass alle an diesen Ausgangsport 30 gerichteten Datenpakete nicht mehr aus den Eingangspuffern 11 gesendet werden, d. h., die Datenpakete aus den Eingangswarteschlangen 12, die an die belegte Ausgangswarteschlange 18 gerichtet sind, werden zurückgehalten, während die anderen Eingangswarteschlangen 12 weiterhin Datenpakete senden können.
  • Das Rückstauschema kann auch durch sein umgekehrtes Äquivalent ersetzt werden, d. h. es kann signalisiert werden, ob eine Ausgangswarteschlange 18 noch weitere Einträge aufnehmen kann.
  • Eine weitere Verbesserung kann erreicht werden, indem an die Eingangscontroller 25 ein Signal zurückgeschickt wird, das den Eingangscontrollern 25 detailliertere Informationen über den Füllgrad aller Ausgangswarteschlangen 18 liefert. Da das Ziel darin besteht, dass zu jedem Zeitpunkt an jedem Ausgangsport 30 ein Datenpaket an eine nachfolgende Stufe übergeben wird, kann die Information, dass die Gesamtheit der zu einem gemeinsamen Ausgangsport 30 gehörenden Ausgangswarteschlangen 18, im Weiteren als Gruppe von Ausgangswarteschlangen 18 bezeichnet, leer oder fast leer ist, an die Eingangscontroller 25 geschickt und dazu verwendet werden, dass vorzugsweise jene Datenpakete an die Eingangsrouter 13 gesendet werden, die an den betreffenden Ausgangsport 30 gerichtet sind. Die Statusinformation der Ausgangswarteschlangen 18 kann z. B. abgeleitet werden, indem man einen oder mehrere zusätzliche Schwellenwerte einführt, z. B. einen Schwellenwert bei einem Füllgrad von null oder nahe null. Eine leere oder fast leere Gruppe von Ausgangswarteschlangen 18 wird somit dem Eingangscontroller 25 gemeldet, der seine Richtlinie dann in der Weise anpassen sollte, dass eine Ausgangswarteschlange 18 dieser Gruppe so schnell wie möglich ein Datenpaket erhält. Die Einführung mehrerer derartiger Schwellenwerte ermöglicht eine fein abgestufte Statusmeldung an die Eingangscontroller 25, die diese Statusmeldung für jede der Gruppen der Ausgangswarteschlangen 18 dazu verwenden können, die Richtlinie der Gruppe für das Multiplexen der Datenpakete entsprechend zu beeinflussen. Die Statusmeldung fungiert somit als eine Art Gegensatz zum Rückstau und somit als Niedriglast-Alarmsignal oder als Rückkopplungssignal zur Planung der Lastmaximierung.
  • Das Rückstausignal kann hier selektiv an die Eingangspuffer 11 verbreitet werden, d. h., das aus den Ausgangswarteschlangen 18 eines bestimmten Ausgangsports 30 stammende Rückstausignal wird nur zu der entsprechenden Eingangswarteschlange 12 in den Eingangspuffern 11, bzw. Eingangswarteschlangen 12 bei mehreren Prioritäten, geleitet. Somit werden alle anderen Eingangswarteschlangen 12 durch diesen Rückstau nicht blockiert und können weiterhin ihre Datenpakete an die Ausgangspuffer 35 senden.
  • Da aufgrund der geringeren Anzahl von Verbindungsleitungen zwischen den Eingangspuffern 11 und der Vermittlungseinrichtung 10 die Eingangspuffer 11 physikalisch leichter von der Vermittlungseinrichtung 10 getrennt werden können, lassen sich die Eingangspuffer 11 mit preiswerteren Speicherchips realisieren, und somit kann die Größe ihrer Puffer in der Praxis viel größer gewählt werden als sie zum selben Preis bei den Ausgangspuffern 35 sein könnte. Somit stellen die endlichen Eingangspuffer 11 in diesem Schema eine bessere Annäherung an die theoretisch endlichen Eingangspuffer 11 dar.
  • Um eine korrekte Verarbeitung der Datenpakete zu erreichen, wird der Ausgangspuffer 35 auch um einen Mechanismus zur Steuerung des Datenpaketflusses ergänzt, der von einem (nicht dargestellten) Ausgangspuffer-Rückstaugenerator durchgeführt wird, welcher ein vom Ausgangspuffer 35 ausgehendes Signal erzeugt, das an dessen Eingangspuffer 11 gerichtet ist, wobei das Signal dem Eingangspuffer 11 anzeigt, dass der Ausgangspuffer 35 keine weiteren eintreffenden Datenpakete puffern kann und somit ein weiteres Senden von Datenpaketen des Eingangspuffers 11 an den Ausgangspuffer 35 so lange verhindert wird, bis der von dem Signal ausgelöste Rückstau nicht mehr vorhanden ist. Das Rückstausignal wird erzeugt, wenn die Anzahl der im Ausgangspuffer 35 gepufferten Datenpakete einen vordefinierten Schwellenwert überschreitet. Dieser Schwellenwert wird auf einen Wert unterhalb der tatsächlichen Größe des Ausgangspuffers 35 eingestellt, um noch jene Datenpakete puffern zu können, die möglicherweise in dem Zeitraum gesendet werden, den das Rückstausignal benötigt, um im Eingangspuffer 11 den Rückstau zu bewirken. Weil bei gemeinsamer Nutzung die Summe der Anzahl von Warteschlangenplätzen aller Ausgangswarteschlangen 18 in einem Vermittlungsabschnitt 15 größer ist als die Anzahl von Adressen im Ausgangspuffer 35, kann der Ausgangspuffer 35 voll gefüllt werden, obwohl keine Ausgangswarteschlange 18 ihren Schwellenwert für die darin gespeicherten Datenpakete erreicht. Somit weist der Ausgangspuffer 35 auch einen Schwellenwert für belegte Adressen auf, der, wenn er erreicht ist, die Erzeugung eines Speicher-ist-voll-Rückstausignals an den Eingangspuffer 11 bewirkt; in diesem Fall muss der Eingangspuffer 11 das Senden seiner Datenpakete über den Eingangsrouter 13 an den Ausgangspuffer 35 beenden. Sobald die Anzahl belegter Adressen unter den Schwellenwert sinkt, kann der normale Betrieb wieder aufgenommen werden. Der Mechanismus erzeugt immer dann einen Rückstau, wenn der Platz, der jedem einzelnen Ausgangspuffer 35 separat zur Verfügung gestellt wird, in diesem Ausgangspuffer 35 nicht mehr ausreicht.
  • Diese Anordnung ermöglicht es allen Eingangspuffern 11, ihre Datenpakete unabhängig voneinander über ihren Eingangsrouter 13 immer dann zu senden, wenn in der Ausgangswarteschlange 18 für dieses Datenpaket und im gemeinsamen Ausgangpuffer 35 noch ausreichend Platz dafür vorhanden ist, d. h. kein Rückstausignal generiert wurde.
  • Die Eingangspuffer 11 mit virtueller Ausgangsspeicherung können in der vorliegenden Erfindung auch unter Verwendung eines (nicht dargestellten) zusätzlichen gemeinsamen Eingangspuffers, mit oder ohne gemeinsame Nutzung, realisiert werden. Das bedeutet, dass die eintreffenden Datenpakete in dem gemeinsamen Eingangspuffer gespeichert werden können, während ihre darin enthaltenen Adressen in den Eingangswarteschlangen 12 gespeichert werden, sortiert nach den Ausgangsports 30, an welche diese Datenpakete gerichtet sind. Die Adressen stellen somit die Einträge für die Datenpakete dar, die in die Eingangswarteschlangen 12 eingetragen werden. Bei Multicast-Datenpaketen muss nur ein Eintrag im gemeinsamen Eingangspuffer vorgenommen werden, wobei ein Eintrag in jeder Eingangswarteschlange 12 vorgenommen wird, die zu einem Ausgangsport 30 gehört, an den das Datenpaket gerichtet ist. Dieser Eintrag in den Eingangswarteschlangen 12 ist ein Zeiger auf die Stelle, an der das Multicast-Datenpaket oder dessen Nutzinformation im gemeinsamen Eingangspuffer gespeichert ist. Diese Einträge sind somit bei Multicast-Datenpaketen identisch und da die Nutzinformation nur einmal gespeichert werden muss, wird Speicherplatz eingespart. Zur Implementierung der gemeinsamen Pufferung der Nutzinformationen können dieselben, hier nicht dargestellten, Elemente wie für den Ausgangspuffer 35 verwendet werden, d. h. ein Adressmanager und ein Eingangsrouter zur Übergabe der Nutzinformationen an den gemeinsamen Eingangspuffer. Der Demultiplexer 19 spielt eine ähnliche Rolle für die Eingangswarteschlangen 12 wie der Ausgangswarteschlangen-Router 17 für die Ausgangswarteschlangen 18.
  • Die Eingangspuffer 11 sind normalerweise in Form von Vermittlungsadaptern angeordnet, die auch als Eingangsadapter oder einfach als Adapter bezeichnet werden. In der vorgeschlagenen Erfindung erfordert die Skalierung der Einrichtung, auch als Vermittlungsstruktur bezeichnet, von z. B. 16 × 16, d. h. 16 Eingangsports 20 × 16 Ausgangsports 30, auf 32 × 32 lediglich die Änderung der Warteschlangenstruktur aller Adapter, jedoch nicht die Änderung der Eingangspuffer 11 auf den Adaptern. Bei entsprechender Berücksichtigung dieses Sachverhalts bedeutet dies, dass die tatsächliche Anzahl von verketteten Listen zur Verwaltung dieses Eingangspuffers 11 als Ansammlung von Eingangswarteschlangen 12 programmierbar sein sollte. In jedem Fall verändert sich die Komplexität auf dem Eingangsadapter in der Größenordnung von N, d. h. eine Verdopplung der Ziele bedeutet eine Verdopplung der Anzahl von Eingangswarteschlangen 12 und Ausgangswarteschlangen 18. Bei einer klassischen VOQ-Anordnung erfordert die Verdopplung der Anzahl von Eingangsports 20 und Ausgangsports 30 der Vermittlungseinrichtung eine quadratische Zunahme der Anfragen, d. h. 16 × 16 Steuerungsmittel erhalten 256 Anforderungen und 32 × 32 Steuerungsmittel erhalten 1024 Anforderungen.
  • Eine weitere Ausführungsart der Erfindung ist in 2 dargestellt. Sie unterscheidet sich von der oben beschriebenen Ausführungsart darin, dass der Adressmanager 16, der Ausgangswarteschlangen-Router 17 und die Ausgangswarteschlangen 18 von den Eingangsports 20 gemeinsam genutzt werden. Dies bedeutet, dass, obwohl jeder der Eingangsports 20 seinen eigenen Eingangsrouter 13 und Ausgangspuffer 35 aufweist, es nur eine Gruppe von Ausgangswarteschlangen 18 gibt, die über einen gemeinsamen Ausgangswarteschlangen-Router gefüllt werden, welcher seine Eingangsinformationen von dem einen Adressmanager 16 und von jedem der Eingangspuffer 11 erhält. Die Ausgangswarteschlangen 18 übergeben ihre Füllgradsignale an die Eingangscontroller 25, wo im Falle einer Konkurrenzsituation der Ausgangswarteschlangen ein Rückstausignal generiert wird. Ein Rückstausignal kann wiederum durch den oben beschriebenen Zuteilungsmechanismus ersetzt werden. Der OQCT 22 ist hier nicht mehr erforderlich, da das Aufaddieren der verschiedenen Füllgrade nicht nötig ist. Der Adressmanager 16 übergibt seine Adressen nacheinander an alle Eingangsrouter 13. Selbstverständlich verwaltet dieser Adressmanager 16 die Adressen aller Ausgangspuffer 15 und erhält somit vom Ausgangsrouter 14 die Rückmeldung, welche Adressen wieder verwendet werden können. Der Ausgangsrouter liefert in diesem Fall nicht nur Informationen über eine Adresse an den Adressmanager 16, sondern auch die Identität des zugehörigen Ausgangsrouters 35. Alternativ kann der Adressraum aller Ausgangspuffer 35 zusammen so eingestellt werden, dass keine Adresse zweimal erscheint. Dann ist keine Verwaltung mehrerer sich überlappender Adressräume notwendig. Der Adressmanager kann sofort die nächste zu verwendende Adresse an alle Eingangsrouter 13 senden, wobei jeder Eingangsrouter 13 erkennt, ob es sich bei der eintreffenden Adresse um eine Adresse handelt, die von ihm verwendet werden kann, oder ob diese Adresse von einem anderen Eingangsrouter 13 verwendet werden soll. Diese Ausführungsart kann auch in der Weise abgeändert werden, dass jede Anordnung zwischen der gerade beschriebenen Ausführungsart mit nur einer Gruppe von Ausgangswarteschlangen 18 und der zuerst beschriebenen Ausführungsart mit einer solchen Gruppe von Ausgangswarteschlangen 18 für jeden der Eingangsports 20 verwendet werden kann. Somit können zwei oder mehrere Eingangsports 20 einen Adressmanager 16, einen Ausgangswarteschlangen-Router 17 und die Ausgangswarteschlangen 18 gemeinsam nutzen.
  • Die Leistungsfähigkeit der Vermittlungseinrichtung kann auf verschiedene Weise erhöht werden. Zur Erhöhung der Anzahl von Ein- und Ausgangsports kann die Vermittlungseinrichtung in ein- oder mehrstufiger Anordnung ausgeführt werden. Bei einer mehrstufigen Einrichtung steigt die Anzahl benötigter Vermittlungsanordnungen langsamer als in einer vergleichbaren einstufigen Einrichtung, d. h. mit steigender Anzahl von Ports benötigt eine mehrstufige Einrichtung weniger Vermittlungseinrichtungen als eine einstufige Einrichtung.
  • Jedoch ist die Leistungsfähigkeit einer mehrstufigen Anordnung wegen der erhöhten Latenzzeit und der Möglichkeit des Rückstaus aufgrund einer durch eine Verbindung voll ausgelasteten Ausgangswarteschlange geringer, was die Verarbeitung von Datenpaketen mit anderen Zielen oder die restlose Verwendung des Paketspeichers verhindert, wodurch alle Eingangsports der Vermittlungseinrichtung blockiert werden und diese Blockierung sich auf die vorangehende Stufe ausbreitet. Diese geringere Leistungsfähigkeit kann bis zu einem gewissen Grad durch einen Beschleunigungsfaktor kompensiert werden. Das bedeutet, dass die Vermittlungseinrichtung mit höherer Geschwindigkeit läuft als ihre Umgebung. Dann wird hinter der Vermittlungseinrichtung ein Ausgangspuffer zur Einreihung der schneller eintreffenden Datenpakete benötigt, die von der letzten Stufe ausgesendet werden und der nachfolgenden Hardwareumgebung mit langsamerer Geschwindigkeit übergeben werden müssen. Eine andere Möglichkeit besteht in der Vergrößerung des internen Speichers der Vermittlungseinrichtung, sodass die Wahrscheinlichkeit einer totalen Auslastung geringer ist. Ein derartiger größerer Speicher ist jedoch extrem kostspielig und in gewissem Umfang auch physikalisch begrenzt. Durch die Vergrößerung des Speichers der Vermittlungseinrichtung mittels einer Speichererweiterung wird das Erreichen der physikalischen Grenze vermieden, die Vergrößerung ist jedoch trotzdem kostspielig. Wenn in einer mehrstufigen Einrichtung eine nachfolgende Vermittlungseinrichtung belegt ist (Ausgangsspeicher voll, d. h. keine verfügbare Adresse vorhanden oder die Ausgangswarteschlange voll), kann für alle Eingangsports ein Rückstausignal generiert werden, welches wiederum an alle vorangehenden Vermittlungseinrichtungen übertragen wird. Im Falle von vollen Ausgangswarteschlangen kann das Rückstausignal selektiv nur Datenpakete blockieren, die an die volle Ausgangswarteschlange gerichtet sind. Im Falle eines vollen Ausgangspuffers müssen alle Eingangspuffer blockiert werden. Das Rückstausignal blockiert die vorangehende Vermittlungseinrichtung in der Weise, dass diese Vermittlungseinrichtung keine weiteren Zellen senden kann.
  • Die in der vorliegenden Erfindung vorgestellte Vermittlungseinrichtung ist mit Hilfe eines der bekannten Erweiterungsverfahren skalierbar, z. B. mit dem aus der PRIZMA-Architektur bekannten Verfahren, das in der Beschreibung des Standes der Technik oben erwähnt ist. Somit sind die Erhöhung der Geschwindigkeit, die Erhöhung der Anzahl an Ports, die Parallelisierung der Verbindungen und schließlich Kombinationen dieser Verfahren anwendbar. Die beschriebenen Ausführungsarten sind teilweise oder vollständig kombinierbar, um eine geeignete Vermittlungseinrichtung zu erhalten, in der Vermittlungsgeschwindigkeit, geringe Latenzzeit, hoher Durchsatz und geringe Komplexität von Verdrahtung und Schaltungen vereint sind.
  • In den Ansprüchen wird zwischen dem Fall, bei dem mehrere Ausgangspuffer gemeinsam eine Gruppe von Ausgangswarteschlangen 18, einen Ausgangswarteschlangen-Router 17 und einen Adressmanager 16 nutzen, und dem Fall, bei dem jeder Ausgangspuffer 35 seine eigene Gruppe von Ausgangswarteschlangen 18 sowie einen eigenen Ausgangswarteschlangen-Router 17 und Adressmanager 16 aufweist, unterschieden, indem beide Formen angegeben werden, d. h. Einzahl und Mehrzahl der Ausgangspuffer 35.

Claims (16)

  1. Vermittlungseinrichtung zum Transport von Datenpaketen, die Informationen über das Ziel des Datenpaketes und Nutzinformationen umfassen, wobei die Datenpakete über einen oder mehrere Eingangsports (20) einer Vermittlungsvorrichtung (10) an einen oder mehrere ihrer Ausgangsports (30) gerichtet sind und die Vermittlungsvorrichtung (10) die eintreffenden Datenpakete gemäß den Datenpaketziel-Informationen an mindestens einen der zugeordneten Ausgangsports (30) routen kann, und wobei die Gesamtzahl aller Eingangsports (20) in Untergruppen von Eingangsports (20) aufgeteilt ist, jede Untergruppe mindestens einen Eingangsport (20) umfasst und die Vermittlungseinrichtung dadurch gekennzeichnet ist, dass sie Folgendes umfasst: – an jedem Eingangsport (20) einen Eingangspuffer (11) mit mindestens so vielen Eingangswarteschlangen (12) wie die Vermittlungseinrichtung Ausgangsports (30) aufweist, wobei die Eingangswarteschlangen (12) dazu dienen, die eintreffenden Datenpakete anhand ihres mindestens einen zugeordneten Ausgangsports (30) zu sortieren; und – einen Eingangscontroller (25) für jeden Eingangsport (20), der zur Steuerung der Reihenfolge dient, in der die Datenpakete von den Eingangswarteschlangen (12) über den Eingangsport (20) auf die Vermittlungsvorrichtung (10) gemultiplext werden; – in der Vermittlungsvorrichtung (10) für jede Untergruppe von Eingangsports (20) einen separaten Ausgangspuffer (35), an dessen Adressen mindestens die Nutzinformation der Datenpakete gespeichert wird, die an diesem Eingangsport (20) eintreffen; und – in der Vermittlungsvorrichtung (10) mindestens eine Gruppe aus so vielen Ausgangswarteschlangen (18) wie die Vermittlungseinrichtung Ausgangsports (30) aufweist, in der, sortiert nach den Datenpaketziel-Informationen, mindestens die Adresse jeder dieser im Ausgangspuffer (35) gespeicherten Nutzinformationen gespeichert ist; – einen Ausgangsrouter (14) zur Übergabe der gespeicherten Nutzinformationen aus dem Ausgangspuffer (35) an ihren mindestens einen zugeordneten Ausgangsport (30) unter Verwendung der gespeicherten Adressen.
  2. Vermittlungseinrichtung nach Anspruch 1, die des Weiteren einen Schwellwertkomparator (22) für Ausgangswarteschlangen umfasst, welcher den Eingangspuffern (11) signalisiert, wenn ein Schwellenwert für belegte Plätze in der Gesamtheit aller Ausgangswarteschlangen (18), die zu einem gemeinsamen Ausgangsport (30) gehören, überschritten wurde.
  3. Vermittlungseinrichtung nach Anspruch 2, dadurch gekennzeichnet, dass bei einem Signal vom Schwellwertkomparator (22), dem zufolge der Schwellenwert belegter Plätze in der Gesamtheit aller Ausgangswarteschlangen (18), die zu einem gemeinsamen Ausgangsport (30) gehören, überschritten wurde, die Eingangspuffer (11) so ausgelegt sind, dass nur die Eingangswarteschlange (12), welche zu dem gemeinsamen Ausgangsport (30) gehört, daran gehindert wird, ihre Datenpakete an den gemeinsamen Ausgangsport (30) zu übergeben.
  4. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 3, die des Weiteren für jeden Ausgangspuffer (35) einen Ausgangspuffer-Rückstaugenerator umfasst, der den Eingangspuffern (11) der Untergruppe von Eingangports (20), die zu dem Ausgangspuffer (35) gehören, signalisiert, dass ein Schwellenwert belegter Adressen im Ausgangspuffer (35) überschritten wurde.
  5. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 4, die des Weiteren mindestens einen Adressmanager (16) zur Verwaltung der Verwendung der Adressen des oder der Ausgangspuffer (35) umfasst und mindestens einen Ausgangswarteschlangen-Router (17), um die Adressen, an denen die Datenpakete in dem oder den Ausgangspuffern (35) gespeichert sind, in die Ausgangswarteschlangen (18) einzutragen.
  6. Vermittlungseinrichtung nach Anspruch 5, dadurch gekennzeichnet, dass bei einem Multicast-Datenpaket dessen Adresse in jede der Ausgangswarteschlangen (18) für die Ausgangsports (30) eingetragen werden kann, die das Multicast-Datenpaket erreichen soll, und dass die Adresse nur dann vom Adressmanager (16) zur Verwendung für ein anderes Datenpaket freigegeben werden kann, wenn alle Einträge des Multicast-Datenpaketes erfolgreich dazu verwendet wurden, das Multicast-Datenpaket an seine zugeordneten Ausgangsports (30) zu übergeben.
  7. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass bei Datenpaketen mit unterschiedlichen Verarbeitungsprioritäten für jede Prioritätsklasse und für jeden Ausgangsport (30) eine separate Eingangswarteschlange (12) im Eingangspuffer (11) bereitgestellt wird.
  8. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass in den Ausgangswarteschlangen (18) insgesamt mehr Warteschlangenplätze für Adressen bereitgestellt werden als die entsprechenden Ausgangspuffer (35) Adressen aufweisen.
  9. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 8, die zur Übergabe mindestens der Nutzinformation von den Ausgangspuffern (35) an die Ausgangsports (30) einen gemeinsamen Ausgangsrouter (14) umfasst, der alle Ausgangspuffer (35) mit allen Ausgangsports (30) verbindet.
  10. Vermittlungseinrichtung nach einem der Ansprüche 1 bis 9, die einen Demultiplexer (19) umfasst, um für jedes der eintreffenden Datenpakete einen Eintrag in denjenigen Eingragswarteschlangen (12) vorzunehmen, die in den Informationen über das Ziel des jeweiligen Datenpaketes angegeben sind, wobei jeder Eingangscontroller (25) so ausgelegt ist, dass er die gleichzeitige Übertragung derjenigen Datenpakete ermöglicht, deren Einträge in verschiedenen Eingangswarteschlangen (12) zu finden sind und die identische Nutzinformationen enthalten.
  11. Vermittlungseinrichtung nach Anspruch 10, dadurch gekennzeichnet, dass jeder Eintrag mindestens die Nutzinformation des entsprechenden Datenpaketes oder einen Zeiger auf eine Speicherzelle umfasst, in der zumindest die Nutzinformation des entsprechenden Datenpaketes gespeichert ist, wobei sich die Speicherzelle vorzugsweise in einem gemeinsamen Eingangspuffer befindet.
  12. Vermittlungseinrichtung nach Anspruch 11, dadurch gekennzeichnet, dass für den Fall, dass es sich bei dem Datenpaket um ein Multicast-Datenpaket handelt, der Demultiplexer (19) so ausgelegt ist, dass er mehrere Einträge in den Eingangswarteschlangen (12) vornimmt und nur einen Eintrag von dessen Nutzinformation in einer Speicherzelle.
  13. Vermittlungsverfahren für Datenpakete, die von einem Eingangspuffer (11) über einen oder mehrere Eingangsports (20) einer Vermittlungsvorrichtung (10) an einen oder mehrere ihrer Ausgangsports (30) gerichtet sind, wobei die Gesamtzahl aller Eingangsports (20) in Untergruppen von Eingangsports (20) aufgeteilt ist, jede Untergruppe mindestens einen der Eingangsports (20) umfasst und das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst: – Sortieren der Datenpakete nach ihrem mindestens einen zugeordneten Ausgangsport (30) an jedem Eingangsport (20) in Eingangswarteschlangen (12) eines Eingangspuffers (11), der mindestens so viele Eingangswarteschlangen (12) umfasst wie die Vermittlungsvorrichtung (10) Ausgangsports (30) aufweist; – Multiplexen der Datenpakete von den Eingangswarteschlangen (12) auf die Vermittlungsvorrichtung (10); – Speichern zumindest der Nutzinformation jedes am Eingangsport (20) eintreffenden Datenpaketes auf Adressen in einem separaten Ausgangspuffer (35), der pro Untergruppe der Eingangsports (20) in der Vermittlungsvorrichtung (10) vorhanden ist; – Speichern zumindest der Adresse, sortiert nach den Datenpaketziel-Informationen, jeder im Ausgangspuffer (35) gespeicherten Nutzinformation in Ausgangswarteschlangen (18), die mindestens einmal in der Vermittlungsvorrichtung (10) vorhanden sind; – Übergeben der gespeicherten Nutzinformation vom Ausgangspuffer (35) über einen Ausgangsrouter (14) an ihren mindestens einen zugeordneten Ausgangsport (30) unter Verwendung der gespeicherten Adressen.
  14. Vermittlungsverfahren nach Anspruch 13, das den Schritt umfasst, in dem an die Eingangspuffer (11) signalisiert wird, wenn ein Schwellenwert belegter Plätze in der Gesamtheit aller Ausgangswarteschlangen (18), die zu einem gemeinsamen Ausgangsport (30) gehören, überschritten wurde.
  15. Vermittlungsverfahren nach Anspruch 13 oder 14, dadurch gekennzeichnet, dass bei einem Signal, dem zufolge der Schwellenwert belegter Plätze in der Gesamtheit aller Ausgangswarteschlangen (18), die zu einem gemeinsamen Ausgangsport (30) gehören, überschritten wurde, in den Eingangspuffern (11) nur diejenige Eingangswarteschlange (12), welche zu dem gemeinsamen Ausgangsport (30) gehört, so lange daran gehindert wird, ihre Datenpakete an den gemeinsamen Ausgangsport (30) zu übergeben, bis die Anzahl belegter Plätze abgenommen hat.
  16. Vermittlungsverfahren nach einem der Ansprüche 13 bis 15, das den Schritt umfasst, in dem an die Eingangspuffer (11) einer Untergruppe von Eingangsports (20) signalisiert wird, dass ein Schwellenwert belegter Adressen im entsprechenden Ausgangspuffer (35) überschritten wurde.
DE60119866T 2000-09-27 2001-09-08 Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern Expired - Lifetime DE60119866T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00121004 2000-09-27
EP00121004 2000-09-27

Publications (2)

Publication Number Publication Date
DE60119866D1 DE60119866D1 (de) 2006-06-29
DE60119866T2 true DE60119866T2 (de) 2007-05-10

Family

ID=8169953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60119866T Expired - Lifetime DE60119866T2 (de) 2000-09-27 2001-09-08 Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern

Country Status (3)

Country Link
US (1) US7145873B2 (de)
JP (1) JP4006205B2 (de)
DE (1) DE60119866T2 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7061868B1 (en) * 2000-10-25 2006-06-13 Switchcore, Ab Method for flow control in a switch and a switch controlled thereby
EP1364552B1 (de) * 2001-02-28 2006-08-30 International Business Machines Corporation Vermittlungsanordnung und -verfahren mit getrennten ausgangspuffern
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
US7319670B2 (en) * 2003-02-08 2008-01-15 Hewlett-Packard Development Company, L.P. Apparatus and method for transmitting data to a network based on retransmission requests
US7366166B2 (en) * 2003-04-25 2008-04-29 Alcatel Usa Sourcing, L.P. Data switching using soft configuration
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7894343B2 (en) * 2003-06-19 2011-02-22 Polytechnic University Packet sequence maintenance with load balancing, and head-of-line blocking avoidance in a switch
US7852829B2 (en) * 2003-06-19 2010-12-14 Polytechnic University Packet reassembly and deadlock avoidance for use in a packet switch
US7724738B2 (en) * 2003-06-19 2010-05-25 Hung-Hsiang Jonathan Chao Packet-level multicasting
US20050036502A1 (en) * 2003-07-23 2005-02-17 International Business Machines Corporation System and method for handling multicast traffic in a shared buffer switch core collapsing ingress VOQ's
US20050047363A1 (en) * 2003-08-25 2005-03-03 Sam Shiaw-Shiang Jiang Method and apparatus of controlling data delivery in a wireless communication system for digesting data units outside a reconfigured transmitting window and a reconfigured receiving window
US20060013135A1 (en) * 2004-06-21 2006-01-19 Schmidt Steven G Flow control in a switch
US7742486B2 (en) * 2004-07-26 2010-06-22 Forestay Research, Llc Network interconnect crosspoint switching architecture and method
US8050280B2 (en) 2004-12-02 2011-11-01 Electronics And Telecommunications Research Institute Efficient switching device and method for fabricating the same using multiple shared memories
KR100641633B1 (ko) 2004-12-02 2006-11-06 한국전자통신연구원 다수의 공유 저장장소를 이용한 효율적인 스위칭 장치 및그 방법
US8559443B2 (en) 2005-07-22 2013-10-15 Marvell International Ltd. Efficient message switching in a switching apparatus
US9015375B2 (en) * 2006-04-11 2015-04-21 Sigmatel, Inc. Buffer controller, codec and methods for use therewith
US20080219669A1 (en) * 2007-03-05 2008-09-11 Futurewei Technologies, Inc. SDH/SONET Convergent Network
KR100899526B1 (ko) 2007-09-07 2009-05-27 삼성네트웍스 주식회사 다중 프로세서 기반의 패킷 처리 장치 및 방법
US20090141711A1 (en) * 2007-11-26 2009-06-04 Washington State University Research Foundation Interleaved Multistage Switching Fabrics And Associated Methods
DE112009000879T5 (de) * 2008-04-17 2011-02-24 Magna Closures Inc., Newmarket Selbstnachstellmechanismus für Parkbremsbaugruppe
US9059915B2 (en) 2012-08-31 2015-06-16 Cisco Technology, Inc. Multicast replication skip
US8958329B2 (en) 2012-11-20 2015-02-17 Cisco Technology, Inc. Fabric load balancing
CN103841055A (zh) * 2012-11-22 2014-06-04 西安邮电大学 Odu2数据顺序重排电路
US10122645B2 (en) * 2012-12-07 2018-11-06 Cisco Technology, Inc. Output queue latency behavior for input queue based device
US9628406B2 (en) 2013-03-13 2017-04-18 Cisco Technology, Inc. Intra switch transport protocol
US9860185B2 (en) 2013-03-14 2018-01-02 Cisco Technology, Inc. Intra switch transport protocol
US20150071299A1 (en) * 2013-09-11 2015-03-12 Gary Richard Burrell Methodology to increase buffer capacity of an ethernet switch
CN104717159A (zh) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 一种基于存储转发交换结构的调度方法
US10097874B2 (en) * 2014-06-27 2018-10-09 Qualcomm Incorporated System and method for monitoring media stream buffers of media output devices in order to synchronize media content output
US10270713B2 (en) * 2014-12-16 2019-04-23 Oracle International Corporation Scheduling packets with multiple destinations in a virtual output queue network switch
TWI649991B (zh) * 2015-09-25 2019-02-01 日商日本電氣股份有限公司 資料通信裝置、資料通信控制方法及程式
CN109660463A (zh) 2017-10-11 2019-04-19 华为技术有限公司 一种拥塞流识别方法及网络设备
US11812115B2 (en) * 2019-02-27 2023-11-07 British Telecommunications Public Limited Company Multicast assisted delivery
GB2598295B (en) 2020-08-19 2023-02-22 British Telecomm Content delivery

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69031220T2 (de) 1990-12-20 1998-02-12 Ibm Hochgeschwindigkeitsmultiport-FIFO-Pufferschaltung
JPH08288965A (ja) * 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
EP0748087A1 (de) 1995-06-09 1996-12-11 International Business Machines Corporation Zugriffsteuerungssystem eines gemeinsamen Pufferspeichers
JP2827998B2 (ja) 1995-12-13 1998-11-25 日本電気株式会社 Atm交換方法
KR100309311B1 (ko) * 1996-07-09 2001-11-30 포만 제프리 엘 스위칭디바이스,방법및장치
JPH10126419A (ja) 1996-10-23 1998-05-15 Nec Corp Atm交換機システム
US6249524B1 (en) * 1997-03-19 2001-06-19 Hitachi, Ltd. Cell buffer memory for a large capacity and high throughput ATM switch
JP4266403B2 (ja) * 1998-02-18 2009-05-20 キヤノン株式会社 通信システム及びその制御方法
JP3866425B2 (ja) * 1998-11-12 2007-01-10 株式会社日立コミュニケーションテクノロジー パケットスイッチ
CA2337674A1 (en) * 2000-04-20 2001-10-20 International Business Machines Corporation Switching arrangement and method
US6977941B2 (en) * 2000-11-08 2005-12-20 Hitachi, Ltd. Shared buffer type variable length packet switch

Also Published As

Publication number Publication date
US7145873B2 (en) 2006-12-05
US20020118689A1 (en) 2002-08-29
JP2002141948A (ja) 2002-05-17
JP4006205B2 (ja) 2007-11-14
DE60119866D1 (de) 2006-06-29

Similar Documents

Publication Publication Date Title
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE60214341T2 (de) Vermittlungsanordnung und -verfahren mit getrennten ausgangspuffern
DE60120807T2 (de) Schaltvorrichtung und Verfahren
DE69733703T2 (de) Puffer von Mehrfachsendezellen in Vermittlungsnetzen
DE69726995T2 (de) Mehrfachsende-Leitweglenkung in mehrstufigen Netzen
DE69737361T2 (de) Schnelle vermittlungsvorrichtung
DE602005002452T2 (de) Vermittlung für integrierte Telekommunikationssnetzwerke
DE10196447B4 (de) Verfahren und Vorrichtung zum Verringern der Erschöpfung des Pools in einer Vermittlung mit gemeinsam genutztem Speicher
DE60036031T2 (de) Zuweisung von prioritätsstufen in einem datenfluss
DE69634857T2 (de) Ablaufsteuerung für eine informationspaketvermittlung
DE69915704T2 (de) Ampic dram
DE69917555T2 (de) Vermittlungseinrichtung mit mehrstufiger Warteschlangeschema
DE69637462T2 (de) ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen
DE69908821T2 (de) Datenvermittlungsverfahren und -vorrichtung
DE69432655T2 (de) Verbesserungen in ATM-Nachrichtensystemen
DE112006000282B4 (de) Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem
DE3752370T2 (de) Vermittlungssystem
DE69834823T2 (de) Paketvermittlungsvorrichtung und -verfahren mit zentraler Speicherarchitektur
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE60031596T2 (de) Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE19757966A1 (de) ATM-Schalter-Warteschlangensystem
DE4020775A1 (de) Koppelnetz und koppelnetzmodul fuer ein atm-system
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)