-
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.