-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Übertragung
von Datenpaketen von Sende-Anschlüssen an Ziel-Anschlüsse einer Vermittlungseinrichtung,
wobei das Verfahren die folgenden Schritte umfasst: Speichern von
paketbezogenen Daten von einem Sende-Anschluss in einer ersten Warteschlangen-Stufe,
Bestimmung aus den paketbezogenen Daten, welche Ziel-Anschlüsse die paketbezogenen
Daten in der ersten Warteschlangen-Stufe zu empfangen haben, Speichern
der paketbezogenen Daten aus der ersten Wartschlangen-Stufe in einer
zweiten Wartschlangen-Stufe, die jedem festgestellten Ziel-Anschluss
zugeordnet ist, und Verwendung der paketbezogenen Daten in der zweiten
Warteschlangen-Stufe, um die Übertragung des
Datenpaketes vom Sende-Anschluss zu jedem festgestellten Ziel-Anschluss
durchzuführen.
-
Weiterhin
bezieht sich die vorliegende Erfindung auf eine Vorrichtung zur Übertragung
von Datenpaketen von Sende-Anschlüssen an
Ziel-Anschlüsse
einer Vermittlungseinrichtung, die Mittel zum Speichern von paketbezogenen
Daten von einem Sende-Anschluss in einer ersten Warteschlangen-Stufe,
Mittel zur Bestimmung aus den paketbezogenen Daten, welche Ziel-Anschlüsse die
paketbezogenen Daten in der ersten Warteschlangen-Stufe zu empfangen
haben, Mittel zum Speichern der paketbezogenen Daten aus der ersten
Wartschlangen-Stufe in einer zweiten Wartschlangen-Stufe, die jedem
festgestellten Ziel-Anschluss zugeordnet ist, und Mittel zur Verwendung
der paketbezogenen Daten in der zweiten Warteschlangen-Stufe, um
die Übertragung
des Datenpaketes vom Sende-Anschluss zu jedem festgestellten Ziel-Anschluss durchzuführen, umfasst.
-
Ein
solches Verfahren und eine solche Vorrichtung sind aus dem Dokument
US 5,361,255 bekannt.
-
Diese
Erfindung bezieht sich allgemein auf Netzwerk-Vermittlungseinrichtungen. Spezieller
bezieht sich diese Erfindung auf ein Verfahren und Mittel für die Weiterleitung
von Datenpaketen durch eine Vermittlungseinrichtung.
-
Ein
lokales Netz (LAN) ist ein System zur direkten Verbindung mehrerer
Computer, so dass sie direkt untereinander Informationen austauschen
können.
LANs werden als lokal angesehen, da sie so konstruiert sind, Computer über einen
kleinen Bereich, wie z. B. ein Büro,
ein Gebäude
oder ein kleines Firmengelände
miteinander zu verbinden. LANs werden als Systeme betrachtet, weil
sie aus mehreren Komponenten bestehen, wie z. B. Kabel, Zwischenverstärker, Vermittlungen,
Router, Netzwerkschnittstellen, Knoten (z. B. Computer) und Kommunikationsprotokolle.
Ethernet ist ein solches Protokoll. Die Information wird über ein
LAN in Rahmen übertragen,
die in Datenpaketen transportiert werden. (Obwohl sie sich technisch
unterscheiden, werden die Begriffe "Rahmen" und "Datenpaket" oft auswechselbar dazu verwendet, die
Daten zu beschreiben, welche die Informationen übertragen.)
-
Eine
LAN-Vermittlung (oder allgemeiner ausgedrückt eine Paketvermittlung)
wird allgemein als eine Vorrichtung mit mehreren Anschlüssen definiert, die
Daten zwischen ihren verschiedenen Anschlüssen auf der Grundlage der
Zieladressen und/oder anderer Informationen überträgt, die sie in den einzelnen
Paketen findet, die sie empfängt.
Vermittlungen können
dazu verwendet werden, LANs zu segmentieren, unterschiedliche LANs
zu verbinden oder den Kollisions-Durchmesser
von LANs zu vergrößern. Vermittlungen
sind für
auf Ethernet basierende LANs von besonderer Bedeutung, da sie den
Netzwerk-Durchmesser vergrößern können. Zusätzliche Hintergrundinformationen über Paketvermittlungen finden
sich in verschiedenen Literaturstellen, wie z. B. in Fast Ethernet
(1997) von L. Quinn et al., in Computer Networks (3. Auflage 1996)
von A. Tannenbaum und in High-Speed Networking with LAN Switches
(1997) von G. Held, die hier als Referenz mit aufgenommen sind.
-
Paketvermittlungen übertragen
im Allgemeinen drei Arten von Verkehr: Unicast, Multicast und Broadcast.
Unicast-Verkehr besteht aus Paketen, die von einem Quell- oder einem
Eingangs-Anschluss
zu einem einzigen Ziel-, oder Ausgangs-Anschluss übertragen
werden. Multicast-Verkehr besteht aus Paketen, die von einem Sende-Anschluss
zu vielen Ziel-Anschlüssen
gemäß einer
Ziel-Liste innerhalb eines Paketes übertragen werden. Broadcast-Verkehr
ist ein Spezialfall des Multicast-Verkehrs, bei dem die Ziel-Liste
alle Ziel-Anschlüsse
enthält,
und somit gelten die Multicast-Verkehr betreffenden Probleme gleichermaßen auch
im Broadcast-Verkehr.
-
Multicast-Verkehr
stellt ein Problem für
Paketvermittlungen dar, weil Multicast-Pakete in der Paketvermittlung
vervielfältigt
werden müssen.
Diese Vervielfältigung
kann dazu führen,
dass Paketvermittlungen beim Senden von Rahmen, die auf den Multicast-Rahmen
folgen, wegen der für
die Vervielfältigung
benötigten
Zeit zurückbleiben.
Diese Vervielfältigungs-Zeit
wird in Architekturen mit Koordinatenschaltern besonders deutlich,
bei denen ein ungehinderter Zugang vom Sende-Anschluss zum Ziel-Anschluss erforderlich
ist, um die Übertragung zu
planen, da der Sende-Anschluss zur Durchführung auf weiteren Verkehr
warten muss, der an den Ziel-Anschluss gerichtet ist. Bei Vermittlungs-Architekturen
mit gemeinsam genutztem Speicher tritt dieser Nachteil nicht auf,
da alle Anschlüsse
unabhängig voneinander
Zugang zum Vermittlungs-Speicher haben. In Vermittlungs-Architekturen
mit gemeinsam genutztem Speicher wird ein Paket in einem zentralen
Speicher gespeichert, und der Sende-Anschluss trifft eine Weiterleitungs-Entscheidung,
mit welcher der Ziel-Anschluss von der Lage des zu sendenden Paketes
informiert wird. Jeder Ziel-Anschluss kann ein Multicast-Paket unabhängig von
anderen Anschlüssen
aus seinem Speicherplatz lesen. Bei Vermittlungs-Architekturen mit gemeinsam
genutztem Speicher kann jedoch die Reaktion der Ziel-Anschlüsse auf
die Weiterleitungs-Entscheidung zeitaufwendig sein, wo sie zum Beispiel
ein Multicast-Paket betrifft. Jeder der Ziel-Anschlüsse in der
Ziel-Liste muss das Paket aus dem gemeinsam genutzten Speicher abrufen.
Die hierzu benötigte
Zeit verzögert weitere
Weiterleitungs-Entscheidungen und kann zu einer Blockierung des
Sende-Anschlusses führen, wenn
weiterer Verkehr empfangen wird, während die Ziel-Anschlüsse ihre
Anfragen durchführen.
-
Blockierungen
in Paketvermittlungen können auf
viele Arten verursacht werden. In den Fällen, in denen mehr als ein
Anschluss zu einem einzigen Ziel-Anschluss sendet, kann eine Blockierung
am Ziel-Anschluss auftreten und der Anschluss wird als überbelegt
bezeichnet. Das Verhältnis
der Rate, mit der Verkehr an den Sende-Anschlüssen erzeugt wird, zur Rate,
die der Ziel-Anschluss senden kann, wird Überbelegungs-Verhältnis genannt.
Fehlanpassungen der Raten in den Medien des Quell-Netzwerks und den
Medien des Ziel-Netzwerks können ebenfalls
Blockierungen verursachen (ein weiterer Fall der Überbelegung).
Wenn zum Beispiel Verkehr von Anschluss 0 zu Anschluss 1 einer Vermittlung übertragen
wird, und Anschluss 0 läuft
mit 100 Megabit pro Sekunde und Anschluss 1 läuft mit 10 Megabit/s, kann
sich leicht Verkehr aufbauen, der auf das Verlassen von Anschluss
1 wartet. Die Verkehrs-Formung kann ebenfalls Blockierungen verursachen. Dies
ist ein Prozess, bei dem der Ziel-Anschluss aus verkehrstechnischen
Gründen
absichtlich auf eine kleinere Übertragungsrate
als seine mögliche
zurückgeschaltet
wird.
-
Der
normale Verkehr in einem Paketnetzwerk erlaubt keine ständige Überbelegung.
Keine Netzwerk-Vermittlungseinrichtung kann unendlich viele Daten
speichern, so dass Überbelegungs-Bedingungen an Anschlüssen immer
durch die Speicherfähigkeiten
der Netzwerkeinrichtungen begrenzt sind. Es ist jedoch ein normales
Netzwerkverhalten, dass kurzzeitig Bursts auftreten, durch die Netzwerk-Anschlüsse aus
einem beliebigen oder allen der oben angegebenen Gründe überbelegt
werden. Vermittlungseinrichtungen mit einer großen Zahl von Anschlüssen bieten
die Möglichkeit
für hohe Überbelegungs-Verhältnisse
während
dieser normalen Verkehrs-Bursts.
-
Endstationen
(wie z. B. ein Knoten in einem LAN) kommunizieren über ein
Paketnetzwerk, indem sie einen Kanal aufbauen, der Sitzung genannt
wird. Diese Sitzung weist Eigenschaften auf, die während der Übertragung
zwischen den Endstationen konstant bleiben. Wenn zum Beispiel Station
A über
das Paketnetzwerk mit Station B verbunden ist, um eine Datei zu übertragen,
sind, wenn A Pakete sendet, alle Pakete mit der Netzwerkadresse
von B als Ziel und mit der Netzwerkadresse von A als Quelle gekennzeichnet.
Weitere Informationen in den zwischen A und B übertragenen Paketen werden
im Allgemeinen für
eine gegebene Sitzung auch konstant bleiben – Priorität , VLAN, Netzwerkprotokoll
usw. Jede Station in einem Paketnetzwerk kann mehrere Sitzungen
mit derselben oder mit unterschiedlichen Zielstationen haben. Im
Allgemeinen müssen
die Pakete in diesen Sitzungen der Reihe nach am Ziel ankommen – das heißt die Netzwerkeinrichtung
muss sie nicht neu sortieren.
-
Wenn
ein Paket einer bestimmten Sitzung in eine Paketvermittlung kommt,
muss die Vermittlung Felder in dem Paket untersuchen und die Weiterleitungs-Entscheidung
treffen (wohin geht das Paket?). Nach einer Weiterleitungs-Entscheidung müssen Paketvermittlungen
mit Ausgangs-Warteschlangen
Multicast-Pakete in mehr als eine Sende-Warteschlange stellen (eine Warteschlange
ist ein FIFO-Speicher (First
In/First Out)). Mit steigender Geschwindigkeit der Netzwerkmedien
sinkt die zur Durchführung
dieser Warteschlangen-Operationen zulässige Zeit. Durch eine Blockierung
des Ausgangs-Anschlusses wird dieses Problem noch verschärft. Durch
hohe Überbelegungs-Verhältnisse,
die sich aus dem normalen Betrieb des Paketnetzwerks ergeben, werden Ausgangs-Warteschlangen-Mechanismen
gezwungen, Pakete von vielen Quellen gleichzeitig in der Warteschlange
zu speichern, um einen zuverlässigen
Betrieb aufrecht zu erhalten. Je mehr Arbeit der Warteschlangen-Mechanismus
zur Behandlung von Blockierungen durchführt, umso schwerer ist es,
die Vervielfältigung
von Multicast-Paketen durchzuführen.
-
Eine
Aufgabe dieser Erfindung ist es, allgemein ein Verfahren und Mittel
zur Verfügung
zu stellen, um die Übertragung
von Paketen, wie z. B. von Multicast-Paketen, durch eine Vermittlungseinrichtung
zu verbessern. Insbesondere ist das konkrete Problem, das der vorliegenden
Erfindung zugrunde liegt, die Verringerung des Bandbreitenbedarfs
der Speicherung von Multicast-Paketen in Warteschlangen während Blockierungsintervallen
bei gleichzeitiger Aufrechterhaltung der Konsistenz der Sitzungs-Durchführung (Reihenfolge
der Pakete).
-
Dieses
Ziel wird durch ein Verfahren erreicht, wie anfangs erwähnt, bei
dem die erste Warteschlangen-Stufe mehrere erste Warteschlangen
enthält, und
der Schritt der Speicherung der Daten in der ersten Warteschlangen-Stufe
die Speicherung der Daten in einer speziellen ersten Warteschlange
umfasst, die auf einer Charakteristik des Paketes basiert, und bei
dem jede zweite Warteschlangen-Stufe mehrere zweite Warteschlangen
enthält,
und der Schritt der Speicherung der Daten in der zweiten Warteschlangen-Stufe
die Speicherung der Daten in einer speziellen zweiten Warteschlange
umfasst, die auf einer Charakteristik des Paketes basiert.
-
Weiterhin
wird dieses Ziel durch eine Vorrichtung erreicht, wie anfangs erwähnt, bei
dem die Mittel zur Speicherung paketbezogener Datenpakete in einer
ersten Warteschlangen-Stufe mehrere erste Warteschlangen enthalten,
welche die Daten basierend auf einer Charakteristik des Paketes
in einer speziellen Warteschlange speichern, und in denen jede zweite
Warteschlangen-Stufe mehrere zweite Warteschlangen enthält, welche
die Daten basierend auf einer Charakteristik des Paketes in einer
speziellen zweiten Warteschlange speichern.
-
Diese
und weitere Aspekte, Eigenschaften und Vorteile der Erfindung werden
in einer beispielhaften Ausführung
weiter unten zusammen mit den folgenden Zeichnungen beschrieben.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Gesamt-Blockdiagramm einer Paketvermittlung gemäß der Erfindung.
-
2 ist
ein Blockdiagramm einer Warteschlangen-Vorrichtung in der Paketvermittlung
aus 1.
-
DETAILLIERTE BESCHREIBUNG
EINER BEISPIELHAFTEN AUSFÜHRUNG
-
Überblick
-
Wenn
die Pakete einer Sitzung das Paketnetzwerk durchlaufen, können sie
auf der Grundlage des Datenfeld-Inhaltes
in ihren Paketen verschiedene Wege zum selben Ziel nehmen. Zum Beispiel kann
eine Videokonferenz-Sitzung zwischen Station A und B mit der Priorität 7,
VLAN 5 gekennzeichnet sein, während eine Email-Sitzung zwischen
den selben Stationen mit der Priorität 3, VLAN 12 gekennzeichnet
sein kann, auch wenn die Sitzungen die selbe Quelle und das selbe
Ziel haben. Als Folge dieser Unterschiede in den Sitzungen können die
Pakete in den Datenströmen
physikalisch unterschiedliche Wege durch das Netzwerk nehmen. Die
Sitzungen können
auch dieselbe Route durch das Netzwerk nehmen, aber von den Netzwerkeinrichtungen
unterschiedlich bedient werden: Ein Paket von einer Sitzung kann
nach einem Paket von einer anderen Sitzung in eine Vermittlung kommen,
die Vermittlung aber zuerst verlassen, weil es mit höherer Priorität bedient
wird.
-
Netzwerk-Vermittlungen
können
diese Datenfelder in jedem Paket untersuchen, um es zu klassifizieren.
Diese Erfindung nutzt die Paket-Klassifikation zur Verringerung
des Bandbreitenbedarfs der Speicherung von Multicast-Paketen in
Warteschlangen während
Blockierungs-Intervallen. Dies wird erreicht, indem Klassifikationen
(Charakteristiken) von Paketen erkannt werden, die unabhängig davon
sind, ob ein Paket ein Unicast- oder ein Multicast-Paket ist. Hierdurch
kann die Speicherung in Warteschlangen in Stufen aufgebrochen werden,
so dass die erste Stufe nur mit einem weiten Bereich an Pakettypen (und
möglichen
Sitzungen) befasst ist, die an irgendeinen Anschluss in einer Gruppe
von Anschlüssen
gerichtet sind. Weitere Stufen können
dann nach Bedarf diese Warteschlangen bedienen und für Multicast
eine zusätzliche
Speicherung in Warteschlangen durchführen, indem sie das Paket für jeden Ziel-Anschluss
vervielfältigen.
Die Multicast-Vervielfältigung
erfolgt weiterhin in der Vermittlung, es ist jedoch nicht erforderlich,
dass sie sofort stattfindet, da die erste Warteschlangen-Stufe als
Puffer für
die nachfolgenden Stufen wirkt. Dies erlaubt die Absorption normaler
Burst-Überbelegungs-Bedingungen, während die
Konsistenz der Sitzungs-Bedienung (Paket-Reihenfolge) aufrechterhalten
wird.
-
Ein
Beispiel für
diese Erfindung ist ein zweistufiges Warteschlangenschema, bei dem
die erste Stufe die Pakete nur nach ihrer Priorität speichert. Alle
Sitzungen mit einer gegebenen Priorität erhalten gleiches Gewicht
in der ersten Warteschlangen-Stufe. Man beachte, dass dies Multicast-
und Unicast-Sitzungen umfasst. Alle Pakete innerhalb einer Sitzung
werden in einer einzigen Warteschlange abgelegt, wodurch die Anforderungen
der Einhaltung der Reihenfolge der Pakete eingehalten werden. Eine
zweite Warteschlangen-Stufe bedient oder leert die Prioritäts-Warteschlangen
in Anschluss-Warteschlangen,
wobei Multicast-Pakete auf mehrere Warteschlangen ausgedehnt werden,
falls erforderlich. Da die Warteschlangen der ersten Stufe nicht
erforderlich sind, um Multicast-Pakete auf mehrere Ziel-Anschlüsse auszudehnen,
werden weniger Warteschlangen-Operationen benötigt, um die Pakete auf ihren
Zielen in der ersten Warteschlange zu speichern. Die Multicast-Vervielfältigung
wird durch Warteschlangen-Mechanismen der zweiten Stufe behandelt.
Dies erlaubt es, mehr Anschlüsse
bei durch normale Bursts überbelegten
Paket-Netzwerken effektiv zu nutzen, die durch Raten-Fehlanpassungen,
Verkehrsformung, Überbelegung
und Anschlussdichte überbelegt
sind. Dies wird immer wichtiger, da die Netzwerkmedien Übertragungsraten
von Gigabit pro Sekunde und mehr erreichen.
-
Der
Betrieb der beispielhaften Ausführung erfolgt
so, dass die mehrstufige Warteschlangen-Speicherung nicht sichtbar
ist, mit Ausnahme der Blockierungs-Intervalle an Anschlüssen, die
Multicast-Verkehr empfangen. Das heißt, sie ist im Normalbetrieb
transparent und arbeitet bei Spitzenlasten zur Verbesserung der
Leistungsfähigkeit.
-
Man
beachte, dass diese Erfindung nicht auf die Verwendung der Priorität als Kriterium
für die Speicherung
in einer ersten Warteschlange-Stufe begrenzt ist. Dies ist eine
beliebige Sitzungs-Charakteristik, die als Klassifizierungsregel
gewählt
wurde, und genau so einfach kann der Netzwerk-Protokoll-Typ oder
die Art des Dienstes gewählt
werden. Man beachte auch, dass diese Erfindung nicht auf Vorrichtungen
zur Ausgangs-Warteschlangen-Speicherung beschränkt ist und Anwendungen in
Paketvermittlungen mit Eingangs-Warteschlangen haben kann. Diese
Erfindung ist auch nicht auf eine zweistufige Warteschlangen-Pipeline
beschränkt.
-
Struktur und
Funktion
-
1 ist
ein Blockdiagramm eines Teils einer Vermittlungseinrichtung 18 gemäß der Erfindung. Die
Vermittlungseinrichtung enthält
eine Anzahl bidirektionaler Anschlüsse 20 (einzeln als
Anschluss 1 bis 10 nummeriert), von denen jeder eine MAC-(Media
Access Control)- und Weiterleitungs-Entscheidungs-Logik 22 enthält. Zum
Zweck dieser Beschreibung wird ein Anschluss, der ein Datenpaket
von einer externen Einheit, wie zum Beispiel einem Netzwerk, einem Knoten,
einer Station usw. erfasst und das Paket intern an einen anderen
Anschluss weiterleitet, als Eingangs- oder Sende-Anschluss bezeichnet.
Ein Anschluss, der ein Datenpaket intern empfängt und das Datenpaket an eine
externe Einheit sendet, wird als Ausgangs- oder Ziel-Anschluss bezeichnet.
In der Vermittlung 18 wird auch ein Koppelbaustein 24 und
eine Warteschlangen-Vorrichtung 26 gezeigt. Andere Teile
der Vermittlungseinrichtung, die herkömmlicher Natur sind, sind nicht
gezeigt und werden nicht beschrieben, da sie nicht zur Erfindung gehören.
-
Die
MAC- und Weiterleitungs-Entscheidungs-Logik 22 in jedem
Anschluss kann herkömmlich
konstruiert sein. Durch sie erfasst ein Sende-Anschluss ein Datenpaket
und leitet es an einen oder mehrere Ziel-Anschlüsse weiter. Der Prozess zur Übertragung
der Weiterleitungs-Entscheidungen wird von der Weiterleitungs-Entscheidungs-Logik
auf der Grundlage von Zielen durchgeführt, die in dem Datenpaket
angegeben sind. Die Weiterleitungs-Entscheidungs-Logik 22 leitet
Informationen (paketbezogene Daten) an die Warteschlangen-Vorrichtung
weiter, wie z. B. einen Zeiger, wo das Paket im Koppelbaustein gespeichert
ist (wenn der Koppelbaustein gemeinsam genutzten Speicher hat),
den Typ des Paketes (Priorität
usw.) und an welchen Anschluss das Paket übertragen werden muss (ein
Anschluss für
Unicast, mehrere Anschlüsse
für Multicast
und alle bis auf den Sende-Anschluss für Broadcast). Die Weiterleitungs-Entscheidungs-Logik
speichert das Datenpaket auch im Koppelbaustein 24 an der
durch den Zeiger angegebenen Stelle.
-
Der
Koppelbaustein 24 in der beispielhaften Ausführung ist
ein gemeinsam genutzter Speicher, in dem das gesamte Datenpaket
gespeichert wird und aus dem Ziel-Anschlüsse eine Kopie abrufen können. Die
Erfindung ist jedoch nicht auf Architekturen mit gemeinsam genutztem
Speicher beschränkt.
Der Koppelbaustein kann andere Architekturen haben, z. B. ein Kreuzschienenverteiler
sein.
-
Die
Warteschlangen-Vorrichtung 26, welche die paketbezogenen
Daten von der Weiterleitungs-Entscheidungs-Logik 22 empfängt, ist
in 2 detaillierter gezeigt. Die Vorrichtung 26 enthält eine Charakteristik-Erkennungs-Logik 30,
eine erste Warteschlangen-Stufe 32, die an den Ausgang
der Erkennungs-Logik gekoppelt ist, eine Anschluss-Zugehörigkeits-Feststellungs-Logik 34,
die an den Ausgang der ersten Warteschlangen-Stufe gekoppelt ist, und
eine zweite Logik-Stufe 36,
die an den Ausgang der Feststellungs-Logik gekoppelt ist.
-
Die
Charakteristik-Erkennungs-Logik 30 erkennt aus den paketbezogenen
Daten eine Charakteristik des Paketes (z. B. Priorität) und bestimmt
aus einer Ziel-Liste, welche Anschlüsse das Paket abrufen müssen. Die
Ziel-Liste ist in der beispielhaften Ausführung in den paketbezogenen
Daten als Nummer codiert, die von der Logik 30 verwendet
wird, um die zugehörige
Anschlussgruppe in einer Tabelle nachzusehen. Zur Anzeige der Ziel-Anschlüsse können auch
andere Mittel verwendet werden, z. B. die direkte Weitergabe der
Anschluss-Nummern
in den paketbezogenen Daten.
-
Die
erste Warteschlangen-Stufe 32 speichert die paketbezogenen
Daten gemäß einer
Charakteristik des Paketes. In einer beispielhaften Ausführung ist
diese Charakteristik die Priorität
des Paketes (von Stufe eins bis acht). Folglich enthält die erste
Warteschlangen-Stufe mehrere erste Warteschlangen, jede zur Speicherung
der paketbezogenen Daten (Zeiger plus Anschlussgruppe) für Pakete
einer anderen Prioritätsstufe
in der Reihenfolge, in der sie empfangen werden.
-
Die
Anschluss-Feststellungs-Logik 34 liest die erste Warteschlangen-Stufe
entsprechend einem Bedienungs-Schema und bestimmt aus den paketbezogenen
Daten, welche Ziel-Anschlüsse
die paketbezogenen Daten in der ersten Stufe empfangen müssen. Die
Logik 34 speichert dann die Zeiger in dem geeigneten Teil
der zweiten Warteschlangen-Stufe 36.
-
Die
zweite Warteschlangen-Stufe 36 in der beispielhaften Ausführung enthält für jeden
an die Warteschlangen-Vorrichtung angeschlossenen Anschluss einen
Satz von Warteschlangen, die der ersten Warteschlangen-Stufe entsprechen.
Zum Beispiel enthält
die erste Warteschlangen-Stufe acht Prioritäts-Warteschlangen und die zweite Warteschlangen-Stufe
enthält
für jeden
der angeschlossenen Anschlüsse
einen zugehörigen
Satz von acht Prioritäts-Warteschlangen.
Mit dieser Anordnung können für jeden
festgestellten Ziel-Anschluss die Zeiger in jeder Warteschlange
der ersten Warteschlangen-Stufe leicht in eine entsprechende Warteschlange
in der zweiten Warteschlangen-Stufe kopiert werden.
-
Die
Warteschlangen-Logik enthält
auch eine herkömmliche
Logik (aus Gründen
der Deutlichkeit in 2 nicht gezeigt) zur Anforderung
von Paketen aus dem Koppelbaustein 24 (packet req.) und
zur Weiterleitung von Paketen vom Koppelbaustein an die Ziel-Anschlüsse (xmt
packet). Diese herkömmliche
Logik wird in der beispielhaften Ausführung in die Warteschlangen-Vorrichtung als Implementations-Auswahl
aufgenommen. Falls gewünscht,
kann die Logik auch von der Warteschlangen-Vorrichtung getrennt sein.
-
Betrieb
-
Ein
von einem Sende-Anschluss der Vermittlung 18 an einen oder
mehrere Ziel-Anschlüsse übertragenes
Datenpaket durchläuft
die Vermittlungseinrichtung wie folgt. Ein Datenpaket, das von einem
Anschluss empfangen wird, wird von seiner MAC verarbeitet, die von
der physikalischen LAN-Schnittstelle einen
richtig geformten Rahmen erzeugt. Die MAC legt das Paket an die
Weiterleitungs-Entscheidungs-Logik 22 an, welche den Pakettyp
klassifiziert und aus einer Ziel-Liste im Paket eine Weiterleitungs-Entscheidung
trifft, zu welchen Anschlüssen das
Paket zu senden ist. Die Weiterleitungs-Entscheidungs-Logik 22 sendet
das Paket an eine Stelle im Koppelbaustein (in der beispielhaften
Ausführung gemeinsam genutzter
Speicher). Die Weiterleitungs-Entscheidungs-Logik 22 erzeugt
auch die paketbezogenen Daten, die den Pakettyp, einen Zeiger auf
die Stelle im gemeinsam genutzten Speicher, an der das Paket gespeichert
ist, und die Weiterleitungs-Entscheidung enthalten, und sendet diese
Daten an die Warteschlangen-Vorrichtung 26.
-
Die
Warteschlangen-Vorrichtung empfängt die
paketbezogenen Daten an der Erkennungs-Logik 30 und speichert
sie in der ersten Warteschlangen-Stufe 32. Im Prozess der
Speicherung der Daten in der ersten Warteschlangen-Stufe bestimmt
die Logik, für
welchen der Daten-Anschlüsse,
falls nötig, das
Paket in der Warteschlange gespeichert werden muss. Die Logik speichert
dann den Zeiger und die Ziel-Anschluss-Information in einer geeigneten
Warteschlange in der ersten Warteschlangen-Stufe.
-
In
der beispielhaften Ausführung
werden die Daten in einer Warteschlange auf der Grundlage der Priorität des Paketes
gespeichert, andere Charakteristiken eines Paketes können auch
für die
Bestimmung verwendet werden, wo die Daten gespeichert werden.
-
Die
Warteschlangen-Vorrichtung erhält
dann durch die Feststellungs-Logik 34 Daten von den mehreren
Warteschlangen der ersten Stufe gemäß einem Schema zum Lesen der
Warteschlangen, wie z. B. einem Prioritäts-Bedienungs-Schema, bei dem
die Charakteristik die Priorität
ist. Die Feststellungs-Logik 34 bestimmt aus den gerade
erhaltenen paketbezogenen Daten, welche Ziel-Anschlüsse den/die
Zeiger empfangen müssen,
und sendet die Zeiger an eine geeignete Stelle in der zweiten Warteschlangen-Stufe 36,
die zu jedem festgestellten Ziel-Anschluss gehört. In der beispielhaften Ausführung enthält die zweite
Warteschlangen-Stufe mehrere Warteschlangen für jeden Anschluss, die den
mehreren Warteschlangen der ersten Warteschlangen-Stufe entsprechen.
In dieser Ausführung
mit der Priorität als
Paket-Charakteristik sendet die Logik 36 die Zeiger an
die Prioritäts-Warteschlange für jeden
Anschluss, welcher der Prioritäts-Warteschlange
für den
Zeiger in der ersten Warteschlangen-Stufe entspricht.
-
Die
Warteschlangen-Vorrichtung benutzt dann die Daten in der zweiten
Warteschlangen-Stufe, um die Übertragung
des Paketes vom Sende-Anschluss zu jedem festgestellten Ziel-Anschluss durchzuführen. Bei
der Bedienung der zweiten Warteschlangen-Stufe mit einem Bedienungs-Schema erhält die Warteschlangen-Vorrichtung
Zeiger von den Warteschlangen auf die Pakete im Koppelbaustein 24 und
fordert diese Pakete vom Koppelbaustein an. Der Koppelbaustein antwortet,
indem er das Paket, auf das gezeigt wird, an die Warteschlangen-Vorrichtung
sendet, die es dann an den geeigneten Anschluss weiterleitet. Wenn
mehrere Ziel-Anschlüsse
vorhanden sind, wie im Fall eines Multicast-Datenpaketes, stellt
die Warteschlangen-Vorrichtung für
jeden Anschluss getrennte Anforderungen.
-
Die
Warteschlangen-Vorrichtung 26 ist im Ausgangs- oder Sendepfad
der Vermittlung 18 gezeigt. In dieser Konfiguration bezeichnet
man die Vermittlung als eine Einrichtung mit "Sende-Puffer" oder "Ausgangs-Puffer". Bei anderen Vermittlungsarchitekturen,
wie z. B. Kreuzschienenverteilern, muss die Warteschlangen-Vorrichtung
sich auf der Eingangsseite der Vermittlung befinden, die Erfindung
kann jedoch weiterhin angewendet werden. In dieser Anwendung würde sie
als "Eingangs-Puffer" bezeichnet, weil
die Warteschlangen sich an den Sende-Anschlüssen der Vermittlung befinden.
-
Wenn
die Prinzipien der Erfindung aus den hier gezeigten und beschriebenen
Ausführungen
der Erfindung verstanden wurden, wird ein Fachmann erkennen, dass
die Anordnung und Einzelheiten der Ausführungen geändert werden können, ohne
von diesen Prinzipien abzuweichen. Der Aufbau der verschiedenen
Module kann geändert
werden, während die
beschriebenen Funktionen weiterhin bereitgestellt werden. Elemente
der verschiedenen Module können
nach Wunsch in Hardware, Software oder Firmware implementiert werden.
Die paketbezogenen Daten können
Zeiger, andere Strukturen oder die Datenpakete selbst sein. Die
Erfindung kann, wo geeignet, in einer beliebigen Paketvermittlungs-Einrichtung
verwendet werden, wie z. B. in einer LAN-Vermittlung, einem Router
usw.
-
Angesichts
der vielen möglichen
Ausführungen,
auf welche die Prinzipien der Erfindung angewendet werden können, sollte
verstanden werden, dass diese Ausführungen nur ein Beispiel sind
und keine Beschränkung
des Umfangs der Erfindung darstellen. Die Erfindung wird vielmehr
durch die folgenden Ansprüche
definiert. Wir beanspruchen daher als Erfindung alle Ausführungen,
die in den Umfang dieser Ansprüche
und ihrer Äquivalente
fallen.