-
Die
vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren
zur Verarbeitung von Bandbreiteanforderungen in einer ATM(asynchroner
Transfermodus)-Vermittlungseinrichtung.
-
Spezieller
bezieht sich die Erfindung auf das Problem der effizienten Zuweisung
von Ressourcen für den
Fall, dass ein gemultiplexter Strom von ATM-Zellen einzeln an unterschiedliche
physikalische Ports vermittelt werden soll.
-
ATM-Verkehr
stellt überwiegend
diskontinuierlichen Datenverkehr dar, obgleich auch Sprachverkehr enthalten
sein kann. Aufgrund seiner Beschaffenheit erfordert diskontinuierlicher
Verkehr zeitweise hohe Bandbreiten und zu anderen Zeitpunkten wenig
oder gar keine Bandbreite. Um die verfügbare Bandbreite effizient
zu nutzen, ist es notwendig, die Bandbreite unter Verwendung der
mittleren Bandbreiteanforderung aller Quellen und nicht der Spitzenbandbreite
zuzuordnen; wenn eine Zuweisung gemäß der mittleren Bandbreite genutzt
wird, ist es somit möglich,
dass die Spitzen-Gesamtbandbreite aller Quellen größer als
die verfügbare Leitungsbandbreite
ist.
-
Daten,
die für
einen bestimmten Ausgangsport bestimmt sind, treten von vielen unterschiedlichen
Eingangsports in die Vermittlungseinrichtung ein. Die momentane
Gesamtdatenrate in der Vermittlungseinrichtung kann größer sein,
als der Ausgangsport sicherstellen kann, sodass eine Zwischenspeicherung
und ein eventueller Datenverlust aufgrund eines Überfließens des Pufferspeichers auftreten
können.
Die Reduzierung der Wahrscheinlichkeit dafür auf ein betriebsmäßig akzeptables
Niveau führt
zu einer geringen Verwendung der Vermittlungseinrichtung, was inakzeptabel
ist. Ein Protokoll für
dynamische Bandbreitezuweisung (DBA), das in der gleichzeitig anhängigen Patentanmeldung
GB 9322744.5 beschrieben
ist, stellt ein Verfahren zur Zuweisung von Bandbreite zur Verfügung, bei
welchem Anforderungen betreffs Bandbreite an den geforderten Ausgangsport
gesendet werden und nur dann Daten gesendet werden, wenn die Bandbreite
durch eine Bestätigungsnachricht
zugewiesen worden ist.
-
Die
EP-A-0484597 (Hewlett Packard Co.) betrifft ein Multicast-Koppelnetz,
bei dem eine Blockierung gewünschter
Signalpfade behandelt wird, indem eine Zelle, die durch das Koppelnetz
gesendet werden soll, an einem Puffer an einem Eingangsport des
Koppelnetzes gespeichert wird und versucht wird, die Zelle erneut durch
das Koppelnetz zu senden, bis die Zelle erfolgreich gesendet worden
ist oder bis eine maximale Anzahl von erneuten Versuchen zum Senden
erreicht ist.
-
Del
Re, E. et al. "An
efficient high-speed packet switching with shared input buffers", Communication for
Global Users, Orlando, 6.–9.
Dezember 1992, Bd. 3, Nr. 6, S. 1472 – 1476, Institute of Electrical
and Electronics Engineers, betrifft ein Hochgeschwindigkeits-Paketkoppelnetz,
bei welchem jedes Paket, das an einem Eingang angekommen ist, in
einer von N möglichen
Warteschlangen gespeichert wird. Die Architektur erlaubt, dass der
gleiche Puffer von den N separaten Warteschlangen gemeinsam genutzt
wird, was eine bessere Leistungsfähigkeit im Vergleich zu dem
Ansatz mit Ausgangswarteschlangen bietet.
-
Badran,
H. F. et al. "Head
of line arbitration in ATM switches with input-output buffering
and backpressure control",
Countdown to the New Millennium, Phoenix, 2.–5. Dezember 1991, Bd. 1, Nr.
2, S. 347–351,
Institute of Electrical and Electronics Engineers, betrifft das
Leistungsverhalten von nicht-blockierenden Paketvermittlungseinrichtungen
mit Rückdrucksteuerung.
Es wird ein Rückdruckmechanismus
diskutiert, der die Eingangswarteschlangen unterdrückt, wenn
die Ausgangspuffer gefüllt
sind, welcher zur Verhinderung eines Zellenverlustes aufgrund eines Überfließens des
Ausgangspuffers führt.
-
Die
Behandlung von statistisch gemultiplexten, diskontinuierlichen Datendiensten
und die Behandlung von Multicast-Verkehr
sind möglicherweise
zwei der komplexesten Aufgaben, die in einer ATM-Vermittlungseinrichtung
auszuführen
sind. Die meisten Multicast-Lösungen
erfordern eine Beschleunigung des ATM-Vermittlungskerns, ein Kopiernetzwerk
oder üblicherweise
beides. Diese Verfahren sind ineffizient und eignen sich nicht für diskontinuierlichen
Verkehr.
-
Das
Protokoll für
dynamische Bandbreitezuweisung (DBA) wurde derart entworfen, dass
eine ATM-Vermittlungseinrichtung eingekapselt wird, um ein statistisches
Multiplexen von diskontinuierlichen Datendiensten bereitzustellen,
indem ein faires Verfahren der gemeinsamen Nutzung von Bandbreite
zwischen Zellen angeboten wird, die für unterschiedliche Ausgänge bestimmt
sind, und indem in einer Warteschlange Daten gespeichert werden,
die nicht sofort über
die Vermittlungseinrichtung übertragen
werden können.
-
Multicast-Verkehr
kann auch Komponenten des DBA-Protokolls nutzen, es muss aber ein
neuer Ansatz verwendet werden.
-
Ein
Ziel der vorliegenden Erfindung besteht darin, eine Vorrichtung
und ein Verfahren zur Verarbeitung von Band breiteanforderungen zur
Verfügung
zu stellen, welche das Problem von statistisch gemultiplextem Multicast-Verkehr
an einem Multiplexerpunkt lösen.
-
Gemäß der vorliegenden
Erfindung wird ein ATM-Kommunikationssystem zur Verfügung gestellt,
das eine ATM-Vermittlungseinrichtung umfasst, die eine Mehrzahl
von Eingangsports und eine Mehrzahl von Ausgangsports aufweist,
wobei jeder der Eingangsports von einem Eingangsport-Server gespeist
wird und jeder der Ausgangsports dazu vorgesehen ist, einen Ausgangsport-Server
zu speisen, wobei die Eingangsport-Server eine Mehrzahl von Pufferspeichern
aufweisen, und zwar einen für
jeden der Ausgangsports, zu welchen Ausgangsports Daten über die
Vermittlungseinrichtung übertragen
werden, dadurch gekennzeichnet, dass jeder Pufferspeicher in den
Eingangsport-Servern dazu vorgesehen ist, den Ausgangsport-Server, mit welchem er
kommuniziert, vor der Übertragung
von Daten abzufragen, um dadurch festzustellen, ob Datenabwicklungskapazität des Ausgangsport-Servers
verfügbar
ist, und dass das ATM-Kommunikationssystem Einrichtungen enthält, um zu
bewirken, dass Unicast-Verkehr und Multicast-Verkehr über die
Vermittlungseinrichtung in einem geeigneten Zeitschlitz übertragen
werden.
-
Die
Einrichtungen zum Bewirken, dass Unicast-Verkehr und Multicast-Verkehr
durch die Vermittlungseinrichtung hindurch übertragen wird, können Ausgangszeitschlitz-Steuereinrichtungen
sowie Terminierungseinrichtungen umfassen, die dazu vorgesehen sind,
einen Zeitschlitz für
die Übertragung
jeder Unicast-Verkehrszelle zuzuweisen, und um zu berechnen, wann
ein Zeitschlitz für
die Übertragung
einer Multicast-Verkehrszelle
verfügbar
ist.
-
Die
Ausgangszeitschlitz-Steuereinrichtungen umfassen eine Speicheranordnung,
um Informationen zu speichern, die den Zeitschlitz für die Übertragung
einer Multicast-Verkehrszelle angeben und den Zeitschlitz reservieren.
-
Das
Verfahren zur Verarbeitung von Bandbreiteanforderungen in einer
ATM-Vermittlungseinrichtung umfasst die folgenden Schritte:
- (a) Bestimmen, anhand der Kennung des virtuellen
Kanals jeder Multicast-Verkehrszelle; zu welchem von mehreren Ausgangsports
die Multicast-Zelle übertragen
werden soll; und
- (b) Inkrementieren eines Zählers,
der jedem Ausgangsport zugeordnet ist, für jede Multicast-Verkehrszelle, die
an diesen Ausgangsport gesendet werden soll; dadurch gekennzeichnet,
dass das Verfahren ferner die folgenden Schritte umfasst:
- (c) Zuweisen von ausreichend Bandbreite, um die Verkehrszellen über die
ATM-Vermittlungseinrichtung zu übertragen,
entsprechend dem Inhalt der Zähler;
- (d) Terminieren eines Zeitschlitzes für die Übertragung jeder Unicast-Verkehrszelle,
- (e) Berechnen, wann ein Zeitschlitz für die Übertragung einer Multicast-Verkehrszelle
verfügbar
ist,
- (f) Speichern der Kennung des Zeitschlitzes, der für eine Multicast-Verkehrszelle
zur Verfügung
steht, um diesen Zeitschlitz für
Multicast-Verkehr zu reservieren, und
- (g) Übertragen
der Unicast- und Multicast-Verkehrszellen über die Vermittlungseinrichtung
in ihren jeweiligen Zeitschlitzen.
-
Eine
Ausführungsform
der vorliegenden Erfindung soll nun unter Bezugnahme auf die begleitenden Zeichnungen
beschrieben werden, wobei
-
1 ein
schematisches Blockdiagramm einer Vermittlungseinrichtung ist, welcher
Eingangsport-Server und Ausgangsport-Server zugeordnet sind;
-
2 ein
Blockdiagramm ist, welches einen Bandbreitezuweisungsmechanismus
angibt;
-
3 ein
schematisches Blockdiagramm von Pufferspeichern ist, welche mehrere
Schwellenwerte enthalten;
-
4 ein
schematisches Blockdiagramm einer weiteren Ausführungsform eines Teils eines ATM-Kommunikationssystems
ist;
-
5 eine
Tabelle ist, welche die Zeitschlitzsteuerung am Ausgang zeigt;
-
6 eine
Zellentaktungssequenz zeigt;
-
7 eine
typische Multicast-Zelle zeigt, mit einer zugeordneten Multicast-Gruppe;
-
8 zeigt,
wie Multicast-Verkehr terminiert wird;
-
9 die
Symbole erklärt,
die in den Ablaufdiagrammen genutzt werden;
-
10 ein
Ablaufdiagramm ist, das den Zellenankunftsprozess zeigt;
-
11 ein
Ablaufdiagramm des Multicast-Terminierungsprozesses
in Bezug auf jeden Verkehrsformer ist;
-
12 ein
Ablaufdiagramm des Unicast-Terminierungsprozesses
in Bezug auf jeden Verkehrsformer ist; und
-
13 ein
Ablaufdiagramm des Zellensendeprozesses ist.
-
Die
nachfolgende Beschreibung bezieht sich auf Verkehrsformer, welche
detaillierter in der gleichzeitig anhängigen Patentanmeldung beschrieben
sind, die unter der Nummer
GB
2268372A veröffentlicht
ist.
-
Nehmen
wir nun Bezug auf 1, so umfasst ein ATM-Kommunikationssystem
eine Vermittlungseinrichtung 1, welche von Servern 2, 3 und 4 über Eingangsleitungen 5, 6 bzw. 7 gespeist
wird. Die Eingangsport-Server 2, 3 und 4 sind
dafür vorgesehen,
eine Mehrzahl von Ausgangsport-Servern zu speisen, von denen nur
einer gezeigt ist, der das Bezugszeichen 8 trägt. Man
wird erkennen, dass in der Praxis eine große Anzahl von Eingangsport-Servern
vorhanden sein kann, und ebenso wird eine sehr große Anzahl
von Ausgangsport-Servern
vorhanden sein, die über
die Vermittlungseinrichtung 1 in Kommunikation mit den
Eingangsport-Servern angeordnet sind. Bei der vorliegenden Anordnung
weist jeder Eingangsport-Server eine Mehrzahl von Pufferspeichern
A, B,... Z, auf (die im Nachfolgenden auch als Verkehrsformer-Warteschlangen
oder Verkehrsformer bezeichnet werden), und zwar eine für jeden
der Ausgangsport-Server wie etwa den Ausgangsport-Server 8.
Es wird also ersichtlich sein, dass Signale in den Eingangsport-Puffern
A der Eingangsport-Server 2, 3 und 4 über die
Vermittlungseinrichtung 1 zu dem Ausgangsport-Server 8 geleitet
werden. Analog werden Signale in den Puffern B der Eingangsport-Server 2, 3 und 4 zu
der Leitung 9 für
einen entsprechenden nicht gezeigten Ausgangsport-Server geleitet.
Man wird anhand dieser Anordnung also erkennen, dass, wenn die Server 2, 3 und 4 jeweils
Zugang zu dem Ausgangsport-Server A fordern, ein Überlastungszustand
auftreten kann, welcher bedeuten kann, dass Daten verloren gehen.
-
Um
diese Situation zu vermeiden, ist vorgesehen, dass, bevor Daten übertragen
werden, eine Anforderung gesendet wird, welche geeignet bestätigt werden
muss. Also wird in einem speziellen Fall, wenn Daten von dem Pufferspeicher
A in dem Eingangs-Server 2 zu dem Ausgangsport-Server 8 gesendet
werden sollen, eine Anforderung von dem Eingangsport-Server 2 zu
dem Ausgangsport-Server 8 gesendet, und wenn Datenkapazität verfügbar ist,
wird ein Bestätigungssignal
von dem Ausgangsport-Server 8 zu dem Eingangsport-Server 2 gesendet,
welches anzeigt, dass zwischen diesen Daten übermittelt werden können.
-
Wie
schematisch in 1 gezeigt ist, kann eine Gesamt-Ausgangsportbandbreite
verfügbar
sein, wie sie durch den Pfeil 10 angegeben ist, welche
einen isochronen Speicherteil 11 umfasst, und zwar für wesentliche
Daten, die ohne ungebührliche
Verzögerung übertragen
werden müssen,
einen Steuerdaten-Speicherteil 12 für Steuerdaten sowie einen weiteren
Speicherteil 13 für
diskontinuierliche Daten. Somit wird, vorausgesetzt, es ist Platz
in dem Ausgangsport-Server 8 in einem entsprechenden der
Speicherteile 11, 12 oder 13 verfügbar, eine
positive Bestätigung über die
Vermittlungseinrichtung 1 gesendet, welche zu einer nachfolgenden
Datenübertragung
führen
wird.
-
Der
Mechanismus zur Behandlung einer Bandbreiteanforderung ist in 2 gezeigt,
und aus dieser ergibt sich, dass bei Empfang einer Bandbreiteanforderung
auf einer Leitung 14 in einem Komparator 15 ein Vergleich
mit der verfügbaren
Bandbreite, wie sie in einer Bandbreitezuweisungstabelle 16 gespeichert
ist, vorgenommen wird. Wenn ausreichend Bandbreite verfügbar ist,
wird über
eine Leitung 17 ein Signal gesendet, um auf einer von einem
Bandbreitezuweiser 19 ausgehenden Leitung 18 eine
positive Bestätigung
bereitzustellen, wobei dieser außerdem ein Rückführsignal über eine
Leitung 20 bereitstellt, um die Bandbreitezuweisungstabelle 16 zu
aktualisieren. Wenn nicht ausreichend Bandbreite verfügbar ist,
um der Anforderung auf der Leitung 14 zu entsprechen, wird
ein Signal über
eine Leitung 21 gesendet, welches die Anforderung zurückweist,
und über
die Leitung 18 wird ein negatives Bestätigungssignal bereitgestellt.
-
Der
Betrag der angeforderten Bandbreite kann in Abhängigkeit von der vorweggenommenen
mittleren Rahmengröße bestimmt
werden. Jeder Rahmen umfasst normalerweise eine Anzahl von Zellen,
wobei in jeder Zelle eine vorgegebene Datenmenge enthalten ist.
Bei einer Anordnung enthält
die letzte Zelle jedes Rahmens eine Markierung "Ende des Rahmens", und folglich wird bei Übertragung
der nächstfolgenden
Zelle nach einer Markierung "Ende
des Rahmens" eine
Bandbreiteanforderung entsprechend der mittleren Rahmenbandbreite gestellt.
-
In
einer alternativen Ausführungsform,
wie sie in 3 gezeigt ist, weist jeder Puffer,
wie etwa die Puffer 22 und 23 eines Eingangsport-Servers,
der dazu vorgesehen ist, mit einem Eingangsport 24 zu kommunizieren,
drei Schwellenwerte T1, T2 und T3 auf. Wenn das System in Betrieb
ist, ist es derart vorgesehen, dass eine Bandbreiteanforderung gesendet
wird, wenn ein jeweiliger Schwellenwert erreicht wird; wie man aber
erkennen wird, wird die angeforderte Bandbreite durch die Menge
der zu übertragenden
Daten bestimmt und somit wird nicht unnötigerweise Bandbreite reserviert.
-
Bei
Anordnungen, wie sie gerade beschrieben worden sind, wird ein dynamisches
Bandbreitezuweisungsprotokoll zwischen einem Eingangsport-Server
und einem anderem Server an einem gewünschten Ausgangsport der Vermittlungseinrichtung
arbeiten. Der Server an dem Ausgangsport unterhält tatsächlich eine Tabelle, welche
Daten enthält,
die sich auf die augenblicklich für diesen Ausgang reservierte
Bandbreite beziehen. Wenn ein Eingangsport-Server einen Datenblock
senden will, sendet er somit zuerst eine Reservierung über das
Koppelnetz zu dem Ausgangsport-Server. Die Reservierungszelle enthält die angeforderte Bandbreite.
Wenn der Ausgangsport-Server die angeforderte Bandbreite akzeptieren
kann, wird eine positive Bestätigungszelle
zurück
zu dem anfordernden Eingangsport-Server gesendet. Nun kann der Datenblock
von dem Eingangsport zu dem Ausgangsport gesendet werden. Nach Abschluss
der Datenblockübertragung
wird die Bandbreite mit Hilfe eines expliziten Auslösesignals
freigegeben. Das System, wie es gerade beschrieben worden ist, umfasst
tatsächlich
ein dynamisches Reservierungsprotokoll, an welchem nur ein Multiplexerpunkt beteiligt
ist. Somit kann, gekoppelt mit der Datendiensttoleranz mit Verzögerungen
von einigen zehn Millisekunden und der Tatsache, dass Anforderungen
in Warteschlangen eingereiht werden könnten, wenn eine Blockierung
auftritt, anstatt dass sie zurückgesendet
werden, eine sehr große
Datenblock-Blockierungswahrscheinlichkeit
(BPP) von sagen wir 0,9 oder höher
genutzt werden, und dies würde
auch die Leistungsfähigkeit für einen
hochgradig diskontinuierlichen Datendienst mit hoher Spitzenbitrate
erhöhen.
-
Nehmen
wir nun auf 4 Bezug, so umfasst der betrachtete
Teil des ATM-Systems ein ATM-Koppelnetz 25, welches in
Kommunikation mit einem Eingangsport 26 und einem Ausgangsport 27 angeordnet
ist. Man wird natürlich
erkennen, dass es, obgleich nur ein Eingangsport und ein Ausgangsport
gezeigt sind, mehrere Eingangsports und mehrere Ausgangsports geben
wird. In den Eingangsport 26 werden Daten von einer Reihe
unterschiedlicher Quellen eingespeist, welche derart vorgesehen
sind, dass sie die Speicher 28, 29 und 30 speisen,
einen für
jede Quelle. Obgleich in der Zeichnung nur drei Speicher 28, 29 und 30 gezeigt
sind, wird man erkennen, dass viel mehr Quellen vorgesehen sein
können,
um mit dem Port 26 zu kommunizieren, und zwar jeweils über einen
separaten Speicher. Die in die Speicher 28, 29 und 30 eingespeisten
Daten werden offensichtlich in Form von ATM-Zellen übertragen,
welche Steuersignale als auch Daten enthalten können. Man wird erkennen, dass,
da es auf der Kommunikations verbindung zwischen dem Eingangsport 26 und
dem Ausgangsport 27 über
das Koppelnetz 25 ein Maximum für die verfügbare Bandbreite gibt, der
Fall eintreten kann, dass, wenn eine große Anzahl von Speichern, wie
etwa die Speicher 28, 29 und 30, Zugang
anfordern, die verfügbare
Bandbreite überschritten
werden kann. Dementsprechend ist eine Eingangsport-Quellenzuordnungseinheit 31 vorgesehen,
welche die momentane Nutzung der verfügbaren Bandbreite durch die
den Quellen zugehörigen
Speicher 28, 29 und 30 überprüft und Bandbreiteanforderungen
bewertet, welche von dem Speicher empfangen werden, wie schematisch
durch einen Pfeil 32 dargestellt ist. Die empfangenen Anforderungen
können
entsprechend der verfügbaren
Bandbreite modifiziert werden, und somit kann eine Anforderung von
dem Speicher 28 nach einer vorgegebenen Bandbreite in der
Eingangsressourcen-Zuweisungseinheit 31 modifiziert werden,
und die modifizierte Anforderung wird über eine Leitung 33 an
den Eingangsport 26 weitergeleitet, zur Weitersendung über das
Koppelnetz 25 auf einer Leitung 34, welche schematisch
die Route darstellt. Die Route durch die Vermittlungseinrichtung
wird durch Bandbreiteanforderungen und Daten belegt sein. Bandbreiteanforderungen
werden über
die Leitung 34 zu einer Warteschlangenspeicheranordnung 35 geführt, wogegen
Daten die Warteschlangenanordnung umgehen werden und durch das System
hindurch sowie auf einer Leitung 36 aus dem Ausgangsport 27 heraus
geführt
werden. Die an dem Ausgangsport 27 verfügbare Bandbreite wird von einer
Ausgangsport-Ressourcenzuweisungseinheit 27 bewertet, welche
die momentan durch den Ausgangsport genutzte Bandbreite über eine
Leitung 38 überwacht
und über
eine Leitung 39 Bestätigungssignale
bereitstellt, welche über
das Koppelnetz 25 und eine Leitung 40 zu der eine
Anfrage stellenden Quelle zurück
gesendet werden. Wenn also in dem vorliegenden Beispiel der Speicher 28 über die Leitung 32 eine
Anforderung stellt, kann die Eingangsport-Ressourcenzuweisungseinheit
diese Anforderung modifizieren, welche über das Koppelnetz über die
Leitung 34 weitergeleitet wird und in dem Speicher 35 eingereiht
wird. Die Anforderung erhält
schließlich
Beachtung durch die Ausgangsport-Ressourcenzuweisungseinheit 37,
welche dazu dient, ein geeignetes Bestätigungssignal über die
Leitungen 39 und 40 bereitzustellen, welches dazu
dient, die Daten aus dem Speicher 4 mit einer gemäß der verfügbaren Bandbreite
bestimmten Rate freizugeben.
-
Man
wird erkennen, dass durch eine Anordnung, bei der die Bandbreiteanforderungen
wie zuvor beschrieben in eine Warteschlange eingereiht werden, ein
effizienteres System mit einer geringeren Wahrscheinlichkeit für Verzögerungen
bereitgestellt wird.
-
Die
vorstehend beschriebenen Hardwareausführungen können für die Abwicklung von Multicast-Verkehr
angepasst werden.
-
Nehmen
wir Bezug auf 5, so sind in diesem Beispiel
fünf Verkehrsformer-Warteschlangen
A bis E gezeigt. Bei A bis D derselben sind Unicast-Zellen eingereiht,
und Raten zum Übertragen
dieser sind angegeben. Dies ist in dem Kasten Ausgangszeitschlitzsteuerung
unter der Spalte Ltx gezeigt. Die Raten sind als Bruchteil der verfügbaren Gesamtrate
(welche 1 ist) angegeben. Ein Beispiel für die Zellentaktungssequenz für diese
Raten ist in 6 gezeigt.
-
Eine
Multicast-Versendeliste umfasst eine Liste benötigter Ausgänge für jede Multicast-Zelle für die ersten
k Multicast-Zellen.
-
Von
der Multicast-Versendeliste für
Zellen befindet sich genau eine Zelle momentan in der Warteschlange,
und sie benötigt
eine Zellenbandbreite von den Verkehrsformern B, C und D und ist
in 7 gezeigt.
-
8 zeigt
eine Darstellung der Terminierung von Zellen-Sendegelegenheiten für sowohl das Ablaufprogramm
als auch die Tabellenwerte Ntx, die aus den in 5 angegebenen
Raten abgeleitet sind.
-
Nehmen
wir die Zellentaktungssequenz in
6 und wenden
sie auf das Terminierungsdiagramm in
8 an, so
ist das Verfahren zur Behandlung eines Multicast folgendermaßen zu ersehen:
Zeitschlitz | Prozess |
| |
1 | Unicast-Zelle
von Verkehrsformer A gesendet, plane |
| Unicast-Zelle
von Verkehrsformer A im |
| Ablaufprogramm
bei Zeitschlitz 9 ein |
2 | Unicast-Zelle
von Verkehrsformer B gesendet, nutze |
| nächste Zellengelegenheit
für Multicast-Zelle, |
| berechne
nächste
Zellentaktungsgelegenheit und |
| speichere
diese in der Tabelle unter Ntx(B) als |
| Zeitschlitz
10 |
3 | Unicast-Zelle
von Verkehrsformer C gesendet, nutze |
| nächste Zellengelegenheit
für Multicast-Zelle, |
| berechne
nächste
Zellentaktungsgelegenheit und |
| speichere
diese in der Tabelle unter Ntx(C) als |
| Zeitschlitz
7 |
4 | Unicast-Zelle
von Verkehrsformer D gesendet, nutze |
| nächste Zellengelegenheit
für Multicast-Zelle, |
| berechne
nächste
Zellentaktungsgelegenheit und |
| speichere
diese in der Tabelle unter Ntx(D) als |
| Zeitschlitz
14, terminiere Multicast-Zelle für |
| Übertragung
bei Zellenschlitz 14 |
5 | |
6 | |
7 | Echtzeit
= Ntx(C)-Zeit, plane Unicast-Zelle in |
| Ablaufprogramm
bei Zellenschlitz 11 ein |
8 | |
9 | Unicast-Zelle
von Verkehrsformer A gesendet, plane |
| Unicast-Zelle
von Verkehrsformer A im |
| Ablaufprogramm
bei Zeitschlitz 17 ein |
10 | Echtzeit
= Ntx(B)-Zeit, plane Unicast-Zelle im |
| Ablaufprogramm
bei Zellenschlitz 18 ein |
11 | Unicast-Zelle
von Verkehrsformer C gesendet, plane |
| Unicast-Zelle
von Verkehrsformer C im |
| Ablaufprogramm
bei Zeitschlitz 15 ein |
12 | |
13 | |
14 | Übertrage
Multicast-Zelle, Echtzeit = Ntx(D) – Zeit, |
| plane
Unicast-Zelle im Ablaufprogramm bei |
| Zellenschlitz
24 ein. |
-
Aus
dieser erklärenden
Tabelle ist zu ersehen, dass Unicast-Verkehr unter Nutzung des Ablaufprogrammterminierers
ohne jede Änderung
gegenüber
der früheren
Realisierung des Terminierers eingeplant wird. Das Senden einer
Unicast-Zelle hat die Terminierung des nächsten Ablaufprogrammereignisses
für den Verkehrsformer
zum Ergebnis, eine Multicast-Zelle jedoch wird unter Verwendung
des Ablaufprogramms terminiert und gesendet, aber ohne dass bewirkt
wird, dass irgendeine weitere Terminierung erfolgt.
-
Eine
neue Struktur, die zu der bestehenden Ausgangszeitschlitzsteuerung
hinzukommt, mit der Bezeichnung Ntx, wird anstelle des Ablaufprogramms
genutzt, um die nächste
Zellensendegelegenheit für
den Verkehrsformer zu terminieren, wenn die Bandbreite der vorhergehenden
Zelle als Multicast-Zellen-Bandbreite genutzt
worden ist.
-
Die
Terminierung einer Zellen-Sendegelegenheit für einen Verkehrsformer kann
entweder anhand des Ablaufprogramms oder anhand der Tabelle erfolgen,
und zwar in Abhängigkeit
davon, ob die vorhergehende Verkehrsformer-Bandbreite für eine Unicast-
oder eine Multicast-Zelle genutzt worden ist; ferner schließen sich die
beiden Zeitplanungssysteme gegenseitig aus, wenn die nächste Zelle
unter Nutzung eines der beiden Verfahren terminiert wird, kann diese
per Implikation nicht durch das andere Verfahren terminiert werden.
-
Die
verständlichste
Art, das Multicast-Protokoll zu beschreiben, besteht anhand der
nachstehenden Ablaufdiagramme. In den verwendeten Ablaufdiagrammen
werden die in 9 gezeigten Symbole genutzt.
-
Der
Ankunftsprozess für
Zellen ist in 10 gezeigt. Bei Schritt 1 kommt
eine Zelle an der Netzwerkseite der Vermittlungseinrichtung an.
In Schritt 2 wird entschieden, ob die Zelle eine Multicast-Zelle
ist oder nicht. Falls nicht, wird die Zelle in Schritt 3 als
eine Unicast-Zelle verarbeitet und wird in Unicast-Puffer eingereiht.
Wenn festgestellt wird, dass die Zelle eine Multicast-Zelle ist,
dann wird diese in Schritt 4 in einer einzigen separaten
Multicast-Warteschlange für
den gesamten Multicast-Verkehr, der an der Vermittlungseinrichtung
ankommt, gespeichert. In Schritt 5 wird anhand der virtuellen
Kanalkennung (VCI) die Multicast-Gruppe ermittelt. Nach Schritt 5 erfolgt
die weitere Verarbeitung in paralleler Weise, sodass in Schritt 6 festgestellt wird,
ob die Zelle zu dem Ausgang 1, 2 oder n geht,
und wenn dies erledigt ist, wird dann Schritt 7 ausgeführt, um
den relevanten Multicast-Zähler
des Verkehrsformers um eins zu inkrementieren. Wenn die Zelle zu
keinem der jeweiligen Ausgänge
geht, wird sie zu dem Eingabe-/Ausgabeprozess
in Schritt 1 zurückgeführt.
-
Zu
diesem Zeitpunkt sind Multicast-Zellen empfangen und gespeichert,
und anhand der Informationen in den Verkehrsformer-Zählern kann
die erforderliche Bandbreite angefordert werden. Dies kann erreicht
werden, indem die Anzahl von Unicast-Zellen in der Warteschlange
mit dem Wert des Zählers
addiert wird. Der Wert liefert die Gesamtbandbreiten, die erforderlich
sind, um den Vermittlungskern zu durchqueren.
-
Nehmen
wir Bezug auf 11, so zeigt diese ein Ablaufdiagramm,
welches für
jeden Verkehrsformer implementiert ist. Die drei Vorgänge, welche
eine Zellen-Sendegelegenheit bewirken können, sind folgende: Eine Unicast-Zelle,
die zuvor von dem Verkehrsformer terminiert worden ist, geht von
dem Ablaufprogramm ab, was bewirkt, dass ein Terminierungsereignis
erfolgt.
-
Eine
Zelle kommt in einer Unicast-Warteschlange an, wenn der Verkehrsformer
leer ist, aber mit einer Rate, die zwischen dem Verkehrsformer und
dem Ausgangsport reserviert ist, und wenn keine Multicast-Zelle in
der Multicast-Versendeliste diese erfordert.
-
Eine
Multicast-Zelle hat zuvor die Bandbreitegelegenheit angefordert
und die nächste
Sendegelegenheit kann nun terminiert werden (dies ist durch die
Entscheidung "Echtzeit
= Ntx-Zeit?" in
Schritt 19 der 11 gezeigt).
-
Nehmen
wir Bezug auf 11, so betrifft der Schritt 10 die
Terminierung aus dem leeren Zustand heraus. In Schritt 11 werden
die Zellen empfangen und in Schritt 12 werden die Zellen
gegenüber
der Weitersendeliste für
die Multicast-Zellen
geprüft,
um festzustellen, ob die Sendegelegenheit benötigt wird. Die Schritte 13, 14 stellen
fest, ob die erste bis k-te Multicast-Zelle einen Ausgang benötigt, und
falls nicht, wird dem Ablaufdiagramm aus 12 gefolgt
und dieses wird später
detaillierter in Bezug auf die Verarbeitung einer Unicast-Zelle
beschrieben. Falls während
der Schritte 13 bis 14 eine Multicast-Zelle einen
Ausgang benötigt,
finden danach drei parallele Vorgänge statt, wie in den Schritten 15, 16 und 17 gezeigt
ist. In Schritt 15 wird an der eingereihten Multicast-Zelle
markiert, dass Ausgangsplatz reserviert ist. In Schritt 17 wird
der Zähler
des Ausgangs x um eins herabgesetzt, und Schritt 16, 18 und 19 bewirken,
dass der Wert Ntx mit der Echtzeit verglichen wird, bis diese gleich
sind, zu welchem Zeitpunkt eine neue Sendegelegenheit für die Quelle
verfügbar ist.
Während
der Zeit, in welcher sich der Verkehrsformer in diesem Wartezustand
befindet, kann keine Zelle im Ablaufprogramm vom Verkehrsformer
terminiert werden, und wenn die Verkehrsformer-Warteschlange leer ist,
kann eine Zellenankunft keine Terminierungsgelegenheit bewirken.
-
Nehmen
wir Bezug auf 12, so zeigt diese Figur, dass
von der Stufe für
Multicast-Zellen aus, falls keine Multicast-Zelle die Bandbreite benötigt, die
Unicast-Zelle in dem Ablaufprogramm terminiert werden kann oder
alternativ die Verkehrsformer-Warteschlange leer werden kann. Wenn
eine Unicast-Zelle zur Ausgabe verfügbar ist, werden die Schritte 20, 22 und 23 ausgeführt.
-
Sobald
Bandbreite reserviert worden ist, müssen die Zellen auf Basis der
Eingangsrate der Vermittlungseinrichtung, der zwischen dem an einem
Eingang vorgesehenen Verkehrsformer und dem Ausgang bereitgestellten
Bandbreite sowie dem letzten Zeitpunkt, zu welchem eine Zelle gesendet
worden ist, für
die Übertragung
terminiert werden.
-
Es
wird ein Ablaufprogramm genutzt, in welchem die nächste verfügbare Sendegelegenheit
für jede Verkehrsformer-Warteschlange eingetragen
ist. Für
Verkehrsformer-Warteschlangen
mit einer festgelegten Rate, aber ohne Zellen in der Warteschlage,
kann der Verkehrsformer keine Zellenübertragungsereignisse terminieren,
und so bleibt die Warteschlange leer. Jede Zelle wird bei Ankunft
unmittelbar terminiert, wenn sich die Warteschlange in diesem Zustand
befindet, auch eine Multicast-Zelle kann die freie Bandbreite nutzten.
-
Wenn
eine Warteschlange leer ist, Schritt 21, gibt es eine Zeitspanne,
die als Auslöseverzögerung bezeichnet
wird, Schritt 24, welche einen Wartezustand darstellt.
Während
dieses Wartezustands kann eine Zelle in der Unicast-Warteschlange ankommen
und kann entsprechend wie in 11 gezeigt
behandelt werden. Wenn jedoch keine Zelle ankommt, hat der Multicast-Verkehr
eine Auswirkung auf das Ergebnis der gespeicherten Schwellenwerte.
Wenn der Wert des Multicast-Zählers
größer als
Null ist, Schritt 25, so ist die erfolgende Auslösung eine
partielle Auslösung.
Die Bandbreite wird bis auf diejenige, die für den Multicast-Verkehr erforderlich
ist, ausgelöst.
Sobald dies erfolgt ist, werden die Schwellenwerte als "multicast-gesteuert" bezeichnet. Während dieses
multicast-gesteuerten Zustands können
die Werte des Multicast-Zählers
ansteigen oder abfallen, und es können Unicast-Zellen in der
Unicast-Warteschlange ankommen.
-
Solange
kein Schwellenwert in der Aufwärtsrichtung überschritten
wird, kann sich die Unicast-Warteschlange füllen und leeren, ohne dass
bewirkt wird, dass ein weiteres Auslöseereignis erfolgt. Wenn jedoch ein
Schwellenwert in der Aufwärtsrichtung überschritten
wird, dann gilt:
Falls dies nur durch Multicast-Verkehr bewirkt
wird, kann eine neue Rate angefordert werden, die Schwellenwerte
werden aber multicast-gesteuert bleiben, Schritt 26.
-
Falls
Zellen in der Unicast-Warteschlange vorhanden sind, wenn der Schwellenwert überschritten wird,
kann die Rate angefordert werden, die Schwellenwerte werden aber
auf Unicast-Steuerung zurückgesetzt;
daher wird, wenn sich die Unicast-Warteschlange leert, erneut eine
Bandbreite-Auslösung
erfolgen, Schritt 27.
-
Der
Grund dafür
besteht darin, dass, wenn sich ein Multicast-Puffer leert, möglicherweise eine sehr hohe
Bandbreite für
einen Verkehrsformer mit nur einem kleinen Multicast-Zählerwert aufrechterhalten wird, der
sich aus Multicast-Zellen
zusammensetzt, die an einer Leitungskopf-Blockade kranken, welche
möglicherweise
durch die von dem Verkehrsformer aufrechterhaltene hohe Bandbreite
bewirkt wird. Durch partielles Auslösen der Bandbreite kann die "Reserve"-Bandbreite anderswo
genutzt werden, für
den Multicast-Verkehr wird jedoch immer noch eine ausreichende Bandbreite
aufrechterhalten.
-
Dies
kann anhand eines Beispiels folgendermaßen erklärt werden:
Es sei angenommen,
dass ein Verkehrsformer einen großen Unicast-Datenblock empfängt und
die vollständige
Vermittlungsrate anfordert und erhält und zusätzlich einen Bestandteil an
Multicast-Verkehr aufweist, der in dem Multicast-Zähler aufgezeichnet
ist. Wenn sich in dieser Situation die Multicast-Zellen in der Multicast-Warteschlange
befinden, aber nicht in der Versendeliste für Multicast-Zellen, dann wird der Unicast-Verkehr
mit der vollen Verbindungsrate abgesendet. Wenn sich die Verkehrsformer-Warteschlange geleert
hat, würde
die Rate immer noch auf der vollen Verbindungsrate gehalten werden,
weil der zugehörige
Multicast-Zählerwert
nicht Null ist. Dies wird eine Blockade für Anforderungen von Bandbreite
für andere
Verkehrsformer bewirken, und diese muss somit ausgelöst werden.
Die Rate sollte jedoch nur bis auf den für den Multicast-Verkehr erforderlichen
Schwellenwert ausgelöst
werden, was als "partielle
Auslösung" bezeichnet wird.
Dadurch wird dann Bandbreite freigegeben, die von anderen Verkehrsformern
genutzt werden kann.
-
Dies
ist jedoch nicht die vollständige
Antwort. Die Schwellenwerte und Raten für die Verkehrsformer werden
derart berechnet, dass eine "flache" Reaktion von jedem
Schwellenwertpunkt aus bereitgestellt wird. Wenn die Situation von
dort aus betrachtet wird, wo sich die Verkehrsformer-Warteschlange
geleert hat und eine partielle Auslösung erfolgt ist, können einige
der Multicast-Zellen gesendet werden und dann kann ein kleiner Datenblock
von Unicast-Zellen ankommen. Wenn sich der Unicast-Verkehr aus der
Verkehrsformer-Warteschlange vor dem gesamten Multicast-Verkehr leert, kann
es passieren, dass eine weitere partielle Auslösung erfolgt. Es kann passieren,
dass der Schwellenwert und daher die Rate für die gleichen Multicast-Zellen
niedriger als zuvor ist. Dies wird eine größere Verzögerung für die Multicast-Zellen bewirken,
da sich effektiv mit sich reduzierender Anzahl von Multicast-Zellen
auch der Schwellenwert und die dazugehörige Rate reduzieren. Dies
darf nicht zugelassen werden, da die Rate, mit welcher Multicast- Verkehr die Vermittlungseinrichtung
verlässt,
immer geringer werden würde.
Daher müssen
die Schwellenwerte und Raten für
die Verkehrsformer zwei Steuerungen haben, entweder die Unicast-Steuerung
oder die Multicast-Steuerung.
-
Die
Verkehrsformer werden normalerweise unicast-gesteuert sein, unter
der Bedingung jedoch, dass die Verkehrsformer-Warteschlange leer ist, aber der Multicast-Zähler ungleich
Null ist und eine partielle Auslösung
erfolgt ist, wird der Verkehrsformer multicast-gesteuert werden.
In diesem Modus wird, falls Unicast-Zellen ankommen und sich die
Verkehrsformer-Warteschlange vor dem Multicast-Verkehr leert, keine
Auslösung irgendeiner
Art gesendet, bevor nicht ein Schwellenwert überschritten wird. Dies ist
in 12 erklärt.
-
Damit
Multicast-Zellen gesendet werden, müssen zunächst Verkehrsformer-Sendegelegenheiten
für alle
erforderlichen Ausgangsvermittlungseinrichtungen für eine bestimmte
Multicast-Zelle reserviert werden. Es wird eine Liste der benötigten Ausgänge für jede Multicast-Zelle
für die
ersten k Multicast-Zellen aufrechterhalten, welche als Multicast-Versendeliste bezeichnet
wird. Diese Liste hat eine feste Länge, wobei Zellen aus der Multicast-Warteschlange
in die Multicast-Versendeliste befördert werden, wenn eine Multicast-Zelle gesendet
wird. Eine Zellen-Sendegelegenheit für einen Verkehrsformer wird
zuerst für
den Multicast-Verkehr angeboten;
wenn keine der Multicast-Zellen in der Multicast-Versendeliste diese
benötigt,
kann die Zellen-Sendegelegenheit
genutzt werden, um eine Unicast-Zelle zu terminieren. Dieses Verfahren
gibt dem Multicast-Verkehr Priorität.
-
Wenn
die Zellen-Sendegelegenheit von einer Multicast-Zelle benötigt wird,
dann muss die Bandbreiteanforderung für diesen Ausgang, sobald dieser
entsprochen ist, markiert werden, um zu zeigen, dass die Bandbreite
zugeteilt worden ist. Die Zellen-Sendegelegenheit muss noch terminiert
werden (unter Nutzung von Ntx für
Multicast-Zellen, wie zuvor erklärt),
um eine Bereitmeldung für
die nächste
Terminierungsgelegenheit von dem Verkehrsformer bereitzustellen.
Sobald alle Zellengelegenheiten für eine Multicast-Zelle abgedeckt sind,
kann die Zelle im Ablaufprogramm zur Übertragung terminiert werden.
Dieser Prozess ist nachstehend in 13 gezeigt.
-
In 13 wird
in den Schritten 30 – 32
festgestellt, für
welche der Multicast-Zellen die Bandbreite vollständig markiert
ist. Sobald für
eine Zelle vollständig
die Bandbreite markiert ist, wird die Multicast-Zelle für die Übertragung
terminiert, Schritt 33, und in Schritt 34 wird
die Zelle aus der Multicast-Liste befördert.
-
Das
Terminierungsablaufprogramm wird entweder Unicast- oder Multicast-Zellen
enthalten. Die Zellen, die einem speziellen Ablaufprogramm-Schlitz
zugeordnet sind, werden von dem Ablaufprogramm zu einem Ausgangs-FIFO übertragen.
Von dort aus werden sie jeweils einzeln in einem jeweiligen Zellenschlitz
gesendet. Der Ausgangs-FIFO kann mehrere Zellen von einem Ablaufprogramm-Schlitz
erhalten; jede Zelle erfordert einen einzelnen Zellenschlitz zur Übertragung
derselben. Dies kann eine Verzögerung
zwischen der durch das Ablaufprogramm terminierten Zeit zum Senden
einer Zelle und der Echtzeit der Zellenübertragung bewirken. Dieser
Vorgang wird durch einige Ablaufprogramm-Schlitze, die leer sind,
kompensiert. Es werden Unicast-Zellen gesendet, und gleichzeitig
wird eine Zelle aus dem entsprechenden Verkehrsformer terminiert, um
diese in dem Ablaufprogramm zu ersetzen. Da Multicast-Zellen unter
Verwendung eines anderen Schemas terminiert werden, bewirkt das
Senden einer Multicast-Zelle keine Terminierungsgelegenheit.
-
Fachleute
auf dem Gebiet werden erkennen, dass alternative Möglichkeiten
der Realisierung der vorliegenden Erfindung möglich sind, ohne von dem Schutzumfang
der Erfindung abzuweichen.