DE112006000282T5 - Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem - Google Patents

Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem Download PDF

Info

Publication number
DE112006000282T5
DE112006000282T5 DE112006000282T DE112006000282T DE112006000282T5 DE 112006000282 T5 DE112006000282 T5 DE 112006000282T5 DE 112006000282 T DE112006000282 T DE 112006000282T DE 112006000282 T DE112006000282 T DE 112006000282T DE 112006000282 T5 DE112006000282 T5 DE 112006000282T5
Authority
DE
Germany
Prior art keywords
multipoint
data
switching module
switching
connections
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.)
Granted
Application number
DE112006000282T
Other languages
English (en)
Other versions
DE112006000282B4 (de
Inventor
Anujan Santa Clara Varma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112006000282T5 publication Critical patent/DE112006000282T5/de
Application granted granted Critical
Publication of DE112006000282B4 publication Critical patent/DE112006000282B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/68Grouping or interlacing selector groups or stages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • 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

Abstract

Mehrstufiges Schaltsystem, das aufweist:
wenigstens ein Eingangsschaltmodul, um Datenpakete zu empfangen, aus den Datenpaketen Frames zu erzeugen und aus den Frames wellenlängenmultiplexierte Signale zu bilden;
ein Kernschaltmodul, das betrieblich so verbunden ist, daß es das wellenlängenmultiplexierte Signal von dem wenigstens einen Eingangsschaltmodul empfängt und die Frames schaltet; und
wenigstens ein Ausgangsschaltmodul, um das wellenlängenmultiplexierte Signal von dem Kernschaltmodul zu empfangen, die Datenpakete herauszuziehen und die Datenpakete zu senden,
wobei das wenigstens eine Eingangsschaltmodul und das wenigstens eine Ausgangsschaltmodul in der Lage sind, Datenpakete für Mehrpunktverbindungen zu kopieren.

Description

  • HINTERGRUND
  • Bauteile für Teilstreckenverfahren (Store and Forward) (z.B. Schaltsyteme und Router) werden in Paket-Netzwerken, so wie dem Internet, für den direkten Verkehr an Verbindungspunkten eingesetzt. Diese Schaltsysteme und Router umfassen Switching Fabrics, die im Be reich von einem einfachen Bus-basierten Fabric zu einem Fabric basierend auf Cross Bar (oder Kreuzungspunkt)-Schaltbauteilen sind. Die Auswahl des Fabric hängt von den Gestaltungsparametern und den Anforderungen des Schaltsystems oder des Routers ab, so wie der Portrate, der maximalen Anzahl von Ports in dem System, Leistungsanforderungen, Anforderungen bezüglich der Zuverlässigkeit/Verfügbarkeit, Einschränkungen beim Packen usw. Auf Cross Bars basierende Fabrics sind für hochleistungsfähige Router und Schaltsysteme wegen ihrer Fähigkeit, für hohe Schaltdurchsätze zu sorgen, die bevorzugte Wahl.
  • Ein typisches Schaltsystem oder ein Router enthält einen Satz Schnittstellen oder Ports, von denen jede(r) mit einer externen Verbindung verbunden ist. Die Schnittstellen befinden sich im allgemeinen auf einem Satz Schaltkarten, die „Leitungskarten" oder „Port-Schnittstellen-Karten" genannt werden. Ein Paket, das von einer externen Verbindung ankommt, läuft zunächst durch eine Port-Schnittstelle in der Leitungskarte. Die Port-Schnittstelle kann ein Framer, ein Mediumzugang-Steuerbauteil usw. sein. Das Paket wird dann in einer Paketprozessor- und Verkehrsverwaltungsvorrichtung verarbeitet, welche die Funktionen des Schickens, Klassifizierens und Einreihens in eine Warteschlange basierend auf seiner Diensteklasse usw. zur Verfügung stellt. Das Switching Fabric empfängt das Paket und schickt es an die Leitungskarte entsprechend seinem Zielport (was für ein Paket für Mehrpunktverbindung, das an mehrere Ziele gesendet wird, mehr als einer sein kann). Das Switching Fabric sorgt somit für die wiederkonfigurierbaren Datenwege, über die Pakete von einem Port zu einem anderen innerhalb des Routers oder Schaltsystems transportiert werden können.
  • Ein allgemeines, auf Cross Bars basierendes Switching Fabric für Pakete besteht aus einer Cross Bar-Schaltmatrix einem Fabric-Scheduler und Eingabepuffern, um ankommende Pakete zu halten. Die Cross Bar-Matrix ist logisch als eine Anordnung aus N × N Schaltpunkten organisiert, was somit ermöglicht, daß irgendeines der Pakete, die an irgendeinem der N Eingangsports ankommt, auf irgendeinen der N Ausgangsports geschaltet wird. Diese Schaltpunkte sind in dem Fabric-Scheduler an Paketgrenzen konfiguriert. Typischerweise werden die Pakete schubweise durch die Cross Bar-Schaltmatrix geschaltet, wobei ein Schub aus höchstens einem Paket besteht, das von jedem Eingangsport in einer solchen Weise ausgewählt worden ist, daß nicht mehr als eines der Pakete für jeden Ausgangsport bestimmt ist.
  • Bei einem allgemeinen, auf Cross Bars basierenden Switching Fabric hat jedes der Pakete, das in einem der Eingangspuffer ankommt, einen Nachrichtenkopf, welcher die Nummer des Zielports enthält, zu dem es geschaltet werden muß. Der Fabric-Scheduler liest diese Information periodisch aus den Nachrichtenköpfen der Pakete, die in den Eingangspuffern gespeichert sind, und plant einen neuen Schub Pakete, der durch die Cross Bar-Matrix übertragen werden soll. Da jeder der Ausgangsports unterschiedlich ist, kann der Fabric Scheduler alle die Pakete in einem Schub (ein Maximum von N Paketen) für die parallele Übertragung in einer Cross Bar-Schaltmatrix planen. Während die Pakete aus einem Schub durch den Cross Bar übertragen werden, kann der Scheduler die Pakete auswählen, die den nächsten Schub bilden, so daß die Übertragung nahezu kontinuierlich sein kann. Am Ende jedes Schubes aus Paketen konfiguriert der Fabric-Scheduler die Cross Bar-Schaltmatrix neu, um so jeden Eingangsport für das nächste Paket mit dem richtigen Ausgangsport zu verbinden.
  • Einzelne Cross Bar-Switching Fabrics sind wegen der Komplexität des Implementierens einer großen Cross Bar-Matrix schwierig auf eine große Anzahl Ports zu skalieren (die Komplexität ist in der Größenordnung von N2, wobei N die Anzahl der Ports ist); wegen der Wärmedissipation und dem Rauschen bei gleichzeitigem Schalten. Somit werden große Switching Fabrics gebildet, indem mehrere Cross Bar-Module in einer mehrstufigen Konfiguration kaskadiert werden.
  • Wenn Pakete für Mehrpunktverbindungen von einem Bauteil für das Teilstreckenverfahren (z.B. Schaltsystem, Router) empfangen werden, muß das Bauteil für das Teilstreckenverfahren die Pakete kopieren und die Pakete an die bestimmten Zielports senden. Diese Nachbildungs- bzw. Abgleichfunktion gehört natürlicherweise zu dem Switching Fabric des Routers.
  • Die Kopieroperation kann teuer sein, was interne Ressourcen des Routers betrifft, so wie Bandbreite und Speicher, der benötigt wird, um Nachschlagetabellen zu speichern. Nachschlagetabellen werden benutzt, um zu bestimmen, wie viele Kopien des Paketes erstellt werden müssen und wohin die Kopien gesendet werden müssen. Eine Schwierigkeit beim Handhaben von Paketen für Mehrpunktverbindungen in einem mehrstufigen Switching Fabric ist die Größe der benötigten Nachschlagetabellen. Die Größe dieser Tabellen nimmt sowohl mit der Anzahl der Ports in dem System als auch mit der Anzahl der unterschiedlichen Mehrpunktverbindungsgruppen, die unterstützt werden müssen, zu.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der verschiedenen Ausführungsformen werden aus der folgenden genauen Beschreibung deutlich, wobei:
  • 1 ein beispielhaftes Blockschaubild eines Schaltsystems gemäß einer Ausführungsform veranschaulicht;
  • 2 ein beispielhaftes Blockschaubild eines mehrstufigen Switching Fabric gemäß einer Ausführungsform veranschaulicht;
  • 3 ein beispielhaftes Blockschaubild eines Eingangsschaltmoduls (ISM – Ingress Switching Modul) gemäß einer Ausführungsform veranschaulicht;
  • 4 eine beispielhafte Verteilung von Paketen veranschaulicht, die gemäß einer Ausführungsform als Segmente in einer einzelnen Warteschlange gespeichert sind;
  • 5 ein beispielhaftes Format eines Frames gemäß einer Ausführungsform veranschaulicht, der aus mehreren Segmenten aufgebaut ist;
  • 6 einen beispielhaften ISM-Anfrageframe gemäß einer Ausführungsform veranschaulicht;
  • 7 ein beispielhaftes Codierschema zum Quantifizieren der Datenmenge basierend auf Frames gemäß einer Ausführungsform veranschaulicht;
  • 8 ein beispielhaftes Blockschaubild eines ISM-Schedulers gemäß einer Ausführungsform veranschaulicht;
  • 9 einen beispielhaften ISM-Bewilligungsframe gemäß einer Ausführungsform veranschaulicht;
  • 10 eine beispielhafte vierstufige Pipeline gemäß einer Ausführungsform veranschaulicht;
  • 11 ein beispielhaftes Kernschaltmodul (CSM – Core Switch Module) mit Frame Slices innerhalb eines CSM-Frames gemäß einer Ausführungsform veranschaulicht;
  • 12 ein beispielhaftes Blockschaubild eines CSM gemäß einer Ausführungsform veranschaulicht;
  • 13 ein beispielhaftes Blockschaubild eines Ausgangsschaltmoduls (ESM – Egress Switch Module) gemäß einer Ausführungsform veranschaulicht;
  • 14 einen beispielhaften ESM-Anfrageframe gemäß einer Ausführungsform veranschaulicht;
  • 15 einen beispielhaften ESM-Bewilligungsframe gemäß einer Ausführungsform veranschaulicht;
  • 16 ein beispielhaftes Blockschaubild eines Schaltsystems zum Senden von Paketen für Mehrpunktverbindungen gemäß einer Ausführungsform veranschaulicht;
  • 17 ein beispielhaftes Blockschaubild eines ISM zum Senden von Paketen für Mehrpunktverbindungen gemäß einer Ausführungsform veranschaulicht;
  • 18 einen beispielhaften ISM-Anfrageframe für ein Paket für Mehrpunktverbindungen gemäß einer Ausführungsform veranschaulicht;
  • 19 eine beispielhafte Mehrpunktverbindungs-Nachschlagetabelle gemäß einer Ausführungsform veranschaulicht; und
  • 20 ein beispielhaftes Blockschaubild eines ESM zum Senden von Paketen für Mehrpunktverbindungen gemäß einer Ausführungsform veranschaulicht.
  • GENAUE BESCHREIBUNG
  • 1 veranschaulicht ein beispielhaftes Blockschaubild eines Schaltsystems 100. Das Schaltsystem 100 umfaßt eine Vielzahl von Port-Schnittstellen-Modulen 110 und ein mehrstufiges Switching Fabric 160. Das mehrstufige Switching Fabric 160 hat eine Vielzahl von Ports entsprechend der Vielzahl der Schnittstellen-Module 110. Die Port-Schnittstellen- Module 110 umfassen Port-Schnittstellen 130, Paketprozessor/Verkehrsverwalter 140 und Fabric-Port-Schnittstellen-Module 150. Die Schnittstellen-Module 110 empfangen Pakete von externen Verbindungen 120 an den Port-Schnittstellen 130. Der Paketprozessor/Verkehrsverwalter 140 empfängt die Pakete von den Port-Schnittstellen 130, verarbeitet die Pakete, bestimmt eine Nummer eines Fabric-Ports, der dem Paket zugewiesen ist (aus einer Nachschlagetabelle für Nachrichtenköpfe) und befestigt diese Information zur Verwendung von dem mehrstufigen Switching Fabric 160 an dem Paket. Die Fabric-Port-Schnittstellen-Module 150 empfangen die Pakete von dem Paketprozessor/Verkehrsverwalter 140 und schicken das/die Paket(e) an das mehrstufige Switching Fabric 160. Das mehrstufige Switching Fabric 160 schaltet die Pakete für die Überführung zu einem weiteren Schnittstellen-Modul 110. Die Verbindungen zwischen den Fabric-Port-Schnittstellen-Modulen 150 und dem mehrstufigen Switching Fabric 160 sind als Fabric-Ports 170 bekannt.
  • Die Fabric-Port-Schnittstellen-Module 150 empfangen Pakete, die von dem mehrstufigen Switching Fabric 160 ankommen, über einen Fabric-Port 170 und geben sie für irgendeine Verarbeitung, die auf der Ausgangsseite nötig ist, an den Paketprozessor/Verkehrsverwalter 140 weiter. Die Port-Schnittstellen 130 übertragen die Pakete hinaus auf die externen Verbindungen 120. Ein Fabric-Port 170 kann Verkehr von mehr als einer externen Verbindung sammeln, die mit einer Leitungskarte verknüpft ist, so daß eine Eins-zu-Eins-Korrelation nicht notwendig ist.
  • Die Teile der Port-Schnittstellen-Module 150, die Daten zu dem mehrstufigen Switching Fabric 160 senden, werden als Eingangsport-Schnittstellen-Module bezeichnet, und die Teile der Port-Schnittstellen-Module 150, die Daten von dem mehrstufigen Switching Fabric 160 empfangen, werden als Ausgangsport-Schnittstellen-Module bezeichnet. Ein Paar aus Eingangs- und Ausgangsport-Schnittstellen-Modul zusammen bildet die Fabric-Port-Schnittstelle 150. Solch ein Paar aus Eingangs- und Ausgangsport-Schnittstellen-Modul ist jedem Fabric-Port 170 zugewiesen. Wenn er hierin verwendet wird, kann der Ausdruck Fabric-Port 170 sich auf ein Eingangsport-Schnittstellen-Modul und/oder ein Ausgangsport-Schnittstellen-Modul beziehen. Ein Eingangsport-Schnittstellen-Modul kann als ein Eingangs-Fabric-Schnittstellen-Modul, ein Quellen-Fabric-Port, ein Quellenport ein Eingangs-Fabric-Port, ein Eingangsport, ein Fabric-Port oder ein Eingabeport bezeichnet werden. Ebenso kann ein Ausgangsport-Schnittstellen-Modul als ein Ausgangs-Fabric-Schnittstellen-Modul, ein Ziel-Fabric-Port, ein Zielport, ein Ausgangs-Fabric-Port, ein Ausgangsport, ein Fabric-Port oder ein Ausgabeport bezeichnet werden.
  • 2 veranschaulicht ein beispielhaftes Blockschaubild eines mehrstufigen Switching Fabric 200. Das mehrstufige Switching Fabric 200 weist ein dreistufiges Switching Fabric mit einem oder mehreren Eingangsschaltmodulen (ISMs) 210 in der ersten Stufe, einem Kernschaltmodul (CSM) 220 in der zweiten Stufe und einem oder mehreren Ausgangsschaltmodulen (ESMs) 230 in der dritten Stufe auf. Gemäß einer Ausführungsform sind die ISMs 210 und die ESMs 230 elektronische Schaltmodule und das CSM 220 ist ein elektronisches oder ein optisches Schaltmodul. Bei einem optischen Schalter bleibt der Datenweg von einem Eingang zu einem Ausgang optisch, was sehr hohe Kapazitäten ermöglicht. Gemäß einer Ausführungsform ist der optische Schalter elektrisch gesteuert, das heißt, die Schaltwege werden durch elektrische Signale konfiguriert. Ein solcher Schalter verhält sich logisch wie ein elektronischer Cross Bar-Schalter ohne internes Puffer (manchmal als ein „Durchgangs"-Cross Bar-Bauteil bezeichnet), mit der Ausnahme, daß die Datenwege insgesamt optisch sind.
  • Beim Beschreiben der Arbeitsweise des mehrstufigen Switching Fabric 200 wird zunächst der Fall von Paketen für Punkt-zu-Punkt-Verbindung das heißt, Paketen, die zu einem einzigen Zielport gesendet werden, betrachtet. Die Arbeitsweise des Switching Fabric im Hinblick auf Pakete für Mehrpunktverbindungen, die an mehrere Zielports kopiert werden müssen, wird anschließend beschrieben.
  • Das ISM empfängt Paketströme von den Fabric-Port-Schnittstellen-Modulen auf den Schnittstellenkarten (z.B. 150 der 1) und konzentriert die Paketströme zum Schalten durch das CSM 220. Gemäß einer Ausführungsform wird das konzentrierte Signal in der Form eines wellenlängenmultiplexierten (WDM – Wavelength Division Multiplexed) optischen Signals, das aus mehreren optischen Wellenlängen besteht, zu dem CSM 220 über einen optischen Weg (zum Beispiel eine optische Faser) gesendet. Mit WDM können viele optische Signale, die gesonderte Datenströme transportieren, gleichzeitig über den Datenweg gesendet werden, indem jedem Signal eine unterschiedliche optische Wellenlänge zugewiesen wird. Dies ermöglicht es, daß ein optischer Schalter als ein logisches Äquivalent vieler paralleler elektronischer Cross Bar-Ebenen arbeitet, die jede einer unterschiedlichen Wellenlänge entspricht.
  • Nach dem Schalten in dem optischen Schalter erreicht das WDM-Signal ein ESM 230 über einen anderen optischen Weg (zum Beispiel eine optische Faser). Das ESM 230 trennt die Kanäle des WDM-Signals, wandelt sie in elektronische Form um und schaltet die einzelnen Pakete an ihre adressierten Zielport-Schnittstellen-Module.
  • Gemäß einer Ausführungsform kann das CSM 220 eine elektronischen Durchlaß-Cross Bar aufweisen. Bei einer solchen Ausführungsform kann ein physikalisches elektronisches Cross Bar-Bauteil die optische Schaltfunktion für jede Wellenlänge, die verwendet wird, um Daten in dem WDM-Signal zu übertragen, ersetzen. Wenn zum Beispiel das WDM-Signal vier Wellenlängenkanäle benutzt, um Daten zu leiten, dann wird der elektronische Schalter des CSM vier verschiedene physikalische Cross Bar-Bauteile haben, wobei jedes den Datenstrom schaltet, der mit einer der Wellenlängen in der Gestaltung, die auf optischem Schalten basiert, verknüpft ist.
  • Wie veranschaulicht, hat eine erste Stufe m ISMs 210, bezeichnet von 0 bis m-1, und jedes ISM 210 hat n Ports (bezeichnet von 0 bis n-1 für jedes ISM 210 und von 0 bis m x n-1 für das gesamte mehrstufige Switching Fabric 200). Das CSM 220 der mittleren Stufe ist ein ein zelner m x n optischer Cross Bar-Schalter, der in der Lage ist, WDM-Datenströme zu schalten. Jedes ISM 210 konzentriert die Datenströme von den zugewiesenen Ports in einen einzigen WDM-Strom mit n Kanälen. Während bei diesem Beispiel die Anzahl der Kanäle mit der Anzahl der Ports, die jedem ISM zugewiesen sind, identisch ist, können alternative Ausführungsformen die Anzahl der Kanäle so wählen, daß sie entweder größer als oder kleiner als die Anzahl der Ports n pro ISM ist. Wenn man eine größere Anzahl an Kanälen als an Ports hat, kann dies für verbesserten Durchsatz sorgen und Planungsunzulänglichkeiten kompensieren, während eine Anzahl von Kanälen geringer als der Anzahl der Ports zu etwas Leistungsverlust führen kann.
  • Das ESM 230 demultiplexiert den WDM-Datenstrom, der von dem CSM 220 empfangen worden ist, in seine Bestandteilskanäle und wandelt die Paketströme in elektronische Signale um. Die Pakete aus diesen Datenströmen werden dann durch einen elektronischen Cross Bar an ihre beabsichtigten Ziele geschaltet und an das entsprechende Port-Schnittstellen-Modul geliefert.
  • Jedes der Schaltmodule (ISM 210, CSM 220, ESM 230) kann von einem gesonderten Scheduler gesteuert werden. Jeder Scheduler ist für das Einrichten des schaltenden Cross Bars innerhalb des Moduls an Framegrenzen basierend auf Anfragen, die von seinen Ports empfangen werden, verantwortlich. Alle Kanäle innerhalb des WDM-Stroms werden vorteilhaft als eine Gruppe von dem CSM zu einem seiner Ports geschaltet, durch ausgewähltes Routing jedes Wellenlängenkanals an einen gesonderten Ausgang ist dies auch möglich.
  • 3 veranschaulicht ein beispielhaftes Blockschaubild eines ISM 300. Das ISM 300 umfaßt eine Eingangs-Reihungsmaschine (IQE – Ingress Queuing Engine) 310 pro Port, ein Eingangs-Cross Bar-Datenelement (ICDE – Ingress Crossbar Data Element) 320 pro Port, Cross Bar-Schaltebene(n) 330, einen ISM-Scheduler 340 und einen Framer und WDM-Sender (FWT – Framer and WDM Transmitter) 350 auf. Die IQE 310 empfängt Daten von ihrem entsprechenden Fabric-Port als Pakete variabler Größe. Die IQE 310 sammelt die Pakete in Frames (was in weiteren Einzelheiten später diskutiert wird) zum Schalten über die Cross Bar-Schaltebenen 330. Gemäß einer Ausführungsform sind die Cross Bar-Schaltebenen 330 elektronische Cross Bars. Die Frames kommen in dem ICDE 320 an, und die Paketsegmente werden aus dem Frame herausgezogen. Das ICDE 320 empfängt die Pakete und packt die Pakete für das Senden über das CSM wieder in Frames. Der FWT 350 wandelt dann die Frames, die von dem ICDE 320 gebildet sind, in optische Signale um. Der Frame von jedem ICDE liegt bei einer unterschiedlichen Wellenlänge, und die Frames werden kombiniert, um ein WDM-Signal zu bilden, das zu dem CSM (z.B. 220 der 2) gesendet wird.
  • Der ISM-Scheduler 340 ist mit den IQEs 310 und den ICDEs 320 verbunden. Bei einer Ausführungsform sind die IQEs 310 und die ICDEs 320 mit dem ISM-Scheduler 340 durch einen Vollduplexweg verbunden, zum Beispiel ein Paar serieller Verbindungen 360 (eine in jede Richtung). Planungsanfragen von den IQEs 310 und die Bewilligungen, die als Antwort von dem ISM-Scheduler 340 geschickt werden, werden durch diese Verbindungen geschickt.
  • Die IQEs 310 speichern die Pakete, die von den Schnittstellenkarten ankommen, in einer Reihe von Warteschlangen. Jede IQE 310 hält eine gesonderte Warteschlange (von den anderen isoliert) für Pakete, die für jedes ICDE 320 bestimmt sind. Zusätzlich können weiter die Pakete, die für ein bestimmtes ICDE 320 bestimmt sind, in mehrere Warteschlangen verteilt werden, basierend auf ihrer Diensteklasse oder dem relativen Prioritätswert. Diese Wartenschlangen können als virtuelle Ausgangswarteschlangen bezeichnet werden. Die Pakete können in Segmente heruntergebrochen und die Segmente in den Warteschlangen gespeichert werden. Die Segmente können eine variable Größe haben, sind jedoch auf eine maximale Größe beschränkt.
  • 4 veranschaulicht eine beispielhafte Verteilung von Paketen, die innerhalb eines Eingangs-Fabric-Schnittstellen-Moduls als Segmente in einer einzigen Warteschlange gespei chert sind (entsprechend dem bestimmten Zielport und Prioritätswert). Ein Nachrichtenkopf des Segmentes identifiziert die Warteschlange, in die das Segment bei seiner Ankunft in dem Ausgangs-Fabric-Schnittstellen-Modul gebracht werden soll. Die Anzahl der Warteschlangen ist abhängig von der Anzahl der Prioritätswerte (oder Diensteklassen), die mit dem Paket verknüpft sind. Weiter kann die Anzahl der Warteschlangen auch abhängig von der Anzahl der Eingangs-Fabric-Schnittstellen-Module sein, die Daten an die Ausgangs-Fabric-Schnittstellen-Module senden kann.
  • Die Segmente, die in den Warteschlangen gespeichert sind, werden von einer IQE (z.B. 310 der 3) vor dem Senden an eine Cross Bar-Matrix (z.B. 330 der 3) in Frames gesammelt. 5 veranschaulicht ein beispielhaftes Format eines Frames 500 (der aus mehreren Segmenten gebildet ist), der von einer IQE an ein ICDE über die Cross Bar-Matrix gesendet wird. Der Frame 500 beginnt mit einer Präambel 540, einem Nachrichtenkopf 530 des Frames, gefolgt von einem oder mehreren Segmenten 520 und einem Schutz/Fehlererfassungsfeld 510 (z.B. einem zyklischen Redundanzcode (CRC – Cyclic Redundancy Code)). Der Nachrichtenkopf 530 des Frames enthält Felder, welche das Eingangs- und das Ausgangs-Fabric-Schnittstellen-Modul identifizieren, die dem Frame zugewiesen sind, und andere optionale Information. Die Präambel 540 dient zum Einrichten der Synchronisation an dem ICDE. Die maximale Größe des Frames ist ein Gestaltungsparameter. Die Zeit, die benötigt wird, den Frame maximaler Größe zu senden, wird als die „Framedauer" bezeichnet. Dieses Intervall ist dasselbe wie ein Planungsintervall für den ISM-Scheduler (in weiteren Einzelheiten später diskutiert). Die Frames, die in ISMs gesendet werden, werden als „ISM-Frames" bezeichnet, um sie von den Frames zu unterscheiden, die in den ESMs oder in dem CSM gesendet werden.
  • Die IQE baut einen Frame auf, indem ein oder mehrere Segmente aus ihrer Warteschlange herausgenommen werden, wenn sie durch eine Bewilligung von dem ISM-Scheduler instruiert worden ist, dieses zu tun. Eine solche Bewilligung kommt bei jeder IQE während jeder Framedauer an. Beim Empfang der Bewilligung identifiziert der Scheduler zunächst die Untermenge der Warteschlangen, aus denen Daten entnommen werden müssen, basierend auf der Nummer des Ziel-Fabric-Port, die durch die Bewilligung festgelegt ist. Wenn es mehrere Warteschlangen gibt, die mit dem bestimmten Ziel verknüpft sind, wählt das Eingangsmodul eine oder mehrere Warteschlagen aus dieser Untermenge basierend auf einer Planungsdisziplin aus. Wenn zum Beispiel jede der Warteschlangen in der Untermenge einem gesonderten Prioritätswert entspricht, dann können die Warteschlangen in der Reihenfolge der Prioritäten bedient werden, beginnend mit der Warteschlangen höchster Priorität und weiter zum nächsten Prioritätswert, wenn die Warteschlange mit dem gegenwärtigen Prioritätswert leer ist. Dieses Entnehmen von Segmenten wird fortgeführt, bis der Frame voll ist. Jeder so aufgebaute Frame braucht nicht dieselbe Größe zu haben, wird aber immer innerhalb der festgelegten maximalen Größe sein.
  • Während der Frame aufgebaut wird, können die Segmente aus mehreren Paketen innerhalb eines Frames verschachtelt werden. Da der Nachrichtenkopf des Segments die identifizierende Information zum Neuanordnen der Segmente in die ursprünglichen Pakete zur Verfügung stellt, wird die Datenintegrität beibehalten. Es ist vorteilhaft, daß die Reihenfolge der Segmente von demselben Paket erhalten bleibt.
  • Wenn es nur eine einzige Cross Bar-Schaltebene gibt, die innerhalb des ISM vorliegt, wird der Frame bitseriell durch die Cross Bar-Ebene gesendet. Wenn mehrere Cross Bar-Ebenen verwendet werden, werden die Inhalte des Frames über die verfügbaren Cross Bar-Ebenen verteilt. Das Verteilen kann auf der Bit-, Byte- oder Wortebene durchgeführt werden. Zusätzliche Kanäle können zum Schutz verwendet werden, so wie Fehlererfassung und -korrektur.
  • Die Framedauer des ISM-Frames kann unabhängig von der maximalen Paketgröße in dem System gewählt werden. Gemäß einer Ausführungsform wird die Framedauer so gewählt, daß ein Frame mehrere Segmente maximaler Größe transportieren kann und mit der Neukonfigurationszeit des Cross Bar-Datenweges kompatibel ist.
  • Es ist vorteilhaft, den Overhead beim Synchronisieren der Empfänger in dem ICDE mit den Datenströmen am Beginn eines Frames zu betrachten, wenn die Framedauer ausgewählt wird. Ein Datenstrom wird am Ende eines Frames abgebrochen. Ein neuer Frame, der an dem ICDE ankommt, kann von einer unterschiedlichen IQE sein, was zu einer Änderung in der Frequenz und/oder der Phase des Taktes führt, der mit dem Datenstrom verknüpft ist. Somit müssen die Empfänger die Synchronisation an der Grenze jedes Frames neu einrichten. Zu diesem Zweck wird die Präambel 540 an dem Beginn jedes Frames 500 angeordnet. Die Präambel 540 trägt keine Daten, sondern dient nur dazu, die Synchronisation einzurichten.
  • Mit Bezug zurück auf 3 empfangt das ICDE 320 die in Frames befindlichen Segmente von den Cross Bar-Ebenen 330, holt die Segmente aus den Frames heraus und reiht die Segmente basierend auf der ESM-Nummer des Ziels für das Segment ein. Wenn zum Beispiel ein Segment zum Fabric-Port 50 adressiert ist und der Fabric-Port 50 von dem ESM 2 bedient wird, dann wird das ICDE 320 das Segment in seine Warteschlange Nummer 2 einreihen. Wenn Daten von dem ISM 300 zu dem CDM (z.B. 220 der 2) gesendet werden, werden die Daten von dem FWT 350 in Frames gebracht, und der FWT 350 sendet die Frames von den ICDEs, die Daten haben, welche als ein WDM-Signal gesendet werden sollen, wobei die Daten von jedem ICDE bei einer unterschiedlichen optischen Wellenlänge gesendet werden.
  • Wie zuvor angemerkt, sind die Daten, die an den IQEs 310 ankommen, segmentiert und in Warteschlangen gespeichert, basierend auf dem Zielport und dem Prioritätswert. Während jedes Zyklus des Frametaktes sendet jede der IQEs 310 Information über die Segmente, die in ihren Warteschlagen warten, an den ISM-Scheduler 340. Diese Information kann als ein Satz Anfragen von den IQEs für die Verwendung des Datenweges zu dem Cross Bar 330 betrachtet werden. Die Information, die von jeder IQE zur Verfügung gestellt wird, besteht in einem Minimum aus den Adressen des Ziel-ESM, die mit ihren nicht leeren Warteschlangen verknüpft sind. Die Information kann optional viele weitere Kennzeichen umfassen, so wie die Gesamtdatenmenge, die für jedes ESM in einer Warteschlange aufgereiht ist, das „Alter" jeder Anfrage (das heißt, das Zeitintervall, seit dem Daten zuletzt zu dem bestimmten ESM gesendet worden sind) und Prioritätswerte. Die Planungsanfragen, die während jeder Framedauer von den IQEs zu dem ISM-Scheduler geschickt worden sind, können in der Form eines Anfrageframes formatiert sein.
  • 6 veranschaulicht einen beispielhaften Anfragerframe 600, der von der IQE an den ISM-Scheduler geschickt wird. Der Anfrageframe 600 umfaßt einen Begrenzer 610 für den Beginn des Frames (SOF – Start Of Frame), einen Nachrichtenkopf 620, Anfragefelder (Anfragen) 630, weitere Felder 640, ein Fehlererfassungs/Korrekturfeld 650 (z.B. CRC) und einen Begrenzer 660 für das Ende des Frames (EOF – End Of Frame). Frames mit einem schlechten CRC werden von dem Scheduler entsorgt. Da diese Anfragen während der nächsten Framedauern automatisch wiederholt werden (Anfragen umfassen Gesamtdaten in der Warteschlange zur Zeit der Anfrage, was keine Daten umfaßt, die angefragt und bewilligt worden sind, jedoch noch nicht aus der Warteschlange entnommen wurden – in Einzelheiten hiernach diskutiert), ist kein Neusendeprotokoll erforderlich. Die weiteren Felder 640 können für Funktionen, so wie Flußsteuerung und Fehlersteuerung, verwendet werden.
  • Der Hauptteil des Anfrageframes 600 ist der Satz der Anfragen 630. Gemäß einer Ausführungsform gibt es eine Anfrage für jedes ISM und jeden Prioritätswert. Es sei ein beispielhaftes System mit 64 ESMs und 4 Prioritätswerten angenommen, dann würde es 256 (64 ESMs x 4 Prioritäten/ESM) unterschiedliche Anfragen 630 in dem Anfrageframe 600 geben. Die Anfragen 630 zeigen an, daß es Daten in einer zugewiesenen Warteschlange gibt, die für das Senden verfügbar sind. Die Anfrage 630 kann die Datenmenge in den zugeordneten Warteschlagen zusammenfassen. Die Länge der Anfragen 630 (z.B. Anzahl der Bits) kann gewählt werden, indem man die Beschränkungen für die Gesamtlänge des Anfrageframes 600 und die Granularität der Datenmenge in den zugeordneten Warteschlagen, die von dem Scheduler benötigt wird (Planungsalgorithmen) in Betracht zieht. Zum Beispiel können die Anfragen 630 mit vier Bit codiert werden, was somit 16 unterschiedliche Optionen zum Definieren der Datenmenge in der Warteschlange liefert. Das heißt, die Anfrage 630 kann 4 Bit verwenden, um die Datenmenge in der Warteschlange zu beschreiben. Die Anfragen 630 können in verschiedener Weise codiert werden, um die Datenmenge in der zugeordneten Warteschlange zu definieren.
  • Die Datenmenge in der Warteschlange kann im Hinblick auf die Anzahl der Bytes, Pakete, Segmente oder Frames beschrieben werden. Ein auf Paketen basierendes Switching Fabric könnte die Datenmenge in Bytes oder Paketen definieren. Ein auf Segmenten basierendes Switching Fabric könnte die Datenmenge in Bytes, Paketen oder Segmenten definieren. Ein aus Frames basierendes Switching Fabric könnte die Datenmenge in Bytes, Paketen, Segmente oder Frames definieren. Gemäß einer Ausführungsform für ein auf Frames basierendes Switching Fabric wird die Datenmenge bezüglich der Framedauer quantisiert. Das heißt, die Anfrage 630 kann codiert werden, um die Zahl der Datenframes anzugeben, die man brauchen würde, um die Daten innerhalb der zugewiesenen Warteschlange über Cross Bar-Ebenen zu transportieren.
  • 7 veranschaulicht ein beispielhaftes Codierschema zum Quantisieren der Datenmenge basierend auf Frames. Wie veranschaulicht identifiziert das Schema die Datenmenge basierend auf ¼ Frames.
  • Gemäß einer Ausführungsform kann der ISM-Scheduler Planungsentscheidungen hauptsächlich auf der Priorität der Anfragen basieren. Um einen hohen Durchsatz zu halten, kann der ISM-Scheduler Präferenz auch der Datenmenge in den Warteschlangen geben (z.B. Präferenz den Warteschlangen geben, die volle Frames mit Daten zum Verschicken haben). Wenn die Datenmenge für ein bestimmtes ICDE und die Priorität gleich sind, kann der ISM-Scheduler die Gesamtdatenmenge betrachten, die für das ICDE in Warteschlangen aufgereiht ist, wenn Planungsentscheidungen getroffen werden. Der ISM-Scheduler kann auch das „Alter" einer Anfrage betrachten (d.h., die Anzahl aufeinanderfolgenden Zyklen, während derer eine Anfrage anhängig gewesen ist, ohne daß während dieser Zeit Bewilligungen erteilt worden sind), wenn Planungsentscheidungen getroffen werden, um so das Aushungern solcher Anfragen zu verhindern.
  • Mit Bezug zurück zur 3, da alle die ICDEs 320 in einem ISM 300 während einer Framezeit des CSM mit demselben ESM verbunden sind, können die Daten, die für irgendein ESM bestimmt sind, zu irgendeinem der ICDEs 320 in dem ISM 300 geschickt werden. Der ISM-Scheduler 340 ist verantwortlich, dem ICDE 320 Ziele für einen Satz Anfragen zuzuweisen, der während eines gegebenen Zyklus von den IQEs 310 empfangen worden ist. Eine Einschränkung für den ISM-Scheduler 340 beim Vornehmen dieser Zuweisungen ist, daß während einer gegebenen Framezeit jede IQE 310 Daten an ein unterschiedliches ICDE 320 senden wird. Eine weitere Einschränkung besteht darin, daß der Scheduler versuchen muß, Lastausgleich bei den ICDEs 320 durchzuführen. Für maximalen Wirkungsgrad ist es vorteilhaft für einen Frame voller Daten, daß er zwischen einem gegebenen ICDE 320 und seinem entsprechenden ESM übertragen wird, wenn das CSM Datentransfer während einer Framezeit erlaubt. Dies ermöglicht das volle Ausnutzen aller Kanäle in dem CSM und kann erreicht werden, indem der ISM-Scheduler 340 die Datenmenge verfolgt, die in jedem ICDE 320 für jedes ESM gespeichert ist.
  • 8 veranschaulicht ein beispielhaftes Blockschaubild eines ISM-Schedulers 800. Der ISM-Scheduler 800 umfaßt eine ICDE-Belegungsanordnung 810, Anfragevorbearbeitungs- und -bewilligungserzeugungsblöcke 820, eine Planungsmaschine 830 und einen Cross Bar-Schnittstellenblock 840. Die ICDE-Belegungsanordnung 810 hat einen Antrag pro ICDE pro ESM. Die ICDE-Belegungsanordnung 810 vereinfacht das Zuweisen von ICDEs zu den Anfragen von den IQEs. Die ICDE-Belegungsanordnung 810 kann eine zweidimensionale An ordnung sein, die durch eine ICDE-Adresse und eine Ziel-ESM-Adresse indexiert ist. Jeder Eintrag in der Anordnung 810 enthält einen Wert, der die Datenmenge darstellt, welche in dem ICDE für das Ziel-ESM in der Warteschlange ist. Dieser Wert ist in einem Minimum ein einzelnes Bit, wobei ein Wert 0 angibt, daß keine Daten für das entsprechende ESM in dem bezeichneten ICDE in der Warteschlange ist, und eine 1 anzeigt, daß einige Daten in die Warteschlange gegeben worden sind. Bei mehr Bits kann die Menge der in der Warteschlange befindlichen Daten genauer dargestellt werden.
  • Der Anfragevorbearbeitungsblock 820 zieht die Anfragen aus Anfrageframes heraus, die von den IQEs empfangen worden sind, und zieht aus jeder Anfrage den ESM-Index heraus, der der Anfrage entspricht. Die Anfragen können dann zu der Planungsmaschine 830 weitergegeben werden, zusammen mit den Belegungswerten, die aus der ICDE-Belegungsanordnung 810, die dem Ziel-ESM entspricht, herausgelesen worden sind. Berechtigungsbits werden während des Planens als „Freigabe"-Bits verwendet. Das heißt, wenn ein Bit Null ist, wird das entsprechende ICDE bei der Planung nicht berücksichtigt. Nachdem die Belegungswerte entsorgt sind, die diesen ICDE-Positionen entsprechen, prüft der Scheduler die verbleibenden Belegungswerte, um einen von ihnen auszuwählen, um ihn der gegebenen Anfrage zuzuweisen. Die Planungsmaschine kann mehrere Kriterien verwenden, um diese Auswahl zu treffen. Bei einer Ausführungsform kann die Planungsmaschine 830 das ICDE mit dem kleinsten Belegungswert aus den passenden ICDEs auswählen. Da jedoch Anfragen von allen den IQEs parallel bearbeitet werden, muß die Planungsmaschine 830 auch unter den Anfragen schlichten, so daß jede IQE einem unterschiedlichen ICDE zugewiesen ist. Dies kann es schwierig machen, die Auswahl basierend auf dem kleinsten Belegungswert durchzuführen. Bei einer anderen Ausführungsform wird ein gewichtetes Anpassen der ICDEs durchgeführt, so daß kleinere Belegungswerte gegenüber größeren bevorzugt werden, während die Anpassung durchgeführt wird.
  • Das Beibehalten der Belegungswerte des ICDE in dem ISM-Scheduler ist vorteilhaft für den verbesserten Lastausgleich, während durch das CSM geschaltet wird. Somit wird diese Belegungsinformation während jeder Framezeit zu dem TSM-Scheduler übertragen. Der CSM-Scheduler kann dann berücksichtigen, wie viele ICDEs Daten für ein gegebenes ESM in Warteschlangen aufgereiht haben, bevor das CSM geplant wird. Idealerweise sollte der CSM-Scheduler ein ISM mit einem ESM verbinden, wenn jedes der ICDEs, die mit dem ISM verbunden sind, eine volle Frame Slice an Daten hat, die zu dem ESM geschickt werden.
  • Nachdem die Zuweisungen der ICDE durchgeführt worden sind, informiert der Scheduler jede anfragende IQE über die Adresse des zugewiesenen ICDE. Jede der anfragenden IQEs entnimmt nach dem Empfang einer Bewilligungsnachricht Segmente aus ihren Warteschlangen entsprechend dem Ziel-ESM, das durch die Anfrage festgelegt ist, und sendet sie über die Cross Bar-Ebene als einen Frame zu dem bestimmten ICDE.
  • Parallel zu dem Senden der Bewilligungsnachrichten an die IQEs richtet der Cross Bar-Schnittstellenblock 840 die Cross Bar-Ebenen ein, um Datenwege zwischen der IQE und den ICDE-Bauteilen gemäß der berechneten Zuweisung einzurichten.
  • Die Planungsmaschine 830 schickt auch eine entsprechende Bewilligungsnachricht an jedes der ICDEs, die als Ziele bei der gegenwärtigen Zuweisung ausgewählt worden sind. Dies ermöglicht es den empfangenden ICDEs, jegliche Fehler beim Einstellen der Cross Bar-Ebenen zu erfassen, die bewirken, daß Daten an ein nicht korrektes ICDE geliefert werden.
  • Die Planungsmaschine 830 kann mehrere Iterationen durchführen, um die anfragenden IQEs mit den passenden ICDEs zusammenzubringen, wobei eine Untermenge der Anpassung bei jeder Iteration beendet wird. Wenn die IQEs und die ICDEs aneinander angepaßt sind, werden die passenden IQEs und ICDEs aus der Rechnung herausgenommen, so daß nur die verbleibenden IQEs und ICDEs bei den folgenden Iterationen betrachtet werden. Die Iteratio nen gehen weiter, bis alle anfragenden IQEs angepaßt worden sind, oder wenn keine weiteren IQE-ICDE-Paare in Übereinstimmung gebracht werden können, oder wenn eine bestimmte obere Grenze der Anzahl der Iterationen erreicht worden ist.
  • Nach dem Beenden des Berechnens der Anpassung schickt der ISM-Scheduler 800 das Ergebnis an jede anfragende IQE als eine Bewilligungsnachricht. Bei einer Ausführungsform werden Bewilligungsnachrichten von dem ISM-Scheduler 800 an die IQEs und an die ICDEs geschickt, indem sie in Bewilligungsframes eingekapselt werden. Wenn die IQE und die ICDEs, die demselben Index entsprechen, zusammen gepackt werden (zum Beispiel innerhalb desselben Chips), werden die Bewilligungsnachrichten an die IQE und an das ICDE mit derselben Adresse in demselben Frame gesendet. Die Nachricht an die IQE identifiziert das Ziel-ICDE und die Nachricht an das ICDE identifiziert die Quellen-IQE.
  • 9 veranschaulicht einen beispielhaften Bewilligungsrahmen 900, welcher die Bewilligungsnachrichten an die IQE und das ICDE, die mit einem Fabric-Port verknüpft sind, kombiniert. Der Bewilligungsframe 900 umfaßt einen Begrenzer 900 für den Beginn des Frames (SOF), einen Nachrichtenkopf 920 des Frames, weitere Felder 930, eine Bewilligung 940 für das ICDE, eine Bewilligung 950 für die IQE, ein Fehlererfassungs/Korrekturfeld 960 (z.B. CRC) und einen Begrenzer 970 für das Ende des Frames (EOF). Die anderen Felder 930 können zum Kommunizieren weiterer Information an die IQEs und die ICDEs, so wie den Flußsteuerstatus, verwendet werden. Das Fehlererfassungs/Korrekturfeld 960 (z.B. ein zyklischer Redundanzcode (CRC)) wird verwendet, um Fehler in dem Bewilligungsframe zu erfassen.
  • Die ICDE-Bewilligung 940 kann ein Gültigkeitsbit 942, eine Quellenadresse 944 der IQE und eine Zieladresse 946 des ESM umfassen. Das Gültigkeitsbit 942 gibt an, daß das Feld gültig ist. Die Quellenadresse 944 der IQE stellt die IQE dar, von der das ICDE Daten erhalten sollte. Die Zieladresse 946 des ESM legt die Adresse des ESM fest, die mit dem Zielport für die Daten verknüpft ist. Dieses Feld 946 wird von dem ICDE verwendet, um die Warteschlange zu identifizieren, in die die einlaufenden Daten eingeführt werden sollen.
  • Die IQE-Bewilligung 950 kann einen Bewilligungstyp 952, eine Zieladresse 954 des ESM, eine Zieladresse 956 des ICDE und eine Startpriorität 958 umfassen. Der Bewilligungstyp 952 legt den Typ der Bewilligung fest. Beispielhafte Typen von Bewilligungen können keine Bewilligung (was bedeutet, daß keine Bewilligung in dem Frame angegeben ist), Punkt-zu-Punkt-Bewilligung (was bedeutet, daß die IQE aus Warteschlangen für Punkt-zu-Punkt-Verbindungen entnehmen sollte) und Mehrpunktverbindungsbewilligungen (später beschrieben) umfassen. Die Zieladresse 954 des ESM legt die Adresse des ESM fest, die mit dem Zielport für die Daten verknüpft ist. Dieses Feld wird von der IQE verwendet, um die Warteschlange oder den Satz der Warteschlangen zu identifizieren, aus denen Daten entnommen werden sollen. Die Zieladresse 956 des ICDE legt die Adresse des ICDE fest, an das Daten während der nächsten Framedauer gesendet werden sollen. Die Startpriorität 958 legt den Startprioritätswert für das Entnehmen von Punkt-zu-Punkt-Daten fest. Die Startpriorität 958 ermöglicht es dem Scheduler, die ICE zu zwingen, das Entnehmen von Daten aus einer Warteschlange niedrigerer Priorität zu beginnen, wenn eine Warteschlange höherer Priorität Daten hat (um das Aushungern von Daten mit niedrigerer Priorität zu verhindern).
  • Gemäß einer Ausführungsform sind die verschiedenen Arbeitsgänge, die mit dem System verknüpft sind, in eine Pipeline gelegt, so daß sie überlagert werden können. Die grundlegende Zeiteinheit für den Systembetrieb ist die Framedauer. Daher kann jede Pipeline-Stufe zum Beispiel einer Framedauer entsprechen. 10 veranschaulicht eine beispielhafte vierstufige Pipeline. Der Plan für die Pipeline umfaßt vier Stufen. Stufe I ist die Anfragestufe. Während dieser Stufe schicken die IQEs ihre Anfragen an den ISM-Scheduler. Der ISM-Scheduler kann in dieser Stufe etwas Vorbearbeitung der Anfrage durchführen, während die Anfragen empfangen werden. Stufe II ist die Planungsstufe. Während dieser Stufe paßt der ISM-Scheduler die Eingaben (IQEs) an die Ausgaben (ICDEs) an. Am Ende dieser Stufe sendet der Scheduler eine Bewilligungsnachricht an die IQEs, welche die ICDEs festlegt, an die sie die Daten senden sollte. Der ISM-Scheduler kann auch die Bewilligungen an die ICDEs senden, um die IQEs zu identifizieren, von denen sie erwarten können, daß sie von ihnen Daten erhalten. Stufe III ist die Cross Bar-Konfigurationsstufe. Während dieser Stufe konfiguriert der ISM-Scheduler die Cross Bar-Ebenen basierend auf der Anpassung, die während der Stufe II berechnet worden ist. Während der Cross Bar konfiguriert wird, entnimmt jede der IQEs Daten aus ihren Warteschlange, die ihrem passenden ICDE entspricht, und bildet einen Frame. Die Stufe IV ist die Datenübertragungsstufe. Während dieser Stufe übertragen die IQEs ihre Datenframes über den Cross Bar.
  • Mit Bezug zurück zur 3 liegen Daten, die aus dem ISM 300 in das CSM übertragen werden, auch in der Form von in einem Frame befindlichen Segmenten vor, jedoch kann die Größe dieses Frames von dem des ISM-Frame unterschiedlich sein. Zusätzlich werden Daten durch das CSM als ein WDM-Frame gesendet, der aus in einem Frame befindlichen Segmenten aus allen den ICDEs 320 innerhalb des ISM 300 besteht. Ein Satz aus in einem Frame befindlichen Segmenten, der während einer CSM-Framedauer von einem bestimmten ICDE 320 gesendet wird, wird hierin als eine „CSM Frame Slice" bezeichnet, und die Kombination der Segmente, die von allen ICDEs 320 innerhalb eines ISM während der CSM-Framedauer gesendet wird, wird hierin als ein „CSM Frame" bezeichnet.
  • 11 veranschaulicht beispielhafte CSM Frame Slices 1100, die einen CSM Frame 1110 bilden. Wie veranschaulicht, bilden n Frame Slices (mit 0 bis n-1 bezeichnet), die den n ICDEs innerhalb eines ISM entsprechen, den CSM Frame 1110. Die Frame Slices 1100, die den CSM Frame 1110 bilden, sind für Ports bestimmt, die von einem bestimmten ESM bedient werden. Das heißt, der CSM Frame wird zu einem bestimmten ESM geliefert, so daß all die Daten, die in dem CSM Frame 1110 gesendet werden, dem ESM zugewiesen werden sollten. Jede der Frame Slices 1100 hat eine Präambel 1120, einen Nachrichtenkopf 1130, weitere Felder 1140, eine Vielzahl von Segmenten 1150 und ein Schutzfeld (z.B. CRC) 1160. Die Präambel 1120 dient der Synchronisation, wie es früher diskutiert worden ist. Der Nachrichtenkopf 1130 umfaßt eine Identifizierung des Quellen-ESM 1170 und des Ziel-ESM 1180. Die anderen Felder 1140 können für die Flußsteuerung oder andere Funktionen verwendet werden. Das Schutzfeld 1160 kann ein CRC für die Fehlersteuerung sein.
  • 12 veranschaulicht ein beispielhaftes Blockschaubild eines CSM 1200. Das CSM 1200 weist eine elektrisch gesteuerte optische Cross Bar-Vorrichtung 1210 und einen CSM-Scheduler 1220 auf. Elektronische Cross Bar-Vorrichtungen können bei anderen Ausführungsformen verwendet werden. Der CSM-Scheduler 1220, der ein elektronischer Scheduler sein kann, ist mit den ISM-Schedulern und den ESM-Schedulern verbunden. Während jeder CSM-Framedauer empfängt der CSM-Scheduler 1220 Anfragen von jedem ISM (durch seinen ISM-Scheduler), die die Datenmenge zusammenfassen, welche für die ESMs in Warteschlangen aufgereiht ist. Basierend auf dieser Information bestimmt der CSM-Scheduler 1220 die Einstellung der optimalen Cross Bar-Vorrichtung 1210 für die Framedauer. Zusätzlich wird der berechnete Plan auch zurück an die ISM-Scheduler (in der Form einer Bewilligung) transportiert, die wiederum die ICDEs einrichten, Daten aus den geeigneten Warteschlangen zu entnehmen und zu der optischen Cross Bar-Vorrichtung 1210 zu senden.
  • Die optische Cross Bar-Vorrichtung 1210 empfängt Daten von jedem der n ISMs in dem System. Es gibt n Kanäle, die jedem ISM zugewiesen sind (z. B. Kanäle, die mit Kanal 0 bis Kanal n-1 numeriert sind). Die optische Cross Bar-Vorrichtung 1210 schaltet sie zusammen zu demselben ESM. Somit kann während einer gegebenen Framedauer der Cross Bar so konfiguriert werden, daß er alle Kanäle, die einem bestimmten ISM zugewiesen sind, auf ein bestimmtes ESM schaltet. Wie in dem Fall des Planungsbetriebes des ISM kann der Planungsbetrieb des CSM 1200 in einer Anzahl von Stufen pipelinemäßig angeordnet werden.
  • 13 veranschaulicht ein beispielhaftes Blockschaubild eines ESM 1300. Der ESM 1300 umfaßt einen WDM-Empfänger und einen De-Framer (WRF) 1305, eine Vielzahl von Aus gangs-Cross Bar-Datenelementen (ECDEs) 1310, eine Vielzahl von Ausgangs-Reihungsmaschinen (EQEs) 1320, (eine) Cross Bar-Schaltebene(n) 1330 und einen ESM-Scheduler 1340. Die ECDEs 1310 sind Eingangs-Reihungsvorrichtungen und die EQEs 1320 sind Ausgangs-Reihungsvorrichtungen. Daten treffen von dem CSM in einem WDM-Frame ein, der aus mehreren im Frame befindlichen Segmenten besteht. Die einzelnen Kanäle, die die CSM Frame Slices enthalten, sind durch den WRF 1305 getrennt. Die Frame Slices werden dann an die entsprechenden ECDEs 1310 geschickt. Das ECDE 1310, wenn es eine Frame Slice empfängt, zieht die Paketsegmente aus dem Frame heraus und reiht sie in eine Reihe Warteschlangen ein, basierend auf der Nummer des Ziel-Fabric-Port. Zusätzlich können die Pakete, die für einen bestimmten Fabric-Port bestimmt sind, weiter auf mehrere Warteschlangen verteilt werden, basierend auf ihrer Diensteklasse oder dem relativen Prioritätswert.
  • Der Cross Bar-Schalter 1330, der ein elektrischer Schalter sein kann und eine oder mehrere Cross Bar-Schaltebenen aufweisen kann, verbindet die ECDEs 1310 mit den EQEs 1320. Dieser Cross Bar kann bei einer Ausführungsform mit der identisch sein, die in dem ISM verwendet wird, und kann einen "Durchlauf"-Datenweg haben. Information wird über die Cross Bar-Ebenen 1330 als in Frames befindliche Segmente gesendet.
  • Der ISM-Scheduler 1340 ist verantwortlich für das Einrichten der Cross Bar-Datenwege innerhalb des ESM 1300 während jeder Framezeit. Jedes der ECDEs 1310 sendet während jeder Framezeit Information über die Segmente, die in seinen Warteschlangen warten, an den ESM-Scheduler 1340. Information, die in jeder Framezeit von den ECDEs 1310 an den Scheduler 1340 gesendet wird, kann als ein Satz Anfragen von den ECDEs 1310 zur Verwendung bei den Cross Bar-Datenwegen 1330 betrachtet werden. Die Anfragen, die von dem ECDE 1310 an den ESM-Scheduler 1340 während jeder Framedauer gesendet werden, werden als ein Anfrageframe formatiert.
  • 14 veranschaulicht einen beispielhaften Anfragegrame 1400. Der Anfrageframe 1400 umfaßt einen Begrenzer 1410 für den Beginn des Frames (SOF), einen Nachrichtenkopf 1420, eine Vielzahl Anfragefelder 1430, weitere Felder 1440, einen CRC 1450 und einen Begrenzer 1460 für das Ende des Frames (EOF). Die Anfragefelder 1430 weisen einen Satz Anfragen auf, eine jede für jeden Ziel-Fabric-Port und Prioritätswert. Jede Anfrage kann zum Beispiel die Datenmenge zusammenfassen, die für den entsprechenden Zielport und Prioritätswert in Warteschlangen enthalten ist. Die Anfragen können zum Beispiel die Datenmenge zusammenfassen, die für den entsprechenden Zielport und Prioritätswert in Warteschlangen enthalten ist. Diese Feldlängen können quantisiert werden, wie es zuvor mit Bezug auf das ISM erläutert worden ist. Der Begrenzer 1410 für den Beginn des Frames (SOF), der Nachrichtenkopf 1420, die weiteren Felder 1440, der CRD 1450 und der Begrenzer 1460 für das Ende des Frames (EOF) dienen denselben Funktionen, die bereits angesprochen sind.
  • Mit Bezug zurück auf 13 erzeugt der ESM-Scheduler 1340 einen Plan, indem eine Anpassung der Anfragen durchgeführt wird, die von dem ECDEs 1310 empfangen worden sind, und indem jegliche Konflikte zwischen den ECDEs 1310 gelöst werden. Für eine gegebene EQE 1320 gibt der Scheduler 1340 normalerweise den ECDEs 1310 Präferenz, die bei dem Anpassungsprozeß Anfragen höherer Priorität haben. Der Scheduler 1340 setzt die Priorität der Anfrage auf die höchste Priorität für Daten, die als Teil des Frame geschickt werden. Der ESM-Scheduler 1340 sendet die Planungsinformation in der Form von Bewilligungen an die ECDEs 1310. Die Bewilligungen können auch an die EQEs 1320 geschickt werden. Wenn sowohl das ECDE 1310 als auch die EQE 1320 für denselben Index zusammengepackt sind (in demselben Chip oder auf derselben Karte), können diese beiden Nachrichten in einen einzigen Bewilligungsframe kombiniert werden.
  • 15 veranschaulicht einen beispielhaften kombinierten (Bewilligungen für das ECDE und die EQE) Bewilligungsframe 1500. Der Bewilligungsframe 1500 umfaßt einen Begrenzer 1510 für den Beginn des Frames (SOF), einen Nachrichtenkopf 1520, weitere Felder 1530, eine EQE-Bewilligung 1540, eine ECDE-Bewilligung 1550, einen CRC 1560 und einen Begrenzer 1570 für das Ende des Frames (EOF). Die EQE-Bewilligung 1540 umfaßt ein Gültigkeitsbit 1542 (um anzugeben, daß das Feld gültig ist) und eine Quellenadresse 1544 des ECDE (des ECDE, von dem die EQE Daten erhalten sollte). Die ECDE-Bewilligung 1550 umfaßt einen Bewilligungstyp 1552 (legt den Typ der Bewilligung fest), eine Zieladresse 1554 der EQE (der EQE, an die das ECDE Daten senden sollte) und einen Startprioritätswert 1556 (Prioritätswert, bei dem das Entnehmen aus Warteschlangen beginnen sollte).
  • Mit Bezug zurück auf 13 richtet der ESM-Scheduler 1340 die Cross Bar-Ebenen 1330 so ein, daß sie dem Plan (den Bewilligungen) entsprechen. Nach dem Empfang der Bewilligungen entnimmt das ECDE 1310 Daten von den zugewiesenen Datenschlangen und sendet sie an die Cross Bar-Datenebenen 1330. Der ESM-Scheduler 1340 kann in verschiedene Stufen pipelinemäßig angeordnet werden, falls gewünscht, wie dieses oben diskutiert ist.
  • Die Beschreibung des mehrstufigen Switching Fabric hat insoweit nur Pakete für Punkt-zu-Punkt-Verbindungen betrachtet, das heißt, Pakete, die zu einem einzigen Zielport geschickt werden müssen. Der Fall von Paketen für Mehrpunktverbindungen, die an mehr als einen Zielport kopiert werden müssen, wird als nächstes betrachtet.
  • Wenn Pakete für Mehrpunktverbindungen von einem Gerät für Teilstreckenverfahren (z. B. Schaltsystem, Router) empfangen werden, muß das Gerät für das Teilstreckenverfahren die Pakete für Mehrpunktverbindungen kopieren und die Pakete für Mehrpunktverbindungen an Zielports senden, die in den Paketen für Mehrpunktverbindungen festgelegt sind. Der Nachrichtenkopf jedes Paketes für Mehrpunktverbindungen enthält einen Mehrpunktverbindungs-Gruppenidentifizierer (MID – Multicast Group identifier). Jeder MID ist mit einer entsprechenden Liste von Systemports verknüpft. Zum Beispiel kann ein MID 21 auf die Ports 2, 35 und 91 verweisen. Somit muß ein Paket für Mehrpunktverbindungen, das mit einem Ziel-MID von 21 ankommt, kopiert und an jeden dieser drei Ports geliefert werden. Die Anzahl der Bits in dem MID-Feld bestimmt die maximale Anzahl von Gruppen, die gebildet werden können. Zum Beispiel können mit einem 16-Bit MID 64K (65.536) unterschiedliche Mehrpunktverbindungsgruppen festgelegt werden. Das Gerät für das Teilstreckenverfahren verwendet Nachschlagetabellen, um die Systemports zu bestimmen, die mit jedem MID verknüpft sind.
  • Gemäß einer Ausführungsform werden die MID-Nachschlagetabellen und die Kopierfunktion mit einem mehrstufigen Schaltsystem so nahe an das Ziel verlegt wie möglich.
  • 16 veranschaulicht einen beispielhaften Weg eines Paketes für Mehrpunktverbindungen, wenn es durch ein mehrstufiges Switching Fabric 1600 geschickt wird. Ein Mehrpunktverbindungspaket wird am Fabric-Port (Eingangsport) 1605 des ISM 1610 empfangen. Das ISM 1610 bestimmt, basierend auf dem MID, für welche ESMs das Paket bestimmt ist. Das ISM 1610 macht genau eine Kopie des Paketes für Mehrpunktverbindungen für jedes ESM, das einen oder mehrere der gewünschten Zielports des Paketes für Mehrpunktverbindungen enthält. Wenn zum Beispiel ein Paket für Mehrpunktverbindungen an drei Ziel-Fabric-Ports geliefert werden soll und diese drei Zielports in zwei getrennten EMSs enthalten sind (ein ESM, das einen Zielport enthält, und ein zweites ESM, das die verbleibenden zwei Zielports enthält), dann sendet das ISM, das das Paket verschickt, zwei Kopien des Paketes, eines an jedes der ESMs, das wenigstens einen der Zielports enthält.
  • Die IQE 1615 erstellt eine geeignete Anzahl von Kopien des Pakets (in dem veranschaulichten Beispiel der 16 zwei) und sendet das Paket über die Cross Bar 26 an die ICDEs (mehrere ICDEs oder eine einzige ICDE). Die ICDEs schicken Kopien der Pakete für Mehrpunktverbindungen in derselben Weise wie die Pakete für Punkt-zu-Punkt-Verbindungen, die oben beschrieben sind (z. B. werden die Pakete für Mehrpunktverbindungen mit anderen Paketen gesammelt (Punkt-zu-Punkt-Verbindung, Mehrpunktverbindung oder beides), die für dasselbe ESM bestimmt sind). Wie in 16 veranschaulicht, wird das Paket von zwei ICDEs 1625, 1630 empfangen. Jede Kopie des Pakets wird dann über das CSM 1635 an ein ESM gesendet, das mit den Zielports, die in dem MID identifiziert sind, verknüpft ist. Wie in 16 veranschaulicht, werden die Pakete an die ESMs 1640, 1645 gesendet.
  • Wenn das Paket bei den ESMs eintrifft, bestimmen die ESMs, ob das Paket für einen einzelnen Zielport oder mehrere Zielports bestimmt ist. Wenn das Paket für einen einzelnen Zielport bestimmt ist (wie bei dem EMS 1640), schickt das ECDE 1650 einfach das Paket über den Cross Bar 1655 zu der EQE 1660, die dem Fabric-Port (Ausgabeport) 1665 zugewiesen ist. Wenn das Paket für mehr als einen Zielport bestimmt ist (wie bei dem ESM 1645), geschieht ein Kopieren auf zweiter Ebene innerhalb des ECDE 1670. Eine gesonderte Kopie des Paketes wird dann über den Cross Bar 1675 zu den EQEs 1680 und 1690, die mit dem Fabric-Ports (Ausgabeports) 1685 bzw. 1695 verknüpft sind, geliefert. Die Übertragung des Paketes von dem ECDE 1670 zu jeder der EQEs 1680 und 1690 geschieht in einer identischen Weise wie für Pakete für Punkt-zu-Punkt-Verbindungen, wie es oben beschrieben ist (z. B. werden die Pakete für Mehrpunktverbindungen mit anderen Paketen zusammengepackt (Punkt-zu-Punkt-Verbindung, Mehrpunktverbindung oder beides), die für denselben Zielport bestimmt sind.
  • 17 veranschaulicht eine beispielhafte Arbeitsweise des ISM 1700 in bezug auf das Handhaben von Mehrpunktverbindungsdaten. Mehrpunktverbindungsdaten 1710 kommen an der IQE 1720 an und werden segmentiert und in einer zugewiesenen Warteschlange gespeichert. Die sich ergebenden Segmente tragen den MID in ihrem Nachrichtenkopf anstelle der Zielportadresse der Segmente für Punkt-zu-Punkt-Verbindung. Die Segmente für Mehrpunktverbindungen können alle in einer einzigen Warteschleife gespeichert werden, die Paketen für Mehrpunktverbindungen gewidmet ist, oder können unter mehreren Warteschlangen basierend auf ihrem MID und dem Wert der Priorität aufgeteilt werden. Bei einer Ausführungsform wird eine einzelne Warteschlange für alle Pakete für Mehrpunktverbindungen verwendet. Die Segmente aus einem gegebenen Paket für Mehrpunktverbindungen werden alle sequentiell in einer Warteschlange gespeichert, ohne daß sie mit Segmenten von anderen Paketen für Mehrpunktverbindungen verschachtelt würden. Ähnlich, beim Entnehmen aus einer Mehrpunktverbindungswarteschlange, wird ein Paket aus der Schlange vollständig entfernt, bevor versucht wird, das nächste Paket zu entnehmen.
  • Während jeder Framezeit sendet die IQE 1720 Anfragen an den ISM-Scheduler 1730. Die Anfragen können für Pakete für Punkt-zu-Punkt-Verbindung und für Pakete für Mehrpunktverbindungen sein. Die Anfragen werden in der Form von Anfrageframes gesendet. 18 veranschaulicht einen beispielhaften Anfrageframe 1800 mit Anfragen für Pakete für Punkt-zu-Punkt-Verbindung und Mehrpunktverbindungen. Der Anfrageframe 1800 umfaßt ein Feld 1805 für den Beginn des Frames, einen Nachrichtenkopf 1810 des Frames, ein Anfragefeld 1815 für Mehrpunktverbindung, ein Anfragefeld 1820 für Punkt-zu-Punkt-Verbindung, weitere Felder 1825, ein Schutzfeld (so wie ein CRC) 1830 und ein Feld 1835 für das Ende des Frames. Das Anfragefeld 1915 für Mehrpunktverbindung umfaßt einen Mehrpunktverbindungs-Gruppenidentifizierer (MID) 1840, eine neue Mehrpunktverbindungsanfrage (NMR – New Multicast Request) 1850 und eine Datenlänge (DL – Data Length) 1860.
  • Der MID 1840 identifiziert die Mehrpunktverbindungsgruppe, die mit dem Segment am Kopf der Mehrpunktverbindungswarteschlange in der anfragenden IQE verknüpft ist. Der MID wird von dem Scheduler verwendet, um die zugeordnete Bitkarte des ESM und weitere Information aus einer Mehrpunktverbindungs-Nachschlagetabelle nachzuschlagen (die Nachschlagetabelle wird hiernach in weiteren Einzelheiten diskutiert).
  • Die DL 1860 gibt die Datenmenge an, die in der Mehrpunktverbindungswarteschlange der IQE aufgereiht ist. Die Längeninformation kann auf verschiedenen Wegen codiert werden. Ein Ansatz besteht darin, sie gemäß der Framedauer zu quantisieren, genau wie für Anfragen für Punkt-zu-Punkt-Verbindungen, wie es oben mit Bezug auf die 7 diskutiert ist.
  • Die NMR 1850 ist ein einzelnes Bit, das angibt, ob die IQE, die die Anfrage sendet, irgendwelche Mehrpunktverbindungsbewilligungen von dem Scheduler zum Senden der Segmente für Mehrpunktverbindungen, die sie nachfragt, erhalten hat. Bei einer Ausführungsform aktiviert die IQE (setzt es z. B. auf '1') das Bit NMR 1850, während eine Mehrpunktverbindungsanfrage an den ISM-Scheduler gesendet wird. Das IQE deaktiviert (setzt auf '0') die NMR 1850, wenn einmal eine Mehrpunktverbindungsbewilligung für den gegenwärtigen MID empfangen ist, für den nachgefragt wird. Nach dem Empfang der ersten Bewilligung kann die IQE dieselbe Anfrage an den Scheduler in nachfolgenden Framedauern richten, wenn sie das Kopieren durchführt, so daß eine neue Kopie der Segmente für jede empfangene Bewilligung gesendet werden kann. Das Bit NMR 1850 wird für die nachfolgenden Anfragen deaktiviert, nachdem die erste Bewilligung erhalten wurde, bis die IQE das Senden aller erforderlichen Kopien der Segmente beendet hat. Wenn einmal die letzte Mehrpunktverbindungsbewilligung für einen MID empfangen wird, aktiviert die IQE wieder das Bit NMR 1850 in einer neuen Anfrage.
  • Die NMR 1850 wird für die Fehlererfassung und -heilung verwendet. Wenn zum Beispiel eine letzte Mehrpunktverbindungs-Bewilligungsnachricht für einen bestimmten MID verloren geht und der Scheduler eine neue Anfrage für denselben MID in der nächsten Anfragenachricht empfängt, wird der Scheduler in der Lage sein zu bestimmen, daß es einen Fehler beim Empfang der Bewilligung gegeben hat, wenn die Anfrage weiter das Bit NMR deaktiviert hat. Beim Erfassen des Fehlers kann der Scheduler der anfragenden IQE befehlen, die betroffenen Segmente wegzuwerfen, um den Fehler zu heilen.
  • Mit Bezug zurück auf 17 benutzt der ISM-Scheduler 1730 eine Mehrpunktverbindung-Nachschlagetabelle 1740, die im Speicher gehalten wird (z. B. in einem RAM), um die ESMs zu bestimmen, die der Mehrpunktverbindungsgruppe zugewiesen sind. Gemäß einer Ausführungsform umfaßt die Mehrpunktverbindungs-Nachschlagetabelle 1740 für jeden MID eine Bitkarte der Größe m (wobei m die Anzahl der ESMS in dem System ist). Ein Bit in der Bitkarte mit m Bit wird gesetzt, wen ein oder mehrere Ports, die dem entsprechenden ESM zugewiesen sind, beabsichtigte Empfänger des Paketes sind.
  • 19 veranschaulicht eine beispielhafte Mehrpunktverbindungs-Nachschlagetabelle 1900. Die Mehrpunktverbindungs-Tabelle 1900 ist durch MID indexiert (was die Mehrpunktverbindungsadresse identifiziert). Die Mehrpunktverbindungs-Tabelle 1900 umfaßt eine ESM-Bitkarte 1910 und ein serielles Mehrpunktverbindungsbit 1930 (das später diskutiert werden soll) für jeden MID. Wie veranschaulicht sind für die Mehrpunktverbindungsadresse 27 (der MID ist bei einer Ausführungsform mit einem MID mit 5 Bit 11011) in der zugeordneten ESM-Bitkarte 1910 die Bits, die mit den ESM-Orten 0, 1 und 3 verknüpft ist, auf 1 gesetzt, alle anderen Bits sind auf 0 gesetzt. Dies gibt an, daß das Paket für Mehrpunktverbindungen mit dem MID 27 an ESMs an den Orten 0, 1 und 3 gesendet wird und gibt auch an, daß das Paket für Mehrpunktverbindungen von der IQE kopiert wird und drei gesonderte Kopien gesendet werden, eine für jedes der drei Ziel-ESMs.
  • Die IQE, in der Segmente des Paketes für Mehrpunktverbindungen in der Warteschlange aufgereiht sind, ist für das Kopieren der Mehrpunktverbindungsdaten auf der ISM-Ebene verantwortlich. Das heißt, die IQE wird eine getrennte Kopie der Daten für jedes ISM an die ICDEs liefern (wie zuvor angesprochen, an ein einzelnes ICDE oder an mehrere ICDEs). Die Kopierfunktion kann durch serielles Kopieren oder räumliches Kopieren bewerkstelligt werden. Bei einer Ausführungsform kann das System zwischen den beiden Kopierfunktionen auswählen. Zum Beispiel kann das serielle Mehrpunktverbindungsbit 1920 in der Mehrpunktverbindungs-Nachschlagetabelle 1900, die mit dem Scheduler gespeichert ist, verwendet werden, um entweder die serielle Kopie (in Einzelheiten später diskutiert) für den bestimmten MID auszuwählen oder nicht auszuwählen.
  • Seriellen Kopieren ist zweckmäßig, wenn die Cross Bar-Ebenen die Kopierfähigkeit nicht haben (sie nicht die Fähigkeit haben, mehr als einen ihrer Ausgänge mit demselben Eingang zu verbinden). Bei dem seriellen Kopieren führt die IQE das Kopieren von Segmenten für Mehrpunktverbindungen aus, indem sie explizit zu jedem der beabsichtigten Ziel-ICDEs eines nach dem anderen kopiert werden. Wenn das serielle Kopieren verwendet wird, arbeiten die IQE und der Scheduler zusammen, um den Kopiervorgang über mehrere Framedauern durchzuführen. Dies wird erreicht, indem die IQE die Segmente für Mehrpunktverbindungen in der Warteschlange hält und sie wiederholt aussendet, eine Kopie pro Ziel-ESM der Mehrpunktverbindungsgruppe, und die Segmente aus der Warteschlange nach dem Senden der letzten Kopie löscht. Da ein Frame während jeder Framedauer nur zu einem einzigen Ziel gesendet werden kann, dauert dies so viele Framedauern, wie die Anzahl unterschiedlicher ESMs beträgt, die eine Kopie der Mehrpunktverbindungsdaten empfangen müssen.
  • Das serielle Kopieren bietet die Möglichkeit, Segmente für Punkt-zu-Punkt-Verbindung in dem Frame zusammen mit den Segmenten für Mehrpunktverbindungen zu kombinieren, was die Nutzbarkeit des Fabric erhöht. Wenn zum Beispiel das Eingangsmodul seine Segmente für Mehrpunktverbindungen zu einem der ICDEs sendet, kann der Rest des Frames mit Segmenten für Punkt-zu-Punkt-Verbindung gefüllt werden, die für das ICDE in die Warteschlange gestellt worden sind. Wenn es nur eine kleine Menge an Mehrpunktverbindungsdaten zum Versenden gibt, verbessert dieses Packen von Punkt-zu-Punkt-Verbindungsdaten mit Mehrpunktverbindungsdaten im Huckepack das Ausnutzen der Cross Bar-Ebenen beträchtlich. Wenn das Paket für Mehrpunktverbindungen an eine kleine Anzahl von Ziel-ESMs geschickt wird, kann serielles Kopieren bevorzugt sein.
  • Räumliches Kopieren wird verwendet, wenn die Cross Bar-Ebenen Kopierfähigkeit haben. Beim räumlichen Kopieren kann der Scheduler die Ebenen einrichten, daß sie die Daten von der IQE zu den beabsichtigten empfangenden ICDEs kopieren. Die ICE braucht dann nur ein einzelnes Element der in Frames befindlichen Segmente für Mehrpunktverbindungen über die Cross Bar-Ebenen zu schicken, so wie in dem Fall der Punkt-zu-Punkt-Verbindung. Wenn die Anzahl der Ziel-ESMs groß ist, kann räumliches Kopieren die Verzögerung für das Mehrpunktverbindungspaket beträchtlich verringern, im Vergleich dazu, das Paket über mehrere Framedauern zu senden. Somit ist die Möglichkeit, zwischen dem seriellen Kopieren und dem räumlichen Kopieren auszuwählen, wobei die Anzahl der Zielports und Verkehrseigenschaften jeder Mehrpunktverbindungsgruppe berücksichtigt werden, nützlich.
  • Die Reihungsvorrichtungen in der ICDE-Stufe empfangen so viele Kopien eines Segmentes für Mehrpunktverbindungen, wie die Anzahl unterschiedlicher ESMs beträgt, die das Segment empfangen müssen. Wenn zum Beispiel die Fabric-Port-Ziele eines Paketes für Mehrpunktverbindungen sich innerhalb von fünf unterschiedlichen ESMs befinden, dann werden die ICDEs insgesamt fünf Kopien desselben Segments empfangen (wobei entweder die IQE oder die Cross Bar-Ebenen das Kopieren durchführt/durchführen). Da alle ICDE-Vorrichtungen in dem ISM während einer Framedauer des Kernschaltmoduls mit demselben ESM verbunden sind, können die Kopien zu irgendeiner der ICDE-Vorrichtungen in dem ISM geschickt werden. Jedoch ist es zweckmäßig, wenn alle Segmente für Mehrpunktverbindungen, die ihren Ursprung bei einer bestimmten IQE haben und für ein bestimmtes Ziel-EMS bestimmt sind, zu demselben IDCE geschickt werden, um zu vermeiden, daß die Segmente in dem Fabric außer Reihe geraten. Die ICDEs können als eine Lastausgleichsstufe für die Segmente für Mehrpunktverbindungen dienen. Somit ist es wünschenswert, Kopien der Segmente für Mehrpunktverbindungen auf die ICDE-Vorrichtungen so gleichförmig wie möglich zu verteilen, so daß keine der Vorrichtungen überlastet ist.
  • Gemäß einer Ausführungsform kann das Ziel-ICDE als eine Funktion seiner ursprünglichen IQE-Adresse und seiner Ziel-ESM-Adresse ausgewählt werden (z. B. werden die beiden Adressen addiert und das niederwertigste Bit des Ergebnisses wird als die ICDE-Adresse verwendet). Zur Veranschaulichung betrachte man ein System mit 32 ISMs (und derselben Anzahl an ESMs) und 32 ICDEs pro ISM. Man betrachte ein erstes Segment für Mehrpunktverbindungen, das bei der IQE mit der Nummer 6 in die Warteschlange zur Lieferung an das ESM mit der Nummer 28 eingereiht ist, und ein zweites Segment für Mehrpunktverbindung, das bei der IQE 7 zur Lieferung an das ESM 6 in die Warteschlange eingereiht ist. Die entsprechende ICDE-Adresse für das erste Segmente ist durch 6 + 28 = 34 und das Subtrahieren von 32 gegeben, um die Modulus-32-Summe (und ICDE-Adresse) 2 zu erhalten. Die entsprechende ICDE-Adresse für das zweite Segment ist gegeben durch 7 + 6 = 13, so daß die ICDE-Adresse 13 ist.
  • Die Option serielles gegen räumliches Kopieren kann durch den Benutzer festgelegt werden, indem das serielle Mehrpunktverbindungsbit 1930 in der Mehrpunktverbindungs-Nachschlagetabelle 1900 programmiert wird. Beim Empfang einer Anfrage von einer IQE, die Sendung von Segmenten für Mehrpunktverbindungen zu planen, führt der Scheduler ein Nachschlagen in der Mehrpunktverbindungs-Nachschlagetabelle an dem Ort, auf den von dem MID, der in der Anfrage festgelegt ist, gezeigt wird, durch, um die ESM-Bitkarte 1920 zu erhalten, die mit der Mehrpunktverbindungsgruppe verknüpft ist. Wenn für diesen MID serielles Kopieren festgelegt ist (z. B. ist das serielle Mehrpunktverbindungsbit 1930 aktiv (auf '1' gesetzt)), speichert der Scheduler die Bitkarte in einem temporären Register. Der Scheduler wählt das ESM entsprechend der ersten '1' in der Bitkarte als das Ziel des Paketes in dem gegenwärtigen Plan aus. Der Scheduler bestimmt dann die Adresse des ICDE, diesen Frame zu empfangen (der die Segmente für Mehrpunktverbindungen enthält), indem eine lastausgleichende Funktion angewendet wird (z. B. das oben beschriebene Verfahren). Der Scheduler kommuniziert die Adresse des ICDE, um so eine Bewilligungsnachricht auszuwählen, die an die anfragende IQE geschickt wird. Die anfragende IQE, beim Empfang der Bewilligungsnachricht, entvölkert die in der Warteschlange befindlichen Segmente vom Kopf einer Mehrpunktverbindungswarteschlange her entsprechend dem MID in ihrer Anfrage und sendet sie über die Cross Bar-Ebenen als einen Frame. Die IQE hält auch den Inhalt der gesendeten Segmente für Mehrpunktverbindungen in einem temporaren Puffer, so daß Kopien in nachfolgenden Framedauern gesendet werden können. Die IQE kann optional Segmente für Punkt-zu-Punkt-Verbindung im Huckepack packen, die für dasselbe ICDE bestimmt sind, wenn in dem Frame Platz verfügbar ist, nachdem alle Segmente für Mehrpunktverbindungen mit demselben MID eingefügt worden sind.
  • Wenn die Bitkarte mehr als eine "1" hat, wird die obige Sequenz für jede "1" in der Bitkarte während nachfolgender Framezeiten wiederholt, was dazu führt, daß die IQE eine gesonderte Kopie der Segmente für Mehrpunktverbindungen an das ICDE sendet, das als ein Ziel in jedem Zyklus ausgewählt worden ist. Die letzte Bewilligung an die IQE von dem Scheduler wird mit einem speziellen Typ markiert, um der IQE zu befehlen, daß die Segmente aus dem Puffer entfernt werden müssen, nachdem sie gesendet worden sind.
  • Während die Bewilligung an die IQE gesendet wird, kann der Scheduler optional eine entsprechende Bewilligungsnachricht an das ICDE senden, das als Ziel der Segmente für Mehrpunktverbindungen ausgewählt ist. Dies ermöglicht es dem empfangenden ICDE, jegliche Fehler bei der Einstellung der Cross Bar-Ebenen zu erfassen, die bewirken können, daß Daten an ein nicht richtiges ICDE geliefert werden.
  • Beim räumlichen Kopieren wird eine Anfrage von einer IQE, die Sendung von Segmenten für Mehrpunktverbindungen zu planen, an den Scheduler geschickt. Der Scheduler führt dann ein Nachschlagen in der Mehrpunktverbindungs-Nachschlagetabelle an dem Ort durch, der dem MID entspricht, welcher in der Anfrage festgelegt worden ist, um die ESM-Bitkarte zu erhalten, die mit der Mehrpunktverbindungsgruppe verknüpft ist. Der Scheduler bestimmt dann die Adresse jedes der ICDEs, das diesen Frame empfängt (der aus den Segmenten für Mehrpunktverbindungen besteht), indem zum Beispiel die Lastausgleichsfunktion angewendet wird, die oben beschrieben ist. Der Scheduler kommuniziert die Adresse des ersten ICDE in diesem Satz in einer Bewilligungsnachricht, die an die anfragende IQE geschickt wird, und legt auch fest, daß die Cross Bar-Ebenen die Segmente kopieren werden. Die anfragende IQE, beim Empfang der Bewilligungsnachricht, entnimmt die in Warteschlangen angeordneten Segmente aus dem Kopf ihrer Mehrpunktverbindungswarteschlange, die dem MID in ihrer Anfrage entspricht, und sendet sie als einen Frame über die Cross Bar-Ebenen. Die IQE kann auch die Segmente aus ihrer Warteschlange dauerhaft entfernen.
  • Parallel zum Senden der Bewilligungsnachrichten an die ICDEs kann der Scheduler die Cross Bar-Ebenen so einrichten, daß das Paket, das von der Quellen-IQE der Mehrpunktverbindung gesendet worden ist, an alle ICDEs kopiert werden wird, wie oben festgelegt wurde. Während die Bewilligung an die IQE gesendet wird, kann der Scheduler auch eine entsprechende Bewilligungsnachricht an jedes der ICDEs senden, die als Ziele für die Segmente für Mehrpunktverbindungen ausgewählt worden sind. Dies ermöglicht es, daß die empfangenden ICDEs jegliche Fehler bei der Einstellung der Cross Bar-Ebenen erfassen, die bewirken, daß Daten zu einem nicht korrekten ICDE geliefert werden.
  • Bewilligungsnachrichten werden von dem ISM-Scheduler an die IQE und die ICDE-Vorrichtungen innerhalb von Bewilligungsframes geschickt. Wenn die IQE und das ICDE für denselben Index zusammengepackt werden (zum Beispiel innerhalb desselben Chips), können die Bewilligungsnachrichten, die an die IQE und an das ICDE geschickt werden, in demsel ben Frame gesendet werden. Für Punkt-zu-Punkt-Verkehr und Mehrpunktverbindungsverkehr, der über serielles Kopieren verschickt wird, identifiziert die Bewilligungsnachricht an die IQE das ICDE, an das sie Daten schicken sollte. Die Nachricht an das ICDE identifiziert die IQE, von der es Daten erhalten sollte. Das Format des Bewilligungsframes, wenn Mehrpunktverbindungsverkehr vorliegt, wobei die Nachrichten an die IQE und an das ICDE kombiniert werden, weist verschiedene Felder auf, ähnlich denjenigen, die oben mit Bezug auf 9 beschrieben worden sind. Die Felder in dem Bewilligungsframe können zum Beispiel einen Bewilligungstyp, eine Zieladresse des ESM, eine Zieladresse des ICDE und eine Startpriorität umfassen. Die ISM-Adresse, die ICDE-Adresse und die Startpriorität haben denselben Zweck und dieselbe Funktion wie oben mit bezug auf 9 beschrieben. Die Zieladresse des ISM und die Zieladresse des ICDE sind für das serielle Kopieren besonders geeignet. Bei einer Ausführungsform jedoch kann der Bewilligungstyp Bezeichnungen zusätzlich zu dem "keine Bewilligung" oder der "Bewilligung für Punkt-zu-Punkt-Verbindung" umfassen, die oben für die Punkt-zu-Punkt-Sendung beschrieben sind. Genauer können die zusätzlichen Bewilligungstypen "Mehrpunktverbindungsbewilligung für räumliches Kopieren", "Mehrpunktverbindung mit Punkt-zu-Punkt-Verbindungs-Huckepack", "letzte Mehrpunktverbindung mit Punkt-zu-Punkt-Verbindungs-Huckepack" und "Mehrpunktverbindung entsorgen" umfassen.
  • Ein Bewilligungstyp "Mehrpunktverbindungsbewilligung für räumliches Kopieren" befiehlt der IQE, von der Mehrpunktverbindungs-Warteschlange zu senden, die mit dem angefragten MID verknüpft ist, und die gesendeten Segmente nach dem Senden aus der Warteschlange zu entsorgen. In dem Frame kann kein Punkt-zu-Punkt-Verkehr gesendet werden. Dies wird typischerweise verwendet, wenn der Scheduler räumliches Kopieren verwendet. Eine Bewilligung von "Mehrpunktverbindung mit Punkt-zu-Punkt-Verbindung im Huckepack" befiehlt der IQE, aus der Mehrpunktverbindungs-Warteschlange zu senden, die mit angefragten MID verknüpft ist. Nachdem alle in der Warteschlange befindlichen Segmente mit diesem MID in den Frame eingefügt sind, kann der verbleibende Raum in dem Frame mit Segmenten für Punkt-zu-Punkt-Verbindung aufgefüllt werden, die für das ICDE, das in der Bewilligungs nachricht festgelegt ist, in der Warteschlange sind. Dieser Bewilligungstyp ist bei seriellem Kopieren zweckmäßig. Die gesendeten Segmente für Mehrpunktverbindungen werden von der sendenden IQE weiter in einem Puffer gehalten.
  • Ein Bewilligungstyp "letzte Mehrpunktverbindungssendung mit Punkt-zu-Punkt-Verbindung im Huckepack" ist ähnlich der "Mehrpunktverbindung mit Huckepack-Sendung", mit der Ausnahme, daß er der IQE befiehlt, die Mehrpunktverbindungssegmente nach dem Senden aus der Warteschlange zu beseitigen. Schließlich befiehlt der Bewilligungstyp "Mehrpunktverbindung entsorgen" der IQE, die Segmente, die mit dem angefragten MID verknüpft sind, aus der Warteschlange zu entsorgen. Dies kann eingesetzt werden, um Fehlerzustände zu heilen.
  • Die Bewilligung an das ICDE weist die Adresse der IQE auf, die die Quelle für die Daten ist, die Adresse des ISM, für das die Daten bestimmt sind, und ein Gültigkeitsbit, um anzugeben, daß die Bewilligung gültig ist. Beim Empfangen eines Frames zieht das ICDE jedes Segment heraus und reiht sie einzeln in eine Warteschlange ein, basierend auf der Zieladresse des ESM. Für Segmente für Punkt-zu-Punkt-Verbindung kann diese Zieladresse des ISM aus der Ziel-Fabric-Port-Adresse abgeleitet werden, die in dem Nachrichtenkopf des Segmentes enthalten ist. Für die Verbindungssegmente wird die Adresse des Ziel-ESM aus der Bewilligungsnachricht herausgezogen, die von dem Scheduler empfangen worden ist. Somit nutzen die Segmente für Punkt-zu-Punkt-Verbindung und die Segmente für Mehrpunktverbindungen die Warteschlangen basierend auf dem Ziel-ESM.
  • Bei einer Ausführungsform machen die ICDEs keinen Unterschied zwischen Punkt-zu-Punkt-Verbindungs- und Mehrpunktverbindungssegmenten, während sie über den CSM zu dem Ziel-ESM geschickt werden. Das heißt, es wird bei einer Ausführungsform kein Kopieren zwischen den ICDEs und den ECDEs in dem Ziel-ESM durchgeführt. Während jeder Framezeit des CSM verbindet der CSM-Scheduler die ICDE-Stufe in einem ISM mit der ECDE-Stufe eines ESM. Wenn sie mit einem bestimmten ESM verbunden sind, entnehmen die ICDEs Daten aus der Warteschlange, die mit dem ESM verknüpft ist, und senden die Daten durch das CSM zu den ECDE-Elementen in dem Ziel-ESM.
  • 20 veranschaulicht eine beispielhafte Arbeitsweise des ESM 2000 in bezug auf das Handhaben von Mehrpunktverbindungsdaten. Mehrpunktverbindungsdaten 2010, die an dem ECDE 2020 ankommen, liegen in der Form von in Frames befindlichen Segmenten vor, welche Segmente aus Punkt-zu-Punkt-Verbindungs- und/oder Mehrpunktverbindungsdatenpaketen aufweisen können. Das ECDE 2020 zieht die Segmente aus dem Frame heraus und speichert sie in Warteschlangen (z. B. Warteschlangen für Segmente 2030 für Punkt-zu-Punkt-Verbindungen und Warteschlangen für Segmente 2040 für Mehrpunktverbindungen). Eine getrennte Warteschlange 2030 für Punkt-zu-Punkt-Verbindungen wird für jeden Fabric-Port (Zielport) vorgesehen, der sich innerhalb des ESM 2000 befindet. Als Option können es mehrere Warteschlangen 2030 für Punkt-zu-Punkt-Verbindungen pro Fabric-Port (z. B. eine pro Prioritätswert) geben. Die Segmente für Mehrpunktverbindungen können alle in einer einzigen Mehrpunktverbindungs-Warteschlange 2040 gespeichert werden, die für Pakete für Mehrpunktverbindungen vorgesehen ist, oder können unter mehreren Mehrpunktverbindungswarteschlangen basierend auf dem MID und optional anderen Faktoren (z. B. Prioritätswert) verteilt werden.
  • Jedes ESM 2000, das eine Kopie eines Segments für Mehrpunktverbindungen empfängt, wird es an alle Fabric-Ports (Zielports) senden, die Mitglieder der Mehrpunktverbindungsgruppe sind, die mit dem Segment verknüpft ist. Diese Kopieroperation kann in derselben Weise durchgeführt werden, wie es oben im Hinblick auf das ISM 1700 (17) diskutiert worden ist. Die ECDEs 2010 in Verbindung mit dem ESM-Scheduler 2050 sind verantwortlich für das Kopieren des Paketes an alle EQEs 2060, die mit den Mehrpunktverbindungszielen verbunden sind. Die ECDEs 2010 senden Anfragen an den ESM-Scheduler 2050 in der Form von Anfrageframes, wie es oben mit bezug auf das ISM (18) beschrieben ist.
  • Das ECDE, in dem Segmente des Mehrpunktverbindungsspaketes in einer Warteschlange eingereiht sind, ist verantwortlich für das Kopieren der Mehrpunktverbindungsdaten auf der Portebene. Das heißt, das ECDE muß an die EQE-Stufe eine gesonderte Kopie der Daten für jeden ihrer Zielports innerhalb des ESM liefern. Wie bei dem Kopieren in dem ISM kann das Kopieren in dem ESM durch entweder räumliches Kopieren oder serielles Kopieren bewerkstelligt werden, basierend auf den Kopiermöglichkeiten der Cross Bar-Ebenen. Wie es mit bezug auf das ISM diskutiert worden ist, kann ein Bit in einer Mehrpunktverbindungs-Nachschlagetabelle verwendet werden, um zwischen räumlichen und seriellen Kopieren auszuwählen, wenn das Switching Fabric beides unterstützt.
  • Der ESM-Scheduler 2050 schickt Bewilligungen in der Form von Bewilligungsframes an die geeigneten ECDEs. Der ESM-Scheduler kann Bewilligungen auch an die geeigneten EQEs schicken. Dies ermöglicht es den empfangenen EQEs, jegliche Fehler in der Einstellung der Cross Bar-Ebenen zu entdecken, die bewirken, daß Daten an eine nicht korrekte EQE geliefert werden. Die Bewilligungsframes der ESMs sind den Bewilligungsframes der ISMs, die oben beschrieben sind, sehr ähnlich.
  • Wenn eine EQE einen Frame empfängt, zieht die EQE jedes Segment heraus und reiht die Segmente in eine Warteschlange ein, basierend auf dem Fabric-Port (Ursprungsport), der das Segment gesendet hat. Das heißt, alle Mehrpunktverbindungssegmente, die aus einem bestimmten Fabric-Port herrühren, werden der Mehrpunktverbindungs-Warteschlange hinzugefügt, die dem bestimmten Port entspricht. Somit hält jede EQE so viele Mehrpunktverbindungs-Warteschlangen, wie die Anzahl der Fabric-Ports in dem gesamten Schaltsystem beträgt. In ähnlicher Weise gibt es einen gesonderten Satz Warteschlangen für Pakete für Punkt-zu-Punkt-Verbindung, wobei wenigstens eine Warteschlange für Segmente für Punkt-zu-Punkt-Verbindung bezeichnet ist, die von jedem Fabric-Port herrühren. Wenn mehrere Prioritäten vorliegen, wird eine Warteschlange pro Fabric-Port und pro Prioritätswert benötigt.
  • Jede Warteschlange innerhalb der EQE arbeitet auch als ein Neuanordnungspuffer, um die Segmente in Pakete anzuordnen. Wenn jedes Segment zu der Warteschlange hinzugefügt wird, wird der Zustand der Warteschlange aktualisiert, um das hinzugefügte Segment widerzuspiegeln. Zusätzlich kann ein Bit Ende des Pakets (EOP – End Of Packet) in jedem Segment überwacht werden, so daß eine Zählung vollständiger Pakete eingehalten werden kann. Ein lokaler Ausgangs-Scheduler innerhalb der EQE ist verantwortlich dafür, Entscheidungen zu treffen, Pakete aus einem Neuanordnungspuffer aus Warteschlangen zu entnehmen. Eine Warteschlange ist für das Entnehmen geeignet, wenn sie wenigstens ein volles Paket enthält. Bei einer Ausführungsform wählt der Scheduler die Warteschlange für das Entnehmen basierend auf einer Dienstedisziplin aus, so wie einem Round-Robin oder einer strengen Priorität. Die der Warteschlange entnommenen Segmente werden dann in dem ursprünglichen Paket neu angeordnet und an eine Leitungskarte geschickt, die mit dem Zielport verknüpft ist.
  • Obwohl die Ausführungsformen in Einzelheiten mit bezug auf ein mehrstufiges Schaltsystem beschrieben worden sind, ist das beschriebene Kopierverfahren gleichermaßen in einstufigen Schaltsystemen verwendbar. Ein einstufiges Schaltsystem würde Eingangsmodule und Ausgangsmodule haben, und die Datenpakete würden von einem Eingangsmodul zu einem oder mehreren Ausgangsmodulen geschaltet werden. Somit würden bei einer Ausführungsform, wenn ein einstufiges Schaltsystem verwendet wird, die Mehrpunktverbindungsdaten innerhalb des einstufigen Schaltsystems kopiert werden, und eine Mehrpunktverbindungsnachricht kann in einer Mehrpunktverbindungs-Warteschlange empfangen und gespeichert werden. Bei einer solchen Ausführungsform könnte eine Nachschlagetabelle verwendet werden, um zu bestimmen, wie viele Kopien des Datenpakets gemacht werden müssen und an welche Ausgangsmodule diese Datenpaketkopien übertragen werden müssen. Wenn einmal die Datenpakete zu den Ausgangsmodulen übertragen werden, könnten dann die Datenpakete wieder kopiert werden, wie bei den Ausführungsformen des mehrstufigen Schaltsystems, und an die Ports verteilt werden, die von dem Ausgangsmodul bedient werden.
  • Obwohl die verschiedenen Ausführungsformen mit bezug auf bestimmte Ausführungsformen veranschaulicht worden sind, wird es deutlich, daß verschiedene Änderungen und Modifikationen vorgenommen werden können. Der Bezug auf "eine Ausführungsform" bedeutet, daß ein bestimmtes Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben ist, in wenigstens einer Ausführungsform enthalten ist. Somit bezieht sich das Auftreten des Ausdruckes "bei einer Ausführungsform", der an verschiedenen Stellen in der Beschreibung erscheint, nicht notwendigerweise auf dieselbe Ausführungsform.
  • Unterschiedliche Implementierungen können unterschiedliche Kombinationen von Hardware, Firmware und/oder Software ins Auge fassen. Zum Beispiel können manche Implementierungen Computerprogrammprodukte umfassen, die auf computerlesbaren Medien angeordnet sind. Die Programme umfassen Befehle, die bewirken, daß Prozessoren die oben beschriebenen Techniken ausführen.
  • Es ist beabsichtigt, daß die verschiedenen Ausführungsformen weit innerhalb des Gedanken und Umfangs der angefügten Ansprüche geschützt sind.
  • Zusammenfasung
  • Im allgemeinen beschreibt die Offenbarung bei einem Aspekt ein mehrstufiges Schaltsystem mit wenigstens einem Eingangsschaltmodul, um Daten zu empfangen und Frames zu erzeugen, die als ein wellenlängenmultiplexiertes Signal gesendet werden. Das mehrstufige Schaltsystem umfaßt weiter ein Kernschaltmodul, das betrieblich so verbunden ist, daß es das wellenlängenmultiplexierte Signal von dem wenigstens einen Eingangsschaltmodul empfängt und die Frames schaltet. Das mehrstufige Schaltsystem umfaßt zusätzlich wenigstens ein Ausgangsschaltmodul, um das wellenlängenmultiplexierte Signal von dem Kernschaltmodul zu empfangen und um Daten zu senden. Das wenigstens eine Eingangsschaltmodul und das wenigstens eine Ausgangsschaltmodul sind in der Lage, Datenpakete für Mehrpunktsverbindungen zu kopieren.

Claims (36)

  1. Mehrstufiges Schaltsystem, das aufweist: wenigstens ein Eingangsschaltmodul, um Datenpakete zu empfangen, aus den Datenpaketen Frames zu erzeugen und aus den Frames wellenlängenmultiplexierte Signale zu bilden; ein Kernschaltmodul, das betrieblich so verbunden ist, daß es das wellenlängenmultiplexierte Signal von dem wenigstens einen Eingangsschaltmodul empfängt und die Frames schaltet; und wenigstens ein Ausgangsschaltmodul, um das wellenlängenmultiplexierte Signal von dem Kernschaltmodul zu empfangen, die Datenpakete herauszuziehen und die Datenpakete zu senden, wobei das wenigstens eine Eingangsschaltmodul und das wenigstens eine Ausgangsschaltmodul in der Lage sind, Datenpakete für Mehrpunktverbindungen zu kopieren.
  2. Schaltsystem nach Anspruch 1, bei dem das wenigstens eine Eingangsschaltmodul einen Satz interner Untermodule umfaßt und bei dem ein bestimmtes Eingangsschaltmodul Datenpakete, die für ein bestimmtes Ausgangsschaltmodul bestimmt sind, über den Satz der internen Untermodule verteilt, so daß die Datenpakete, die für das bestimmte Ausgangsschaltmodul bestimmt sind, so gleichmäßig wie möglich über den Satz der internen Untermodule verteilt werden.
  3. Schaltsystem nach Anspruch 2, bei dem Datenpakete, die in unterschiedlichen Untermodulen in Warteschlangen angeordnet sind, welche mit dem bestimmten Eingangsschaltmodul verknüpft sind und für das bestimmte Ausgangsschaltmodul bestimmt sind, parallel über das Kernschaltmodul zu dem bestimmten Ziel-Ausgangsschaltmodul geschaltet werden.
  4. Schaltsystem nach Anspruch 1, bei dem das wenigstens eine Ausgangsschaltmodul einen Satz interner Untermodule umfaßt und das bestimmte Ausgangsschaltmodul den Satz der internen Untermodule verwendet, um die Daten zu empfangen, die von dem Kernschaltmodul ankommen.
  5. Schaltsystem nach Anspruch 1, bei dem ein Eingangsschaltmodul ein Datenpaket für eine Mehrpunktverbindung kopieren wird, wenn das Datenpaket für die Mehrpunktverbindung von dem Eingangsschaltmodul zu wenigstens zwei Ausgangsschaltmodulen geliefert werden soll.
  6. Schaltsystem nach Anspruch 1, bei dem das wenigstens eine Eingangsschaltmodul wenigstens eine Eingangsreihungsmaschine aufweist, die betrieblich so geschaltet ist, daß sie Daten zu wenigstens einer Cross Bar-Ebene sendet, die betrieblich so geschaltet ist, daß sie Daten zu wenigstens einem Eingangs-Cross Bar-Datenelement sendet, und bei dem die Datenübertragung durch einen Eingangs-Scheduler gesteuert wird.
  7. Schaltsystem nach Anspruch 6, bei dem das wenigstens eine Eingangsschaltmodul weiter eine Mehrpunktverbindungs-Nachschlagetabelle umfaßt, wobei die Mehrfachverbindungs-Nachschlagetabelle verwendet wird, um Ausgangsschaltmodule zu identifizieren, die mit einem Datenpaket für die Mehrpunktverbindung verknüpft sind.
  8. Schaltsystem nach Anspruch 7, bei dem die Mehrpunktverbindungs-Nachschlagetabelle auch verwendet wird, um die Art des Kopierens zu bestimmen, die mit dem Datenpaket für die Mehrpunktverbindung verknüpft ist.
  9. Schaltsystem nach Anspruch 8, bei dem die Eingangswarteschlangenmaschine die Datenpakete für Mehrpunktverbindungen kopiert und Kopien der Datenpakete für Mehrpunktverbindungen in aufeinanderfolgenden Framedauern sendet, wenn serielles Kopieren identifiziert ist.
  10. Schaltsystem nach Anspruch 8, bei dem die Eingangsreihungsmaschine das Datenpaket für Mehrpunktverbindungen zu der wenigstens einen Cross Bar-Schaltebene sendet und die wenigstens eine Cross Bar-Schaltebene das Datenpaket für Mehrpunktverbindungen zu mehreren Eingangs-Cross Bar-Datenelementen sendet, die während einer Framedauer mit den identifizierten Ausgangsschaltmodulen verknüpft ist, wenn räumliches Kopieren identifiziert wird.
  11. Schaltsystem nach Anspruch 8, bei dem Datenpaketen für Mehrpunktverbindungen einer Mehrpunktverbindungsidentifikation zugewiesen werden und bei dem die Mehrpunktverbindungs-Nachschlagetabelle die zugewiesenen Ausgangsschaltmodule und die Art des Kopierens, die verwendet werden sollen, basierend auf der Mehrpunktverbindungsidentifikation identifiziert.
  12. Schaltsystem nach Anspruch 6, bei dem das wenigstens eine Eingangsschaltmodul weiter einen Framer und einen Wellenlängenmultiplexsender umfaßt, um aus gespeicherten Segmenten Frames zu bilden und ein optisches wellenlängenmultiplexiertes Signal der Frames aus dem wenigstens einen Eingangs-Cross Bar-Datenelement zu erzeugen.
  13. Schaltsystem nach Anspruch 6, bei dem der Eingangs-Scheduler den Datenstrom durch Schlichten unter empfangenen Anfragen steuert.
  14. Schaltsystem nach Anspruch 13, bei dem die Anfragen, die mit den Datenpaketen für Mehrpunktverbindungen verknüpft sind, ein neues Anfragefeld für die Mehrpunktverbindung umfaßt, das aktiv ist, bis eine erste Bewilligung für das Datenpaket für Mehrpunktverbindungen empfangen ist und für die Fehlererfassung und -korrektur bei Bewilligungen verwendet wird.
  15. Schalter nach Anspruch 1, bei dem ein Ausgangsschaltmodul ein Datenpaket für Mehrpunktverbindungen kopieren wird, wenn das Datenpaket für Mehrpunktverbindungen von dem Ausgangsschaltmodul zu wenigstens zwei Zielen geliefert werden soll.
  16. Schaltsystem nach Anspruch 1, bei dem das wenigstens eine Ausgangsschaltmodul wenigstens ein Ausgangs-Cross Bar-Datenelement aufweist, das betrieblich so verbunden ist, daß es Daten zu wenigstens einer Cross Bar-Schaltebene sendet, die betrieblich so verbunden ist, daß sie Daten zu wenigstens einer Ausgangswartereihungsmaschine sendet, und einen Ausgangs-Scheduler, um die Datenübertragung durch diesen zu steuern.
  17. Schaltsystem nach Anspruch 16, bei dem das wenigstens eine Ausgangsschaltmodul weiter eine Mehrpunktverbindungsdaten-Nachschlagetabelle umfaßt, wobei die Mehrpunktverbindungs-Nachschlagetabelle verwendet wird, um wenigstens einige Untermengen an Zielen zu bestimmen, die mit dem wenigstens einen Ausgangsschaltmodul verknüpft sind, und die Art des Kopierens, die für das Datenpaket für die Mehrpunktverbindung verwendet werden soll.
  18. Schaltsystem nach Anspruch 16, bei dem das wenigstens eine Ausgangsschaltmodul weiter einen Wellenlängenmultiplexierempfänger und einen De-Framer aufweist, um ein wellenlängenmultiplexiertes Signal von dem Kernschaltmodul zu empfangen und Frames aus diesem herauszuziehen.
  19. Schaltsystem nach Anspruch 16, bei dem der Ausgangs-Scheduler den Datenstrom durch Schlichten unter empfangenen Anfragen steuert und bei dem die Anfragen, die mit Datenpaketen für Mehrpunktverbindungen verknüpft sind, ein neues Anfragefeld für eine Mehrpunktverbindung umfassen, das aktiv ist, bis eine erste Bewilligung für das Datenpaket für Mehrpunktverbindungen empfangen wird, und für Fehlererfassung und -korrektur von Bewilligungen verwendet wird.
  20. Verfahren, das aufweist: Empfangen von Daten in einem mehrstufigen Schaltsystem, wobei das mehrstufige Schaltsystem eine Vielzahl von Eingangsschaltmodulen, ein Kernschaltmodul, das betrieblich mit der Vielzahl der Eingangsschaltmodule verbunden ist, und eine Vielzahl von Ausgangsschaltmodulen, die betrieblich mit dem Kernschaltmodul verbunden ist, umfaßt, und bei dem die Daten von dem Eingangsschaltmodul empfangen werden und Pakete für Mehrpunktverbindungen umfassen können, die für wenigstens zwei Ziele bestimmt sind; bei Paketen für Mehrpunktverbindungen, Kopieren des Paketes für Mehrpunktverbindungen für die wenigstens zwei Ziele, wobei das Kopieren zwischen empfangenen Eingangsschaltmodulen und Ausgangsschaltmodulen, die den wenigstens zwei Zielen zugewiesen sind, verteilt werden kann; innerhalb der Eingangsschaltmodule Schalten der Daten, Sammeln der Daten, die für unterschiedliche Ausgangsschaltmodule bestimmt sind, in Frames, Erzeugen von optischen wellenlängenmultiplexierten (WDM) Signalen aus den Frames und Senden der optischen WDM-Signale an das Kernschaltmodul; Schalten der optischen WDM-Signale durch das Kernschaltmodul über mehrere Kanäle; innerhalb der Ausgangsschaltmodule, Empfangen der optischen WDM-Signale, Herausziehen von Frames aus den optischen WDM-Signalen, Schalten der Daten und Senden der Daten an Ziele.
  21. Verfahren nach Anspruch 20, bei dem das Kopieren das Kopieren des Paketes für Mehrfachverbindungen in dem Eingangsschaltmodul umfaßt, wenn das Paket für Mehrpunktverbindungen mehr als einem Ausgangsschaltmodul zugewiesen ist.
  22. Verfahren nach Anspruch 21, bei dem die Anzahl, wie oft das Datenpaket für eine Mehrpunktverbindung kopiert wird, auf der Anzahl zugewiesener Ausgangsschaltmodule basiert.
  23. Verfahren nach Anspruch 20, bei dem das Kopieren das Kopieren des Paketes für Mehrpunktverbindungen in einem zugewiesenen Ausgangsschaltmodul umfaßt, wenn das Paket für Mehrpunktverbindungen für das zugewiesene Ausgangsschaltmodul mit mehr als einem Ziel verknüpft ist.
  24. Verfahren nach Anspruch 23, bei dem die Anzahl, wie oft das Datenpaket für die Mehrpunktverbindung kopiert wird, auf der Anzahl der Ziele der basiert, die mit dem zugewiesenen Ausgangsmodul verknüpft sind.
  25. Verfahren nach Anspruch 20, bei dem das Kopieren das räumliche Kopieren umfaßt, wobei das Kopieren und das Senden der Datenpakete für Mehrpunktverbindungen während einer einzelnen Framedauer durchgeführt wird, indem mehrere Cross Bar-Ebenen verwendet werden.
  26. Verfahren nach Anspruch 20, bei dem das Kopieren serielles Kopieren umfaßt, wobei das Kopieren und das Senden für jeweils eine Kopie während aufeinanderfolgender Framedauern durchgeführt werden.
  27. Verfahren nach Anspruch 20, bei dem empfangenen Paketen für Mehrpunktverbindungen eine Mehrpunktverbindungsidentifikation zugewiesen wird, und das weiter das Verwenden einer Mehrpunktverbindungs-Nachschlagetabelle aufweist, um Parameter zu identifizieren, die mit dem Paket für Mehrpunktverbindungen verknüpft sind, basierend auf der zugewiesenen Mehrpunktverbindungsidentifikation.
  28. Verfahren nach Anspruch 27, bei dem ein Parameter, der mit der Mehrpunktverbindungsidentifikation verknüpft ist, die Identität von Ausgangsschaltmodulen ist, die mit dem Datenpaket für Mehrpunktverbindungen verknüpft sind.
  29. Verfahren nach Anspruch 27, bei dem ein Parameter, der mit der Mehrpunktverbindungsidentifikation verknüpft ist, die Art des Kopierens ist, die für das Datenpaket für Mehrpunktverbindungen ausgeführt werden soll.
  30. Verfahren nach Anspruch 27, bei dem ein Parameter, der mit der Mehrpunktverbindungsidentifikation verknüpft ist, die Identität von Zielen ist, die mit dem Datenpaket für Mehrpunktverbindungen verknüpft sind.
  31. Verfahren nach Anspruch 20, das weiter das Verwenden einer Mehrpunktverbindungs-Nachschlagetabelle innerhalb der Eigangsschaltmodule aufweist, um zu identifizieren, für welche Ausgangsschaltmodule ein Datenpaket für Mehrpunktverbindungen bestimmt ist, und welche Art des Kopierens verwendet werden soll, basierend auf einer Mehrpunktverbindungsidentifikation, die dem Datenpaket für Mehrpunktverbindungen zugewiesen ist.
  32. Verfahren nach Anspruch 20, das weiter das Verwenden einer Mehrpunktverbindungs-Nachschlagetabelle innerhalb der Ausgangsschaltmodule aufweist, um zu identifizieren, für welche Ziele ein Datenpaket für Mehrpunktverbindungen bestimmt ist und welche Art des Kopierens verwendet werden sollte, basierend auf einer Mehrpunktverbindungsidentifikation, die dem Datenpaket für Mehrpunktverbindungen zugewiesen ist.
  33. Verfahren nach Anspruch 20, das weiter aufweist Aktivieren eines neuen Anfragefeldes für Mehrpunktverbindungen innerhalb eines Anfrageframes eines Datenpaketes für Mehrpunktverbindungen, bis eine erste Bewilligung für das Datenpaket für Mehrpunktverbindungen empfangen wird, und Verwenden des neuen Mehrpunktverbindungsfeldes, um Fehler in Bewilligungen für Mehrpunktverbindungen zu erfassen und zu korrigieren.
  34. Vorrichtung für ein Teilstreckenverfahren, die aufweist eine Vielzahl Ethernet-Karten, um Daten von externen Quellen zu empfangen und Daten an diese zu senden; und ein mehrstufiges Schaltsystem, um Daten zwischen Ethernet-Karten zu schalten, wobei das mehrstufige Schaltsystem umfaßt: wenigstens ein Eingangsschaltmodul, um Daten von den Ethernet-Karten zu empfangen, die Daten in Frames zu sammeln und wellenlängenmultiplexierte Signale aus den Frames zu erzeugen; ein Kernschaltmodul, das betrieblich so verbunden ist, daß sie die wellenlängenmultiplexierten Signale von dem wenigstens einen Eingangsschaltmodul empfangen und die wellenlängenmultiplexierten Signale schalten; und wenigstens ein Augangsschaltmodul, um die wellenlängenmultiplexierten Signale von dem Kernschaltmodul zu empfangen und Daten zu den Ethernet-Karten zu senden; wobei das wenigstens eine Eingangsschaltmodul und das wenigstens eine Ausgangsschaltmodul in der Lage sind, Datenpakete für Mehrpunktverbindungen zu kopieren.
  35. Vorrichtung nach Anspruch 34, bei der das wenigstens eine Eingangsschaltmodul eine Mehrpunktverbindungsdaten-Nachschlagetabelle umfaßt, wobei die Mehrpunktverbindungs-Nachschlagetabelle verwendet wird, um Ausgangsschaltmodule, die mit einem Datenpaket für Mehrpunktverbindungen verknüpft sind, zu identifizieren, wobei das wenigstens eine Eingangsschaltmodul die Datenpakete für Mehrpunktverbindungen kopiert, wenn die Mehrpunktverbindungs-Nachschlagetabelle mehr als ein Ausgangsschaltmodul identifiziert.
  36. Vorrichtung nach Anspruch 34, bei der das wenigstens eine Ausgangsschaltmodul eine Mehrpunktverbindungsdaten-Nachschlagetabelle umfaßt, wobei die Mehrpunktverbindungs-Nachschlagetabelle verwendet wird, um Ziele, die mit einem Ausgangsschaltmodul verbunden sind, für ein Datenpaket für Mehrpunktverbindungen zu identifizieren, wobei das wenigstens eine Ausgangsschaltmodul die Datenpakete für Mehrpunktverbindungen kopiert, wenn die Mehrpunktverbindungs-Nachschlagetabelle mehr als ein Ziel identifiziert.
DE112006000282T 2005-01-27 2006-01-17 Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem Expired - Fee Related DE112006000282B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/044,095 US7519054B2 (en) 2005-01-27 2005-01-27 Replication of multicast data packets in a multi-stage switching system
US11/044,095 2005-01-27
PCT/US2006/001921 WO2006081129A1 (en) 2005-01-27 2006-01-17 Replication of multicast data packets in a multi-stage switching system

Publications (2)

Publication Number Publication Date
DE112006000282T5 true DE112006000282T5 (de) 2008-03-06
DE112006000282B4 DE112006000282B4 (de) 2013-06-27

Family

ID=36172207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006000282T Expired - Fee Related DE112006000282B4 (de) 2005-01-27 2006-01-17 Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem

Country Status (3)

Country Link
US (1) US7519054B2 (de)
DE (1) DE112006000282B4 (de)
WO (1) WO2006081129A1 (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3570366B2 (ja) * 2000-09-13 2004-09-29 日本電気株式会社 アービタ回路及びそれに用いる出力セルのアービトレーション方法
TWI265697B (en) * 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
US7953086B2 (en) * 2003-06-27 2011-05-31 Broadcom Corporation Compression of datagram distribution information
US8213421B2 (en) * 2004-05-03 2012-07-03 Alcatel Lucent Methods and systems for efficient multicast across a mesh backplane
JP3780457B2 (ja) * 2004-06-07 2006-05-31 株式会社トヨタIt開発センター 信号処理装置、方法、プログラムおよび記録媒体
US7489625B2 (en) * 2005-01-27 2009-02-10 Intel Corporation Multi-stage packet switching system with alternate traffic routing
US7590102B2 (en) * 2005-01-27 2009-09-15 Intel Corporation Multi-stage packet switching system
US7639685B2 (en) * 2005-11-29 2009-12-29 Tellabs San Jose, Inc. Method and apparatus for multicast forwarding
US20070253426A1 (en) * 2006-04-28 2007-11-01 International Business Machines Corporation Reliable global broadcasting in a multistage network
US8483240B2 (en) * 2006-12-19 2013-07-09 Lockheed Martin Corporation Piggyback networks
US7885289B2 (en) * 2006-12-19 2011-02-08 Lockheed Martin Corporation System and method for relaying turbo-coded piggyback messages
US8402181B2 (en) * 2007-03-14 2013-03-19 Integrated Device Technology, Inc. Bifurcate arbiter
US7710963B1 (en) * 2007-04-05 2010-05-04 Juniper Networks, Inc. Binary trees for multicast traffic
US7668996B2 (en) * 2007-10-23 2010-02-23 International Business Machines Corporation Method of piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US7987437B2 (en) 2007-10-23 2011-07-26 International Business Machines Corporation Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
MY144095A (en) * 2007-11-15 2011-08-15 Mimos Berhad A fast packet forwarding engine for scalable routing
US11271871B2 (en) 2008-09-11 2022-03-08 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
US9847953B2 (en) 2008-09-11 2017-12-19 Juniper Networks, Inc. Methods and apparatus related to virtualization of data center resources
US20100061367A1 (en) * 2008-09-11 2010-03-11 Pradeep Sindhu Methods and apparatus related to lossless operation within a data center
US8265071B2 (en) 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
US8340088B2 (en) * 2008-09-11 2012-12-25 Juniper Networks, Inc. Methods and apparatus related to a low cost data center architecture
US8730954B2 (en) * 2008-09-11 2014-05-20 Juniper Networks, Inc. Methods and apparatus related to any-to-any connectivity within a data center
US8755396B2 (en) * 2008-09-11 2014-06-17 Juniper Networks, Inc. Methods and apparatus related to flow control within a data center switch fabric
US8565234B1 (en) 2009-01-08 2013-10-22 Marvell Israel (M.I.S.L) Ltd. Multicast queueing in a switch
US8705531B2 (en) * 2010-05-18 2014-04-22 Lsi Corporation Multicast address learning in an input/output adapter of a network processor
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9065779B2 (en) * 2009-06-12 2015-06-23 Wi-Lan Labs, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US8665724B2 (en) 2009-06-12 2014-03-04 Cygnus Broadband, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
CN101959087B (zh) * 2009-07-15 2014-12-17 中兴通讯股份有限公司 一种组播处理方法和装置
US8396952B2 (en) * 2009-08-12 2013-03-12 International Business Machines Corporation Provisioning and commissioning a communications network with a virtual network operations center and interface
US8504660B2 (en) * 2009-08-12 2013-08-06 International Business Machines Corporation Validation of the configuration of a data communications network using a virtual network operations center
US8488960B2 (en) * 2009-08-12 2013-07-16 International Business Machines Corporation Synchronizing events on a communications network using a virtual command interface
US8694654B1 (en) 2010-03-23 2014-04-08 Juniper Networks, Inc. Host side protocols for use with distributed control plane of a switch
US9813252B2 (en) 2010-03-23 2017-11-07 Juniper Networks, Inc. Multicasting within a distributed control plane of a switch
US9282060B2 (en) 2010-12-15 2016-03-08 Juniper Networks, Inc. Methods and apparatus for dynamic resource management within a distributed control plane of a switch
US8798077B2 (en) * 2010-12-29 2014-08-05 Juniper Networks, Inc. Methods and apparatus for standard protocol validation mechanisms deployed over a switch fabric system
US8780896B2 (en) * 2010-12-29 2014-07-15 Juniper Networks, Inc. Methods and apparatus for validation of equal cost multi path (ECMP) paths in a switch fabric system
US8989009B2 (en) * 2011-04-29 2015-03-24 Futurewei Technologies, Inc. Port and priority based flow control mechanism for lossless ethernet
US9369296B2 (en) 2011-08-08 2016-06-14 Hewlett Packard Enterprise Development Lp Fabric chip having trunked links
CN103765816A (zh) 2011-09-28 2014-04-30 惠普发展公司,有限责任合伙企业 管理交换结构
CN102821045B (zh) 2012-08-03 2015-07-22 中兴通讯股份有限公司 多播报文复制方法及装置
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
US10122645B2 (en) 2012-12-07 2018-11-06 Cisco Technology, Inc. Output queue latency behavior for input queue based device
WO2014116223A1 (en) 2013-01-25 2014-07-31 Hewlett-Packard Development Company, L.P. Queue buffer de-queuing
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
US10237205B2 (en) * 2013-06-20 2019-03-19 The Boeing Company Switch routing algorithms
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9253102B2 (en) * 2013-11-13 2016-02-02 Verizon Patent And Licensing Inc. Time weighted queuing scheduler for machine-to-machine communications
US9832030B2 (en) 2014-01-21 2017-11-28 International Business Machines Corporation Multicast packet routing via crossbar bypass paths
JP6300114B2 (ja) * 2014-08-06 2018-03-28 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置及び受信装置
CN106302252B (zh) * 2015-05-15 2019-11-26 华为技术有限公司 数据交换系统架构、发送数据流量的方法以及交换装置
US20180077021A1 (en) * 2016-09-14 2018-03-15 Apple Inc. Selective Network Sleep and Wake
CN108234320B (zh) * 2016-12-14 2021-07-09 华为技术有限公司 报文传输方法及交换机
US20220182740A1 (en) * 2019-03-20 2022-06-09 Sony Group Corporation Information processing apparatus, information processing method, and communication system
US11165721B1 (en) * 2020-04-09 2021-11-02 Arista Networks, Inc. Reprogramming multicast replication using real-time buffer feedback
CN113132257B (zh) * 2021-04-29 2022-04-26 杭州迪普信息技术有限公司 报文处理方法及装置
CN114465924B (zh) * 2021-12-24 2023-12-22 阿里巴巴(中国)有限公司 网络设备测试方法、数据包发生方法和交换芯片

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5703879A (en) * 1991-08-02 1997-12-30 Gpt Limited ATM switching arrangement
CA2091093C (en) * 1992-03-06 1999-07-06 Peter C. Di Giulio Event driven communication network
US5689506A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Multicast routing in multistage networks
US5768257A (en) * 1996-07-11 1998-06-16 Xylan Corporation Input buffering/output control for a digital traffic switch
JPH11112657A (ja) * 1997-10-08 1999-04-23 Fujitsu Ltd 交換装置
GB9828144D0 (en) * 1998-12-22 1999-02-17 Power X Limited Data switching apparatus
US6466343B1 (en) * 1999-04-28 2002-10-15 3Com Corporation System for assigning wavelengths in a wave division multiplexing based optical switch
US6934471B1 (en) 1999-06-03 2005-08-23 Avici Systems, Inc. Photonic switch using time-slot interchange
US6335992B1 (en) * 2000-02-15 2002-01-01 Tellium, Inc. Scalable optical cross-connect system and method transmitter/receiver protection
US6990063B1 (en) * 2000-03-07 2006-01-24 Cisco Technology, Inc. Distributing fault indications and maintaining and using a data structure indicating faults to route traffic in a packet switching system
US20020067882A1 (en) * 2000-05-26 2002-06-06 Guilfoyle Peter S. Virtual optoelectronic crossbar switch
US6665495B1 (en) * 2000-10-27 2003-12-16 Yotta Networks, Inc. Non-blocking, scalable optical router architecture and method for routing optical traffic
JP3736338B2 (ja) * 2000-11-13 2006-01-18 株式会社日立製作所 パケットスイッチ
US6940851B2 (en) * 2000-11-20 2005-09-06 Polytechnic University Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
US6888848B2 (en) * 2000-12-14 2005-05-03 Nortel Networks Limited Compact segmentation of variable-size packet streams
US7023841B2 (en) * 2000-12-15 2006-04-04 Agere Systems Inc. Three-stage switch fabric with buffered crossbar devices
US20020131412A1 (en) * 2001-01-12 2002-09-19 Dipak Shah Switch fabric with efficient spatial multicast
US6567576B2 (en) * 2001-02-05 2003-05-20 Jds Uniphase Inc. Optical switch matrix with failure protection
JP2003009194A (ja) * 2001-06-25 2003-01-10 Kddi Corp 光クロスコネクト装置並びにその制御装置及び方法
US7215666B1 (en) * 2001-11-13 2007-05-08 Nortel Networks Limited Data burst scheduling
US20050031250A1 (en) * 2003-08-07 2005-02-10 Schroeder Dale W. Multistage optical switch
US8213421B2 (en) * 2004-05-03 2012-07-03 Alcatel Lucent Methods and systems for efficient multicast across a mesh backplane
US7489625B2 (en) 2005-01-27 2009-02-10 Intel Corporation Multi-stage packet switching system with alternate traffic routing
US7590102B2 (en) * 2005-01-27 2009-09-15 Intel Corporation Multi-stage packet switching system

Also Published As

Publication number Publication date
DE112006000282B4 (de) 2013-06-27
US7519054B2 (en) 2009-04-14
WO2006081129A1 (en) 2006-08-03
US20060165111A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
DE112006000282B4 (de) Abgleich von Datenpaketen für Mehrpunktverbindungen in einem mehrstufigen Schaltsystem
DE60110760T2 (de) Auslese-ablaufsteuerung für nicht aufeinander-folgende daten
DE69034133T2 (de) Kommunikationsgerät
DE69931587T2 (de) RRGS-Round-Robin-Greedy Ablaufsteuerung für Eingangs-/Ausgangsgepufferte Terabitswitches
DE60036682T2 (de) Maschine zur gewichteten ringförmigen Ablaufsteuerung
DE60119866T2 (de) Vermittlungseinrichtung und verfahren mit getrennten Ausgangspuffern
DE69917835T2 (de) Datenpfadstrukturen mit Rotatorumschalter
DE112020002493T5 (de) Fat-tree adaptive leitweglenkung
DE69936966T2 (de) Kommunikationseinrichtung mit variabler Paketlänge
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE60033099T2 (de) Hochkapazitäts WDM-TDM Paketvermittlungseinrichtung
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE69733703T2 (de) Puffer von Mehrfachsendezellen in Vermittlungsnetzen
DE60302045T2 (de) Verfahren und System zur geordneten dynamischen Verteilung von Paketströmen zwischen Netzwerkprozessoren
DE69832205T2 (de) Paketübertragungsverfahren und -vorrichtung
DE19531749A1 (de) Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät
DE60120321T2 (de) Dienstqualitätenanpassung und -bereitstellung für einen Datenkommunikationsschalter und zugehöriges Verfahren
DE112013001426B4 (de) Dynamische Optimierung einer Multicast-Baumhierarchie für einen verteilten Switch
DE4232667A1 (de) Rechnergesteuerte vermittlungsanlage
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter
DE60315965T2 (de) Vorrichtung zur paketablaufsteuerung
EP0512141A1 (de) Verfahren zur Vermittlung von ATM-Nachrichtenzellenströmen hoher Bitrate über eine Vermittlungseinrichtung niedrigerer Bitrate
DE60031284T2 (de) Ablauffolgesteuerung für Paketvermittlungen und passive optischen Netzwerke
DE69931284T2 (de) Menschliches Neurotrimin-Homolog
DE60222233T2 (de) Prozessor und Verfahren zur Erhaltung der Verarbeitungsreihenfolge von Paketen basierend auf Paketstromkennungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R409 Internal rectification of the legal status completed
R074 Re-establishment allowed
R409 Internal rectification of the legal status completed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20130928

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee