-
Diese Anmeldung beansprucht das Vorrecht aus
der vorläufigen
US-Anmeldung mit der Seriennr. 60/001,498, eingereicht am 19. Juli
1995.
-
GEBIET DER
ERFINDUNG
-
Die Erfindung betrifft allgemein
das Gebiet von Telekommunikationsnetzwerken und insbesondere hierarchische
Datenstrukturen, die mehrfache Steuerebenen bei einer Vermittlung
bzw. bei einem Schalter für
ein asynchrones Übertragungsverfahren zur
Verfügung
stellen.
-
HINTERGRUND
DER ERFINDUNG
-
Telekommunikationsnetzwerke, wie
beispielsweise Netzwerke für
ein asynchrones Übertragungsverfahren
("ATM" = asynchronous transfer
mode) werden zur Übertragung
von Audio-, Video- und anderen Daten verwendet. ATM-Netzwerke liefern Daten
durch Führen
von Dateneinheiten, wie beispielsweise ATM-Zellen, von einer Quelle über Schalter
bzw. Vermittlungsstellen zu einem Zielort. Die Schalter enthalten
Eingangs/Ausgangs("I/O"-)Ports, über welche
ATM-Zellen empfangen und gesendet werden. Das geeignete Ausgangsport
zum Senden der Zelle wird basierend auf dem Zellenanfangsblock bestimmt.
-
Beim Konfigurieren eines Netzwerkelements,
wie beispielsweise eines Schalters für die optimale Übertragung
von verschiedenen Verkehrstypen (die manchmal Dienstklassen genannt
werden), die durch ATM-Netzwerke unterstützt werden, müssen mehrere
Faktoren berücksichtigt
werden, wie beispielsweise eine Durchsatzverzögerung und eine erwünschte Bandbreite.
Solche Verkehrstypen, die jeweils ihre eigenen Verzögerungs-
und Bandbreitenanforderungen haben, enthalten die Dienstklasse für eine konstante
Bitrate ("CBR" = constant bit rate),
die Dienstklasse für
eine variable Bitrate ("VBR" = variable bit rate),
die Dienstklasse für
eine verfügbare
Bitrate ("ABR" = available bit
rate) und die Dienstklasse für
eine nichtspezifizierte Bitrate ("UBR" =
unspecified bit rate).
-
Der Hauptunterschied zwischen den
Dienstklassen besteht in der Verzögerung. Anwendungen von Telekommunikationsnetzwerken,
wie beispielsweise ein Durchführen
einer Telefonkonferenz, erfordern ganz bestimmte Verzögerungsgrenzen
und sind typischerweise der CBR-Dienstklasse
zugeordnet. Anwendungen von Transaktionsverarbeitungen, wie beispielsweise
automatisierte Bankmaschinen, erfordern eine "fest begrenzte" Verzögerungsspezifikation, um akzeptierbare
Reaktionszeiten zur Verfügung zur
stellen. Solche Anwendungen sind typischerweise der VBR-Dienstklasse
zugeordnet. Anwendungen für
Dateienübertragungen,
wie beispielsweise ein Internetverkehr, erfordern lediglich eine "begrenzte" Verzögerung und
verwenden somit typischerweise die ABR-Dienstklassen. Die UBR-Dienstklasse
stellt normalerweise keine Verzögerungsgrenze
zur Verfügung.
-
Weiterhin muss die Bandbreite beim
Bilden einer akzeptierbaren Vermittlungs- bzw. Schalterkonfiguration
berücksichtigt
werden. Videoanwendungen haben typischerweise eine vorhersagbare
Bandbreitenanforderung, während
Anwendungen für
Dateienübertragungen
viel aperiodischer oder "diskontinuierlich" sind.
-
Eine geringfügige Verzögerung und eine vollständige Leitungsausnutzung
sind entgegenwirkende Ziele beim Multiplexen von asynchronen Quellen. Eine
starke Ausnutzung wird dadurch erreicht, dass man eine Gruppe von
Verbindungen eine Bandbreite gemeinsam nutzen lässt, die nicht Verbindungen
zugeordnet ist, die eine sehr geringfügige Verzögerung benötigen. Diese gemeinsam genutzte
Bandbreite ist als dynamische Bandbreite bekannt, weil sie basierend
auf momentanen Betriebsbedingungen auf Verbindungen verteilt wird.
VBR, ABR und UBR verwenden eine dynamische Bandbreite zum Erreichen
einer starken Leitungsausnutzung.
-
Es ist ein Netzwerkschalter erforderlich,
der einen Netzwerkverkehr mit solchen ungleichen Verzögerungs-
und Bandbreitenanforderungen adaptiv anpassen kann, und somit billige, äußerst effiziente, integrierte
Dienste zur Verfügung
stellen kann. Ein solcher Schalter ist beispielsweise aus Endo et
al., "Shared Buffer
Memory Switch for an ATM Exchange", IEEE Transactions on Communications
41 (1993), Januar, Nr. 1, S. 237–245 bekannt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein integrierter Dienst ist die Unterbringung von
verschiedenen Verkehrstypen, wobei jeder der Verkehrstypen durch
Verzögerungsgrenzen
und durch eine garantierte Bandbreite charakterisiert ist und wobei
jeder der Verkehrstypen eine zugeteilte Bandbreite, eine dynamische
Bandbreite oder eine Kombination von beiden empfängt. Die gegenwärtig offenbarte
Erfindung ist ein ATM-Netzwerkschalter und ein Verfahren, die adaptiv äußerst effiziente
und somit billige integrierte Dienste darin zur Verfügung stellen
können.
Beim Bereitstellen von solchen integrierten Diensten kann dann,
wenn die Eingangsrate für
eine Verbindung größer als
ihre zugeteilte Bandbreite ist, die Verbindung optional eine dynamische Bandbreite
verwenden.
-
In einer allgemeinen Übersicht
enthält
der Schalter wenigstens ein Eingangsport, wenigstens ein Ausgangsport
und Eingangs- und Ausgangspuffer, die zu den jeweiligen Eingangsund
Ausgangsports gehören.
Zellen treten über
das Eingangsport in den Schalter ein und werden in den Eingangspuffern gepuffert.
Die Zellen werden dann unter der Steuerung von jeweiligen Portprozessoren
und einem Bandbreitenzuteiler ("BA" = Bandwidth Arbiter)
von den Eingangspuffern zu den Ausgangspuffern gesendet und dann
zum geeigneten Ausgangsport gesendet.
-
Zum Bereitstellen von sowohl einer
Verbindung als auch einer Verkehrstypenisolation sind die Puffer
in Warteschlangen gruppiert und ist eine Flusssteuerung auf einer
Pro-Warteschlangen-Basis implementiert.
Jede Warteschlange enthält
mehrere Puffer und jeder Schalter enthält mehrere Eingangswarteschlangen
und mehrere Ausgangswarteschlangen. Auf ein Eintreten in den Schalter
hin wird jede Zelle in einen Eingangszellenpuffer, der zu einer
bestimmten Eingangswarteschlange gehört, für ein eventuelles Senden zu
einem Ausgangszellenpuffer, der zu einer bestimmten Ausgangswarteschlange gehört, geladen.
Eine Warteschlangenbildung pro VC ermöglicht eine Verbindungsebenen-Flusssteuerung,
da Zellen gemäß dem Eingangs-
und Ausgangsportpaar gruppiert werden, die sie durchlaufen. Individuelle
Warteschlangen werden dann Verkehrstypengruppen zugeordnet, um eine
Verkehrstypen-Flusssteuerung
zu ermöglichen.
Beispielsweise ist jede Warteschlange für einen bestimmten Verkehrstypen
(der manchmal Dienstklasse genannt wird), wie beispielsweise für die Dienstklasse
für eine variable
Bitrate ("VBR") und für die Dienstklasse
für eine
verfügbare
Bitrate ("ABR"), wie sie oben beschrieben
sind, bestimmt.
-
Zusätzlich zu der Unterscheidung
eines Zellenverkehrs in die oben beschriebenen Dienstkategorien
werden weitere Prioritätsebenen
innerhalb jeder Kategorie eingeführt,
weil unterschiedliche Anwendungen innerhalb einer Kategorie eine
unterschiedliche Empfindlichkeit gegenüber einer Verzögerung haben
können.
Beispielsweise kann ein durch eine Sicherungsanwendung durchgeführte Dateienübertragung
längere
Verzögerungen
als eine Dateienübertragung
eines medizinischen Bilds zu einem wartenden Arzt tolerieren. Eine
Flusssteuerung kann auch bei diesen Verkehrsuntertypen implementiert
sein, wobei jede Warteschlange einer bestimmten Verbindung zugeordnet
wird, um dadurch eine Flusssteuerung auf einer Pro-Verbindungs-Basis
sowie auf einer Pro-Dienstkategorien-Basis zur Verfügung zu stellen.
-
Es ist dann für den gegenwärtig offenbarten Netzwerkschalter
möglich,
integrierte Dienste durch Übertragen
von Eingangszellen zu Ausgangspuffern unter Verwendung einer Bandbreite
zur Verfügung
zu stellen, die insbesondere solchen Verbindungen zugeordnet ist
("zugeteilte Bandbreite"), indem Eingangszellen
zu Ausgangspuffern unter Verwendung einer Bandbreite übertragen
werden, die momentan nicht Zellen zugeordnet ist, die eine zugeteilte
Bandbreite erfordern ("dynamische
Bandbreite"), und
indem Eingangszellen zu Ausgangspuffern unter Verwendung einer Mischung
aus sowohl einer zugeteilten als auch einer dynamischen Bandbreite übertragen
werden.
-
Eine Bandbreitenzuteilung oder die
Anpassung von verfügbaren
Empfängern
an Sender, die Zellen zu dieser Gruppe von Empfängern senden müssen, beginnt
mit einer Bestimmung davon, welche Bandbreite verfügbar ist.
-
Ein Zum-Schalterport-Prozessor ("TSPP" = To Switch Port
Processor) ist verantwortlich für
ein Empfangen einer Zelle von einem in einer Richtung verlaufenden Übertragungspfad,
der als "Verbindung" bzw. "Zink" bekannt ist, für ein Analysieren
einer Zellenanfangsblockinformation zum Identifizieren einer Verbindung,
zu welcher die Zelle gehört,
und für ein
Puffern der Zelle gemäß der Dienstklasse
und der Unterklassenpriorität,
die der jeweiligen Verbindung zugeordnet sind. Weiterhin ist der
TSPP verantwortlich für
ein Übertragen
der Zelle vom Puffer zu einem oder mehreren Vom-Schalterport-Prozessoren ("FSPP" = From Switch Port
Processors) unter Verwendung des zugehörigen Schalteraufbaus.
-
Die für eine solche Übertragung
verwendete Bandbreite kann entweder zugeteilt oder dynamisch oder
beides sein, wie es zuvor charakterisiert ist.
-
Zum Managen der zugeteilten Bandbreite verwendet
der TSPP ein Zeitschlitz-Rahmenkonzept durch die Verwendung einer
Schalterzuteilungstabelle ("SAT
= Switch Allocation Table). Der TSPP verwendet auch zwei Datenstrukturen
beim Managen unterschiedlicher Betriebsmittel, nämlich eine Warteschlange und
eine Liste. Eine Warteschlange wird zum Managen von Puffern verwendet
und besteht aus einer Gruppe von einer oder mehreren gepufferten
Zellen, die als FIFO organisiert sind und als verbundene Liste unter
Verwendung von Zeigern manipuliert werden. Ankommende Zellen werden
zum Ende der Warteschlange hinzugefügt (in die Warteschlange eingereiht).
Zellen, die zum Schalteraufbau bzw. zur Vermittlungsstruktur gesendet
werden, werden vom Anfang der Warteschlange entfernt (aus der Warteschlange
herausgenommen). Eine Zellenreihenfolge wird immer beibehalten.
Für eine
gegebene Verbindung ist die Sequenz von Zellen, die zum Schalteraufbau
gesendet wird, identisch zu derjenigen, in welcher sie ankam, obwohl
die Zeitintervalle zwischen jeder abgehenden Zelle von den Ankunftszeiten
zwischen Zellen unterschiedlich sein kann.
-
Gültige
SAT-Einträge
stellen einen Zeiger zu einer "Zeitplanungsliste" zur Verfügung, in
welcher eine Liste von Warteschlangen gehalten wird, die Zellen
haben kann, die für
eine Übertragung
zu einem bestimmten Ausgangsport beabsichtigt sind. Eine Zeitplanungsliste
besteht aus einer oder mehreren Warteschlangennummern, die als zirkulare
Liste organisiert sind. Wie bei Warteschlangen werden Listen als
Struktur einer verbundenen Liste unter Verwendung von Zeigern manipuliert.
Warteschlangennummern werden zum Ende einer Liste hinzugefügt und vom
Anfang der Liste entfernt. Eine Warteschlangennummer kann nur einmal
in irgendeiner gegebenen Zeitplanungsliste erscheinen. Zusätzlich dazu,
dass sie hinzugefügt
und entfernt werden, werden Warteschlangennummern in einer Liste
durch ein Entfernen vom Anfang und dann durch ein Hinzufügen der
entfernten Warteschlangennummer zurück an das Ende erneut zirkuliert.
Dies resultiert in einem Round-Robin-Dienst
der Warteschlangen bei einer bestimmten Liste.
-
Zugeteilte Zeitschlitze, die zu einem
gegebenen Zeitpunkt verwendet werden können, oder gültige SAT-Einträge, wo es
keine Zelle zum Senden für diese
Verbindung gibt, veranlassen, dass der TSPP den BA darüber benachrichtigt,
dass er diesen Zeitschlitz als Zellenzeit mit dynamischer Bandbreite
für irgendeinen
der dem Schalter zugeordneten TSPPs verwenden kann. Auf diese Weise
werden Dienstklassen, die eine oder beide einer zugeteilten und
einer dynamischen Bandbreite erfordern, untergebracht.
-
Über
den Schalteraufbau empfangene Zellen werden durch den zum geeigneten
Ausgangsport gehörenden
FSPP empfangen. Basierend auf einer Prioritätsgebungsinformation, die zu
der Zelle bei den TSPPs gehört,
wird den Zellen eine Priorität
zugeteilt und werden sie gesendet, wobei jede Zelle relativ zu anderen
Zellen bei einer Verbindung, in derselben Reihenfolge beibehalten
wird, in welcher sie empfangen wurde.
-
Die Struktur einer verbundenen Liste,
für die zuvor
angedeutet ist, dass sie mehrere Ebenen von Listen enthält, stellt
mehrere Ebenen einer Steuerung zur Verfügung. Theoretisch enthält eine
Liste einer oberen Ebene Einträge,
die jeweils Referenzen zu einer jeweiligen, nachfolgenden verbundenen
Liste sind. Einträge
in jeder der nachfolgenden verbundenen Listen sind selbst verbundene
Listen. Die Struktur kann durch Hinzufügen einer verbundenen Liste
in jedem Eintrag in einer nachfolgenden Liste auf noch weitere Ebenen
erweitert werden. Wenn eine Aufgabe unter Verwendung einer solchen
Struktur ausgeführt
wird, wird eine Gerechtigkeit unter Listenelementen auf jeder Ebene
erreicht.
-
Diese Struktur findet Anwendung in
Zusammenhang mit dem gegenwärtig
offenbarten Netzwerkschalter in mehreren Fällen. Beispielsweise verwendet
eine TSPP-Punkt-zu-Punkt-Zuteilung eine solche Struktur beim Erzeugen
dynamischer Listen von Zellen, um über eine dynamische Bandbreite durch
den Schalter gesendet zu werden. Eine TSPP-Mehrfachpunkt-zu-Punkt-Zuteilung verwendet
auch eine solche Struktur, aber mit einer weiteren Ebene von verbundenen
Listen. Eine FSPP-Ausgabezeitplanung
wird auch unter Verwendung dieser Struktur einer verbundenen Liste
erreicht.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die Erfindung wird vollständiger durch
Bezugnahme auf die folgende Beschreibung und die beigefügten Zeichnungen
verstanden werden, von welchen:
-
1 ein
Blockdiagramm eines Schalters gemäß der vorliegenden Erfindung
ist,
-
2 ein
Blockdiagramm ist, das einen Punkt-zu-Punktund einen Punkt-zu-Mehrfachpunkt-Betrieb
im Schalter der 1 darstellt;
-
3 Schalterzuteilungstabellen
gemäß der vorliegenden
Erfindung darstellt;
-
4 eine
Zeitplanungsliste und zugehörige Warteschlangen
gemäß der vorliegenden
Erfindung darstellt;
-
5 eine
Struktur einer verbundenen Liste für eine Mehrfachpunkt-zu-Punkt-
und eine Punkt-zu-Punkt-Übertragungszuteilung
gemäß der vorliegenden
Erfindung darstellt;
-
6 die
Verwendung von Prioritätslisten bei
der vorliegenden Erfindung darstellt;
-
7 die
Beziehung zwischen einer dynamischen Bandbreitenschwelle, einer
zugeteilten Bandbreite und einer dynamischen Bandbreite bei der
vorliegenden Erfindung darstellt;
-
8 die
Verteilung von nicht zugeteilten Ausgangsports für einen Einsatz einer dynamischen Bandbreite
bei der vorliegenden Erfindung darstellt;
-
9 eine
beispielhafte Warteschlange ist, wie sie bei der vorliegenden Erfindung
verwendet wird;
-
10 die
Anordnung von Warteschlangen bei bevorzugten und/oder dynamischen
Listen innerhalb des FSPP bei der vorliegenden Erfindung darstellt;
und
-
11 bevorzugte
und dynamische Listen in einem FSPP gemäß der vorliegenden Erfindung
darstellt.
-
DETAILLIERTE
BESCHREIBUNG
-
Nimmt man nun Bezug auf 1, enthält der gegenwärtig offenbarte
Schalter 10 eine Vielzahl von Eingangsports 20,
eine Vielzahl von Ausgangsports 22 und einen N × N-Schalteraufbau bzw.
eine N × N-Vermittlungsstruktur 11,
wie beispielsweise einen Kreuzstellenschalter, der zwischen den
Eingangsports 20 und den Ausgangsports 22 gekoppelt
ist. Jedes Eingangsport 20 enthält einen Zum-Schalterport-Prozessor-("TSPP"-)ASIC 14 und
jedes Ausgangsport 22 enthält einen Vom-Schalterport-Prozessor-("FSPP"-)ASIC 16.
Ein Mehrfachpunkt-Topologiesteuerungs-("MTC" =
Multipoint Topology Controller)-ASIC 18 ist zwischen jedem
TSPP 14 und einem Bandbreitenzuteiler-("BA"-)ASIC 12 gekoppelt, und
auch zwischen dem Bandbreitenzuteiler 12 und jedem FSPP 16,
wie es gezeigt ist. Bei einem Ausführungsbeispiel unterstützt jede
MTC bis zu vier TSPPs 14 oder FSPPs 16.
-
Der Schalteraufbau 11 enthält eine
Datenkreuzschiene 13 für
einen Datenzellentransport und den Bandbreitenzuteiler 12 und
die MTCs 18 für
einen Steuersignaltransport. Der Bandbreitenzuteiler-("BA")-ASIC 12 steuert
u. a. einen Transport von Datenzellen von einem TSPP 14 zu
einem oder mehreren FSPPs 16 über die Datenkreuzschiene 13 (d.
h. Schalterportplanung), einschließlich der dynamischen Zeitplanung
einer momentan nicht zugeordneten Bandbreite (wie es nachfolgend
weiter beschrieben ist). Jeder FSPP 16 empfängt Zellen
von der Datenkreuzschiene 13 und plant ein Senden von diesen Zellen
auf Netzwerkverbindungen 30 (d. h. eine Verbindungsplanung).
-
Jeder der Eingangsports 20 und
der Ausgangsports 22 enthält jeweils eine Vielzahl von
Eingangspuffern 26 und Ausgangspuffern 28 (2). Die Puffer 26, 28 sind
jeweils in eine Vielzahl von Eingangswarteschlangen 32a–m (die
hierin allgemein Eingangswarteschlangen 32 genannt werden)
und eine Vielzahl von Ausgangswarteschlangen 34a–m (die
hierin allgemein Ausgangswarteschlangen 34 genannt werden)
organisiert. Genauer gesagt enthält jedes
Eingangsport 20 eine Vielzahl von Eingangswarteschlangen 32 und
enthält
jedes Ausgangsport eine Vielzahl von Ausgangswarteschlangen 34,
wie es gezeigt ist. Die Eingangswarteschlangen 32 werden
in einem Steuer-RAM 41 und einem Zeiger-RAM 50 des
Eingangsports 20 gespeichert und die Ausgangswarteschlangen 34 werden
in einem CR1 RAM 61 und einem CR2 RAM 63 des Ausgangsports 22 gespeichert.
Die aktuelle Zellenpufferung erfolgt im Zellenpuffer-RAM 17,
wobei die Warteschlangen 32 Zeiger zu diesem Puffer RAM 17 haben.
-
Zum Durchqueren des Schalters 10 tritt
eine Datenzelle 24 über
ein Eingangsport 20 in den Schalter ein und wird in eine Eingangswarteschlange 32 bei
dem jeweiligen TSPP 14 eingereiht. Die Zelle wird dann
von der Eingangswarteschlange 32 zu einer oder mehreren
Ausgangswarteschlangen 34 über die Datenkreuzschiene 13 gesendet.
Steuersignale werden von einem TSPP 14 über die jeweilige MTC 18 und
den Bandbreitenzuteiler 12 zu einem oder mehreren FSPPs 16 gesendet.
Insbesondere können
Daten- und Steuersignale im Fall einer Punkt-zu-Punkt-Verbindung 40 von
einer Eingangswarteschlange 32 zu einer bestimmten der
Ausgangswarteschlangen 34 gesendet werden. Alternativ dazu
können
Daten- und Steuersignale im Fall einer Punkt-zu-Mehrfachpunkt-Verbindung 42 von
einer Eingangswarteschlange 32 zu einer ausgewählten Gruppe
von Ausgangswarteschlangen 34 gesendet werden. Von der
(den) Rusgangswarteschlange(n) 34 wird die Datenzelle 24 über ein
Netzwerk 30 zur Außenseite
des Schalters 10 gesendet, wie beispielsweise zu einem
anderen Schalter 21.
-
Der Bandbreitenzuteiler 12 enthält eine Kreuzschienensteuerung 15,
die eine Sondenkreuzschiene, eine XAUS-Kreuzschiene und eine XEIN-Kreuzschiene
enthält,
von welchen jede ein N × N-Schalter
ist. Eine Übertragungsanfragennachricht oder
ein Sondensteuersignal fließt
durch die Sondenkreuzschiene und wird dazu verwendet, anzufragen, ob
genügend
Platz bei einer Zielort-Ausgangswarteschlange,
oder bei Warteschlangen 34, verfügbar ist oder nicht, um eine
Zelle einzureihen. Die Anfragenachricht wird als "Vorwärts"-Steuersignal angesehen,
da ihre Richtung von einem TSPP 14 zu einem oder mehreren
FSPPs 16 ist (d. h. dieselbe Richtung wie die Daten). Ein
Zwei-Bit-Steuersignal fließt
in der Rückwärtsrichtung
(von einem oder mehreren FSPPs zu einem TSPP) durch die XAUS-Kreuzschiene und
antwortet auf die Anfragenachrichtenanfrage durch Anzeigen, ob die
Zielort-Ausgangswarteschlange, oder die Warteschlangen 34,
gegenwärtig Datenzellen
annehmen können
oder nicht, und somit, ob der sendende TSPP Zellen über die
Datenkreuzschiene 13 senden kann oder nicht. In dem Fall, dass
das XAUS-Steuersignal anzeigt, dass die angefragte(n) bzw. untersuchte(n)
Ausgangswarteschlange(n) 34 gegenwärtig nicht zum Empfangen von
Daten fähig
ist (sind), benachrichtigt ein weiteres Rückwärts-Steuersignal, das durch
die XEIN-Kreuzschiene fließt,
den sendenden TSPP dann, wenn einmal Platz bei der (den) Zielort-Ausgangswarteschlange(n) 34 verfügbar wird.
-
Jedes Ausgangsport 22 enthält vier
Speicher: einen Steuer-RAM 1 (CR1 RAM) 61, einen Setuer-RAM 2 (CR2
RAM) 53, einen Zellenpuffer-RAM 19 und einen Quantenflusssteuerungs-RAM
(QFC RAM). Der Zellenpuffer-RAM 19 ist dort, wo die aktuellen
Zellen gepuffert werden, während
sie auf ein Senden warten. Der CR1 RAM 61 und der CR2 RAM 63 enthalten
die Ausgangswarteschlangen 34, wobei jede Warteschlange 34 Zeiger
zu Zellen im Zellenpuffer-RAM 19 enthält. Der CR1 RAM 61 enthält Information,
die dazu erforderlich ist, Zeitplanungslisten zu implementieren,
die zum Planen eines Verbindungszugriffs durch die Ausgangswarteschlangen 34 verwendet
werden, die jeder Verbindung 30 zugeordnet sind, die durch den FSPP 16 unterstützt wird.
Der QFC RAM 67 speichert Aktualisierungsinformation für eine Übertragung
zu einem anderen Schalter 29 über eine Netzwerkverbindung 30.
Aktualisierungszellen werden in Reaktion auf die durch einen TSPP 14 gelieferte
Aktualisierungsinformation erzeugt und spezifizieren, ob der bestimmte
TSPP 14 gegenwärtig
Datenzellen annehmen kann.
-
Um sowohl eine Verbindung als auch
eine Verkehrstypenisolation zur Verfügung zu stellen, sind die Puffer 26, 28 jeweils
in Warteschlangen 32, 34 organisiert, und eine
Flusssteuerung ist auf einer Pro-Warteschlangen-Basis implementiert. Jede Warteschlange
enthält
mehrere Puffer und jeder Schalter enthält mehrere Eingangswarteschlangen 32 und mehrere
Ausgangswarteschlangen 34. Auf ein Eintreten in den Schalter
hin wird jede Zelle 24 in eine bestimmte Eingangswarteschlange 32 für ein eventuelles
Senden zu einer bestimmten Ausgangswarteschlange
34 geladen.
Durch Organisieren von Eingangszellen in Warteschlangen durch ein
Empfangs-(Eingangs-)Port und ein Zielort-(Ausgangs-)Port wird eine
Verbindungsebenen-Flusssteuerung
ermöglicht.
Beispielsweise könnten
Warteschlangen 32a, 34a einer bestimmten Verbindung zugeordnet
sein. Zusätzlich
können
verschachtelte Warteschlangen von Warteschlangen verwendet werden,
um eine Flusssteuerung pro Unterklasse zur Verfügung zu stellen.
-
Nimmt man wiederum Bezug auf 1, wird nun die Erfindung
detaillierter beschrieben. Bei der bevorzugten Architektur enthält jedes
Eingangsport einen TSPP 14 und enthält jedes Ausgangsport einen
FSPP 16. Die TSPPs und FSPPs enthalten jeweils einen Zellenpuffer-RAM,
der jeweils in Warteschlangen 32, 34 organisiert
ist. Alle Zellen in einer Verbindung 40 laufen während der Verbindungsdauer
durch eine einzige Warteschlange bei jedem Port, und zwar eine bei
dem TSPP und eine bei dem FSPP. Die Warteschlangen bewahren eine
Zellenordnung. Diese Strategie lässt
auch Dienstqualitäts("QoS" = Quality of Service)-Garantien
auf einer pro-Verbindungs-Basis
zu. Im Mehrfachpunkt-zu-Punkt-Fall werden zwei oder mehrere Warteschlangen
gebildet, um die mehreren Quellen zu bedienen.
-
Wenn eine Zelle im TSPP 14 empfangen wird,
besteht die erste durch den TSPP durchgeführte Aktion darin, den Zellenanfangsblock
auf Fehler zu prüfen
und dann zu prüfen,
dass die Zelle einer gültigen
Verbindung zugeordnet ist. Um dies durchzuführen, werden die in jedem Zellenanfangsblock
spezifizierten VPI/VCI-Felder als Index in eine Umsetzungstabelle
bzw. Übersetzungstabelle
verwendet, die als VXT bekannt ist, welche im Steuer-RAM 41 gespeichert
ist. Der TSPP prüft
zuerst, um zu sehen, ob diese Verbindung eine zuvor durch die Steuersoftware aufgebaute
Verbindung ist. Wenn sie erkannt wird, wird der Zelle dann eine
Warteschlangennummer zugeordnet werden, die zu der Verbindung gehört. Gleichzeitig
wird die Zelle durch den TSPP in ein internes Zellenformat umgewandelt.
-
Die Warteschlangennummer gehört zu einem
Warteschlangendeskriptor, der eine Tabelle von Zustandsinformation
ist, die für
diese Quelle eindeutig ist. Nachdem einer Zelle eine Warteschlangennummer
von der VXT zugeordnet ist, schaut der TSPP auf den entsprechenden
Warteschlangendeskriptor für
weitere Information darüber,
wie die Zelle zu verarbeiten ist. Die nächste Operation besteht im Versuchen,
einen Puffer für
die Zelle zuzuordnen. Wenn sie verfügbar ist, wird die Zellenpuffernummer an
das Ende ihrer jeweiligen Warteschlange in die Warteschlange gebracht
und wird die Zelle zu einem externen Zellenpuffer-RAM 32 geschrieben.
-
Zusätzlich zu einem Verarbeiten
und Puffern von ankommenden Zellenströmen muss der TSPP die Zellen
vom Zellenpuffer zu einer Gruppe aus einem oder mehreren FSPPs unter
Verwendung des Schalteraufbaus 11 übertragen. Die für eine solche Übertragung
verwendete Bandbreite kann entweder vorher zugeordnet sein (d. h.
zugeteilte Bandbreite) oder dynamisch zugeordnet sein (d. h. dynamische Bandbreite).
Die zugeteilte Bandbreite wird durch eine Anrufannahmesteuerungs-(CAC
= Call Acceptance Control)-Software zugeordnet. Die Zuordnung einer
dynamischen Bandbreite hängt
von der momentanen Ausnutzung der Schalterbetriebsmittel ab und
wird durch den Bandbreitenzuteiler 12 gesteuert.
-
Eine zugeteilte Bandbreite wird unter
Verwendung eines Zeitschlitz-Rahmenkonzepts gemanagt. In Bezug auf 3 hat jeder TSPP eine Datenstruktur,
die Schalterzuteilungstabelle ("SAT") 23 genannt
wird, welche zum Managen der zugeteilten Bandbreite verwendet wird.
Alle TSPPs im Schalter werden so synchronisiert, dass sie unter
Verwendung eines SAT-Zeigers 25 zu irgendeiner gegebenen
Zellenzeit alle zu demselben Offset in der SAT zeigen. Bei einem
bevorzugten Ausführungsbeispiel ist
jeder Schlitz in der SAT für
32 Taktzyklen bei 50 MHz aktiv, was etwa 64 Kbps von Zellennutzlastbandbreite
zur Verfügung
stellt. Bei einer gegebenen SAT-Tiefe von 8192 tasten die Zeiger
die SATs etwa alle 6 msek ab, um dadurch eine maximale Verzögerung für eine Sendegelegenheit
von etwa 6 msek zur Verfügung
zu stellen. Die CAC-Software ist verantwortlich für ein Zuordnen
einer zugeteilten Bandbreite von TSPPs zu FSPPs auf eine konfliktfreie
Weise.
-
Zu jeder Zellenzeit schaut der TSPP
auf den SAT-Eintrag für
diese Zellenzeit. Ein SAT-Eintrag ist entweder nicht gültig oder
zeigt auf eine Liste von Warteschlangen in einem TSPP-Steuer-RAM 41,
der Zeitplanungsliste 27 genannt wird (siehe 4). Warteschlangendeskriptoren
für jede
der Warteschlangen sind auch im Steuer-RAM 41 gespeichert. Wenn
der SAT-Eintrag ungültig
ist, wird diese Zellenzeit dem Bandbreitenzuteiler zur Verwendung
beim Zuordnen einer dynamischen Bandbreite zur Verfügung gestellt,
wie es nachfolgend beschrieben ist. Eine durch einen bestimmten
TSPP aufgegebene zugeteilte Zellenzeit kann als Zellenzeit für eine dynamische
Bandbreite verwendet werden; sie kann durch den TSPP, der den Schlitz
aufgab, verwendet werden, oder sie kann einem anderen TSPP zur Verwendung
zugeteilt werden. Die Entscheidung darüber, welcher TSPP eine gegebene
dynamische Zellenzeit bekommt, wird durch den Bandbreitenzuteiler durchgeführt.
-
Wenn der SAT-Eintrag eine gültige Zeitplanungslistennummer
enthält,
wie es in 3 als SLIST 4 27 dargestellt
ist, wird der TSPP die erste Warteschlange bei der Bezugs-Zeitplanungsliste
als die Quelle der während
dieser Zellenzeit zu übertragenen
Zelle verwenden. Dies wird dadurch erreicht, dass die Zeitplanungsliste
einen "Anfang"-Zeiger 29 und
einen "Ende"-Zeiger 31 enthält, wie
es in 4 gezeigt ist.
Der Anfangszeiger 29 ist ein Zeiger zu einer ersten Warteschlange 33 mit
einer zu einem bestimmten Ausgangsport zu sendenden Zelle. Der Endzeiger 31 ist
ein Zeiger zu einer letzten Warteschlange 35 mit einer
zum selben Ausgangsport zu sendenden Zelle. Weiterhin hat jede zu
dieser Liste gehörende
Warteschlange einen "nächste"-Zeiger, der in 4 mit "N" bezeichnet
ist, welcher zur nächsten
Warteschlange in einer Sequenz von Warteschlangen zeigt. Obwohl
es in 4 nicht dargestellt
ist, ist jede Warteschlange eine verbundene Liste, wobei der Warteschlangendeskriptor
einen Anfangszeiger hat, der zu der in dieser Warteschlange gepufferten
ersten Zelle zeigt, und einen Endzeiger, der zu der in dieser Warteschlange
gepufferten letzten Zelle zeigt. Jede gepufferte Zelle hat einen nächste-Zeiger,
der zur nächsten
Zelle in der Warteschlange gezeigt. Somit zeigt, wie es dargestellt
ist, die SAT für
einen TSPPO gegenwärtig
an, dass eine Zellenzeit verfügbar
ist, und zwar zur Zeitplanungsliste 4 27 (SLIST 4).
Der Anfangszeiger 29 dieser Zeitplanungsliste zeigt zur
Warteschlange 4 33, die vier Zellen dafür bereit
hat, zum jeweiligen Ausgangsport gesendet zu werden. Nachdem die
erste Zelle von der Warteschlange 4 durch den Schalteraufbau
gesendet worden ist und die internen Zeiger der Warteschlange 4 modifiziert
worden sind, um zur zweiten Zelle als der nächsten Zelle für ein Senden
zu zeigen, wird nun die Warteschlange 4 33 die
letzte der drei Warteschlangen, die zu SLIST 4 gehören, um
nächstes
Mal ausgewählt
zu werden. Insbesondere wird der Anfangszeiger von SLIST 4 modifiziert,
um zur Warteschlange 7 zu zeigen, wird der Endzeiger modifiziert,
um zur Warteschlange 4 zu zeigen, und werden die Anfangsblockdaten
der Warteschlange 2 modifiziert, um zur Warteschlange 4 zu
zeigen. Wenn die Warteschlange 4 keine andere zu sendende
Zelle hat, wird die Warteschlange aus der Warteschlange genommen,
wird die Warteschlange 7 die nächste Warteschlange und wird
die Warteschlange 2 die letzte Warteschlange.
-
Zellenzeiten werden den Bandbreitenzuteiler zur
Zuordnung als dynamische Bandbreite unter den folgenden Bedingungen
verfügbar
gemacht:
- 1) Wenn die durch die SAT identifizierte
Zeitplanungsliste keinen Warteschlangeneintrag verfügbar hat,
wobei dieser Fall als "zugeteilt,
nicht verwendet" bezeichnet
wird, oder
- 2) wenn die SAT keine für
einen bestimmten Zellenzeitschlitz spezifizierte Zeitplanungsliste
hat, wobei dieser Fall als "nicht
zugeteilt" bezeichnet wird.
-
Eine weitere Bedingung existiert
in dem Fall, in welchem ein Pacing-Schema bzw. ein Datenflussdotierungsschema
im TSPP implementiert ist, um eine Anfangsverzögerung beim Übertragen
einer Zelle unter Verwendung einer zugeteilten Bandbreite zu minimieren.
Wenn ein SAT-Schlitz für
eine bestimmte Zeitplanungsliste angezeigt wird, aber der Datenflussdotierungszähler für diese
Liste nicht den geeigneten Wert erreicht hat, wird verhindert, dass eine
Zelle von einer zugeordneten Warteschlange übertragen wird, und wird der
Schlitz für
eine Übertragung
mit einer dynamischen Bandbreite verfügbar.
-
Zellenzeiten für eine dynamische Bandbreite werden
durch Ziehen eines Vorteils aus einer verschachtelten Gruppe von
Zeigern gemanagt, oder dadurch, was "Liste von Listen"-Technik
genannt wird. Allgemein ist eine solche Struktur in 5 dargestellt. Eine Gruppe von Listen,
die mit Listen für eine
dynamische Bandbreite bezeichnet sind, hat mehrere Einträge, die
mit Port 01, Port 02,
Port 03, Port 04,
Port 11, Port 12,
Port 13,... bezeichnet sind. Jeder Eintrag
stellt eine Liste für
eine dynamische Bandbreite für
jedes Port und eine Priorität
(nachfolgend diskutiert) dar und hat ein Anfangszeiger/Endzeiger-Paar,
das auf Dispositionslisten bzw. Zeitplanungslisten für Port 0,
Priorität 3 zeigt.
Somit bestehen "Listen
für eine
dynamische Bandbreite" aus
Einträgen,
die selbst Listen sind, oder ist anders ausgedrückt eine Liste von Listen.
Der Anfangszeiger für das Port
03 zeigt auf eine Zeitplanungsliste 12 (SLIST 12).
SLIST 12 ist die erste von mehreren Zeitplanungslisten
in der Datenstruktur einer verbundenen Liste, die die Liste für eine dynamische
Bandbreite für das
Port und die Priorität
genannt wird. Der Endzeiger für
das Port 03 zeigt auf den letzten Eintrag
in dieser Struktur einer verbundenen Liste, SLIST 5. Jede Zeitplanungslist
in der Struktur hat einen Zeiger zur nächsten Zeitplanungsliste in
derselben Struktur.
-
Jede der SLISTs 12, 2 und 5 hat
auch ein Anfangszeiger/Endzeiger-Paar, das auf wenigstens eine Warteschlange
mit einer Datenstruktur einer verbundenen Liste zeigt. Insbesondere
zeigt der Anfangszeiger von SLIST 12 zur Warteschlange 3 (die mit
Q3 bezeichnet ist) und zeigt der Endzeiger von SLIST 12 zur
letzten Warteschlange in dieser verbundenen Liste auf Warteschlangenebene,
Warteschlange 11 (die mit Q 11 bezeichnet ist). Gleichermaßen zeigen
die Anfang- und Endzeiger von SLIST 2 zu einer einzigen
Warteschlange, der Warteschlange 8 (Q8), und zeigen die
Anfang- und Endzeiger von SLIST 5 jeweils zu Warteschlangen 2 und 6.
-
Auf der Warteschlangenebene zeigt
ein Anfangszeiger für
Q3 zur ersten gepufferten Zelle in der Warteschlange, die mit C1
bezeichnet ist, mit einem Zeiger zu den gepufferten Zellendaten
("C"), und einem Zeiger
("N) zur nächsten Zelle
in der Warteschlange.
-
Für
ein Senden von Punkt-zu-Punkt gibt es eine Eins-zu-Eins-Entsprechung zwischen
einer Zeitplanungsliste und einer Warteschlange. Dies ist in 5 mit SLIST 2 und
der Warteschlange 8 dargestellt. Für ein Senden von Mehrfachpunkt-zu-Punkt kann
es mehrere Warteschlangen pro Zeitplanungsliste geben. Dies ist
der Fall bei SLIST 12 und den Warteschlangen 3 und 11 und
bei SLIST 5 und den Warteschlangen 2 und 6.
-
Durch Implementieren dieser Gesamtstruktur "Liste von Listen" im gegenwärtig offenbarten ATM-Schalter
werden mehrere Ebenen einer Steuerung zur Verfügung gestellt. Beispielsweise
wird das erste Mal, zu welchem ein Ergebnis auftritt, welches ermöglicht,
dass eine Zelle zum Port 03 gesendet wird,
eine Zelle von der ersten Zelle in der ersten Warteschlange, die
zu der Zeitplanungsliste 12 gehört, ausgewählt werden. Dies ist die Zelle
C1 der Warteschlange 3. Die Zeiger der Liste "Listen für dynamische
Bandbreite" und
SLISTs 12 und 5 werden so eingestellt, dass SLIST 2 die
nächste
Zeitplanungsliste ist, von welcher eine Zelle geliefert wird, wenn
eine dynamische Bandbreite für
ein Senden einer Zelle zum Ausgangsport 03 verfügbar wird.
SLIST 5 wäre
eine zweite und SLIST 12 wäre dann die letzte. Gleichermaßen wird
die Warteschlange 3, die gerade eine Zelle zur Verfügung gestellt
hat, die letzte Warteschlange, um auswählbar zu sein, um eine Zelle
gegenüber
der SLIST 12 zur Verfügung
zu stellen, wobei die Warteschlange 11 die nächste ist.
Dies erfolgt durch die Manipulation von Zeigern in SLIST 12 und
in den Warteschlangen 3 und 11. Schließlich wird die
Zelle C1, die gesendet worden ist, aus der Warteschlange 3 entfernt,
was bedeutet, dass die Zeiger der Warteschlange 3 neu eingestellt
werden, um zu C2 als nächste
zu sendende Zelle zu zeigen. Nur dann, wenn eine weitere Zelle in
die Warteschlange 3 empfangen wird, wird eine weitere Zelle
in die Leitung hinter die Zelle 4 fallen.
-
Eine Round-Robin-Auswahl wird somit
zwischen den Zeitplanungslisten und den Warteschlangen ermöglicht,
wobei eine gleichmäßige Bandbreitenverteilung
auf jeder Ebene zur Verfügung
gestellt wird. Eine andere Zeitplanungspolitik kann implementiert
werden, wenn andere Bandbreitenverteilungen erwünscht sind.
-
Wie es gezeigt ist, wird der Ansatz
für eine Liste
von Listen auf die Zuteilung einer dynamischen Bandbreite in der
Form von Listen für
eine dynamische Bandbreite intern vom TSPP ASIC angewendet. 260
Listen für
eine dynamische Bandbreite werden im TSPP ASIC bei einem bevorzugten
Ausführungsbeispiel
verwendet. Die ersten 256 dieser Listen werden für Punkt-zu-Punkt-("P2P"-) und Mehrfachpunkt-zu-Punkt-("M2P"-)Verbindungen verwendet.
Vier Listen sind jedem der Schalter-Ausgangsports zugeordnet. Vier
andere Listen werden für Punkt-zu-Mehrfachpunkt-("P2M"-)Verbindungen verwendet.
Dies ist auf einer oberen Ebene in 6 gezeigt,
wo es für
jeden TSPP eine Struktur einer Liste von Listen gleich derjenigen
der 5 gibt.
-
In jedem Fall von P2P oder M2P wird
dann, wenn genügend
Zellen aus einer Warteschlange entfernt worden sind, um eine dynamische
Bandbreitenschwelle (die nachfolgend diskutiert wird) zu erreichen,
die Warteschlange fallengelassen oder aus der Warteschlange entfernt,
und zwar aus der verbundenen Liste von Warteschlangen. Weiterhin
wird dann, wenn alle Warteschlangen für eine bestimmte Zeitplanungsliste
aus der Warteschlange entfernt worden sind, die Zeitplanungsliste
aus der verbundenen Liste von Listen entfernt. Wenn alle Zeitplanungslisten
für einen
bestimmten Eintrag in der verbundenen Liste entfernt sind, werden
den Zeigern in der Liste für
eine dynamische Bandbreite Null-Werte zugeteilt.
-
Ein weiteres Beispiel für die Anwendung
der Struktur einer Liste von Listen bei dem vorliegenden ATM-Schalter
wird nachfolgend in Bezug auf eine Ausgangsverbindungs-Zeitplanung
beschrieben.
-
Die Priorität der Zeitplanungslisten wird
zum BA gesendet. Der BA verwendet diese Prioritätsinformation zum Bewirken
der Reihenfolge, in welcher er eine dynamische Bandbreite zum TSPP
gewährt. Diese
Prioritätsgebung
wird beim Zuordnen von Zeitplanungslisten zu einer der vier Listen
für eine
dynamische Bandbreite verwendet. Bei einem Ausführungsbeispiel des offenbarten
Schalters, das in 6 dargestellt
ist, werden Zellen aus den VBR- und ABR- Dienstkategorien einer Zuordnung zu
irgendeiner der vier Prioritäten
unterzogen und werden UBR-Zellen nur einer Zuordnung zu der Liste
für eine dynamische
Bandbreite mit niedrigster Priorität unterzogen.
-
Jede Warteschlange für jede Verbindung
hat eine dazu gehörende
dynamische Bandbreitenschwelle 37, wie es in 4 gezeigt ist. Wenn eine Warteschlangenpuffertiefe
die durch die jeweilige dynamische Bandbreitenschwelle 37 gezeigte
Zellentiefe übersteigt,
wird die Zeitplanungsliste für
diese Warteschlange zu der geeigneten Liste für eine dynamische Bandbreite
entsprechend dem geeigneten Ausgangsport und der Priorität hinzugefügt werden. Für jedes
Ausgangsport liefert die Liste für
eine dynamische Bandbreite eine Anzeige dafür, ob irgendwelche Zellen zu
dem jeweiligen Ausgangsport unter Verwendung einer dynamischen Bandbreite
zu senden sind. Die dynamische Bandbreitenschwelle wird bei einer
Anrufeinstellzeit gebildet. Bei einem weiteren Ausführungsbeispiel
des vorliegenden Schalters wird jedoch der Schwellenwert basierend
auf einer empirischen Analyse eines Verkehrs durch den Schalter
dynamisch eingestellt.
-
In Bezug auf 7 würde
eine dynamische Bandbreitenschwelle für eine Warteschlange von CBR-Zellen
oder Zellen, die eine bestimmte Bandbreite erfordern, so gebildet
werden, dass die angefragte Bandbreite (die in 7 mit "A" bezeichnet
ist) die Anforderung erfüllt
oder sie übersteigt.
Für andere
Anwendungen, die dynamischer sein können, die aber noch eine fest
begrenzte Verzögerung
erfordern, kann eine dynamische Bandbreitenschwelle, wie beispielsweise
diejenige, die in 7 mit "B" bezeichnet ist, geeignet sein, wobei
die Mehrheit des Verkehrs durch eine zugeteilte Bandbreite gehandhabt
wird, während
momentane Bursts durch eine dynamische Bandbreite hoher Priorität gehandhabt werden.
In jedem Fall wird eine spezifisch zugeteilte aber nicht verwendete
Bandbreite dem BA durch den TSPP für eine dynamische Bandbreitenzuteilung
verfügbar
gemacht.
-
Es ist zu beachten, dass für Kategorien
von Diensten, die nur auf einer zugeteilten Bandbreite beruhen,
die dynamische Bandbreitenschwelle oberhalb irgendwelcher erwarteten
Spitzen beim Zellenempfang eingestellt ist. Gegensätzlich dazu
ist für Kategorien
eines Dienstes mit keinen (oder geringfügigen) Verzögerungsgrenzen und keiner garantierten Bandbreite,
wie beispielsweise UBR, die dynamische Bandbreitenschwelle auf Null
eingestellt.
-
Wie es diskutiert ist, ist jede Warteschlange auch
eine verbundene Liste, wobei der Warteschlangendeskriptor, der im
Steuer-RAM 41 sitzt, einen Anfangszeiger hat, der zum ersten
Puffer zeigt, der zu der Warteschlange gehört und eine Zelle enthält, und einen
Endzeiger, der zum letzten Puffer zeigt, der zu der Warteschlange
gehört
und eine Zelle enthält.
Die Eingangszellen werden im Zellenpuffer-RAM 32 gepuffert.
Der Warteschlangen-Anfangsblock einer leeren Warteschlange hat einen
Anfangszeiger = 0 und einen Endzeiger = Anfang. Somit ist die verbundene Liste,
die die Warteschlange bildet, nur eine Kette von Zeigern. Die Inhalte
von einem Zeiger zeigen zum nächsten
Zeiger, etc. Die Zeigernummer ist sowohl die logische Adresse des
Zeigers als auch die logische Adresse des Zellenpuffers (d. h. die
Zellenpuffernummer). Es gibt eine Eins-zu-Eins-Abbildung eines Zellenzeigers
und seines entsprechenden Zellenpuffers. Die Mehrheit der Zeiger
ist innerhalb des Zeiger-RAM 50 zusammen mit der SAT gespeichert.
-
Eine Zellreihenfolge wird bewahrt,
da Zellen von der Warteschlange auf eine zuerst-hinein-zuerst-heraus(FIFO-)Weise
entfernt werden, gleichgültig
ob eine zugeteilte oder eine dynamische Bandbreite verwendet wird.
Dies ist trotz der Tatsache so, dass eine Zeitplanungsliste gewährte Sendegelegenheiten
sein kann, und zwar entweder durch die SAT oder durch eine Liste
für eine
dynamische Bandbreite. Bei einem ersten Ausführungsbeispiel nutzen alle Warteschlangen
in jeder Liste für
eine dynamische Bandbreite auf eine Round- Robin-Weise die verfügbare dynamische Bandbreite
für dieses
Port.
-
Es soll angenommen werden, dass die
Warteschlange 4 aus der 4 zu
einer Zeitplanungslisten bei der Liste für eine dynamische Bandbreite
der 5 hinzugefügt wird.
In Wirklichkeit werden nur Zeiger der Liste für eine dynamische Bandbreite,
die jeweiligen Zeitplanungsliste und irgendwelche anderen Warteschlangen
bei der Zeitplanungsliste eingestellt, um eine Warteschlange in
diese Liste anzuordnen; keine physikalische Neuanordnung der Warteschlange
ist beteiligt. Es soll angenommen sein, dass über ein Intervall keine Zelle
zu der Warteschlange 4, wie sie in 4 dargestellt ist, hinzugefügt werden und
keine Zellen von der Warteschlange entfernt werden, und zwar als
Ergebnis dessen, dass eine zugeteilte Bandbreite verfügbar gemacht
wird. Wenn als Ergebnis dessen, dass eine dynamische Bandbreite
während
dieses Intervalls verfügbar
gemacht wird, zwei Zellen von dieser Warteschlange gesendet werden,
würde dann
die Zellenzahl in der Warteschlange unter der jeweiligen dynamischen
Bandbreitenschwelle 37 sein. Die Warteschlange würde dann
aus der Liste für
eine dynamische Bandbreite durch Einstellen der Zeiger der geeigneten
Zeitplanungsliste und irgendwelcher anderer Warteschlangen, die
zu dieser Zeitplanungsliste gehören,
entfernt werden. Das Gegenteil ist für eine Warteschlange wahr,
die Zellen oberhalb ihrer jeweiligen dynamischen Bandbreitenschwelle
empfängt.
Es ist zu beachten, dass die erste innerhalb einer Warteschlange zu
puffernde Zelle immer die erste ist, die zu senden ist, gleichgültig ob
ein solches Senden über
eine zugeteilte oder dynamische Bandbreite erfolgt. Dies ist nötig, um
die richtige Reihenfolge der Zellen zu bewahren.
-
Daher wird zu jeder Zellenzeit den
TSPP entweder eine zugeteilte oder eine dynamische Bandbreite zugeordnet.
Der TSPP verwendet diese Information beim Entscheiden darüber, welche
Verbindung beim Zuführen
einer während
dieser Zellenzeit zu übertragenden
bestimmten Zelle zu verwenden ist.
-
Der Bandbreitenzuteiler 12 ("BA") verteilt eine nicht
zugeteilte und eine nicht verwendete, zugeteilte Schalterbandbreite,
nämlich
die dynamische Bandbreite. Die Verteilung basiert auf Anfragen und Informationen,
die durch jeden TSPP gesendet werden. Jeder TSPP identifiziert zu
den BA-Ausgangsports, die zu ihnen gesendete Zellen haben werden, für eine bestimmte
Zellenzeit als Ergebnis einer zugeteilten Bandbreite. Zusätzlich liefert
jeder TSPP zu dem BA eine Anzeige davon, welche Ausgangsports nach
einem Zugriff über
eine dynamische Bandbreite gefragt sind, ein Produkt der Listen
für eine
dynamische Bandbreite. Wenn ein TSPP keine Zuteilung in der SAT
für eine
spezifische Zellenzeit hat, kann er um eine dynamische Bandbreite
wetteifern. Jeder TSPP kann mehrere ausstehende Anfragen haben, die
im BA gespeichert sind.
-
Jeder TSPP liefert seine Anfrage(n)
für eine dynamische
Bandbreite für
ein Port(s) zum BA über eine
seriell kommunizierte Anfrage, um die Bits für die angefragten Ausgangsports
einzustellen. Jeder TSPP kann Bits in seinem jeweiligen Anfragevektor einstellen
oder löschen
oder kann eine Priorität
in Bezug auf eine jeweilige Anfrage ändern – jede Anfrage hat eine Prioritätsebene,
die in Verbindung damit gespeichert ist. Diese drei Befehle werden über einen seriellen
Drei-Bit-Befehl ausgeführt,
der von dem jeweiligen TSPP zum BA gesendet wird. Bis zu 16 Ports
können
durch den TSPP angefragt werden. Anders ausgedrückt kann jeder TSPP alle Ausgangsports
in einem Schalter mit sechzehn Ausgangsports anfragen. Eine Anfrage
bleibt eingestellt, solange sie nicht explizit durch den TSPP gelöscht wird.
In dem Fall, in welchem eine Anfrage durch den BA an ein verfügbares Ausgangsport
angepasst ist, wird eine Gewährung
in der Form einer Portnummer durch den BA zum anfragenden TSPP zurückgebracht.
Der BA interpretiert die Anfragen und speichert sie in der Form
einer Registerbank, und zwar eine für jede Priorität mit einem
eingestellten Bit, das ein angefragtes Port anzeigt.
-
Diese Anfragen für eine dynamische Bandbreite
von allen wetteifernden TSPPs werden in eine dynamische Zuteilungseinheit 43 des
BA zugeführt, der
versucht, die Anfragen an die verfügbaren (nicht zugeteilten oder
zugeteilten aber nicht verwendeten) Ports anzupassen. Angepasste
Anfragen werden zu den TSPPs zurückkommuniziert,
welche sich auf ihre Listen für
eine dynamische Bandbreite (oben beschrieben) beim entsprechenden
Senden von Zellen beziehen. Zustandsinformation wird durch den BA gehalten,
um ein Round-Robin-Dienstschema zu implementieren und um zu bestimmen,
welcher der letzte bediente TSPP war. Ein TSPP wird dann bedient,
wenn ein Vektor für
ein freies Ausgangsport im BA an eine TSPP-Anfrage angepasst ist,
wodurch das angefragte Port gewährt
wird und die Anfrage von dem Vektor für ein freies Ausgangsport subtrahiert
wird. Der Vektor für
ein freies Ausgangsport wird dann auf die nächste TSPP-Anfrage bei einem
Versuch angewendet, nicht zugeordnete Ports an angefragte Ports
anzupassen. Möglicherweise
wird der Vektor für
ein freies Ausgangsport insgesamt oder nahezu insgesamt Null sein,
und keine weitere Anpassung zwischen nicht zugeordneten Ports und
angefragten Ports kann gefunden werden.
-
8 stellt
den Anpassungsprozess dar. Hier hat der TSPP 0 eine serielle
Anfrage für
die Ports 0 und 2 geliefert. Der BA zeigt an, dass die Ports 0,
1 und 2 für
eine Zellenübertragung
mit einer dynamischen Bandbreite verfügbar sind, und zwar über den
Vektor für
ein freies Ausgangsport. Unter der Annahme, dass der TSPP 0 der
erste in der Round-Robin-Liste
von TSPPs ist, um angepasst zu werden, wird eine Anpassung für die Ports
0 und 2 angezeigt. Bei einer Punktzu-Punkt-("P2P"-)Kommunikation
wird nur ein passendes Port zum TSPP 0 gewährt, welches bei der Darstellung
das Port 0 ist. Der BA hat nun die Ports 1 und 2 im Vektor für ein freies Ausgangsport
für ein
Anpassen an den nächsten
anfragenden TSPP zurückgelassen.
Der TSPP 1 hat angefragte Ports 0–3. Die Ports 1 und 2 stimmen
mit der übriggelassenen
verfügbaren
Liste überein.
Das Port 2 wird gewährt,
und der neue Vektor für
ein übriggelassenes
freies Ausgangsport enthält
das Port 1. Der BA-Anpassungsprozess fährt fort, bis alle verfügbaren Ports
durch den BA gewährt
sind, oder bis keine nicht angepassten TSPP-Anfragen übrigbleiben.
-
Bei einem Ausführungsbeispiel, das eine Punkt-zu-Mehrfachpunkt-("P2M"-)Zellenübertragung
unterstützt,
werden Anpassungen an die P2M-Anfrage vor einem Suchen von Anpassungen an
P2P-Anfragen gesucht, da es schwieriger ist, alle angefragten Ports
von einem TSPP auf einmal anzupassen.
-
Zum Zulassen der Verwendung von zugeteilten
und gemeinsam genutzten (d. h. dynamischen) Betriebsmitteln am Ausgangsport
durch eine einzige Verbindung werden Übertragungen mit einer Kennung
versehen, um anzuzeigen, ob sie über
oder unter ihrer zugeteilten Zellenrate waren. Das Versehen mit
einer Kennung wird durch den BA durchgeführt. Wenn eine Zelle unter
Verwendung eines SAT-Schlitzes versendet wird, wird sie als geplant
mit einer Kennung versehen. Wenn die Zelle versendet wird, weil
sie eine Bandbreitenzuteilung gewann, wird sie als nicht geplant
mit einer Kennung versehen. Diese Information wird bei einer FSPP-Verarbeitung
verwendet, wie es nachfolgend beschrieben ist.
-
Ein Verkehr von unterschiedlichen
Prioritätsebenen
wird bei dem gegenwärtig
offenbarten Schalter durch die Zuordnung von Anfragen zu einer von vier
Prioritätsebenen
durch den Ursprungs-TSPP unterstützt.
Der BA trennt diese vier Ebenen in entweder eine "hohe" oder eine "niedrige" Priorität und versucht,
alle Anfragen hoher Priorität
anzupassen, vor einem Versuchen, alle Anfragen niedriger Priorität anzupassen.
-
Vor einem Empfangen einer Zelle durch
den Schalteraufbau empfängt
ein FSPP Steuerinformation, die anzeigt, ob die Zellenübertragung
eine geplante Bandbreite oder eine dynamische Bandbreite verwendet.
Die Steuerinformation zeigt weiterhin die Warteschlange(n) an, innerhalb
welcher die Zelle einzureihen ist. Diese Information lässt zu,
dass der FSPP bestimmt, ob er genügend Betriebsmittel, wie beispielsweise
einen Warteschlangenraum, einen Pufferraum, eine Bandbreite, etc.,
hat, um die Zelle zu empfangen.
-
Wenn der FSPP keine genügenden Betriebsmittel
hat, um eine Zelle zu empfangen, zeigt er dies durch Aktivieren
eines geeigneten Steuersignals an. Die Aktivierung dieses Signals
bedeutet, dass der FSPP die Zelle empfangen kann oder der FSPP nicht vorhanden
ist.
-
Wie es in 1 dargestellt ist, sind extern zum FSPP 16 vier
Speicher, nämlich
der Steuer-RAM 1 61, der Steuer-RAM 2 63,
der Zellenpuffer-RAM 19 und der QFC-RAM 67. Der
Steuer-RAM 1,
der Steuer-RAM 2 und der Zellenpuffer-RAM werden verwendet,
um Zellen in die und aus der Warteschlange zu bringen. Der Steuer-RAM 1 und
der Steuer-RAM 2 enthalten die Information, die zum Implementieren der
Warteschlangen, der dynamischen Listen und von bevorzugten Listen
(die nachfolgend diskutiert sind) zu implementieren, die zum Bereitstellen
der FSPP-Funktionen nötig
sind. Der Zellenpuffer-RAM ist dort, wo die aktuellen Zellen gepuffert
werden, während
sie auf ein Senden warten. Der QFC-RAM enthält primär einen Speicher für Flusssteuerinformation,
die vom TSPP empfangen wird, und auf ihn wird während der Erzeugung von Flusssteuerungs-Aktualisierungszellen
zugegriffen.
-
Der Zellenpuffer ist in Zellenpufferstellen
aufgeteilt, die jeweils eine einzige Zelle halten können. Auf
Zellenpufferstellen innerhalb des Zellenpuffers wird unter Verwendung
von Zellennummern gezeigt. Die Startadresse einer Zellenpufferstelle
wird aus der Zellennummer abgeleitet; jede Zellenpufferstelle hat eine
eindeutige Zellennummer, die zu dieser Zellenpufferstelle innerhalb
des Zellenpuffers zeigt.
-
Die Gesamtanzahl von Zellenpufferstellen
ist auf mehrere Zellenpufferpools verteilt, die jeweils zu einem
internen Zellenplanungsbetriebsmittel bestimmt sind. Jeder Pool
ist unter Verwendung von zwei internen Registern implementiert.
Das Zellenpufferpool-Zahlenregister enthält die gegenwärtige Anzahl
von Zellenpufferstellen, die für
diesen Pool im Einsatz sind. Das Zellenpufferpool-Grenzregister enthält die maximale
Anzahl von Zellenpufferstellen, die für diesen Pool zugelassen sind.
-
Zellennummern werden manipuliert,
um Zellenpufferstellen in Warteschlangen anzuordnen. Wenn eine Zellenpufferstelle
im Zellenpuffer mit einer Zelle beschrieben wird, wird dann die
Zellennummer, die auf diese Zellenpufferstelle zeigt, in einer Warteschlange
angeordnet. Zellen werden von den Warteschlangen in der Reihenfolge
gesendet, in welcher sie empfangen wurden; die erste empfangene
ist die erste gesendete. Eine logische Darstellung einer solchen
Warteschlange ist in 9 dargestellt.
Jede Warteschlange ist als verbundene Liste von Zellennummern implementiert;
jede Zelle in der Warteschlange zeigt auf die nächste Zelle in der Warteschlange
unter Verwendung ihrer Zellennummer als Zeiger, wie es zuvor beschrieben
ist. Jede Warteschlange hat eine getrennte Struktur, die als der
Warteschlangendeskriptor bekannt ist, welche in dem Steuer-RAM 2
zum Zeigen auf den Anfang und das Ende der Warteschlange gehalten
ist. Die verbundene Liste, die eine Warteschlange bildet, ist als
Gruppe von Zeigern im Steuer-RAM 1 implementiert, so dass jede Zellenpufferstelle
einen Eintrag hat. Die Zeiger werden unter Verwendung der Zellennummer indiziert,
wobei jeder Eintrag eine andere Zellennummer enthält. Somit
kann eine Zellennummer zu einer anderen Zellennummer zeigen. Der Warteschlangendeskriptor
enthält
auch eine Anzahl der Zellen in der Warteschlange.
-
Wenn einmal eine Zelle in einer Warteschlange
angeordnet ist, muss diese Warteschlange dann für ein Senden geplant werden.
Dies wird durch Anordnen der Warteschlangennummer von dieser Warteschlange
in einer Liste durchgeführt.
Es gibt unterschiedliche Typen und Prioritäten von Listen innerhalb des
FSPP. Listen sind verbundene Listen von Warteschlangennummern, gleich
den Zeitplanungslisten des TSPP. Jede Liste hat eine separate Struktur,
die als der Listendeskriptor bekannt ist, welche intern zum FSPP
ist, um auf den Anfang und das Ende der Liste zu zeigen.
-
Es gibt zwei Kategorien von Verkehr,
der für ein
Senden zu planen ist: einen zugeteilten Verkehr und einen dynamischen
Verkehr. Die Steuerinformation, die zu einer jeweiligen Zelle gehört, die
im FSPP empfangen wird, zeigt an, zu welchen dieser zwei Kategorien
die Zelle gehört.
-
Zwei Typen von Listen werden zum
Planen der zwei Typen von Verkehr verwendet: bevorzugte Listen und
dynamische Listen. Die Warteschlangennummern von Warteschlangen
mit zugeteiltem Verkehr werden in der bevorzugten Liste angeordnet. Die
Warteschlangennummern von Warteschlangen mit dynamischem Verkehr
werden in der dynamischen Liste angeordnet. Warteschlangen können in sowohl
der bevorzugten Liste als auch der dynamischen Liste gefunden werden,
da jede Warteschlange sowohl geplante als auch nicht geplante Zellen haben
kann, wie es in 10 gezeigt
ist. Hier ist der erste Eintrag in der bevorzugten Liste ein Zeiger
zur Warteschlange 7, bezeichnet mit Q7. Es ist zu beachten, dass
auf Q7 auch durch den zweiten Eintrag in der dargestellten dynamischen
Liste gezeigt wird. Die bevorzugte Liste wird vor der dynamischen
Liste bedient werden.
-
Wenn eine Warteschlange keine ihr
zugeordneten Zellen hat, ist sie offensichtlich weder in der bevorzugten
Liste noch in der dynamischen Liste. Wenn die Warteschlange eine
Zelle über
eine dynamische Bandbreite empfängt,
ist die Warteschlange in der dynamischen Liste angeordnet. Wenn
die Warteschlange eine zweite Zelle empfängt, aber dieses Mal über eine
zugeteilte Bandbreite, ist die Warteschlange ebenso in der bevorzugten
Liste angeordnet. Da ein Bedienen von bevorzugten Listen einem Bedienen
von dynamischen Listen voransteht, wird die in der Warteschlange
empfangene erste Zelle für ein
Senden aus dem Schalter über
die bevorzugte Liste ausgewählt,
und nicht über
die dynamische Liste. Die Warteschlange wird in der dynamischen
Liste bleiben, nachdem sie aus der bevorzugten Liste entfernt ist,
bis die übrige
Zelle für
ein Senden ausgewählt
ist. Daher wird selbst dann, wenn die Warteschlange zuerst in der
dynamischen Liste angeordnet war, und dann in der bevorzugten Liste,
die erste Zelle über
die bevorzugte Liste aus der Warteschlange entfernt. Dies ist nötig, um
eine richtige Zellenreihenfolge sicherzustellen und beizubehalten.
-
Der BA ist verantwortlich für ein Kennzeichnen
jeder Zelle als entweder versendet in einem zugeteilten SAT-Schlitz
oder als versendet in einem ungeplanten dynamischen Schlitz. Es
ist diese Information, die beim Zuordnen von Warteschlangen zu bevorzugten
und/oder dynamischen Listen verwendet wird.
-
Einige Warteschlangen haben einen
vermischten Dienstverkehr mit sowohl zugeteilten als auch dynamischen
Zellen. Dies ist ein Ergebnis eines Bereitstellens von integrierten
Diensten, wodurch eine bestimmte Verbindung Zellen zum Senden über die
jeweilige dynamische Bandbreitenschwelle hinausgehend haben kann
(siehe die obige Diskussion, die zur 7 gehört). Zellen
unter der Schwelle werden als zugeteilter Verkehr gesendet. Zellen über der Schwelle
können
als dynamischer Verkehr gesendet werden. Warteschlangennummern für den zugeteilten
Verkehr werden in der bevorzugten Liste angeordnet und Warteschlangennummern
für den
dynamischen Verkehr werden in der dynamischen Liste angeordnet.
Ungeachtet einer Reihenfolge eines Empfangs zwischen zugeteilten
und dynamischen Zellen werden Zellen von den Warteschlangennummern
in der bevorzugten Liste zuerst geplant und entfernt werden. Jedoch
werden die Zellen noch in der Reihenfolge aus dem FSPP gesendet,
da die Zellennummern in der Warteschlange in einer Reihenfolge bleiben
und Zellennummern immer vom Anfang der Warteschlange entfernt werden.
Daher wird selbst dann, wenn eine einzelne Zelle am Anfang einer
Ausgangswarteschlange im FSPP als eine nicht geplante empfangen
wurde, nämlich
als eine dynamische Zelle, sie zuerst gesendet werden, selbst wenn
die Warteschlange als nächste
in einer bevorzugten Liste identifiziert wird.
-
Wenn einmal eine Warteschlangennummer zu
einer Liste hinzugefügt
worden ist, und zwar entweder zu einer bevorzugten Liste oder einer
dynamischen Liste, bleibt sie in dieser Liste, bis die Warteschlange
keine Zellen vom geeigneten Typ mehr hat. Wenn eine Warteschlangennummer
sie zum Anfang der Liste macht, wird diese Warteschlange die nächste Warteschlange
innerhalb der Liste, von welcher eine Zelle gesendet wird. Wenn
die Zelle gesendet wird, wird die Warteschlangennummer vom Anfang der
Liste entfernt und wird die Zahl von entweder zugeteilten Zellen
für eine
bevorzugte Liste oder von dynamischen Zellen für eine dynamische Zelle innerhalb
des Warteschlangendeskriptors dekrementiert. Wenn der dekrementierte
Zähler
nicht Null ist, wird die Warteschlangennummer zum Ende der Liste
zurückgebracht.
Sonst wird sie von der Liste fallengelassen.
-
Durch Bedienen der Warteschlangennummer
vom Anfang der Liste und durch Zurückbringen von ihr zum Ende
der Liste empfangen die Warteschlangen innerhalb einer Liste eine
Round-Robin-Zeitplanung.
-
Gemäß 11 sind vier Prioritäten von bevorzugten Listen
für jede
Ausgangsverbindung zur Verfügung
gestellt, um Verzögerungsgrenzen
durch den Schalter für
eine Unterscheidung von unterschiedlichen Dienstebenen zur Verfügung zu
stellen. Jede Ausgangsverbindung wird unabhängig geplant, so dass es keine
Interaktion zwischen den bevorzugten Listen für unterschiedliche Verbindungen
gibt. Neu empfangene Zellen in einer Liste mit höherer Priorität werden
vor zuvor empfangenen Zellen in einer bevorzugten Liste niedrigerer
Priorität
gesendet.
-
Alle bevorzugten Listen mit zugeteiltem
Verkehr für
eine Verbindung werden mit einer Priorität über die dynamischen Listen
mit einem dynamischen Verkehr für
diese Verbindung geplant.
-
Es gibt drei Typen von dynamischen
Listen mit vier Prioritäten
für jeden
Typ: VBR, ABR, UBR, wie es in 10 gezeigt
ist. Jeder Typ von Liste ist permanent jeder Ausgangsverbindung
zugeordnet. Bei einem bevorzugten Ausführungsbeispiel des gegenwärtig offenbarten
Schalters sind die vier Prioritäten
für jede
der dynamischen Listen VBR und ABR weiterhin auf zwei Prioritätsebenen
aufgeteilt, die durch den BA zugeteilt sind: hoch (Bandbreite nicht erfüllt); und
niedrig (Bandbreite überschritten).
Diese zwei Ebenen ermöglichen,
dass die VBR-Dienstklasse einen vorausgewählten Prozentsatz an dynamischer
Bandbreite erreicht, bevor zugelassen wird, dass eine Dienstklasse
niedrigerer Priorität,
nämlich ABR,
die dynamische Bandbreite gemeinsam nutzt. Wenn ABR einmal ihren
vorausgewählten
Prozentsatz erreicht hat, wird die übrige dynamische Bandbreite
zwischen VBR, ABR und UBR gemeinsam genutzt.
-
Es existieren vier Prioritäten für VBR-Listen, nämlich VBRO-3. VBR hat eine niedrigere
Latenzzeit, kann aber einen Zellenverlust haben. Dynamischen VBR-Listen
wird eine minimale Bandbreite an einer Ausgangsverbindung garantiert.
-
Wenn die dynamischen VBR-Listen mit
einem Verkehr ihre garantierte Bandbreite einmal empfangen haben,
sendet die dynamische ABR-Liste, wenn ihre Bandbreite noch nicht
erreicht worden ist. Wenn die minimale Bandbreite für sowohl
VBR als auch ABR erfüllt
worden sind, dann wetteifern die dynamischen Listen UBR, VBR und
ABR auf eine Round-Robin-Weise
um die übrige
Bandbreite.
-
ABR stellt auch vier Prioritätsebenen
zur Verfügung.
Es ist diesbezüglich
unterschiedlich von VBR, dass es keinen Zellenverlust garantiert,
weil eine Flusssteuerung verwendet wird. Dynamischen ABR-Listen
wird auch eine minimale Bandbreite an einer Ausgangsverbindung garantiert.
Wie es oben angegeben ist, wetteifern dann, wenn einmal eine minimale
ABR-Bandbreite erfüllt
worden ist, UBR, VBR und ABR alle auf eine Round-Robin-Weise um
eine übrige
Bandbreite.
-
Die Struktur einer Liste von Listen,
die unter Bezugnahme auf die 5 und 7 eingeführt ist, ist auch auf die Verarbeitung
von Zellen beim FSPP anwendbar. Insbesondere ist noch einmal in
Bezug auf 10 jede "Zelle", die in einer der
bevorzugten und dynamischen Listen dargestellt ist, tatsächlich ein Paar
von Zeigern auf eine Warteschlange mit einer oder mehreren Zellen,
die vom jeweiligen Port mit der jeweiligen Priorität zu senden
ist oder sind. Jede Warteschlange wird nur einmal in eine bestimmte
Liste eingegeben. Wenn diese Warteschlange mehr als eine zu sendende
Zelle hat, wird die Warteschlange wieder in die Liste gelegt, aber
hinter alle anderen Warteschlangen, die bereits in der Liste sind.
Eine Round-Robin-Warteschlangenbedienung
wird somit ermöglicht.
Zusammenfassend zeigt jeder Listeneintrag auf eine verbundene Liste
von zu sendenden Zellen -es ist eine Liste von Listen. Zwischen
Warteschlangen gleicher Priorität
ist eine Fairness bzw. Gerechtigkeit zur Verfügung gestellt, eine Prioritätsgebung
zwischen Listen ist ermöglicht
und eine Zellenprioritätsgebung
wird beibehalten.
-
Auf diese Weise wird zugeteilter
Verkehr zuerst gesendet. Irgendeine übrige Bandbreite wird gemäß einem
Schema mit zugeteilter Priorität
gesendet. Somit können
mehrere Klassen von Dienst durch denselben Schalter zur Verfügung gestellt
werden, was ermöglicht,
dass ein Kunde für
das erwünschte Dienstausmaß zahlt
(in Bezug auf eine Bandbreite und eine Latenzzeit), während die
Ausnutzung der Schalterbandbreite maximiert wird.
-
Nachdem bevorzugte Ausführungsbeispiele der
Erfindung beschrieben sind, wird es Fachleuten auf dem Gebiet offensichtlich
werden, dass andere Ausführungsbeispiele,
die die Konzepte enthalten, verwendet werden können. Beispielsweise sind einfache
Variationen an den hierin spezifizierten Datenraten als innerhalb
des Schutzumfangs dieser Offenbarung liegend anzusehen.