-
Die vorliegende Erfindung betrifft
ein Verfahren zum Steuern von Fehlern in Paketen, die auf wenigstens
einer Übertragungsverbindung
zwischen einem Sender und einem Empfänger übertragen werden. Die vorliegende
Erfindung findet insbesondere in den Fällen Anwendung, in welchen
die Verbindung eine Vielzahl von virtuellen Schaltungen unterstützen kann.
-
Ein solches Verfahren ist im Stand
der Technik wohlbekannt und ist beispielsweise in einem Dokument
mit dem Titel "Performance Evaluation of the ASR-ARQ Protocol dor
Wireless ATM" im Namen von D. Petras und A. Hellich und veröffentlicht
in "PROCEEDINGS OF THE 1995 IEEE WIRELESS COMMUNICATION SYSTEM SYMPOSIUM"
gezeigt.
-
Die vorliegende Erfindung findet
Anwendung bei einem Übertragungssystem
von dem in 1 gezeigten
Typ. In dieser Figur kann ein Sender 10, gesehen werden,
der von einem Eingangsmultiplexer 11 Pakete empfängt, die
zu mehreren unterschiedlichen virtuellen Schaltungen gehören können. Dieser Sender 10 sendet
zu einem Empfänger 30 über eine Übertragungsleitung 20 die
Pakete, die er vom Multiplexer 11 empfängt, in der Form von Sequenzen
von Paketen. Auf ein Empfangen der Pakete von der Übertragungsleitung 20 hin
implementiert der Empfänger 30 ein
Verfahren zum Steuern von Fehlern, die während der Übertragung auftreten. Genauer
gesagt werden die in der Reihenfolge der Sequenz empfangenen Pakete
zu einem Ausgangsmultiplexer 31 geliefert. Aber dann, wenn
das empfangene Paket aufgrund eines Verlustes von einem oder mehreren Paketen
merklich nicht die empfangene Sequenznummer hat, wird es nicht zum
Ausgangsmultiplexer 31 geliefert, solange das verlorene
Paket oder die verlorenen Pakete nicht empfangen worden ist oder sind
oder solange die maximale Wartezeit nicht verstrichen ist.
-
Eine Implementierung eines solchen
Verfahrens ist in 2 dargestellt.
Der linksseitige Teil dieser 2 ist
ein Diagramm, das bei dem Sender die Übertragung von Paketen als
Funktion der Zeit zeigt (die Zeit verstreicht in Richtung nach unten),
und der rechtsseitige Teil ist ein Diagramm, das bei dem Empfänger den
Empfang von übertragenen
Paketen auch als Funktion der Zeit zeigt. Wie für den zentralen Teil zeigt
dies die Übertragung
der Pakete über die Übertragungsleitung.
-
Zwei virtuelle Schaltungen VC-α und VC-β werden auf
der Übertragungsleitung
zwischen denn Sender und dem Empfänger multiplext. Jedes über die Übertragungsleitung übertragene
Paket trägt
eine Sequenznummer, die es in der Sequenz von übertragenen Paketen in Bezug
auf die vorangehenden und die folgenden identifiziert.
-
Wie es in diesem Diagramm gezeigt
ist, ist das Paket I0 (das erste Paket in
einer Sequenz von Paketen), das zu der zweiten virtuellen Schaltung VC-β gehört, richtig
empfangen worden. Dieses Paket I0 wird dann
zum Ausgangsmultiplexer 31 geliefert.
-
Andererseits ist das Paket I1 verloren worden und wird daher nicht durch
den Empfänger 30 empfangen.
Auf einen Empfang des Pakets I2 hin bemerkt der
Empfänger 30,
dass die Sequenznummer in der Sequenz nicht die erforderliche ist.
Sie ist tatsächlich 2,
wohingegen es das Paket I1 ist, und daher
mit der Sequenznummer 1, welche erwartet wird. Der Empfänger 30 sendet
daher zum Sender 10 eine negative Bestätigung NAK1,
um dadurch den Sender 10 aufzufordern, das Paket I1 erneut zu übertragen.
-
Die Pakete I2 bis
I4 sind durch den Empfänger richtig empfangen worden.
Jedoch deshalb, weil das Paket I1 nicht
richtig empfangen worden ist, werden sie nicht geliefert, und werden
dann gespeichert, während
auf ihre Lieferung gewartet wird. Es wird auch gesagt, dass sie
zurückgehalten
werden.
-
Nach der Übertragung des Pakets I4 empfängt
der Sender 10 die negative Bestätigung NAK1 in Bezug
auf das Paket I1 und überträgt folglich dieses Paket I1 erneut, welches später beim Empfänger empfangen
wird. Wie es bemerkt werden kann, liefert der Empfänger zum
Ausgangsmultiplexer nicht nur das Paket I1 sondern
auch die Pakete I2 bis I4,
die bis jetzt zurückgehalten
worden waren.
-
Somit werden gemäß diesem bekannten Verfahren,
die Pakete, die nach dem Verlust eines Pakets empfangen worden sind,
nicht geliefert bzw. abgegeben bzw. ausgegeben und werden zurückgehalten,
bis das Paket richtig empfangen ist.
-
Es ist möglich, dass das Paket I1 durch den Empfänger 30 nicht immer
richtig empfangen werden kann. Herkömmlicherweise werden die Pakete
I2, I3 und I4 dann nach dem Ablauf einer vorbestimmten Zeit
geliefert, die maximale Wartezeit genannt wird.
-
Es wird bemerkt werden, dass ein
solcher Prozess nur die Sequenznummer zum Senden der Pakete in der
aktuellen Sequenz erfordert, um richtig zu funktionieren.
-
Jedoch dann, wenn mehrere virtuelle
Schaltungen auf ein und derselben Übertragungsverbindung zwischen
einem Sender und einem Empfänger multiplext
sind, kann es passieren, dass Pakete, die zu einer virtuellen Schaltung
gehören,
aufgrund dessen zurückgehalten
werden, dass ein Paket, das zu einer anderen virtuellen Schaltung
gehört,
verloren worden ist. Diese Möglichkeit
ist auch in 2 dargestellt,
wo gesehen werden kann, dass die Pakete I1 und
I4 zur selben virtuellen Schaltung VC-α gehören und
dass die Pakete I0, I2 und
I3 zu der anderen virtuellen Schaltung VC-β gehören. Die
Pakete I2 und I3 der
virtuellen Schaltung VC-β werden
zurückgehalten,
wohingegen in Bezug auf diese Schaltung VC-α kein Paket verloren worden
ist. Somit blockiert das verlorene Paket I1,
das zu der virtuellen Schaltung VC-α gehört, die Lieferung der Pakete
der virtuellen Schaltung VC-β.
-
Das Ziel der vorliegenden Erfindung
besteht daher im Lösen
dieses Problems in dem Fall eines Multiplexens von mehreren virtuellen
Schaltungen auf der Übertragungsverbindung.
-
Zum Erreichen dieses Ziels ist ein
Fehlersteuerverfahren gemäß der Erfindung
dadurch gekennzeichnet, dass auf der Senderseite jedem über die Übertragungsleitung
zu übertragenden
bzw. zu sendenden Paket zwei Indizes zugeteilt sind, wobei ein Index
die Sequenznummer des zu übertragenden Pakets
anzeigt und der andere Index einen Wert unter wenigstens zwei spezifischen
Werten hat, wobei ein Wert bedeutet, dass keine neue Sequenzbildung nötig ist
und der andere (oder die anderen) jeweils bedeutet bzw. bedeuten,
dass die Differenz zwischen der Sequenznummer des zu übertragenden
Pakets und des vorherigen Pakets derselben virtuellen Schaltung
größer als
ein vorbestimmter Wert (oder vorbestimmte Werte) ist, und auf der
Empfängerseite auf
einen Empfang eines Pakets entsprechend dem erwarteten hin, einem
Paket, auf das gezeigt wird, bestimmt wird, welche Sequenznummer
durch die Differenz zwischen der Sequenznummer des empfangenen Pakets
und dem vorbestimmten Wert gegeben ist, der durch den zweiten Index
dargestellt wird, der durch das empfangene Paket getragen wird,
und dann, wenn das Paket, auf das gezeigt wird, und alle Pakete,
die durch den Sender gesendet sind, bevor sie durch den Empfänger richtig
empfangen und zum Ausgangsmultiplexer ausgegeben worden sind oder
durch die Lebensdauer fallengelassen worden sind, das empfangene
Paket zum Ausgangsmultiplexer ausgegeben wird, und wenn dies nicht der
Fall ist, das empfangene Paket behalten bzw. zurückgehalten werden wird, bis
das Paket, auf das gezeigt wird, und alle Pakete davor ausgegeben
oder durch die Lebensdauer fallengelassen sein werden.
-
Gemäß einem vorteilhaften Merkmal
der Erfindung ist der vorbestimmte Wert oder der niedrigste vorbestimmte
Wert entsprechend dem durch den Sender zugeteilten spezifischen
Wert gleich 1.
-
Gemäß einem weiteren Merkmal der
Erfindung können
die durch den Sender zugeteilten Werte weiterhin Zwischenwerte annehmen,
die jeweils auf das Paket derselben virtuellen Schaltung zeigen,
das vor dem zu sendenden bzw. zu übertragenden Paket ist, und,
auf der Empfängerseite
dann, wenn ein Paket, das einen Zwischenwert empfängt, empfangen wird,
das vorherige Paket derselben Schaltung, auf das durch den Zwischenwert
gezeigt wird, bestimmt wird, und dann, wenn das vorherige Paket
bereits geliefert bzw. abgegeben bzw. ausgegeben worden ist, das
empfangene Paket ausgegeben wird, und wenn dies nicht der Fall ist,
das empfangene Paket zurückgehalten
wird, bis das Paket, auf das gezeigt wird, ausgegeben oder durch
die Lebensdauer fallengelassen sein wird.
-
Gemäß einem vorteilhaften Merkmal
ist der vorbestimmte Wert oder der niedrigste vorbestimmte Wert
entsprechend dem durch den Sender zugeteilten spezifischen Wert
gleich dem größten Wert,
der durch die Zwischenwerte angenommen werden kann, plus 1.
-
Gemäß einem weiteren Merkmal der
Erfindung stellen die Zwischenwerte, die durch den Sender zugeteilt
sind, die Differenz zwischen der Sequenznummer des zu übertragenden
Pakets und der Sequenznummer des vorherigen Pakets in derselben virtuellen
Schaltung dar, und auf der Empfängerseite wird
das vorherige Paket des empfangenen Pakets durch die Differenz zwischen
der Sequenznummer des empfangenen Pakets und dem Wert, der durch den
zweiten Index dargestellt wird, der durch das empfangene Paket getragen
wird, bestimmt.
-
Die oben angegebenen Merkmale der
Erfindung werden, zusammen mit anderen, beim Lesen der folgenden
Beschreibung von mehreren Ausführungsbeispielen
der Erfindung klarer erscheinen, wobei die Beschreibung in Bezug
auf die beigefügten Zeichnungen
gemacht ist, unter welchen:
-
1 ein
Blockdiagramm eines Übertragungssystems
ist, auf welches die vorliegende Erfindung angewendet werden kann,
-
2 ein
Diagramm ist, das ein Fehlersteuervertahren gemäß einem Verfahren des Standes der
Technik darstellt,
-
3 ein
Diagramm ist, das eine erste Implementierung eines Fehlersteuerverfahrens
gemäß der vorliegenden
Erfindung darstellt,
-
4 ein
Diagramm ist, das eine zweite Implementierung eines Fehlersteuerverfahrens
gemäß der vorliegenden
Erfindung darstellt,
-
5 ein
weiteres Diagramm ist, das einen weiteren Aspekt eines Fehlersteuerverfahrens
gemäß der vorliegenden
Erfindung darstellt,
-
6 ein
Diagramm ist, das eine vierte Implementierung eines Fehlersteuerverfahrens
gemäß der Erfindung
darstellt, und
-
7 ein
Diagramm ist, das eine fünfte
Implementierung eines Fehlersteuerverfahrens gemäß der vorliegenden Erfindung
darstellt, welche eine Kombination aus den in den 5 und 6 gezeigten Verfahren
ist.
-
Gemäß der vorliegenden Erfindung
werden auf der Senderseite 10 zwei Indizes i und j zu jedem über die Übertragungsleitung
zu übertragenden
Paket zugeteilt. Der erste Index i stellt die Sequenznummer des
zu übertragenden
Pakets dar. Der zweite Index j hat wenigstens zwei spezifische Werte.
Ein Wert, wie beispielsweise 0, bedeutet, dass keine erneute Sequenzbildung
nötig ist.
Dies ist allgemein der Fall für
das erste Paket einer virtuellen Schaltung. Der andere spezifische
Wert bzw. die anderen spezifischen Werte bedeutet bzw. bedeuten,
dass die Differenz zwischen der Sequenznummer i des zu übertragenden
Pakets und des vorherigen Pakets derselben virtuellen Schaltung
größer als
ein vorbestimmter Wert a ist oder gleich diesem ist.
-
Auf der Empfängerseite wird auf einen Empfang
eines Pakets Iij, welches nachfolgend das
gerade empfangene Paket genannt werden wird, eine Prüfung diesbezüglich durchgeführt, ob
seine Sequenznummer i der erwarteten entspricht. Wenn dies nicht
der Fall ist, bedeutet dies, dass wenigstens ein Paket verloren
worden ist. Dann wird eine negative Bestätigung zum Sender 10 gesendet,
um zu veranlassen, dass es erneut übertragen wird.
-
Weiterhin wird dann, wenn seine Sequenznummer
i der erwarteten entspricht, ein vorheriges Paket bestimmt, welche
Sequenznummer durch die Differenz (i – a) zwischen der Sequenznummer
i des gerade empfangenen Pakets und dem vorbestimmten Wert a, der
durch den zweiten Index j dargestellt wird, gegeben ist.
-
Dann wird bestimmt, ob alle durch
den Sender vor dem vorherigen Paket Ii–a,x (einschließlich des Pakets
Ij–a,x)
gesendeten Pakete bereits durch den Empfänger richtig empfangen worden
sind und zum Ausgangsmultiplexer ausgegeben worden sind oder durch
die Lebensdauer fallengelassen worden sind.
-
Wenn dies der Fall ist, wird das
gerade empfangene Paket Ii,j zum Ausgangsmultiplexer 31 ausgegeben.
Aber dann, wenn dies nicht der Fall ist, wird das Paket Ii,j zurückgehalten
werden, bis alle diese Pakete (I0,0 bis
Ij–a,x)
ausgegeben sind oder durch die Lebensdauer fallengelassen worden
sind.
-
Zusätzlich wird dann, wenn das
gerade empfangene Paket Ii,j ein Paket ist,
auf dessen Empfang gewartet wird, es zum Ausgangsmultiplexer 31 ausgegeben.
Dann werden unter allen zurückgehaltenen Paketen
diejenigen Pakete, die ausgegeben werden können, wenn nur dieses eine
Ii,j ist, ausgegeben.
-
Es sollte beachtet werden, dass dann,
wenn nur ein spezifischer Wert vorgesehen ist, der entsprechende
vorbestimmte Wert a gleich 1 sein muss. Wenn mehr als ein spezifischer
Wert vorgesehen sind, muss der niedrigste vorbestimmte Werta 1 sein.
-
3 stellt
ein Beispiel einer Implementierung eines Ausführungsbeispiels der Erfindung
dar. Es kann insbesondere gesehen werden, dass Pakete zu virtuellen
Schaltungen VC-α und
VC-β des
Eingangsmultiplexers 11 gehören und über eine Übertragungsleitung übertragen
werden. Der erste Index i von jedem neuen Paket, das über die Übertragungsleitung übertragen
wird, ist um eine Einheit in Bezug auf den vorherigen der Sequenz
inkrementiert. Dieser Index ist Null für das erste Paket.
-
Der zweite Index ist Null für das erste
Paket in der Sequenz einer jeweiligen virtuellen Schaltung, wie
beispielsweise die Pakete I0,0 der virtuellen
Schaltung VC-α und
I1,0 der virtuellen Schaltung VC-β.
-
In den anderen Fällen stellt der zweite Index einen
Wert dar, der zulässt,
auf ein vorheriges Paket zu zeigen. Beispielsweise zeigt das Paket
I5,3 auf das Paket I5–3,x =
I2,1.
-
Es sollte beachtet werden, dass der
zweite Index j und sein Wert a hier wechselseitig vertauscht sind.
-
Das vorherige Paket derselben virtuellen Schaltung
wie das gerade empfangene Paket ist entweder das Paket, auf das
gezeigt wird, oder ein Paket vor dem Paket, auf das gezeigt wird.
-
Beispielsweise dann, wenn wir annehmen, dass
I5,3 das gerade empfangene Paket ist, ist
das Paket, auf das gezeigt wird, I2,1, und
wir können
bemerken, dass das vorherige Paket derselben virtuellen Schaltung
VC-β, welches
das Paket I0,0 ist, vor dem Paket I2,1 ist. Gemäß diesem Beispiel wird das Paket
I5,3 auch ausgegeben, da das Paket I2,1, auf das gezeigt wird, und alle Pakete
davor, d. h. die Pakete I2,1, I1,0 und
I0,0 bereits zum Ausgangsmultiplexer ausgegeben
sind.
-
Wenn wir nun annehmen, dass I4,1 das gerade empfangene Paket ist, dann
ist das Paket, auf das gezeigt wird, I3,1,
und wir können
bemerken, dass das vorherige Paket derselben virtuellen Schaltung
VC-α auch
das Paket I3,1 ist, auf das gezeigt wird.
Da das Paket I3,1 noch nicht richtig empfangen
ist und dann nicht ausgegeben ist, wird das Paket I4,1 zurückgehalten.
Es wird dann ausgegeben werden, wenn das Paket I3,0 richtig
empfangen sein wird.
-
In 4 werden
die Pakete I0,0 und I2,1 nicht richtig
empfangen. Wenn wir annehmen, dass das Paket I3,1 das
gerade empfangene Paket ist, dann ist das Paket, auf das gezeigt
wird, I2,1, das auch das vorherige Paket
derselben virtuellen Schaltung VC-β ist. Da das Paket I2,1 und auch das Paket I0,0 noch nicht
richtig empfangen sind und dann nicht ausgegeben sind, wird das
Paket I3,1 zurückgehalten. Es wird ausgegeben
werden, wenn diese Pakete I0,0 und I2,0 nach einer erneuten Übertragung richtig empfangen sein
werden. Es ist zu beachten, dass der zweite Index nun Null und nicht
Eins ist.
-
Dasselbe gilt für die Pakete I3,1,
I4,1 und I5,3. Es
sollte beachtet werden, dass das Paket I5,3 zurückgehalten
wird, obwohl das Paket I0,0, das zur selben virtuellen
Schaltung VC-α gehört, ausgegeben
wird.
-
Der Vorteil der Erfindung besteht
darin, dass der zweite Index ein Einzel-Bit-Index sein kann. Wenn
er Null ist, wird auf kein Paket gezeigt. Wenn er Eins ist, wie
es oben erklärt
ist, stellt er notwendigerweise einen Wert a = 1 dar, und das Paket, auf das
gezeigt wird, hat eine Sequenznummer gleich i – 1, wobei i die Sequenznummer
des gerade empfangenen Pakets ist.
-
Gemäß einem weiteren Ausführungsbeispiel der
vorliegenden Erfindung hat der zweite Index j mehr als zwei spezifische
Werte. Eins bedeutet, dass auf kein Paket gezeigt wird. Ein weiterer
stellt einen Wert a dar, und die anderen, die Zwischenwerte, stellen
einen Wert dar, der zwischen 1 bis a – 1 liegt. Gemäß dem vorliegenden
Ausführungsbeispiel
muss der vorbestimmte Wert a entsprechend dem zweiten spezifischen
Wert gleich dem größten Wert
(a – 1) sein,
der durch die Zwischenwerte angenommen werden kann, plus 1.
-
Bei dem Beispiel der 4 kann der zweite Index Null, 1 bis 14
(a – 1
= 14) sein, und ein spezifischer Wert ist 15 (a = 15).
-
Null bedeutet, dass keine erneute
Sequenzbildung nötig
ist. Dies ist allgemein der Fall für das erste Paket einer virtuellen
Schaltung. Zwischenwerte lassen zu, das vorherige Paket derselben
virtuellen Schaltung zu bestimmen. Die Sequenznummer von diesem
vorherigen Paket ist die Differenz zwischen der Sequenznummer des
gerade empfangenen Pakets und dem zweiten Index (i – j).
-
Wenn ein Paket Ii,j gerade
empfangen ist, wird das vorherige Paket Ii–j,X bestimmt.
Wenn das vorherige Paket Ii–j,X bereits ausgegeben
ist, dann wird auch das gerade empfangene Paket Ii,j ausgegeben.
Wenn dies nicht der Fall ist, wird das Paket Ii,j zurückgehalten.
-
Der spezifische Wert hat dieselbe
Bedeutung wie für
das vorangehende Ausführungsbeispiel.
Er lässt
zu, ein Paket, auf das gezeigt wird, zu bestimmen, und das vorherige
Paket derselben virtuellen Schaltung ist dasjenige Paket, auf das
gezeigt wird, oder ein Paket vor dem Paket, auf das gezeigt wird. Wenn
ein Paket Ii,a gerade empfangen wird, wird
das vorherige Paket Ii–a,x bestimmt. Wenn alle
Pakete vor diesem Paket Ii–a,x auf das gezeigt
wird, bereits ausgegeben sind, dann wird auch das gerade empfangene
Paket Ii,a ausgegeben. Wenn dies nicht der
Fall ist, wird das Paket Ii,a zurückgehalten.
-
Ein Beispiel für ein solches Ausführungsbeispiel
wird nun unter Bezugnahme auf 5 beschrieben.
Bei diesem Beispiel ist das Paket I0,0 zweimal
nicht richtig empfangen. Dies ist auch der Fall für das Paket
I17,1. Beispielsweise zeigt das Paket I2,1 auf das vorherige Paket derselben virtuellen
Schaltung, d. h. das Paket I2–1,x = I1,0.
Ebenso zeigt das Paket I17,1 beispielsweise
auf das vorherige Paket derselben virtuellen Schaltung, d. h. das
Paket I17–1,x =
I16,1.
-
In 5 ist
angenommen, dass 15 der spezifische Wert ist, was bedeutet, dass
das vorherige Paket in derselben virtuellen Schaltung des Pakets, von
welchem der zweite Index 15 ist, das Paket ist, auf das gezeigt
wird, oder vor dem Paket ist, auf das gezeigt wird.
-
Wenn das Paket I18,15 richtig
empfangen wird, wird das Paket, auf das gezeigt wird, bestimmt.
Es ist das Paket I18–15,x = I3,1.
Das vorherige Paket in derselben virtuellen Schaltung des Pakets
I18,15 ist vor I3,1, da
es das Paket I0,0 ist. In dem in 5 dargestellten Fall wird
das Paket I18,15 ausgegeben, da dann, wenn es
empfangen wird, alle Pakete vor dem Paket I3,1, auf
das gezeigt wird, ausgegeben sind.
-
Ein Beispiel eines weiteren Ausführungsbeispiels
ist unter Bezugnahme auf Fig. 6 gezeigt.
-
Gemäß diesem Ausführungsbeispiel
kann der zweite Index mehr als zwei Werte haben. Der erste ist Null,
was bedeutet, dass keine erneute Sequenzbildung nötig ist.
Die anderen stellen unterschiedliche vorbestimmte Werte a1 bis an dar. Gemäß dem vorliegenden
Ausführungsbeispiel
muss der niedrigste vorbestimmte Wert gleich 1 sein. Wie oben bedeutet
der zweite Index, dass das vorherige Paket in derselben virtuellen
Schaltung eines betrachteten Pakets eine Sequenznummer hat, die
niedriger als die Sequenznummer eines Pakets ist, auf das gezeigt
wird, oder gleich dieser, welche Sequenznummer gleich der Differenz
zwischen der Sequenznummer des betrachteten Pakets und dem Wert
ist, der durch den zweiten Index dieses Pakets dargestellt wird.
Anders ausgedrückt
ist die Differenz zwischen der Sequenznummer des betrachteten Pakets
und des vorherigen Pakets in derselben virtuellen Schaltung größer als
der durch den zweiten Index dargestellte Wert oder gleich diesem.
-
Aber gemäß diesem Beispiel können mehr als
ein Wert verwendet werden.
-
In 6 kann
der zweite Index vier Werte annehmen. Der erste ist Null, was bedeutet,
dass keine erneute Sequenzbildung nötig ist. Der zweite bedeutet,
dass die Differenz zwischen den Sequenznummern des betrachteten
Pakets und des vorherigen Pakets in derselben virtuellen Schaltung
größer als
Eins oder gleich Eins ist. Der dritte bedeutet, dass die Differenz
größer oder
gleich 17 ist, und der vierte, dass die Differenz größer als
oder gleich 65 ist.
-
Es sollte beachtet werden, dass ein
solcher zweiter Index ein Zwei-Bit-Code sein kann.
-
In dieser 6 wird das Paket I1,0 ohne
eine Verzögerung
für eine
erneute Sequenzbildung ausgegeben, da sein zweiter Index Null ist.
Auch für
die Pakete I2,1 bis I15,1 stellt
ihr zweiter Index einen Wert 1 dar (es ist zu beachten, dass der
zweite Index und sein dargestellter Wert hier vertauscht sind).
Sie werden ohne irgendeine erneute Sequenzbildung ausgegeben, da
alle vorherigen Pakete ausgegeben worden sind. Das Paket I16,1 wird verloren und erneut übertragen,
und die Pakete I17,1 und I18,1,
die jeweils auf das Paket I16,1 und das
Paket I17,1 zeigen, werden durch den Empfänger zurückgehalten,
um auf den richtigen Empfang des erneut übertragenen Pakets I16,x zu warten.
-
In Bezug auf das Paket I19–17,x zeigt
es zu dem Paket I19–17,x = I2,1,
was bedeutet, dass das vorherige Paket in derselben virtuellen Schaltung
dasjenige Paket ist, auf das gezeigt wird, oder eines davor. In diesem
Fall ist es das Paket I2,1, auf das gezeigt
wird. Da dieses Paket I2,1, auf das gezeigt
wird, und alle Pakete davor (hier nur das Paket I1,0)
ausgegeben werden, wenn das Paket I19,2 empfangen
wird, wird das Paket I19,2 ausgegeben.
-
Die Pakete I20,1 bis
I23,1, einschließlich des Pakets I21,1 (das
nicht zur selben virtuellen Schaltung gehört), werden durch den Empfänger zurückgehalten,
um auf den richtigen Empfang des erneut übertragenen Pakets I16,x zu warten.
-
Das Paket I24,1 wird
ausgegeben, da alle vorherigen Pakete in der Sequenz ausgegeben
worden sind.
-
7 ist
ein weiteres Beispiel eines Ausführungsbeispiels
der Erfindung, welches die Ausführungsbeispiele
der 5 und dasjenige
der 6 kombiniert.
-
Bei einem solchen Ausführungsbeispiel
kann der zweite Index n Werte haben. Zuerst bedeutet beispielsweise
Null, dass keine erneute Sequenzbildung nötig ist. (n – m – 1) Werte
werden zum Zeigen auf das vorherige Paket in derselben virtuellen
Schaltung wie das betrachtete Paket verwendet. Jeder Wert stellt
die Differenz der Sequenznummern des betrachteten Pakets und des
vorherigen Pakets in derselben virtuellen Schaltung dar. Die letzten
m Werte stellen vorbestimmte Werte a1 bis
am dar, wobei die Differenz zwischen der
Sequenznummer des betrachteten Pakets und der Sequenznummer des
vorherigen Paktes in derselben virtuellen Schaltung größer als
der Wert ai ist, der durch den zweiten Index dargestellt
wird. Gemäß dem vorliegenden
Ausführungsbeispiel
muss der niedrigste vorbestimmte Wert a1 gleich
dem größten Wert
sein, der durch die Zwischenwerte angenommen werden kann, plus 1.
-
Gemäß dem in 7 gezeigten Beispiel kann der zweite
Index die folgenden Werte annehmen:
-
- – 0,
was bedeutet, dass keine erneute Sequenzbildung nötig ist,
- – 1
bis 12, was den Offset zum vorherigen Paket derselben virtuellen
Schaltung darstellt,
- – 13,
was bedeutet, dass die Differenz zwischen den Sequenznummern des
betrachteten Pakets und des vorherigen derselben virtuellen Schaltung
größer als 13
ist,
- – 14,
was bedeutet, dass die Differenz größer als 31 ist, und
- – 15,
was bedeutet, dass die Differenz größer als 63 ist.
-
Es sollte beachtet werden, dass diese
Werte 4-Bit-Werte sein können
und auf 7-Bit-Sequenznummern
angewendet werden können.
-
In 7 wird
das Paket I1,0 ausgegeben, da sein zweiter
Index Null ist. Die Pakete I2,1 bis I5,1 zeigen auf das direkt vorangehende Paket.
Da jedes vorangehende Paket ausgegeben worden ist, werden auch diese
Pakete I2,1 bis I15,1 ausgegeben.
Das Paket I16,1 ist verloren, und wird erneut übertragen
werden. Die Pakete I17,1 und I18,1 werden
zurückgehalten, da
das Paket I16,1 nicht richtig empfangen
worden ist.
-
Das vorherige Paket des Paketes I19,13 in derselben virtuellen Schaltung ist
das Paket I2,1. Der Offset der Sequenznummern
ist 17, was größer als
13, aber niedriger als 31 ist. Somit ist sein zweiter Index, der
auf der Emitterseite bzw. Senderseite zugeteilt ist, 13. Da auf
der Empfängerseite
alle Pakete (hier nur die Pakete I2,1 und
I1,0) vor dem Paket I2,1 (einschließlich dieses
Pakets) ausgegeben sind, wird auch das Paket I19,13 ausgegeben.
-
Das Paket I20,2 wird
zurückgehalten,
da das vorherige Paket I18,1 in derselben
virtuellen Schaltung zurückgehalten
worden ist.
-
Das Paket I21,2 wird
ausgegeben, da das Paket I19,x ausgegeben
worden ist. Die Pakete I22,2 und I23,1 werden aufgrund der erneuten Sequenzbildung zurückgehalten.
-
Wenn das Paket I16,0,
das erneut übertragen worden
ist, richtig empfangen ist, werden alle zurückgehaltenen Pakete, die entweder
direkt oder indirekt auf dieses zeigen, ausgegeben.
-
Das Paket I24,3 wird
ausgegeben, da das Paket I21,x, auf das
gezeigt wird, zuvor ausgegeben worden ist.