-
Die
vorliegende Erfindung betrifft die Mehrfachübertragung von Zellen in einem
ATM-Netzwerk. Insbesondere
betrifft die vorliegende Erfindung die Mehrfachübertragung von Zellen in einem
ATM-Netzwerk von einem geteilten Speicher aus, welche in Form einer
verbundenen Liste vorliegen.
-
Der
ATM (asynchroner Übertragungsmodus, englisch "asynchronous transfer
mode") wird zu Kommunikationszwecken
in integrierten digitalen Netzwerken verwendet. Durch diese Netzwerke
wandern ATM-Zellen zu gewünschten
Bestimmungsorten. Aufgrund der Komplexität und der Anforderungen an
ein Netzwerk bestehen Probleme in Bezug auf die Steuerung des Verkehrs
betreffend Zellen in dem Netzwerk. "Traffic Management Circuit for the Shared
Buffer Memory Switch with Multicasting" von Jung-Shyr Wu et al, Computer Communications, Band
16, Nr. 11, 1. November 1993, Seite 736 bis 739, XP000397896, offenbart
ein System, in welchem der Durchsatz sowohl mehrfach übertragener als
auch allgemeiner Zellen geeignet eingeteilt ist.
-
Darüber hinaus
muss bei der Mehrfachübertragung
die Speicherausnutzung in Bezug auf die Speicherung einer Zelle
beachtet werden, welche zu einer Vielzahl an Orten wandert. Idealerweise
sollte so wenig Speicher wie möglich
dazu verwendet werden, die Zelle für alle unterschiedlichen Orte,
zu denen sie geschickt wird, gespeichert zu halten. Die vorliegende
Erfindung schafft einen effektiven Ansatz des Bereitstellens einer
Zelle für
eine Vielzahl von Verbindungen für
die Mehrfachübertragung.
-
Die
vorliegende Erfindung betrifft eine verbundene Liste für die Mehrfachübertragung
in einem ATM-Netzwerk. Die verbundene Liste umfasst eine erste Zelle.
Die verbundene Liste umfasst auch eine Anzahl an Lesezeigern. Jeder
Lesezeiger ist einer Schnittstelle zugeordnet. Jeder Lesezeiger
zeigt auf die erste Zelle.
-
Die
vorliegende Erfindung betrifft auch ein Mehrfachübertragungssystem für ein ATM-Netzwerk. Das System
umfasst eine erste Schnittstelle, durch welche eine Zelle tritt.
Das System umfasst auch einen ersten Lesezeiger, welcher der ersten
Schnittstelle zugeordnet ist. Das Mehrfachübertragungssystem weist zusätzlich mindestens
eine zweite Schnittstelle auf, durch welche die Zelle tritt. Es
ist mindestens ein zweiter Lesezeiger der zweiten Schnittstelle zugeordnet.
Das Mehrfachübertragungssystem
ist aus einer Zelle aufgebaut, zu der jeder Lesezeiger zeigt. Darüber hinaus
weist das Mehrfachüber tragungssystem
eine Steuerung auf, um zu steuern, wann ein Lesezeiger eine Zelle
ausliest. Das System umfasst vorzugsweise eine Anzahl an Zellen.
Jede Zelle weist einen Zellenzeiger auf, der auf eine nächste Zelle
zeigt. Die Anzahl an Zellen bildet eine verbundene Liste. Die Steuerung
richtet einen Lesezeiger auf die nächste Zelle, nachdem die Zelle,
auf die der Lesezeiger zeigte, ausgelesen wurde.
-
Die
vorliegende Erfindung betrifft zusätzlich ein Verfahren zur Mehrfachübertragung.
Das Verfahren umfasst die Schritte des Ausbildens eines ersten Lesezeigers
und mindestens eines zweiten Lesezeigers. Jeder Lesezeiger entspricht
einer ersten Schnittstelle bzw. einer zweiten Schnittstelle. Jeder Lesezeiger
zeigt auf eine Zelle. Dann gibt es den Schritt des Auswählens einer
Schnittstelle. Als nächstes
gibt es den Schritt des Lokalisierens des Lesezeigers für die Schnittstelle.
Dann gibt es den Schritt des Auslesens der Zelle, auf welche der
Lesezeiger zeigt. Vorzugsweise umfasst die Zelle Daten, und die
Zelle umfasst einen Zellenzeiger, der auf eine zweite Zelle zeigt,
wenn es eine zweite Zelle gibt. Die erste Zelle und mindestens die
zweite Zelle bilden eine verbundene Liste.
-
In
den beigefügten
Zeichnungen sind die bevorzugte Ausführungsform der Erfindung und
bevorzugte Verfahren zum Ausführen
der Erfindung veranschaulicht, wobei:
-
1 eine
schematische Darstellung eines Systems zur Mehrfachübertragung
in einem ATM-Netzwerk ist, welche eine verbundene Liste zeigt;
-
2, 3, 4 und 5 schematische
Darstellungen einer verbundenen Liste im dynamischen Betrieb sind;
-
6 eine
schematische Darstellung eines Mehrfachübertragungssystems für ein ATM-Netzwerk
ist;
-
7, 14 und 17 schematische Darstellungen
eines allgemeinen Verbindungsinformationsspeichers sind;
-
8 und 9 schematische
Darstellungen eines Zellenspeichers sind;
-
10, 13 und 16 schematische Darstellungen
eines Verbindungsschreib-Informationsspeichers sind;
-
11, 12 und 15 schematische Darstellungen
eines Verbindungslese-Informationsspeichers
sind.
-
Mit
Bezug auf die Zeichnungen, in denen gleiche Bezugszeichen ähnliche
oder identische Teile über
die verschiedenen Ansichten hinweg kennzeichnen, und insbesondere
in Bezug auf 1 derselben, ist eine verbundene
Liste 10 zur Mehrfachübertragung
in einem ATM-Netzwerk 12 gezeigt. Die verbundene Liste 10 umfasst
eine erste Zelle 14. Die verbundene Liste 10 umfasst
auch eine Anzahl an Lesezeigern 16. Jeder Lesezeiger 16 ist
einer Schnittstelle 18 zugeordnet. Jeder Lesezeiger 16 zeigt
auf die erste Zelle 14. Eine Schnittstelle 18 kann in
dem hier bezeichneten Sinn eine innere Schnittstelle eines Schalters,
bspw. eine Stufe des Schalters, oder eine externe Schnittstelle
eines Schalters sein.
-
Vorzugsweise
umfasst die verbundene Liste 10 mindestens eine zweite
Zelle 14b, wobei jede Zelle 14 einen Zellenzeiger 20 aufweist,
der auf eine nächste
Zelle 14 zeigt, bis er auf der letzen Zelle 14c steht.
Vorzugsweise umfasst jede Zelle 14 Daten. Wenn die Bandbreite
wichtiger ist als die Anwendung, dann wird die letzte Zelle 14c nicht
geleert, sondern beibehalten. Dies ermöglicht es, dass der Lesezeiger
bestehen bleibt und nicht gegebenenfalls jedes Mal neu geschrieben
werden muss, wenn eine neue verbundene Liste 10 gebildet
wird. Wenn die Anwendung wichtiger für die Gesamtarchitektur ist, dann
kann die letzte Zelle 14c gelöscht werden.
-
Vorzugsweise
umfasst die verbundene Liste 10 einen Schreibzeiger 22,
welcher auf die letzte Zelle 14c gerichtet ist. Jede Zelle 14 kann
auch einen Zähler 24 umfassen,
welcher alle Schnittstellen 18 identifiziert, aus denen
die Zelle 14 herausgeschickt wird. Die Liste 10 kann
auch einen Stoppzeiger 26 entsprechend jedem Lesezeiger 16 umfassen.
Der Stoppzeiger 26 identifiziert die letzte Zelle, die
aus einer entsprechenden Schnittstelle 18 herauszusenden
ist.
-
Die
vorliegende Erfindung betrifft auch ein Mehrfachübertragungssystem 28 für ein ATM-Netzwerk 12.
Das System 28 umfasst eine erste Schnittstelle 18a,
durch welche eine Zelle 14 tritt. Das System 28 umfasst
auch einen ersten Lesezeiger 16a, welcher der ersten Schnittstelle 18a zugeordnet
ist. Das Mehrfachübertragungssystem 28 umfasst
zusätzlich
mindestens eine zweite Schnittstelle 18b, durch welche
die Zelle 14 tritt. Es ist mindestens ein zweiter Lesezeiger 16b der
zweiten Schnittstelle 18b zugeordnet. Das Mehrfachübertragungssystem 28 weist
eine Zelle 14 auf, auf die jeder Lesezeiger 16 gerichtet
ist. Darüber
hinaus weist das Mehrfachübertragungssystem 28 eine
Steuerung 30 auf, die in 6 gezeigt
ist, um zu steuern, wann ein Lesezeiger 16 eine Zelle 14 ausliest.
Das System 28 beinhaltet vorzugsweise eine Anzahl an Zellen 14.
Jede Zelle 14 weist einen Zellenzeiger 20 auf,
der auf die nächste
Zelle gerichtet ist. Die Anzahl an Zellen 14 bildet eine
verbundene Liste 10. Die Steuerung 30 richtet
einen Lesezeiger 16 auf die nächste Zelle 14, nachdem
die Zelle 14, auf die der Lesezeiger 16 zeigt,
ausgelesen ist.
-
Vorzugsweise
umfasst das System 28 Mittel oder einen Mechanismus zum
Zeigen auf eine letzte Zelle 14c in der verbundenen Liste 10.
Das Mittel oder der Mechanismus, der auf die letzte Zelle 14c in der
verbundenen Liste 10 gerichtet ist, ist ein Schreibzeiger 22.
Vorzugsweise weist jede Zelle 14 einen Zähler 24 auf,
welcher alle Schnittstellen 18 identifiziert, durch welche
die Zelle 14 ausgesendet wird. Die Steuerung 30 entfernt
vorzugsweise eine Schnittstelle 18 aus dem Zähler 24,
nachdem die Zelle 14, auf die der Lesezeiger 16 gerichtet
ist, ausgelesen ist. Zusätzlich
umfasst das System 28 vorzugsweise einen Stoppzähler 26 entsprechend
jedem Lesezeiger 16. Der Stoppzeiger 26 identifiziert
die letzte Zelle 14c, welche durch die Schnittstelle ausgesendet
wird. Die Steuerung 30 löscht die Zelle 14,
wenn keine andere Schnittstelle 18 existiert, durch welche die
Zelle 14 ausgesendet wird, und keine Schnittstellen 18 im
Zähler 24,
wenn es nicht die letzte Zelle 14c in der verbundenen Liste 10 ist.
-
Die
vorliegende Erfindung betrifft zusätzlich ein Verfahren zur Mehrfachübertragung.
Das Verfahren umfasst die Schritte des Ausbildens eines ersten Lesezeigers 16a und
mindestens eines zweiten Lesezeigers 16b. Jeder Lesezeiger 16 entspricht
einer ersten Schnittstelle 18a bzw. einer zweiten Schnittstelle 18b.
Jeder Lesezeiger 16 zeigt auf eine Zelle 14. Dann
gibt es den Schritt des Auswählens
einer Schnittstelle 18. Als nächstes kommt der Schritt des Lokalisierens
des Lesezeigers 16 für
die Schnittstelle 18. Dann kommt der Schritt des Auslesens
der Zelle 14, auf welche der Lesezeiger 16 gerichtet
ist. Vorzugsweise umfasst die Zelle Daten, und die Zelle 14 umfasst
einen Zellenzeiger 20, welcher auf eine zweite Zelle 14b gerichtet
ist, wenn eine solche existiert. Die erste Zelle 14a und
mindestens die zweite Zelle 14b bilden eine verbundene
Liste 10.
-
Nach
dem Ausleseschritt kommt vorzugsweise der Schritt des Richtens des
Lesezeigers 16 auf die zweite Zelle 14b, auf welche
der Zellenzeiger 20 der Zelle 14a gerichtet ist.
Nach dem Ausleseschritt kann es auch den Schritt des Aussendens
der Zelle 14a aus der Schnittstelle 18a geben.
Nach dem Schritt des Ausrichtens kann der Schritt des Überprüfens ausgeführt werden,
ob es mindestens eine andere Schnittstelle 18 gibt, durch
welche die Zelle 14 ausgesendet wird. Nach dem Überprüfungsschritt kann
der Schritt des Löschens
der Zelle 14a bestehen, wenn es keine andere Schnittstelle 18 gibt, durch
welche die Zelle ausgesendet wird.
-
Vorzugsweise
umfasst die Zelle 14 einen Zähler 24, welcher alle
Schnittstellen 18 identifiziert, durch die die Zelle 14 ausgesendet
wird. Vorzugsweise kommt nach dem Aussendeschritt der Schritt des Entfernens
der Schnittstelle 18a aus dem Zähler 24. Der Schritt
des Löschens
umfasst dann den Schritt des Löschens
der Zelle 14a, wenn es keine andere Schnittstelle 18 gibt,
durch welche die Zelle ausgesendet wird, und es keine anderen Schnittstellen 18 im
Zähler 24 gibt
und die Zelle 14 nicht die letzte Zelle 14c in
der verbundenen Liste 10 ist.
-
Nach
dem Schritt des Ausrichtens kann ein Schritt des Auslesens der zweiten
Zelle 14b, auf welche der Zeiger 16a gerichtet
ist, existieren. Der Entfernungsschritt kann den Schritt des Dekrementierens
eines Wertes des Zählers 24 gleich
der Anzahl an Schnittstellen 18, durch welche die Zelle 14 ausgesendet
wird, um eins umfassen.
-
Der Überprüfungsschritt
kann den Schritt des Bereitstellens eines Wertes eines Stoppzeigers 26 für die Schnittstelle 18 mit
einem rechten Zeigerwert 22 für die Schnittstelle 18 umfassen.
Der rechte Zeiger 20 ist auf die letzte Zelle 14c gerichtet,
welche durch die Schnittstelle 18 auszusenden ist. Alternativ dazu
kann nach dem Schritt des Ausrichtens der Schritt des Löschens eines
Bits 32 entsprechend der Schnittstelle 18 aus
einem Statusfeld 34 der Zelle 14 bestehen. Der
Löschschritt
umfasst dann den Schritt des Löschens
der Zelle 14, wenn das Statusfeld 34 leer ist
und der Wert des Zählers 24 gleich
Null ist und die Zelle 14 nicht die letzte Zelle 14c der
verbundenen Liste ist.
-
Gemäß einer
alternativen Ausführungsform umfasst
das Verfahren zur Mehrfachübertragung
die Schritte des Auswählens
einer Schnittstelle 18. Dann kommt der Schritt des Lokalisierens
eines Lesezeigers 16 für
die Schnittstelle 18. Als nächstes kommt der Schritt des
Auslesens einer Zelle 14, auf welche der Lesezeiger 16 gerichtet
ist. Als nächstes
kommt der Schritt des Sendens der Zelle 14 aus der Schnittstelle 18.
Dann kommt der Schritt des Entfernens der Schnittstelle 18 aus
einem Zähler 24,
welcher alle Schnittstellen 18 identifiziert, durch welche
die Zelle 14 ausgesendet wird. Als nächstes kommt der Schritt des
Richtens des Lesezeigers 16 auf eine zweite Zelle 14b,
auf welche ein Zellenzeiger 20 der Zelle 14a gerichtet
ist, wenn es eine zweite Zelle 14b gibt. Dann kommt der
Schritt des Überprüfens, ob
es mindesteins eine andere Schnittstelle 18 gibt, durch
welche die Zelle 14a ausgesendet wird. Als nächstes kommt
der Schritt des Löschens
der Zelle 14a, wenn es keine andere Schnittstelle 18 gibt,
durch welche die Zelle 14a ausgesendet wird und es keine
anderen Schnittstellen 18 im Zähler 24 gibt und die
Zelle 14a nicht die letzte Zelle 14c in der verbundenen
Liste 10 ist.
-
Nach
dem Ausrichtungsschritt kann der Schritt des Auslesens der zweiten
Zelle 14b folgen, auf welche der Lesezeiger 16 gerichtet
ist. Der Überprüfungsschritt
kann den Schritt des Vergleichens des Werts eines Stoppzeigers 26 für die Schnittstelle 18 mit
dem Wert eines Schreibzeigers 22 für die Schnittstelle 18 umfassen.
Der Schreibzeiger 22 ist auf die letzte Zelle 14c gerichtet,
welche durch die Schnittstelle 18 auszusenden ist. Alternativ
dazu kann nach dem Ausrichtungsschritt der Schritt des Löschens eines
Bits 32 entsprechend der Schnittstelle 18 aus
einem Statusfeld 34 der Zelle 14 bestehen. Der
Löschschritt
kann dann den Schritt des Löschens der
Zelle 14 umfassen, wenn das Statusfeld 34 leer ist
und der Wert des Zählers 24 gleich
Null ist und die Zelle 14 nicht die letzte Zelle 14c in
der verbundenen Liste 10 ist.
-
Bei
der Ausführung
der Erfindung wird eine Zelle C1 in das System 28 eingeführt. Der
Lesezeiger Ra1, der Lesezeiger Ra2 und der Lesezeiger RaN entsprechend
der Schnittstelle 1, der Schnittstelle 2 bzw. der Schnittstelle
N zeigen auf die Zelle C1. (Der erste Index, bspw. a, bezieht sich
auf die Verbindung. Der zweite Index, bspw. 1, betrifft die Schnittstelle. Somit
betrifft Ra1 den Lesezeiger, welcher der
Verbindung a und der Schnittstelle 1 zugeordnet ist.) Der Zähler 24 der
Zelle C1 wird auf 3 gesetzt, um der Anzahl an Schnittstellen zu
entsprechen, welche schließlich
die Zelle C1 für
die Ausgabe empfangen, und das Statusfeld 34 weist an entsprechenden
Stellen Bits 32 auf, welche die Schnittstellen identifizieren,
durch welche die Zelle C1 letztendlich ausgesendet wird. Auf ähnliche
Weise ist der Schreibzeiger Wa auf die Zelle C1 gerichtet, welche,
da sie die einzige Zelle 14 ist, auch die letzte Zelle 14c ist.
Die Zahl des Schreibzeigers Wa wird auf drei inkrementiert, um die Anzahl
an Schnittstellen wiederzugeben, welche die Zelle C1 empfangen.
Zusätzlich
wird das Statusfeld 34 des Schreibzeigers Wa, welches als
Bezugsstatusfeld wirkt, mit entsprechenden Bits für jede Schnittstelle
gefüllt,
durch welche die Zelle C1 ausgesendet wird. Siehe hierzu 2.
Zusätzlich
sind der Stoppzeiger Sa1, der Stoppzeiger Sa2 und der Stoppzeiger
Sa3, welche dem Lesezeiger Ra1, dem Lesezeiger Ra2 bzw. dem Lesezeiger
RaN entsprechen, nirgendwo hingerichtet, da gerade keine Schnittstelle
fallen gelassen wird.
-
Zum
Zwecke der Erläuterung
wird als nächstes
die Schnittstelle 2 ausgeschlossen, eine Zelle aus der verbundenen
Liste 10 auszulesen, und die Zellen C2 und C3 werden der
verbundenen Liste 10 hinzugefügt, beginnend mit der Zelle
C1. Wenn die Zelle C2 hinzugefügt
wird, zeigt der Zellenzeiger 20 der Zelle C1 auf die Zelle
C2. Der Zähler 24 der
Zelle C2 wird auf zwei inkrementiert, da es zweit Schnittstellen gibt,
Schnittstelle 1 und Schnittstelle N, durch welche die Zelle C2 ausgesendet
wird. Auf ähnliche
Weise werden Bits 32 in das Statusfeld 34 der
Zelle C2 an diejenigen Stellen eingeführt, welche der ersten Schnittstelle
und der N-ten Schnittstelle entsprechen, um zu identifizieren, dass
die Zelle C2 durch die Schnittstelle 1 und die Schnittstelle N austritt.
Zusätzlich
weist der Zellenzeiger 20 der Zelle C2 auf die Zelle C3.
Auch der Zähler
der Zelle C3 wird auf zwei inkrementiert, und Bits 32 werden
an die entsprechenden Stellen im Statusfeld 34 für die Schnittstelle
1 und die Schnittstelle N eingeführt.
Des Weiteren ist der Lesezeiger Wa nun auf die Zelle C3 gerichtet,
da die Zelle C3 die letzte Zelle 14c der verbundenen Liste 10 ist.
Der Zähler
des Lesezeigers Wa wird auf zwei gestellt, da es nur zwei Schnittstellen
gibt, durch welche die verbundene Liste 10 mit den Zellen
C1, C2 und C3 hinaustritt, und sein Bezugsstatusfeld nur zwei Bits 32 aufweist,
entsprechend der Lage der Schnittstelle 1 und der Lage der identifizierten Schnittstelle
N. Da die Schnittstelle 2 ausgesondert wurde, bevor die Zellen C2
und C3 hinzugefügt
wurden, reflektieren sie keinesfalls das Vorhandensein der Schnittstelle
2. Die Zelle C1 reflektiert noch das Vorhandensein der Schnittstelle
2, da die Schnittstelle 2 zu der Zeit vorhanden war, als die Zelle
C1 in das System 28 eingebracht wurde. Auch der Stoppzeiger Sa2
wird verändert,
so dass er auf die Zelle C1 gerichtet ist, da die Schnittstelle
2 von der Auslesung von Zellen 14 aus der verbundenen Liste 10 entkoppelt
wurde. Nur wenn eine Schnittstelle 18 vom Emp fang jeglicher
Zellen 14 der verbundenen Liste 10 entkoppelt
wird, wird ein Stoppzeiger 26 gesetzt, so dass er auf die
letzte Zelle der verbundenen Liste 10 zeigt, wo jene Schnittstelle
daraus entfernt wurde (siehe 3).
-
Beispielhaft
sei angekommen, dass als nächstes
die Schnittstelle 1 die verbundene Liste 10 zweimal liest
und dann die Schnittstelle N einmal liest. Wenn die Schnittstelle
1 zum ersten Mal ausliest, wird die Zelle C1 aus der Schnittstelle
1 ausgesendet, und der Lesezeiger Ra1 wird zur Zelle C2 bewegt,
da es die Stelle ist, auf welche der Zellenzeiger 20 der
Zelle C1 gerichtet ist. Da der Stoppzeiger Sa1 nicht so gesetzt
ist, dass er auf eine Zelle 14 zeigt, kann der Lesezeiger
mit der nächsten
Zelle fortfahren. Da die Schnittstelle 1 die Zelle C1 ausliest,
wird der Zähler 24 der
Zelle C1 um eins dekrementiert, um die Tatsache zu reflektieren,
dass die Schnittstelle 1 nicht länger
die Zelle C1 ausliest, da dies bereits erfolgt ist. Zusätzlich wird
das Bit 32 im Statusfeld 34 von C1 entfernt, um
ebenfalls die Tatsache zu reflektieren, dass die Schnittstelle 1
nicht länger
die Zelle C1 ausliest, da dies bereits erfolgte. Ähnlich tritt, wenn
die Schnittstelle 1 wieder ausgelesen wird, die Zelle C2 aus der
Schnittstelle 1 aus, wobei ihr Zähler 24 um
eins dekrementiert wird und ihr Bit 32 im Statusfeld 34 entsprechend
der Schnittstelle 1 entfernt wird. Der Lesezeiger Ra1 für die Schnittstelle
1 zeigt dann auf die Zelle C3, da die Zelle C3 diejenige Zelle ist,
auf welche der Zellenzeiger 20 gerichtet ist. Der Lesezeiger
Wa wird nicht verändert,
da sein Zähler noch
die Tatsache reflektiert, dass es zwei Schnittstellen gibt, welche
mit der verbundenen Liste 10 in Verbindung stehen, und
sein Bezugsstatusfeld zeigt, dass diese beiden Schnittstellen Schnittstelle
1 und Schnittstelle N sind. Als nächstes wird die Schnittstelle
N ausgelesen, was bewirkt, dass die Zelle C1 aus der Schnittstelle
N gelesen wird, wobei das Bit 32 im Statusfeld 34 der
Zelle C1 entsprechend der Schnittstelle N entfernt wird und der
Zähler 24 der
Zelle C1 um eins dekrementiert wird. Der Lesezeiger RaN wird dann
zur Zelle C2 bewegt, da die Zelle C2 diejenige Zelle 14 ist,
auf welche der Zellenzeiger 20 der Zelle C1 gerichtet ist.
Da der Stoppzeiger SaN nicht auf eine Zelle gesetzt ist, bewegt
sich der Zeiger RaN zur Zelle C2 (siehe 4).
-
Wenn
die Schnittstelle 2 ausgelesen wird, stoppt die Schnittstelle 2,
da der Stoppzeiger Sa2 auf die Zelle C1 gerichtet ist. Dies bedeutet,
dass der Lesezeiger Ra2 aufhören
muss, die Zellen 14 in der verbundenen List 10 auszulesen,
wenn er auf die Zelle C1 gerichtet ist. Dann wird der Lesezeiger
Ra2 so verändert,
dass er auf Null zeigt. Der Zähler
der Zelle C1 wird auf Null reduziert, und das Bit 32 des
Statusfelds 34 entspre chend Schnittstelle 2 wird entfernt. Da
der Zähler
gleich Null ist, zeigt das Statusfeld keine Bits und es gibt keine
Schnittstellen, die noch die Zelle C1 empfangen, und die Zelle C1
wird geleert (siehe 5).
-
Das
Vorhandensein des Stoppzeigers 26, welcher auf den Wert
des Schreibzeigers an demjenigen Punkt gesetzt wird, an dem eine
gegebene Schnittstelle aus der Mehrfachübertragung der verbundenen
Liste 10 entfernt ist, ermöglicht es der Anzahl an Schnittstellen,
dass eine Verbindung, zu der eine Zelle geht, abnimmt. Der Stoppzeiger
ermöglicht es,
dass eine Schnittstelle entfernt wird und dass die verbundene Liste 10 diese
Tatsache erkennt. Ähnlich wurde
in Bezug auf das Statusfeld 34 jeder Zelle und den Zähler 24,
wenn der Zähler 24 in
einer gegebenen Zelle 14 Null erreicht, die Zelle 14 von
allen Schnittstellen 18 ausgelesen und die Speicherstelle, welche
der Zelle zugeordnet ist, kann einer freien Liste zurückgegeben
werden. Auf diese Weise ist alles, was getan werden muss, um eine
Schnittstelle 18 aus einer Mehrfachübertragung einer verbundenen Liste 10 zu
entfernen, das Bit 32 im Bezugsstatusfeld des Schreibzeigers 22,
welches einer gegebenen Schnittstelle 18 entspricht, zu
löschen,
wobei der alte Zählerwert
beibehalten wird. Wenn die nächste
Zelle 14 in die verbundene Liste 10 geschrieben
wird, empfängt
sie das neue Statusfeld, aber den alten Zählerwert. Jede neue Zelle,
die ankommt, empfängt
auch das neue Statusfeld und einen Zählerwert gleich der Anzahl
an Bits 32, die im Statusfeld 34 gesetzt sind. Sobald
das Statusfeld hinzugefügt
wird, wird der volle Zählerwert
redundant, wobei man nur einen Zählerwert
der Anzahl an Schnittstellen beibehalten muss, welche aus jener
Zelle ausgesondert werden. Die meisten Zellen hätten eine Zählerwert von Null. Wenn eine
oder mehrere Schnittstellen aus der Mehrfachübertragung herausfallen, werden
ihre Bits im Bezugsstatusfeld gelöscht, und der Zähler der nächsten Zelle,
die in die Liste geschrieben wird, wird auf die Anzahl an ausgesonderten
Schnittstellen gesetzt. Wenn eine Zelle 14 aus einer Schnittstelle 18 ausgelesen
wird, löscht
sie ihr Bit 32 im Statusfeld 34. Wenn sowohl das
Statusfeld 34 leer ist als auch der Zähler 24 gleich Null
ist, dann kann die Zelle 14 geleert werden. Wenn eine Zelle 14 aus
einer Schnittstelle 18 ausgelesen wird und ihr Bit 32 im Statusfeld 34 nicht
gesetzt wurde, dann wird der Zähler 24 um
eins dekrementiert, da es eine der Schnittstellen ist, die aus dieser
Zelle eliminiert werden, und wie vorstehend kann die Zelle 14,
wenn sowohl das Statusfeld 34 leer ist als auch der Zähler 24 gleich Null
ist, geleert werden. Da der Zähler 24,
welcher mit jeder Zelle 14 geht, nunmehr nur groß genug
sein muss, um die maximale Anzahl an Schnittstellen 14 zu
zählen,
welche aus einer gegebenen Zelle 14 entfernt werden können, im
Gegensatz zur maximalen Anzahl an Schnittstellen, zu denen eine
Zelle 14 gehen könnte,
kann diese Zahl geringer sein. Wenn die maximale Anzahl an Schnittstellen 14,
welche aus einer gegebenen Zelle 14 ausgesondert werden
können,
gleich 1 ist, dann wird sie ein Ein-Bit-Zähler.
-
Sobald
das Statusfeld 34 hinzugefügt ist, wird der volle Zählerwert
redundant. Man braucht nur einen Zähler der Anzahl an Schnittstellen,
welche aus jener Zelle ausgesondert werden, zu behalten. Die meisten
Zellen hätten
einen Zählwert
von Null. Wenn eine oder mehrere Schnittstellen aus der Mehrfachübertragung
ausgesondert werden, werden ihre Bits im Bezugsstatusfeld gelöscht, und
der Zähler 24 der
nächsten
Zelle 14, die in die verbundene Liste 10 eingeschrieben
wird, wird gleich der Anzahl an ausgesonderten Schnittstellen gesetzt.
Wenn eine Zelle aus einer Schnittstelle 18 ausgelesen wird, wird
ihr entsprechendes Bit im Statusfeld 34 gelöscht. Wenn
sowohl das Statusfeld 34 leer ist als auch der Zähler 24 auf
Null ist, dann kann die Zelle geleert werden.
-
Wenn
eine Zelle 14 aus einer Schnittstelle 18 ausgelesen
wird und ihr Bit im Statusfeld 34 nicht gesetzt wurde,
dann wird der Zähler 24 der
Zelle 14 um eins dekrementiert, da es eine der Schnittstellen
ist, welche aus jener Zelle 14 ausgesondert wird. Wie vorstehend
kann, wenn sowohl das Statusfeld 34 leer ist als auch der
Zähler
gleich Null ist, die Zelle 14 entleert werden. Da der Zähler 24,
der mit jeder Zelle 14 geht, nunmehr nur groß genug
zu sein braucht, um die maximale Zahl an Schnittstellen zu zählen, zu
denen eine Zelle gehen könnte,
kann er kleiner gemacht werden. Wenn die maximale Zahl an Schnittstellen;
welche von einer gegebenen Zelle ausgesondert werden können, gleich
1 ist, dann wird es ein Ein-Bit-Zähler. Wenn eine Schnittstelle
als ausgesondert gekennzeichnet wird, und da nur eine Schnittstelle
gleichzeitig ausgesondert werden kann, muss die ausgesonderte Schnittstelle
jene Schnittstelle sein. Wenn Schnittstellen 14 nicht aus
dem Auslesen der verbundenen Liste 10 ausgesondert werden
sollen, dann können
die Stoppzeiger 26 eliminiert werden und nur das Statusfeld
muss vorhanden sein.
-
Gemäß einer
weiteren alternativen Ausführungsform
kann eine Zelle 14 zwei Arten von Statusfeldern aufweisen.
Die Notwendigkeit eines Zählers 24 oder
eines entsprechenden Stoppzeigers 26 wird dann eliminiert.
Von diesen beiden Arten an Statusfeldern gibt es ein Statusfeld 34,
wie vorstehend beschreiben. Es gibt auch ein Statusfeld, welches
Bits aufweist, die identifizierten, ob die Zelle die letzte Zelle
ist, die von einer Schnittstelle auszulesen ist (und somit wie ein
Stoppzeiger agiert). Im Protokoll des Systems 28 kann enthalten
sein, dass die Zelle 14 auch auszulesen ist, wenn sie die
letzte Zelle ist, die aus der entsprechenden Schnittstelle 18 auszulesen ist.
Andererseits kann auch eingerichtet werden, dass die Zelle nicht
auszulesen ist, wenn über
das zusätzliche
Statusfeld identifiziert wird, dass sie die letzte Zelle ist, die
einer jeweiligen Schnittstelle 18 zugeordnet ist. Statusfelder
weisen den Vorteil des einfachen Hinzufügens oder Entfernens von Bits
im Vergleich zu Zählern
auf, welche in ihrer Wirkungsweise Subtraktion erfordern und, relativ
ausgedrückt, dadurch
komplexer sind. Ob logische Zwangsbedingungen oder Speicherzwangsbedingungen
wichtiger sind, bestimmt letztendlich die Konfiguration.
-
Die
Mehrfachübertragung
der verbundenen Liste 10 wird mit dem System 28 wie
in 6 gezeigt verwirklicht, welche Figur eine schematische
Darstellung des Systems 28 ist. Das System 28 umfasst
ein Steuerprogramm 36. Das Steuerprogramm 36 entscheidet,
welche Verbindung durch einen Steueralgorithmus ausgelesen werden
sollte, bspw. die Algorithmen "round
robin", "weighted round robin", "weighted fair queuing", "virtual clock" usw. Jedes Mal,
wenn eine Steuerung 38 eine Zelle 14 aus einer Schnittstelle 18 senden
möchte
wird bei gegebener Identität
der Verbindung mit Zellen 14 in der verbundenen Liste 10 das
Steuerprogramm 36 abgerufen. Die Steuerung 38 aktualisiert
die allgemeine Verbindungsinformation, verwaltet die Liste der Orte
freier Zellen (die "freie
Liste"), informiert
das Steuerungsprogramm 36 über den Status von Verbindungen
basierend auf der Information, die sie von der Lesesteuerung 40 und
der Schreibsteuerung 42 erhält, und instruiert die Lesesteuerung 40,
welche Verbindungen auszulösen
sind. Die Lesesteuerung 40 liest bei gegebener Schnittstellennummer
und Verbindungsnummer die nächste
Zelle für
diese Verbindung aus der gegebenen Schnittstelle aus.
-
Das
System 28 umfasst einen allgemeinen Verbindungsinformationsspeicher 44.
Wie in 7 gezeigt, umfasst die allgemeine Verbindungsinformation
Zeiger zu den Lese- und Schreibinformationseinträgen, wenn sie nicht entweder
benachbart der allgemeinen Verbindungsinformation im gleichen Speicher
oder an der gleichen Adresse sind, wenn sie in verschiedenen Speichern
sind. Die "Schnittstellenfeld-" und "Schnittstellenzähler-" einträge können, wenn
sie verwendet werden, bei der allgemeinen Verbindungsinformation
verbleiben oder bei einer Verbindungsschreibinformation (wenn beides
existiert, dann können
sie beide entweder bei der allgemeinen Information oder der Schreibinformation
verbleiben oder bei beiden).
-
Die
Schreibsteuerung 42 des Systems 28 empfängt Zellen
aus der Eingabe und schreibt sie in den Zellenspeicher 46 (siehe 8 und 9)
und aktualisiert die Verbindungsschreibinformation, empfängt Zellen 14 aus
der freien Liste und gibt sie dahin zurück (verwaltet durch die Steuerung 38),
informiert die Steuerung 38, wenn eine neue Zelle 14 für eine Verbindung
ankommt und für
welche Verbindung sie ankommt. In 8 und 9 können die
Zelle 14 und ihre Daten entweder zusammen in einem Speicher
oder separat in verschiedenen Speichern gespeichert werden, wobei
jedes Datenelement an der gleichen Adresse ist (wo die Adressierung
durch Datenelemente erfolgt). Die "unterschiedlichen Speicher" können physikalisch
getrennte Speicher (unterschiedliche Chips) oder logisch separate
Speicher sein (unterschiedliche Bereiche desselben Speichers oder
sogar verwobene Bereiche, d.h. alle geradzahligen (Wort- oder Datenelement-)
Adressen 0, 2, 4 .. sind im "Speicher" A und alle ungeradzahligen
Adressen 1, 3, 5, 7 sind im "Speicher" B, wobei der Unterpunkt "i" an der physikalischen Adresse 2·i gespeichert
würde,
wenn er sich im logischen "Speicher" A befände, und
bei der physikalischen Adresse (2·i) + 1, wenn er sich im logischen "Speicher" B befände).
-
Das
System 28 weist einen Verbindungsschreibinformationsspeicher 48 auf,
wie in 10 gezeigt. Die Verbindungsschreibinformation
enthält den
Zeiger auf entweder die letzte Zelle 14c in der verbundenen
Liste für
jene Verbindung oder den Ort, an dem die nächste Zelle 14 für jene Verbindung
geschrieben wird (in Abhängigkeit
davon, ob die Optimierung des Lesezeigers 16 ausgeführt wird).
Es enthält
auch eines der beiden Felder "Schnittstellenfeld" oder "Schnittstellenzählerfeld", welche benötigt werden,
aber nicht in der allgemeinen Verbindungsinformation enthalten sind.
-
Das
System 28 weist auch einen Verbindungsleseinformationsspeicher 50 auf,
wie in den 11 und 12 gezeigt.
Die Verbindungsleseinformation weist einen Eintrag für jede Schnittstelle 18 auf,
welche einen Zeiger zur Zelle 14 in der verbundenen Liste 10 hat.
Diese Zelle 14 wird für
jene Schnittstelle 18 das nächste Mal, wenn diese Verbindung
eine Zelle 14 über
eine gegebene Schnittstelle 18 aussenden soll, ausgelesen.
Jeder Eintrag enthält einen
Stoppzeiger 26, wenn dieser benötigt wird. Jeder Eintrag weist
eine zusätzliche
Information auf, bspw. eine neue Kopfzeile, da eine Verbindung eine unter schiedliche
VPI oder VCI für
jede Schnittstelle 18, aus der sie austritt, benötigen kann.
Wenn die Verbindungsleseeinträge
separat gespeichert sind, dann gibt es ein Array, welches durch
die Schnittstellennummer indiziert ist, welche Zeiger zu den Verbindungsleseeinträgen für jede Schnittstelle 18 enthält. Wie
in den 7, 10, 11, 12, 13, 14, 15, 16 und 17 gezeigt,
können die
verschiedenen Speicher physikalisch getrennt sein oder sie können logische
Speicher in einem oder mehreren physikalischen Speichern sein. In
Bezug auf die genannten Figuren haben sie die folgende Nomenklatur:
- (3 & 4)
nur benötigt,
wenn Lese-/Schreibinformation nicht angrenzend an den Verbindungseintrag im
selben Speicher gespeichert ist oder in verschiedenen Speichern
an verschiedenen Orten gespeichert ist;
- (4) wenn die Leseinformationseinträge für verschiedene Schnittstellen
zusammen gespeichert sind, dann kann der Leseinformationszeiger
auf einen von ihnen weisen;
- (5) wenn benötigt.