-
Die Erfindung bezieht sich auf eine Paketvermittlungsvorrichtung mit mehreren Leitungs-
und Vermittlungseinheiten.
-
In der Veröffentlichung "Weighted Arbitration Algorithms with Priorities for Input-
Queued Switches with 100% Throughput" von R. Schoenen, G. Post, G. Sander,
Broadband Switching Symposium '99, werden verschiedene, gewichtete
Vermittlungsalgorithmen einer Paketvermittlungsvorrichtung verglichen. Die Vermittlungsalgorithmen
versuchen mit unterschiedlichen Vermittlungsschritten eine Kollision mehrerer für den selben
Ausgangsport der Paketvermittlungsvorrichtung bestimmter Pakete zu verhindern und
daraus resultierenden Datenverlust oder Verzögerung zu reduzieren. Ein Verfahren zur
Berücksichtigung der Zustände der Ausgangsport während der Vermittlung wird in der
Veröffentlichung nicht erwähnt.
-
Der Erfindung liegt die Aufgabe zugrunde, eine am Ausgangsport verlustlose Vermittlung
von Daten in Form von Paketen zu gewährleisten.
-
Die Aufgabe wird durch eine Paketvermittlungsvorrichtung mit
- - wenigstens einer Leitungseinheit, die einen Ausgangsport mit einer Portsteuerung zur
Speicherung und zur Anordnung von Paketen in Warteschlangen sowie zur
Generierung wenigstens einer Rückkopplungsinformationseinheit zur Information
einer Zuteileinheit über Zustände der Warteschlangen des Ausgangsports enthält,
- - und wenigstens einer Vermittlungseinheit bestehend aus einer Koppelmatrix und der
Zuteileinheit zur Steuerung der Koppelmatrix
gelöst.
-
Eine Paketvermittlungsvorrichtung besteht aus mehreren Leitungseinheiten (Line Card)
und mehreren Vermittlungseinheiten (Switch Card). Zu Komponenten einer
Leitungseinheit zählt als wesentliche Komponente eine Portsteuerung. Jede Portsteuerung ist mit
mehreren parallel arbeitenden Vermittlungseinheiten verbunden und hat die Aufgabe an
der Paketvermittlungsvorrichtung ankommende, zu vermittelnde Pakete nach Priorität und
gewünschten Ausgangsport der Paketvermittlungsvorrichtung anzuordnen. Die
Anordnungen der Pakete nach Priorität und gewünschten Ausgangsport in der Portsteuerung der
Paketvermittlungsvorrichtung werden als virtuelle Warteschlangen (VOQ bzw. Virtual
Output Queue) bezeichnet.
-
Die Portsteuerung besitzt Informationen über den Zustand sog. Zustandsinformationen
der virtuellen Warteschlange und verschickt diese in regelmäßigen Zeitabständen an die
Vermittlungseinheiten.
-
Jede Vermittlungseinheit besteht aus einer Koppelmatrix (Crosspoint Matrix) und einer
Zuteileinheit (Arbiter). Die Konfiguration der Koppelmatrix werden in regelmäßigen
Zeitabständen durch die Zuteileinheit neu bestimmt und somit neu Verknüpfungen zwischen
Ein- und Ausgangsport der Paketvermittlungsvorrichtung für die Vermittlung der Pakete
erstellt.
-
Am Ausgang jeder Portsteuerung werden die Datenpakete in Warteschlangen
zwischengespeichert bevor sie die Portsteuerung und die Paketvermittlungsvorrichtung verlassen. Falls
die Betriebsgeschwindigkeit des Ausgangsports langsamer ist als die
Betriebsgeschwindigkeit der Paketvermittlungsvorrichtung, können die Datenpakete die Ausgangsports nicht
ausreichend schnell verlassen und die Warteschlangen werden durch die Datenpakete
überfüllt.
-
Zur Information der Eingangsports über die Überfüllung der Warteschlangen am
Ausgangsport werden durch die Portsteuerung sog. Rückkopplungsinformationseinheiten
generiert.
-
Ein für die Rückkopplung benötigte aus Rückkopplungsinformationseinheiten bestehender
Informationsfluss zwischen Ausgangssports und Eingangsports wird nicht über eine direkte
Verbindung sondern über eine indirekte Verbindung realisiert. Bei einer direkten
Verbindung können z. B. Rückkopplungsinformationseinheiten von den Ausgangsports zu den
Eingangsports über die Paketvermittlungsvorrichtung verschickt werden. Bei einer
indirekten Verbindung werden die von der Portsteuerung der Ausgangsports generierten
Rückkopplungsinformationseinheiten zu der Zuteileinheit gesendet. Die Zuteileinheit
sammelt die empfangenen Rückkopplungsinformationseinheiten und benutzt sie bei
Entscheidungen zur Verknüpfung der Eingangsports mit den Ausgangsports. Da die
Ergebnisse der Zuteileinheit den Eingangsports (sowie auch an die Kopplungsmatrix) mitgeteilt
werden und die Ergebnisse der Zuteileinheit von den
Rückkopplungsinformationseinheiten der Ausgangsports beeinflußt wurden, fließen damit implizit die
Rückkopplungsinformationseinheiten der Ausgangsports an die Eingangsports.
-
Die Rückkopplungsinformationseinheiten können von der Zuteileinheit in einem
Rückkopplungsvektor festgehalten werden. Mithilfe der Rückkopplungsinformationseinheiten
reduziert die Zuteileinheit die möglichen Verknüpfungen zwischen einem Eingangsport
und einem Ausgangsports der Paketvermittlungsvorrichtung. Der Rückkopplungsvektor
enthält mehrere Elemente, wobei jedes Element eine Rückkopplungsinformationseinheit
repräsentiert, die den Zustand jeweils eines Ausgangsports wiedergibt.
-
Die Vermittlung findet mit Anwendung des Rückkopplungsvektors statt. Eine
Zustandsmatrix der Paketvermittlungsvorrichtung enthält mehrere Elemente, welche eine
Gewichtung jeder Verknüpfung eines Eingangsports mit einem Ausgangsport repräsentieren.
Elemente der Zustandsmatrix, die kleiner oder gleich sind als das entsprechende Element
des Ausgangsports werden in der Vermittlung nicht berücksichtigt. Die entsprechenden
Eingangsports können keine Datenpakete an die nicht berücksichtigten Ausgangsports
verschicken. Elemente der Zustandsmatrix die größer sind als das entsprechende Element
in dem Rückkopplungsvektor werden bei der Vermittlung berücksichtigt.
-
Die Erfindung betrifft auch eine Leitungseinheit für eine Paketvermittlungsvorrichtung
mit einem Ausgangsport und einer Portsteuerung zur Generierung wenigsten einer
Rückkopplungsinformationseinheit zur Information einer Zuteileinheit über Zustände der
Warteschlangen des Ausgangsports.
-
Weiterhin betrifft die Erfindung eine Vermittlungseinheit bestehend aus einer
Koppelmatrix und einer Zuteileinheit zur Steuerung der Koppelmatrix für eine
Paketvermittlungsvorrichtung mit wenigstens einer Leitungseinheit, die einen Ausgangsport und einer
Portsteuerung zur Generierung wenigsten einer Rückkopplungsinformationseinheit zur
Information einer Zuteileinheit über Zustände der Warteschlangen des Ausgangsports
enthält.
-
Ein Ausführungsbeispiel der Erfindung wird nachstehend anhand der Figur näher
erläutert. Es zeigt
-
Fig. 1 eine Paketvermittlungsvorrichtung,
-
Fig. 2 Zustände eines Speichers im Ausgangsport,
-
Fig. 3 eine Darstellung einer Zustands- und einer Entscheidungsmatrix zur Verknüpfung
von Eingangs- und Ausgangsports und
-
Fig. 4 eine Darstellung der Zustands- und Entscheidungsmatrix zur Verknüpfung von
Eingangs- und Ausgangsports mit einem Rückkopplungsvektor.
-
Eine in Fig. 1 dargestellte Paketvermittlungsvorrichtung besteht aus zwei Leitungseinheiten
1 und 2 und mehreren Vermittlungseinheiten 3 bis 5. Die Anzahl der Leitungseinheiten 1
und 2 ist häufig viel größer als zwei z. B. 64, im Ausführungsbeispiel wurde sie aufgrund
einer übersichtlichen Darstellung auf zwei beschränkt. Die Leitungseinheiten 1 und 2
bestehen jeweils aus unterschiedlichen für die Beschreibung des Ausführungsbeispiels nicht
relevanten und deshalb nicht dargestellten Komponenten wie einer optische
Übertragungseinheit, Rahmengenerator, Netzwerkprozessor etc., sowie einer für das Ausführungsbeispiel
wesentlichen Portsteuerung 6 und 7. Jede Vermittlungseinheit 3 bis 5 besteht aus einer
Koppelmatrix 8 und einer Zuteileinheit 9. Sowohl die Zuteileinheit 9 sowie die
Koppelmatrix 8 jeder parallel arbeitenden Vermittlungseinheit 3 bis 5 sind jeweils mit der
Portsteuerung 6 und 7 verbunden.
-
Datenpakete konstanter Länge werden als Zellen bezeichnet und werden bei der
Vermittlung verwendet. Da die Zellen konstanter Länge bei der Vermittlung leichter zu
handhaben sind als Pakete wechselnder Größe, werden die ankommenden Pakete
innerhalb der Leitungseinheiten 1 und 2 in Zellen konstanter Länge zerteilt und in
Warteschlangen zwischengespeichert. Nach einer erfolgreichen Vermittlung, d. h.
akzeptierte Zuordnung jeweils eines Eingangsports mit einem Ausgangsport, werden die
Zellen aus der Warteschlange entfernt.
-
Anhand einer Gewichtung kann die Portsteuerung die Zuteileinheit informieren ob und
wie dringend die sich im Eingangport befindenden Zelle vermittelt werden sollten. Eine
Gewichtung kann Angaben über die Priorität und Klasse der Pakete bzw. die Wartzeit oder
Größe einer Warteschlange im Eingangport beinhalten.
-
Die Portsteuerung 6 und 7 sendet die zur Bestimmung der Konfiguration der
Koppelmatrix notwendigen Informationen, u. a. die Gewichtung an die Zuteileinheit 9. Die
Informationen enthalten mehrere Informationseinheiten, welche die Zustände sowohl der
Eingangsports als auch der Ausgangsports beschreiben. Falls in einem Ausgangsport der
Paketvermittlungsvorrichtung keine Kapazität mehr für weitere Zellen besteht, wird dies in
der Bestimmung der Konfiguration durch die Zuteileinheit berücksichtigt.
-
Nachdem die Zuteileinheit die Konfiguration der Koppelmatrix 8 ermittelt hat und die
Konfiguration sowohl an die Portsteuerung als auch an die Koppelmatrix verschickt hat,
wird die Koppelmatrix 8 jeder Vermittlungseinheit entsprechend konfiguriert.
Portsteuerung 6 und 7 versendet in regelmäßigen Zeitabständen den sog. Zellperioden die
Zellen zur Vermittlung an die Koppelmatrix 8.
-
In Fig. 2 werden die unterschiedlichen Zustände eines Speichers 10 der Ausgangsports
dargestellt. Die Warteschlangen der Zellen im Ausgangsport werden durch einen
Gemeinschaftsspeicher realisiert. Die Größe des aktuell zur Verfügung stehenden Speichers im
Ausgangsport kann als Richtwert interpretiert werden, nach dem die Zelle mit
entsprechender Priorität an den Ausgangsport vermittelt werden.
-
Die Zustände des Speichers werden in mehrere Stufen 11 bis 15 unterteilt. Der Speicher
ist leer, wenn der Zustand des Speichers die Stufe 11 erreicht. Der Speicher ist beinah leer,
wenn der Zustand des Speichers die Stufe 12 annimmt. Der Speicher ist halb voll, wenn
der Zustand des Speichers die Stufe 13 erreicht und die Stufe 14 entspricht dem Zustand
beinah voll. Bei der Stufe 15 ist der Speicher voll und kann keine Zelle mehr aufnehmen.
-
Bei dem vollen und fast vollen Zustand (Stufe 14 und 15) des Speichers vermittelt die
Zuteileinheit 9 keine Zellen an diesen Ausgangsports. Falls der Speicher keine oder nur
wenige Zellen beinhaltet, ist der Zustand (Stufe 12 und 13) des Speichers leer oder fast
leer. Für diesen Fall kann die Zuteileinheit Zellen mit jeder Priorität an diesen
Ausgangsport vermitteln. Bei dem halb vollen Zustand (Stufe 13) des Speichers vermittelt die
Zuteileinheit 9 keine Zellen mit einer geringen Priorität an diesen Ausgangsport und hält
damit den restlichen Teil des Speichers für Zellen mir hoher Priorität zur Vermittlung frei.
-
Eine Rückkopplungsinformationseinheiten beinhalten Informationen über den jeweiligen
Zustand des Speichers eines Ausgangsports.
-
Fig. 3 beschreibt die Vermittlung einer Paketvermittlungsvorrichtung mit vier
Eingangsports (Input) I0 bis I3 und vier Ausgangsports (Output) O0 bis O3. Eine Zustandsmatrix
16 enthält sechzehn Elemente, welche die Gewichtung jeder Verknüpfung eines
Eingangsports I0 bis I3 mit einem Ausgangsport O0 bis O3 repräsentieren. Falls die Gewichtung
der Zellen auf ein minimale Bitzahl (einen Bit) reduziert wird, besteht die Zustandsmatrix
16 aus mehreren Einsen und Nullen, die als Binärzahlen jeweils nur eine Information
enthalten, nämlich ob eine Zelle im entsprechend Eingangsport zur Vermittlung vorhanden
ist oder nicht. Während der Vermittlung 17 berechnet die Zuteileinheit 9 die
resultierenden Verknüpfungen. In einer Entscheidungsmatrix 18 sind die resultierenden
Verknüpfungen gekennzeichnet.
-
Die Vermittlung von Zellen bedeute eine Verknüpfung der Eingangsports der
Paketvermittlungsvorrichtung mit den Ausgangsports. Bei der Bestimmung der Verknüpfungen
benutzt die Zuteileinheit 9 die Zustandsmatrix 16 und wählt anhand der Zustandsmatrix
16 die hoch gewichteten Verknüpfungen unter Verwendung eines entsprechenden
Algorithmus aus. Nachdem die Zuteileinheit für jeden Eingangsport bzw. Ausgangsport eine
Verknüpfung bestimmt hat, werden diese Verknüpfungen in der Entscheidungsmatrix 18
markiert und die Koppelmatrix 8 entsprechend der Entscheidungsmatrix 18 konfiguriert.
-
Zur Erläuterung des erfindungsgemäßen Ausführungsbeispiels wird ein SIMP Algorithmus
als Entscheidungsalgorithmus verwendet. Der nach Spalten der Zustandsmatrix
arbeitenden Algorithmus wird in der Veröffentlichung "Weighted Arbitration Algorithms with
Priorities for Input-Queued Switches with 100% Throughput" von R Schoenen, G. Post,
G. Sander, Broadband Switching Symposium '99, näher beschrieben. Andere Algorithmen
wie z. B. ein zeilenweise arbeitender T-SIMP Algorithmus können für dieses Beispiel
ebenfalls angewandt werden.
-
Da in der Spalte der Zustandsmatrix 16 des ersten Ausgangsport O0 das Element mit dem
Wert vier größer ist als die anderen Elemente der ersten Spalte, wird diese Verknüpfung
durch die Vermittlung 17 akzeptiert und in der Entscheidungsmatrix 18 gekennzeichnet.
Am zweiten Ausgangsport O1 wird auf gleiche Art und Weise die nächste Verknüpfung
akzeptiert, bis jeder Ausgangsport eine akzeptierte Verknüpfung aufweist. Dabei darf ein
Ausgangsport nicht mit zwei Eingangsports gleichzeitig verknüpft werden und ein
Eingangsport darf nicht zwei Ausgangsport zugewiesen werden. Aus diesem Grund wird der
erste Ausgangsport O0 mit dem dritten Eingangsport I2, der zweite Ausgangsport O1 mit
dem ersten Eingangsport I0, der dritte Ausgangsport O2 mit dem vierten Eingangsport I3
und der vierte Ausgangsport O3 mit den zweiten Eingangsport I1 verbunden, da alle
anderen Eingangsports nicht mehr in dieser Zellperiode zur Verfügung stehen.
-
Fig. 4 beschreibt die Vermittlung der Paketvermittlungsvorrichtung mit vier Eingangsports
(Input) I0 bis I3 und vier Ausgangsports (Output) O0 bis O3 unter Verwendung eines
Rückkopplungsverfahrens, das Mithilfe eines Rückkopplungsvektors 19 realisiert wird und
die Zustände der Warteschlangen der Ausgangsports bei der Vermittlung der Zellen
berücksichtigt. Die in Fig. 3 beschriebene Zustandsmatrix 16, Vermittlung 17 und
Entscheidungsmatrix 18 werden durch eine zweite Zustandsmatrix 20 und den
Rückkopplungsvektor 19 ergänzt. Der Rückkopplungsvektor 19 enthält vier Elemente, wobei jedes
Element eine Rückkopplungsinformationseinheit repräsentiert, die den Zustand jeweils
eines Ausgangsports wiedergibt. Die Zustandsmatrix 20 besteht aus Elementen der
Zustandsmatrix 16, die anhand des Rückkopplungsvektors bei der Vermittlung 17
bestimmt werden.
-
Die Funktion der Vermittlung findet wie in Fig. 3 beschrieben statt. Sie unterscheidet sich
in der Anwendung des Rückkopplungsvektors 19. Elemente der Zustandsmatrix 16, die
kleiner als oder gleich wie das entsprechende Element des Ausgangsports sind, werden in
der Vermittlung nicht berücksichtigt (in der Fig. 4 als gekreuzt gekennzeichnet). Die
entsprechenden Eingangsports I0 bis I3 können keine Zellen an die Ausgangsports O0 bis O3
verschicken. Elemente der Zustandsmatrix 16 die größer sind als das entsprechende
Element in dem Rückkopplungsvektor 19 werden bei der Vermittlung berücksichtigt.
Diese durch den Rückkopplungsvektor 19 bestimmten und gefilterten Elementen sind in
der Zustandsmatrix 20 wieder zu finden.
-
Für den ersten Ausgangsport O0 kann kein Eingangsport vermittelt werden, da alle
Elemente in der ersten Spalte kleiner, oder gleich dem entsprechende Element des
Rückkopplungsvektors sind. Aus diesem Grund enthält Zustandsmatrix 20 kein Element in der
ersten Spalte. Für den zweiten Ausgangsport O1 stehen zwei Elemente (sechs und fünf) der
Zustandsmatrix 16 zur Verfügung, so daß diese zwei Elemente in der zweite Spalte der
Zustandsmatrix 20 wieder zu finden sind. Für den dritten Ausgangsport O2 steht nur ein
Element der Zustandsmatrix 16 zur Verfügung, so daß nur der dritte Eingangsport bei der
Vermittlung berücksichtigt wird und in der dritten Spalte der Zustandsmatrix 20
festgehalten wird. Für den vierten Ausgangsport O3 stehen zwei Elemente zur Verfügung
entsprechend werden diese zwei Elemente in der vierten Spalte der Zustandsmatrix 20 notiert.
-
Während der Vermittlung 17 wird Ausgangsport O1 mit Eingangsport I0 unter
Berücksichtigung der Elemente der Zustandsmatrix 20 verknüpft und entsprechend in der
Entscheidungsmatrix 18 gekennzeichnet. Da Eingangsport I0 bereits mit dem zweiten
Ausgangsport O2 als Verknüpfung akzeptiert wurde, kann der Ausgangsport O3 nur noch mit
Eingangsport I1 verknüpft werden.