-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft das Gebiet der Telekommunikation.
Insbesondere beinhaltet die vorliegende Erfindung die Verwendung
einer Automatic Repeat Request (Automatischen Wiederholungsaufforderung;
ARQ) in drahtgestützten
und drahtlosen Telekommunikationssystemen und Datennetzen.
-
HINTERGRUND
-
Die
Automatic Repeat Request (ARQ) ist eine üblicherweise verwendete Technik
in Telekommunikationssystemen und Datennetzen. Sie wird verwendet,
um die zuverlässige
Lieferung von Protokolldateneinheiten (PDUs) von einer sendenden
Einheit (die hier als ein Sender bezeichnet wird) an eine empfangende
Einheit (die hier als ein Empfänger
bezeichnet wird) sicherzustellen. Im Allgemeinen verwendet die ARQ
Technik einen Fehlererfassungscode während der Datenübertragung.
Der Fehlererfassungscode erlaubt dem Empfänger zu bestimmen, ob eine
gegebene PDU richtig empfangen wurde. Die ARQ Technik verwendet
auch einen Rückkopplungsmechanismus,
den der Empfänger
verwendet, um den Sender darüber
zu informieren, dass eine PDU richtig empfangen wurde oder nicht.
Der Sender kann dann die PDU auf Grundlage der Rückkopplung, die von dem Empfänger bereitgestellt
wird, erneut übertragen.
-
Im
Allgemeinen gibt es drei hauptsächliche ARQ
Typen: Stopp-und-Warten (Stopp-and-Wait), N-zurück-Gehen
(Go-back-N), und Selektive-Wiederholung (Selective Repeat). In Übereinstimmung mit
der Stopp-and-Wait ARQ Technik sendet der Sender eine PDU an den
Empfänger
nicht, bis er eine positive Bestätigung
von dem Empfänger
darüber empfängt, dass
die vorangehende PDU empfangen worden ist. In Übereinstimmung mit der Go-back-N ARQ
Technik kann der Sender ein oder mehrere PDUs übertragen, bevor er eine positive
Bestätigung (Ack)
von dem Empfänger
bezüglich
vorangehender PDUs empfängt.
Wenn der Sender jedoch eine negative Bestätigung (Nack) von dem Empfänger empfängt, die
anzeigt, dass eine vorangehende PDU nicht empfangen wurde, dann überträgt der Sender die
fehlende oder unrichtig empfangene PDU, sowie sämtliche nachfolgenden PDUs,
unabhängig
davon, ob sie richtig empfangen wurden oder nicht, erneut. In Übereinstimmung
mit der Selective Repeat ARQ Technik stellt der Empfänger eine
Kombination von negativen Bestätigungen
und positiven Bestätigungen
bereit. Der Sender überträgt dann
diejenigen PDUs, die nicht empfangen wurden, erneut, aber der Sender überträgt nicht
erneut sämtliche
nachfolgenden PDUs, wie bei der Go-back-N ARQ Technik. Selbstverständlich gibt
es zahlreiche Varianten im Zusammenhang mit jedem der drei hauptsächlichen ARQ
Typen.
-
Normalerweise
werden PDUs von dem Sender an den Empfänger geliefert, ohne dass der
Verlust von diesen PDUs erlaubt wird. Der Grund dafür besteht
darin, dass herkömmliche
ARQ Techniken eine PDU neu übertragen,
bis sie an dem Empfänger erfolgreich
empfangen und an dem Sender erfolgreich bestätigt wird. Jedoch ist eine
unendliche erneute Übertragung
unrealistisch und unerwünscht. Demzufolge
ist es zeitweise vorteilhaft den Neuübertragungsprozess zu beenden
und die PDU zu verwerfen.
-
Der
Mechanismus, der verwendet wird, um PDUs zu verwerfen oder abzulösen, sollte
natürlich die
PDUs in einer zeitgerechten Weise verwerfen. Bei diesem Prozess
wird die Chance einer Übertragung
von überflüssigen Daten
minimiert. Beispielsweise gibt es zahlreiche Anwendungen, wie Echtzeit-Sprache
und Video-Anwendung, bei denen die Daten, die gerade übertragen
werden, nur für
eine sehr kurze Zeitperiode nützlich
sind. Darüber
hinaus sind die Daten überflüssig. Eine Übertragung
von derartigen Daten ist nicht nur unsinnig, sondern verschwendet
auch Netzressourcen und Bandbreite.
-
Der
Verwerfungsmechanismus, der verwendet wird, sollte PDUs auch in
einer effektiven Weise verwerfen, um Situationen, die zu einer Blockierung führen könnten, zu
vermeiden oder wenigstens zu minimieren. Zusätzlich sollte der Verwerfungsmechanismus
ein Verwerfungssignalisierungsverfahren bereitstellen, das einen
Schutz gegenüber
Aspekten wie einer PDU Identifikationsmehrdeutigkeit, einer Aufhebung
einer Zuordnung von Eingangspufferplatz an den Empfänger, bevor
eine entsprechende PDU tatsächlich
an dem Sender verworfen wird, oder dergleichen bereitstellt. Ferner
sollte der Verwerfungsmechanismus eine Vorgehensweise bereitstellen, um
dem Empfänger
zu informieren, wenn PDUs an dem Sender verworfen worden sind, sogar
dann, wenn keine Vorkehrungen in dem Protokoll für eine explizite Signalisierung
vorhanden sind.
-
Zusätzlich sollte
der Verwerfungsmechanismus die Segmentierung und den Neuzusammenbau von
Datenpaketen der oberen Schicht (upper Layer), wie beispielsweise
Internetprotokoll Datenpaketen, berücksichtigen, wobei eine Segmentierung
und ein Neuzusammenbau eine übliche
Technik ist, die beim Transportieren von Datenpaketen der oberen
Schicht verwendet wird. Zur Vereinfachung werden Datenpakete der
oberen Schicht hier einfach nachstehend als „Datenpakete" bezeichnet. Wenn
eine Segmentierung und ein Neuzusammenbau von Datenpaketen verwendet
wird, können
mehrere PDUs benötigt
werden, um die Daten, die zu einem einzelnen Datenpaket gehören, zu
transportieren. Demzufolge muss der Empfänger in der Lage sein unter
anderem die richtige Sequenz der PDUs zu bestimmen und das Datenpaket
zu bestimmen, zu dem PDU gehört.
Typischerweise wird dies erreicht durch Zuweisen einer Sequenznummer
an jede PDU, wobei Sequenznummern z.B. im Bereich von 0 bis 2k-1 in Übereinstimmung
mit einem Modulo 2 Format liegen können, wobei k die Anzahl von
Bits darstellt, die eine Sequenznummer umfasst, und durch Hinzufügen eines
Startbits und eines Stoppbits zu der ersten und letzten PDU, die
jeweils mit jedem Datenpaket assoziiert sind. Der Verwerfungsmechanismus
muss in der Lage sein zu erkennen, wenn eine PDU, die zu einem Datenpaket
gehört,
verworfen worden ist, und an dem Sender das gesamte Datenpaket,
die mit verworfener PDU assoziiert ist, zu verwerfen. Wenn der Empfänger bereits
irgendeine PDU empfangen hat, die zu diesem Datenpaket gehört, dann
muss der Verwerfungsmechanismus auch in der Lage sein den Empfänger darüber zu informieren,
auch diese PDUs zu verwerfen.
-
Selbstverständlich gibt
es eine Anzahl von bekannten Verwerfungsmechanismen für die ARQ Technik.
Ein derartiger Verwerfungsmechanismus umfasst ein vom Empfänger initiiertes
Verwerfungssignalisierungs-Verfahren. Jedoch ist diese Technik nicht übermäßig attraktiv,
besonders deshalb, weil der Sender und nicht der Empfänger in
einer besseren Position ist zu bestimmen, wie und wann die Neuübertragung
von PDUs und die Verwerfung von diesen zu stoppen ist.
-
In Übereinstimmung
mit einem anderen Verwerfungsmechanismus, der in der internationalen Veröffentlichungsnummer
WO 00/25470, „ARQ
Discard Capability" des
gleichen Anmelders beschrieben wird, wird ein einzelnes Bit, das
als das Empfangspaket-Erzwingungsbit (Receive Packet Enforcement
Bit; RPEB) bezeichnet wird, in dem Header Abschnitt von jeder PDU
verwendet wird, um den Empfänger
darüber
zu informieren, dass er einen Empfang von PDUs mit einer niedrigeren
Sequenznummer nicht erwarten sollte und, dass der Empfänger diese
PDU außerhalb
der Sequenz akzeptieren sollte. Obwohl diese Anmeldung in der Tat
zeigt, dass das RPEB auf die Selective Repeat ARQ Technik angewendet
werden könnte,
ist die Anmeldung vorwiegend auf eine Verwerfungssignalisierung
für eine ARQ
Technik des Go-back-N
Typs gerichtet.
-
In
der internationalen Veröffentlichungsnummer
WO 00/46948, „Prime
ARQ Control Flow Including Cell Discard" des gleichen Anmelders wird noch ein
anderer Verwerfungsmechanismus beschrieben. In dieser Anmeldung
ist der Verwerfungsmechanismus jedoch dafür ausgelegt, um in Verbindung
mit einem Prime-ARQ Verfahren, einer Variante der Go-back-N und
Selective Repeat ARQ Technik, verwendet zu werden.
-
Demzufolge
würde es
wünschenswert
sein einen Verwerfungsmechanismus bereitzustellen, der jede der
verschiedenen voranstehend beschriebenen Möglichkeiten bzw. Fähigkeiten
aufzeigt. Insbesondere würde
es wünschenswert
sein einen vom Sender initiierten Verwerfungsmechanismus bereitzustellen,
der spezifisch dafür
ausgelegt ist, um effizient und effektiv mit einer Selective Repeat
ARQ zu arbeiten.
-
US-A-5
754 754 (DUDLEY JOHN G. et al), 19. Mai 1998 (1998-05-19) bezieht
sich auf ein Fehlerwiederherstellungssystem und ein Verfahren zur Verwendung
in einem Datenkommunikationssystem, bei dem eine Senderstation Informationspakete
mit sequentiell nummerierter Information an eine Empfängerstation überträgt.
-
Die
US-A-5 610 595 (GARRABRANT GARY W. et al); 11. März 1997 (1997-03-11) bezieht
sich auf ein Verfahren und eine Vorrichtung zum Übertragen von Daten in einem
Paketfunkkommunikationssystem mit Datenquellen, Zielstellen und
Zwischen-Repeatern.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung beinhaltet die Verwendung von ARQ Techniken,
um zu der Sicherstellung der zuverlässigen Lieferung von Datenpaketen, die
nachstehend als Protokolldateneinheiten (Potocol Data Units; PDUs)
bezeichnet werden, von einem Sender an einen Empfänger beizutragen.
Insbesondere beinhaltet die vorliegende Erfindung eine Selective
Repeat ARQ Technik, die einen vom Sender initiierten PDU Verwerfungsmechanismus
verwendet, der in spezifischer Weise dafür ausgelegt ist, um in Verbindung
mit einer Selective Repeat ARQ Technik verwendet zu werden.
-
Demzufolge
ist es ein Ziel der vorliegenden Erfindung einen Verwerfungsmechanismus
für ein Selective
Repeat ARQ Verfahren bereitzustellen, die eine vom Sender initiierte
Signalisierung anstelle einer vom Empfänger initiierten Signalisierung
verwendet.
-
Es
ist ein anderes Ziel der vorliegenden Erfindung einen vom Sender
initiierten Verwerfungsmechanismus für ein Selective Repeat ARQ
Verfahren bereitzustellen, der die Segmentierung und den Neuzusammenbau
von Datenpaketen berücksichtigt.
-
Es
ist noch ein anderes Ziel der vorliegenden Erfindung einen vom Sender
initiierten Verwerfungsmechanismus für ein Selective Repeat ARQ
Verfahren bereitzustellen, sogar dann, wenn keine explizite Verwerfungssignalisierungsmöglichkeit
vorhanden ist.
-
Die
voranstehend identifizierten und andere Aufgaben werden durch Verfahren
zum Verwerfen von Dateneinheiten für ein Selective Repeat ARQ
gemäß der Ansprüche 1–5 erzielt.
-
KURZBESCHREIBUNG
DER FIGUREN
-
Die
Aufgaben und Vorteile der vorliegenden Erfindung lassen sich durch
Lesen der folgenden ausführlichen
Beschreibung im Zusammenhang mit den Zeichnungen verstehen. In den
Zeichnungen zeigen:
-
1A–B eine
erste beispielhafte Ausführungsform
der vorliegende Erfindung bzw. eine Alternative dazu, wobei synchronisierte
Timer verwendet werden, um eine PDU Verwerfung zu triggern;
-
2 eine
alternative Ausführungsform
der vorliegenden Erfindung, bei der ein einzelner Timer an dem Sender
und ein einzelner Timer an dem Empfänger verwendet wird, um eine
PDU Verwerfung zu triggern;
-
3A–3D eine
zweite beispielhafte Ausführungsform
der vorliegenden Erfindung, wobei ein „Fenster-gestützter" Verwerfungsmechanismus verwendet
wird;
-
4 eine
dritte beispielhafte Ausführungsform
der vorliegenden Erfindung, wobei ein Verwerfungsbit in dem Header
von jeder PDU für
Verwerfungssignalisierungszwecke verwendet werden kann;
-
5 eine
vierte beispielhafte Ausführungsform
der vorliegenden Erfindung, wobei ein Verwerfungsbit in dem Header
von jeder PDU, die zu dem ersten Datenpaket gehört, welches verworfen noch vollständig bestätigt worden
ist, für
Verwerfungssignalisierungszwecke verwendet werden kann; und
-
6 eine
andere alternative Ausführungsform
der vorliegenden Erfindung, bei der der Sender in seinem Puffer
nicht eine erste PDU mit einem nicht-vollständig bestätigtem Datenpaket halten muss.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung beinhaltet ein Selective Repeat ARQ (eine
ARQ mit einer automatischen Wiederholung), und insbesondere Verwerfungsmechanismen,
die damit verwendet werden sollen. Bei der Selective Repeat ARQ
Technik stellt eine empfangende Einheit (die nachstehend als der Empfänger bezeichnet
wird) kumulative Bestätigungssignale,
selektive negative Bestätigungssignale,
und selektive positive Bestätigungssignale
für eine
sendende Einheit (die nachstehend als der Sender bezeichnet wird)
bereit. Das selektive negative Bestätigungssignal informiert den
Sender darüber, dass
an dem Empfänger
eine bestimmte PDU nicht empfangen worden ist. Das selektive positive
Bestätigungssignal
informiert den Sender darüber,
dass eine bestimmte PDU empfangen worden ist. Das kumulative Bestätigungssignal
informiert den Sender darüber,
dass sämtliche
PDUs bis zu und einschließlich
derjenigen mit der Sequenznummer, die in dem kumulativen Bestätigungssignal
identifiziert wird, von dem Empfänger
empfangen oder verworfen worden sind. Der Absender kann dann auf
Grundlage des kumulativen Bestätigungssignals
und selektiven positiven Bestätigungssignals
bestimmen, welche PDUs von seinem Puffer freizugeben sind. Im Gegensatz dazu
kann der Sender bestimmen, welche PDUs neu zu übertragen sind, und zwar auf
Grundlage des selektiven negativen Bestätigungssignals.
-
Im
Allgemeinen verwenden Selective Repeat ARQ Techniken ein „Übertragungsfenster" an dem Sender und
ein „Empfangsfenster" an dem Empfänger, wobei
ein Fenster ein Intervall von PDU Sequenznummern darstellt, die
entweder für
eine Übertragung
oder einen Empfang verfügbar
sind. Um jedoch Mehrdeutigkeiten hinsichtlich einer PDU Identifikation
zu vermeiden, was sich ergeben könnte, wenn
zwei PDUs mit der gleichen Sequenznummer in dem PDU Header übertragen
werden, sei darauf hingewiesen, dass die maximale Fenstergröße 2k-1 ist, wobei jede Sequenznummer eine Anzahl
k von Bits umfasst.
-
In Übereinstimmung
mit einer beispielhaften Ausführungsform
der vorliegenden Erfindung werden synchronisierte Trigger in der
Form von Timern an dem Sender und an dem Empfänger für den Zweck einer Bestimmung,
welche PDUs zu verwerfen sind, verwendet, wobei garantiert wird,
dass die Triggerung an dem Sender auftritt vor der Triggerung an dem
Empfänger
für eine
gegebene PDU. Weil der Verwerfungsmechanismus in dieser ersten beispielhaften
Ausführungsform
sich auf synchronisierte Timingtrigger stützt, wird eine explizite Signalisierung, um
den Empfänger
darüber
zu informieren, wann der Sender ein oder mehrere PDUs verworfen
hat, nicht benötigt,
wodurch Netzressourcen und Bandbreite eingespart wird.
-
Wie
angegeben nehmen die synchronisierten Trigger die Form von Timern
an, in Übereinstimmung
mit dieser ersten beispielhaften Ausführungsform, wobei ein Timer
an dem Sender das Messen einer Zeitperiode TS beginnt,
wenn eine PDU zuerst von dem Sender an den Empfänger übertragen wird. Im Allgemeinen
verwirft der Sender die PDU, wenn der Sender nach dem Ablauf der
Zeitperiode TS eine Bestätigung von dem Empfänger darüber, dass
die PDU richtig an den Empfänger
geliefert und dort richtig empfangen worden ist, nicht empfängt. Wenn
an dem Empfänger
eine PDU mit der Sequenznummer S empfangen wird und wenigstens eine
fehlende PDU mit einer Sequenznummer niedriger als S vorhanden ist,
dann beginnt ein Timer eine Zeitperiode TR zu
messen, die wenigstens solang wie die Zeitperiode TS ist.
Wenn die Zeitperiode TR abläuft und
noch fehlende PDUs vorhanden sind, die eine Sequenznummer niedriger
als die Sequenznummer S aufweisen, dann führt der Empfänger einen
Betrieb aus, der hier als ein Lösch(S)
Betrieb bezeichnet wird.
-
Während eines
Löschen(S)
Betriebs werden PDUs, die richtig empfangen worden sind, im Allgemeinen
an eine obere Netzschicht geliefert. Jedoch werden sämtlichen
fehlenden PDUs mit einer Sequenznummer niedriger als S freigegeben,
wobei darauf hingewiesen wird, dass sich eine Freigabe einer PDU
an dem Empfänger
auf eine Aufhebung einer Zuordnung des Eingangpuffersatzes im Zusammenhang
mit dieser PDU bezieht, wodurch Platz verfügbar für andere PDUs geschaffen wird.
Zusätzlich werden
sämtliche
der fehlenden PDUs von dem Empfänger
bestätigt,
da der Empfänger
nicht mehr erwartet sie zu empfangen. Wenn eine Segmentierung und
ein Neuzusammenbau der Datenpakete verwendet wird, beinhaltet der
Löschen(S)
Betrieb eine Verwerfung von PDUs, die empfangen worden sind, wobei
die PDUs eine Sequenznummer kleiner als S aufweisen und zu nicht-vollständig empfangenen
Datenpaketen gehören.
-
1A ist
eine Zeitlinie von Ereignissen, um den Verwerfungsmechanismus dieser
ersten beispielhaften Ausführungsform
der vorliegenden Erfindung näher
zu illustrieren. Wie dargestellt stellt die vertikale Linie ganz
links eine Zeitlinie von Ereignissen dar, die an dem Sender auftreten,
während
die vertikale Linie ganz rechts eine Zeitlinie von Ereignissen darstellt,
die an dem Empfänger
auftreten. Ferner stellen die Pfeile, die von dem Empfänger stammen,
ARQ Nachrichten dar, die zurück
an den Sender gesendet werden, während
die Pfeile, die von dem Sender stammen PDUs darstellen, die an den Empfänger übertragen
oder erneut übertragen
werden.
-
Wie
in 1A gezeigt, sendet der Sender anfänglich eine
erste PDU S1. Gleichzeitig mit der Übertragung von S1 startet der
Sender einen Timer zur Messung einer Zeitperiode TS.
Der Sender überträgt dann
eine zweite PDU S2. Während
der Sender die Messung einer neuen Zeitperiode beginnt, die der Übertragung
von S2 entspricht, ist eine derartige Anzeige in 1A zur Übersichtlichkeit
weggelassen.
-
Wie
mit der Bezeichnung „x" angedeutet wird weder
S1 noch S2 erfolgreich in dem Eingangspuffer des Empfängers empfangen.
Deshalb informiert die ARQ Nachricht, die an den Absender zurück übertragen
wird, den Absender darüber,
dass S1 und S2 nicht erfolgreich empfangen wurden, wie mit ARQ (Nack
S1, S2) dargestellt ist. Demzufolge überträgt der Absender S1 und S2 erneut,
wie gezeigt. Bei der erneuten Übertragung
von S1 und S2 wird nur S2 erfolgreich empfangen. Weil eine fehlende
PDU (d.h. S1) mit einer niedrigeren Sequenznummer als S2 fehlt,
als S2 empfangen wurde, beginnt der Empfänger eine Zeitperiode TR zu messen. Der Empfänger überträgt dann eine andere ARQ Nachricht
zurück
an den Sender (Absender), die den Absender darüber informiert, dass S1 nicht
erfolgreich empfangen wurde und dass S2 erfolgreich empfangen wurde,
wie mit ARQ (Nack S1, Ack S2) dargestellt ist. Bevor der Absender
S1 erneut übertragen
kann, läuft
die Zeitperiode TS ab.
-
Der
Ablauf der Zeitperiode TS ist der Trigger, der
wiederum den Absender veranlasst nun S1 zu verwerfen anstelle S1
erneut zu übertragen,
wie in 1A dargestellt. Der Sender überträgt dann
S3 und S4. Auf einen Empfang von S4 hin überträgt der Empfänger eine andere ARQ Nachricht,
ARQ (Nack S1, S3; Ack S2, S4), die den Absender darüber informiert,
dass der Empfänger
S1 (die bereits von dem Sender verworfen worden ist) noch nicht
empfangen hat und dass der Empfänger
S3 noch nicht empfangen hat. Gleichzeitig informiert die ARQ Nachricht den
Absender auch darüber,
dass der Empfänger
in der Tat S2 und S4 erfolgreich empfangen hat. Der Absender antwortet
darauf durch erneutes Übertragen
von S3, wie angezeigt.
-
Bevor
S3 erfolgreich empfangen wird läuft
jedoch die Zeitperiode TR ab, was den Empfänger veranlasst
einen Löschen(2)
Betrieb auszuführen.
Demzufolge werden sämtliche
fehlenden PDUs mit einer Sequenznummer niedriger als S2 (d.h. S1)
an dem Empfänger
freigegeben. Ferner überträgt der Empfänger noch
eine andere ARQ Nachricht zurück
an den Absender, die den Absender darüber informiert, dass der Empfänger S1,
S2, S3 und S4 bestätigt
hat.
-
1B zeigt
eine Zeitlinie von Ereignissen, um einen Verwerfungsmechanismus ähnlich zu
dem in 1A dargestellten Verwerfungsmechanismus darzustellen,
aber für
den Verwerfungsmechanismus in 1B unter
Berücksichtigung
der Segmentierung und des erneuten Zusammensetzens von Datenpaketen.
-
In
dem in 1B dargestellten Beispiel besteht
jedes Datenpaket aus drei PDUs, z.B. besteht ein erstes Datenpaket
aus PDU S1, PDU S2 und PDU S3, die hier als S1, S2 und S3 bezeichnet
werden, wobei die linken und rechten Klammern die erste und letzte
PDU jeweils eines gegebenen Datenpakets anzeigen. Es sei jedoch
darauf hingewiesen, dass die Datenpakete aus mehr oder weniger als
drei PDUs bestehen können.
Ferner sei darauf hingewiesen, dass nur ein Timer an dem Sender
für jedes
Datenpaket aufrechterhalten werden muss.
-
Wie
in 1B dargestellt überträgt der Absender anfänglich die
drei PDUs, die zu dem ersten Datenpaket S1, S2 und S3 gehören. In Übereinstimmung
mit diesem alternativen Verwerfungsmechanismus initiiert der Absender
einen Timer, um eine Zeitperiode TS, gleichzeitig
zu der Übertragung
der ersten PDU in jedem Datenpaket (d.h. gleichzeitig zu der Übertragung
von S1) zu messen. In diesem Beispiel empfängt der Empfänger richtig
nur S1 und S3, aber nicht S2, wie mit der Bezeichnung „x" angedeutet. Wie
in der ersten voranstehend beschriebenen beispielhaften Ausführungsform
initiiert der Empfänger einen
Timer, um eine Zeitperiode TR3 zu messen,
seitdem er eine PDU (d.h. S3) empfangen hat, wenn wenigstens eine
fehlende PDU mit einer niedrigeren Sequenznummer (d.h. S2) vorhanden
war. Der Empfänger
sendet nun eine ARQ Nachricht zurück an den Absender, wobei der
Absender darüber
informiert wird, dass er S1 und S3 erfolgreich empfangen hat, aber
nicht S2. Zu ungefähr
der gleichen Zeit überträgt der Absender
das nächste
Datenpaket, das aus S4, S5 und S6 besteht, wie dargestellt.
-
Auf
einen Empfang S4 hin beginnt der Empfänger eine andere Zeitperiode
TR4 zu messen, weil S2 mit einer niedrigeren
Sequenznummer als S4 noch fehlt. Obwohl dies nicht dargestellt ist,
würde der
Empfänger
gleichermaßen
Timer auf einen Empfang von S5 und S6 hin initiieren. Zu ungefähr der gleichen
Zeit empfängt
der Empfänger
erfolgreich S4, S5 und S6, und der Sender empfängt tatsächlich die ARQ Nachricht, die
die Benachrichtigung enthält, dass
der Empfänger
niemals S2 empfangen hat. Somit überträgt der Sender
(Absender) S2 erneut, zusammen mit den ersten zwei PDUs, S7 und
S8, die zu dem nächsten
Datenpaket gehören.
-
Zu
ungefähr
der gleichen Zeit überträgt der Sender
S2 erneut, der Empfänger
sendet eine andere ARQ Nachricht zurück an den Absender, die den Absender
darüber
informiert, dass der Empfänger
S1 und S3–S6
erfolgreich empfangen hat, und dass er noch S2 empfangen muss. Zu
ungefähr
der gleichen Zeit, zu der der Sender tatsächlich diese ARQ Nachricht
empfängt,
läuft die
Zeitperiode TS ab. Da S2 an diesem Punkt
nicht bestätigt
worden ist, verwirft der Sender nicht nur S2, sondern sämtliche
anderen PDUs, die zu dem ersten Datenpaket gehören (d.h. S1 und S3). Weil
der Sender S1, S2 und S3 verwirft, rückt das Übertragungsfenster vor. Demzufolge überträgt der Sender
nun PDUs, wie S9, S10 und S11, wobei S10 die erste PDU noch eines
anderen Datenpakets ist.
-
Zu
ungefähr
der Zeit, zu der der Sender S9 überträgt, überträgt der Empfänger, der
nicht weiß, dass
der Sender S1, S2 und S3 verworfen hat, eine andere ARQ Nachricht
zurück
an den Absender, die den Absender darüber informiert, dass der Empfänger niemals
S2 oder S8 empfangen hat. Zusätzlich informiert
die ARQ Nachricht den Absender, dass S1 und S3–S7 erfolgreich empfangen wurden.
Kurz danach läuft
die Zeitperiode TR3 ab, wie angedeutet.
Infolgedessen wird an dem Empfänger
ein Löschen(3) Betrieb
ausgeführt.
In Übereinstimmung
mit dem Löschen(3)
Betrieb wird der Pufferraum an dem Empfänger, der für irgendwelche fehlenden PDUs
mit einer Sequenznummer niedriger als S3 zugewiesen ist, freigegeben.
Irgendwelche PDUs, die zu einem vorangehenden, unvollständigen Datenpaket
gehören,
werden verworfen, wenn sie empfangen oder freigegeben sind. In dem
gegenwärtigen
Fall führt
der Löschen(3)
Betrieb zu der Verwerfung von S1 und der Freigabe des Pufferraums,
der für
S2 zugewiesen wurde. Kurz danach läuft die Zeitperiode TR4 ab, wie dargestellt, sodass ein Löschen(4)
Betrieb an dem Empfänger
ausgeführt
wird. Dies führt
zu der Verwerfung von S3, da S3 empfangen wurde und zu einem vorangehenden
und unvollständigem
Datenpaket gehört.
Wiederum rückt
das Empfängerfenster infolgedessen
vor.
-
Es
sei darauf hingewiesen, dass in einer bevorzugten Ausführungsform
der vorliegenden Erfindung das Übertragungsfenster
und das Empfangsfenster auf einer PDU-für-PDU Basis vorgerückt werden.
Wenn somit beispielsweise eine PDU am untersten Ende des Übertragungsfensters
verworfen wir, rückt
das Übertragungsfenster
durch eine PDU vor. Wie Durchschnittsfachleute in dem technischen Gebiet
erkennen werden, könnte
das Übertragungsfenster
und das Empfangsfenster jedoch auf einer Datenpaket-für-Datenpaket Basis
vorgerückt
werden. In Übereinstimmung
mit diesem alternativen Ansatz könnte
unter Umständen
eine PDU an dem untersten Ende des Übertragungsfensters verworfen werden,
aber das Übertragungsfenster
nicht vorgerückt
werden, bis sämtliche
PDUs, die zu dem entsprechenden Datenpaket gehören, verworfen sind. Natürlich würde sich
das Fenster um die Anzahl von PDUs in dem entsprechenden Datenpaket
vorrücken.
-
In Übereinstimmung
mit einem alternativen anderen Verwerfungsmechanismus wird nur ein
einzelner Timer an dem Absender verwendet und ein einzelner Timer
an dem Empfänger.
Um jedoch Synchronisationsprobleme zu vermeiden darf die Zeitkonstante
in Verbindung mit dem einzelnen Timer an dem Empfänger nicht
kleiner als die Zeitkonstante in Verbindung mit dem einzelnen Timer
an dem Absender sein. Demzufolge könnte der Empfänger unter Umständen eine
gegebene PDU verwerfen (d.h. die Zuordnung des Pufferraums, der
für die
PDU reserviert wurde, aufheben), bevor der Absender tatsächlich die
PDU verworfen hat. Um die Erläuterung
dieses alternativen Verwerfungsmechanismus zu vermeiden wird dem
einzelnen Timer an dem Absender und dem einzelnen Timer an dem Empfänger die
gleiche Zeitkonstante gegeben.
-
Zusätzlich zu
der Aufrechterhaltung eines einzelnen Timers an dem Absender und
eines einzelnen Timers an dem Empfänger hält der Absender in Übereinstimmung
mit dieser Alternative eine Variable HSS aufrecht, wobei der Wert
von HSS die höchste Sequenznummer
in Verbindung mit einer bis hierhin übertragenen PDU darstellt,
und wobei der Wert von HSS einmal während jeder Zeitperiode in
Verbindung mit dem einzelnen Timer an dem Absender, vorzugsweise
zu Beginn jeder Zeitperiode, aktualisiert wird. Wie voranstehend
erläutert
kann der Bereich der Sequenznummern von 0 bis 2k-1,
in Übereinstimmung mit
dem Modulo 2 Format liegen, wobei k die Anzahl von Bits darstellt,
die eine Sequenznummer bilden. Deshalb sei darauf hingewiesen, dass
der Wortlaut „höchste Sequenznummer" nicht notwendigerweise der
größte Sequenznummernwert
ist, sondern im Hinblick auf das Modulo 2 Format interpretiert werden
sollte. Der Empfänger
führt andererseits
zwei derartige Variablen HSR1 und HSR2, wobei der Wert von HSR1
die höchste
Sequenznummer von irgendeiner von dem Empfänger an dem Beginn des gegenwärtigen Zyklus
des Timers in Verbindung mit dem Empfänger empfangenen PDU ist, während der Wert
von HSR2 die höchste
Sequenznummer von irgendeiner PDU darstellt, die von dem Empfänger zu Beginn
des voranstehenden Zyklus des Timers in Verbindung mit dem Empfänger empfangen
wird.
-
Im
Allgemeinen arbeitet dieser zweite alternative Verwerfungsmechanismus
wie folgt. Wenn der Timer in Verbindung mit dem Sender seinen gegenwärtigen Zyklus
beginnt, löscht
der Absender aus seinem Puffer sämtliche
PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert
der variablen HSS. Deshalb aktualisiert der Absender den Wert HSS,
wie voranstehend beschrieben. Somit werden sämtliche PDUs, die gesendet
worden sind, aber nach wenigstens einem vollen Zyklus nicht bestätigt worden
sind, verworfen. Wenn im Gegensatz dazu der Timer in Verbindung
mit dem Empfänger
seinen gegenwärtigen
Zyklus beginnt, löscht
der Empfänger sämtliche
PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert
der Variablen HSR2. Danach aktualisiert der Empfänger den Wert von HSR2 mit
dem gegenwärtigen
Wert von HSR1 und er aktualisiert den Wert von HSR1 mit der gegenwärtigen höchsten Sequenznummer
von irgendeiner empfangenen PDU. Demzufolge löscht der Empfänger nur PDUs
mit Sequenznummern kleiner als die höchste Sequenznummer von irgendeiner
PDU, die an den Empfänger
zu dem Beginn des voranstehenden Zyklus gesendet wurde, wodurch
verhindert wird, dass der Empfänger
unbeabsichtigt irgendwelche PDUs verwirft, die der Sender noch versucht
zu übertragen oder
erneut zu übertragen.
-
2 zeigt
mit näheren
Einzelheiten diesen alternativen Verwerfungsmechanismus, wobei die vertikale
Achse die Sequenznummern der PDUs darstellt, die gerade von dem
Absender an den Empfänger übertragen
werden, und wobei die horizontale Achse den Zeitablauf darstellt.
Die Zeitperiode zwischen einer „gestrichelten" vertikalen Linie
stellt einen vollständigen
Zyklus in Verbindung mit dem einzelnen Timer an dem Absender dar,
während
die Zeitperiode zwischen jeder „gepunkteten" vertikalen Linie
einen vollständigen
Zyklus in Verbindung mit dem einzelnen Timer an dem Empfänger darstellt. Demzufolge
stellt der „gestrichelte" Graph die höchste Sequenznummer
von irgendwelchen PDUs an dem Absender dar, während der „gepunktete" Graph die höchste Sequenznummer
von irgendeiner PDU an dem Empfänger
darstellt.
-
Wie
in 2 dargestellt setzt der Empfänger, zu Beginn seines ersten
Zyklus, der zur Zeit S1 auftritt, die Variable HSS gleich zu dem
Wert der höchsten
Sequenznummer an dem Absender. In dem in 2 dargestellten
Beispiel ist die höchste
Sequenznummer an dem Absender zur Zeit S1„A". Der Empfänger setzt, zu Beginn seines
ersten Zyklus, der zurzeit R1 auftritt, die Variable HSR1 gleich
zu dem Wert der höchsten
Sequenznummer an dem Empfänger. In
dem Beispiel der 2 ist die höchste Sequenznummer an dem
Empfänger
zur Zeit R1„a". Dann wirft der
Absender, zu Beginn des zweiten Sendezyklus, der zur Zeit S2 auftritt,
sämtliche
PDUs mit einer Sequenznummer kleiner als der Wert von „A". Diese Sequenznummern
werden graphisch durch die „schattierte" Linie dargestellt,
die über
dem unteren Abschnitt der „gestrichelten" vertikalen Linie
zur Zeit S2 liegt. Danach aktualisiert der Absender die Variable
HSS mit der gegenwärtigen
höchsten
Sequenznummer an dem Absender. In dem Beispiel der 2 ist
dieser Wert „B". Zu Beginn des zweiten
Empfangszyklus, der zur Zeit R2 auftritt, setzt der Empfänger die
Variabel HSR2 gleich zu „a", der der gegenwärtige von
HSR1 ist. Der Empfänger
aktualisiert dann den Wert von HSR1 auf gleich zu dem Wert der höchsten Sequenznummer
an dem Empfänger
zur Zeit R1, was in 2 mit „b" gezeigt ist.
-
Zu
Beginn des dritten Sendezyklus, der zur Zeit S3 auftritt, verwirft
der Absender sämtliche
PDUs mit einer Sequenznummer kleiner als der gegenwärtige Wert
von HSS. Im Beispiel der 2 ist der gegenwärtige Wert
von HSS an diesem Punkt „B". Die Sequenznummern
kleiner als „B" werden mit der „schattierten" Linie dargestellt,
die über
den unteren Abschnitt der „gestrichelten" vertikalen Linie
zur Zeit S3 liegt. Danach aktualisiert der Absender den Wert der
Variablen HSS mit dem Wert der höchsten
Sequenznummer an dem Absender zur Zeit S3. Zu Beginn des dritten
Empfangszyklus, der zur Zeit R3 auftritt, verwirft der Empfänger sämtliche
PDUs mit einer Sequenznummer kleiner als „a", dem gegenwärtigen Wert von HSR2. Die Sequenznummer
kleiner als „a" werden mit der „schattierten" vertikalen Linie
dargestellt, die über
dem unteren Abschnitt der „gepunkteten" vertikalen Linie
zur Zeit R3 liegt. Danach setzt der Empfänger die Variable HSR2 gleich
zu „b", dem gegenwärtigen Wert
von HSR1. Dann setzt der Empfänger
die Variable HSR1 gleich zu „c", der höchsten Sequenznummer
an dem Empfänger
zur Zeit R3.
-
Aus 2 lässt sich
entnehmen, dass sich die voranstehend beschriebene Prozedur selbst
kontinuierlich wiederholt. Ferner lässt sich entnehmen, dass die
voranstehend beschriebene Prozedur sogar dann angewendet werden
könnte,
wenn eine Segmentierung und eine Neuzusammensetzung von Datenpaketen
verwendet wird. In diesem Fall würde
der Absender vollständige
Datenpakete verwerfen, die PDUs mit einer Sequenznummer enthalten,
die kleiner als der Wert von HSS ist, während der Empfänger gesamte
Datenpakete verwerfen würde,
die PDUs mit Sequenznummern enthalten, die kleiner als der Wert
von HSR2 sind.
-
In Übereinstimmung
mit einer zweiten beispielhaften Ausführungsform der vorliegenden
Erfindung wird ein „Fenster-gestützter" Ansatz verwendet, um
eine Verwerfungs-Signalisierung zu vereinfachen. Ferner wird in Übereinstimmung
mit dieser zweiten beispielhaften Ausführungsform ein Übertragungsfenster
an dem Absender definiert, wobei die Größe des Übertragungsfensters K Sequenznummern
in der Länge
ist, und wobei die erste Sequenznummer in dem Übertragungsfenster zu der PDU
gehört,
die die niedrigste Sequenznummer von irgendwelchen PDUs an dem Absender
aufweist, die nicht bestätigt
wurden (d.h. der Absender hat noch nicht eine Bestätigung empfangen,
dass die PDU erfolgreich empfangen worden ist) und die nicht verworfen werden.
Noch weiter in Übereinstimmung
mit dieser zweiten beispielhaften Ausführungsform sind nur PDUs mit
einer Sequenznummer, die in das Übertragungsfenster
fällt,
für eine Übertragung
geeignet. Zusätzlich
wird ein Empfangsfenster an dem Empfänger definiert, wobei die Größe des Empfangsfensters ebenfalls
K Sequenznummern in der Länge
ist.
-
Der
Wert von K muss kleiner als die maximale Fenstergröße von 2k-1 sein. Ferner kann der Wert von K vordefiniert
sein oder er kann beim Starten verhandelt werden. Es ist auch möglich, dass
sich der Wert von K während
der Übertragung
dynamisch ändert.
Durchschnittfachleute in dem technischen Gebiet werden leicht erkennen,
dass die Größe des Puffers
an dem Absender und die Größe des Eingangspuffers
an dem Empfänger
in der Lage sein sollten, wenigstens K PDUs aufzunehmen.
-
Die
Technik in Verbindung mit der zweiten beispielhaften Ausführungsform
arbeitet wie folgt. Der Absender überträgt nur PDUs, die eine Sequenznummer
aufweisen, die in das Übertragungsfenster fällt, wie
angegeben. Wenn jedoch der Sender PDUs verwirft, wird das Übertragungsfenster
vorgeschoben, sodass PDUs mit höheren
Sequenznummern in das Fenster fallen und für eine Übertragung geeignet werden.
Eine Verschiebung des Übertragungsfensters
wird nur soweit zugelassen, dass der obere Teil des Fensters nicht
die Sequenznummer entsprechend zu dem kumulativen Bestätigungspunkt
plus der maximalen Fenstergröße (C +
2k-1) überschreitet, um
so Sequenznummern-Mehrdeutigkeiten zu vermeiden. Wenn ein Empfänger eine
PDU empfängt, deren
Sequenznummer größer als
das Empfangsfenster ist, zum Beispiel eine PDU mit einer Sequenznummer
S, dann führt
der Empfänger
einen Löschen(S – K + 1)
Betrieb aus. In Übereinstimmung
mit dem Löschen(S – K + 1)
Betrieb gibt der Empfänger den
Eingangspufferraum frei, der allen fehlenden PDUs zugewiesen ist,
die eine Sequenznummer kleiner als oder gleich wie die Sequenznummer
S – K aufweisen.
Wenn eine Segmentierung und eine Neuzusammensetzung von Datenpaketen
verwendet wird könnte
der Löschen(S – K + 1)
Betrieb unter Umständen
auch eine Verwerfung von sämtlichen
PDUs mit sich bringen, die eine Sequenznummer kleiner als oder gleich
wie S – K
aufweisen, die zu unvollständigen
Datenpaketen gehören,
obwohl die PDUs selbst richtig empfangen worden sind. Der Empfänger kann diese
PDUs freigeben oder verwerfen, weil PDUs mit einer Sequenznummer
kleiner als oder gleich wie die Sequenznummer S – K wirklich nicht mehr in
dem Übertragungsfenster
sein können,
sodass dann, wenn sie nicht empfangen worden sind, der Empfänger nicht
erwarten kann sie zu empfangen.
-
Die 3A–3E illustrieren
die Technik in Verbindung mit der zweiten beispielhaften Ausführungsform.
In den 3A–3E stellt
der Bogen entsprechend zu einem keilförmigen Abschnitt des Kreises
das Übertragungsfenster
an dem Absender dar, während
der Bogen außerhalb
des Kreises das Empfangsfenster an dem Empfänger darstellt. Wie gezeigt überspannt
das Übertragungsfenster
einen Abschnitt des Kreises von einem Punkt, der mit BM markiert
ist, bis zu einem Punkt, der mit TP markiert ist, wobei BM die niedrigste
Sequenznummer unten an dem Übertragungsfenster
darstellt und TP die höchste
Sequenznummer oben an dem Übertragungsfenster
darstellt. Auch gezeigt ist ein Punkt CA und ein Punkt CP. Der Punkt
CA stellt den kumulativen Bestätigungspunkt
dar, bei dem sämtliche
PDUs mit einer Sequenznummer kleiner als oder gleich wie die Sequenznummer
entsprechend zu CA als von dem Empfänger erfolgreich empfangen
oder verworfen bestätigt
worden sind. Der CP Punkt stellt den gegenwärtigen Zeiger oder die Sequenznummer
entsprechend zu der nächsten
neuen PDU, die von dem Absender an den Empfänger übertragen werden soll, dar.
Zusätzlich
zeigen die 3A–3E eine
Anzahl von nicht markierten Punkten entlang des Bogens entsprechend
zu dem Übertragungsfenster
zwischen BM und CP. Diese nicht markierten Punkte stellen PDUs dar,
die übertragen
worden sind, die aber noch nicht als erfolgreich empfangen bestätigt worden
sind.
-
Insbesondere
zeigt 3A eine anfängliche Situation, bei der
ein Empfangsfenster in Bezug auf das Übertragungsfenster voraus oder
vor diesem ist. Der Grund, warum das Empfangsfenster vor dem Übertragungsfenster
ist, besteht darin, dass oft ARQ Nachrichten, die ein oder mehrere
PDUs bestätigen, noch
nicht an dem Absender empfangen worden sind. Schließlich werden
diese ARQ Nachrichten empfangen und an dem Absender verarbeitet,
wodurch zu dem CA Punkt und demzufolge dem Übertragungsfenster, wie in 3B dargestellt,
vorgerückt
wird. In der Tat könnte
der Absender mit der Versendung von PDUs bis zu und einschließlich der PDU
mit der höchsten
möglichen
Sequenznummer in dem Übertragungsfenster
weiter machen. Diese Situation ist in 3C dargestellt,
bei der der Punkt CP tatsächlich
mit dem Punkt TP übereinstimmt.
Der Absender wird an diesem Punkt angehalten. Das heißt, er kann
nicht irgendwelche neuen PDUs übertragen, bis
das Übertragungsfenster
vorrückt.
Natürlich
kann der Absender eine erneute Übertragung
von PDUs fortsetzen, die nicht bestätigt worden sind und deren Sequenznummer
in das Übertragungsfenster
fallen.
-
Um
ein Anhalten über
eine signifikante Zeitlänge
zu vermeiden kann der Absender entscheiden ein oder mehrere PDUs
an dem unteren Ende des Übertragungsfensters
zu verwerfen, wie in 3D dargestellt. Die Entscheidung
dies zu tun kann z.B. auf die Tatsache gestützt werden, dass der Sender die
eine oder mehreren PDUs eine bestimmte Anzahl von Malen erneut übertragen
hat, oder die Entscheidung kann auf den Ablauf einer Zeitperiode
in Verbindung mit der einen oder den mehreren PDUs gestützt werden. 3D zeigt
auch, dass durch Verwerfen der einen oder der mehreren PDUs an dem
unteren Ende des Übertragungsfensters
das Übertragungsfenster
vorrücken
kann. Dadurch fallen neue PDUs in das Übertragungsfenster, sodass
der Sender nicht länger
unterbrochen ist.
-
An
diesem Punkt hängt
das Empfangsfenster hinter dem Übertragungsfenster
her. Jedoch triggert der Empfang einer PDU, die über dem Empfangsfenster ist,
den Empfänger
einen Lösch-Betrieb auszuführen. Wenn
z.B. die empfangene PDU eine Sequenznummer S aufweist, die dem Wert
von TP in 3E entspricht, dann führt der
Empfänger
einen Löschen(S – K + 1)
Betrieb aus, der einem Löschen(BM)
Betrieb entspricht, bei dem sämtliche PDUs
mit einer Sequenznummer kleiner als die Sequenznummer entsprechend
zu BM an dem unteren Ende des Übertragungsfensters
verworfen werden, wodurch bewirkt wird, dass das Übertragungsfenster und
das Empfangsfenster ausgerichtet werden. Dies veranlasst den Empfänger sämtliche
PDUs mit einer Sequenznummer von S – K oder weniger freizugeben oder
zu löschen.
Wenn die PDUs zu einem vollständigen
Datenpaket gehören,
werden die PDUs anstelle davon an eine obere Netzschicht zur Verarbeitung und/oder Übertragung
an einen Empfänger
an der nächsten
Stelle (nexthop) übergeben.
Wie voranstehend angegeben wird es leicht ersichtlich sein, dass PDUs
mit einer Sequenznummer von S – K
oder weniger per Definition unter dem Übertragungsfenster und deshalb
nicht mehr geeignet für
eine Übertragung
sein müssen.
Wenn diese PDUs noch nicht richtig empfangen worden sind, gibt es
demzufolge keine Chance, dass sie nachstehend erfolgreich neu übertragen
und empfangen werden. Nach Ausführen dieses
Lösch-Betriebs
kann das Empfangsfenster vorrücken,
wie dargestellt.
-
In
den ersten und zweiten beispielhaften Ausführungsformen, sowie den verschiedenen
alternativen Ausführungsformen,
die voranstehend beschrieben werden, wird eine explizite Signalisierung nicht
verwendet, dass heißt,
keine zusätzliche
Bandbreite wird benötigt,
um den Empfänger
darüber
zu informieren, dass bestimmte PDUs von dem Absender gelöscht worden
sind. Der Hauptvorteil, der von diesen beispielhaften Ausführungsformen
realisiert wird, ist dass die Bandbreite effizienter verwendet wird.
Dies ist besonders wichtig, wenn die Bandbreite begrenzt ist und/oder
teurer ist, was relativ oft der Fall ist. Wenn jedoch die Bandbreite
nicht begrenzt ist oder wenn beispielsweise die Geschwindigkeit
wichtiger als die effiziente Verwendung der Bandbreite ist, können alternative
Verwerfungsmechanismen verwendet werden, bei denen eine explizite
Signalisierung verwendet wird, um den Empfänger darüber zu informieren, wenn ein
oder mehrere PDUs von dem Absender verworfen worden sind.
-
Die
verschiedenen beispielhaften Ausführungsformen, die nachstehend
beschrieben werden, stützen
sich im Gegensatz zu denjenigen, die oben beschrieben wurden, auf
eine explizite Signalisierung, um den Empfänger zu informieren, wenn ein oder
mehrere PDUs von dem Absender verworfen worden sind. In diesen beispielhaften
Ausführungsformen
umfasst der Header von jeder PDU ein Teil, was hier als ein Verwerfungsbit
bezeichnet wird, und möglicherweise
ein Datengültigkeitsbit.
Wenn das Verwerfungsbit in dem Headerabschnitt einer gegebenen PDU
gesetzt ist, signalisiert es explizit dem Empfänger, dass sämtliche
PDUs mit einer Sequenznummer kleiner als die Sequenznummer der gegebenen
PDU an dem Absender verworfen worden sind. Der Empfänger sollte
demzufolge nicht mehr erwarten diese PDUs zu empfangen. Der Empfänger kann dann
einen Lösch-Betrieb
ausführen,
sodass das Empfangsfenster vorrücken
kann. Wenn ein Datengültigkeitsbit
verwendet wird, zusätzlich
zu dem Verwerfungsbit, und das Datengültigkeitsbit in dem Headerabschnitt
der gegebenen PDU gesetzt ist, signalisiert es explizit dem Empfänger, dass
der Nutzlastteil der PDU Benutzerdaten enthält. Wenn im Gegensatz dazu
das Datengültigkeitsbit
zurückgesetzt
ist, signalisiert es dem Empfänger
explizit, dass der Nutzlastabschnitt der PDU keine Benutzerdaten
enthält
und dass der Empfänger
nur den Headerabschnitt der PDU verarbeiten sollte und dann die
PDU verwerfen sollte. Wie näher
ersichtlich wird, unterscheiden sich die beispielhaften Ausführungsformen,
die nachstehend beschrieben werden, auf Grundlage davon, ob sie
nur ein Verwerfungsbit verwenden oder ob sie sowohl ein Verwerfungsbit
als auch ein Datengültigkeitsbit
verwenden. Sämtliche
nachstehend beschriebenen beispielhaften Ausführungsformen unterscheiden
sich jedoch von denjenigen, die voranstehend beschrieben wurden,
dahingehend, dass diejenigen, die voranstehend beschrieben wurden, weder
ein Verwerfungsbit noch ein Datengültigkeitsbit verwenden, wie
erwähnt.
-
In Übereinstimmung
mit einer dritten beispielhaften Ausführungsform der vorliegenden
Erfindung wird eine Ein-Bit-Erweiterung an dem Headerabschnitt von
jeder PDU verwendet, um eine Verwerfungssignalisierung zu ermöglichen,
wobei die Ein-Bit-Erweiterung ein Verwerfungsbit ist, wie voranstehend
beschrieben. Ferner hält
der Absender in Übereinstimmung
mit dieser dritten beispielhaften Ausführungsform in seinem Puffer
die erste PDU von irgendeinem nicht-vollständig bestätigten Datenpaket, bis das
Datenpaket vollständig
bestätigt
ist (d.h. vollständig
empfangen oder verworfen wird). Wenn der Absender sämtliche
PDUs in Verbindung mit einem gegebenen Datenpaket zu dem Empfänger sendet
und im Ansprechen darauf der Absender eine selektive positive Bestätigung von
dem Empfänger
erhält,
die anzeigt, dass die erste PDU richtig empfangen worden ist, wird
somit der Absender diese erste PDU in seinem Puffer halten, bis
das gesamte Datenpaket bestätigt
worden ist (d.h. bis sämtliche
verbleibenden PDUs durch den Empfänger über eine selektive oder kumulative
positive Bestätigung
bestätigt worden
ist). Eine weitere Anforderung mit dieser dritten beispielhaften
Ausführungsform
besteht darin, dass der Absender, nach Ausführen eines Verwerfungsbetriebs,
fortfährt
in seinem Puffer wenigstens eine gültige PDU zu speichern. Es
sei hier erwähnt, dass
bestimmte Typen von Speicherverwaltungssystemen erfordern, dass
PDUs in Verbindung mit einem gegebenen Datenpaket zusammengehalten
werden sollen, sodass Speicher für
sämtliche
PDUs in Verbindung mit gegebenen Datenpaket zu der gleichen Zeit
zugewiesen und aufgehoben werden muss. Es sei ferner darauf hingewiesen,
dass diese dritte beispielhafte Ausführungsform geeignet ist zur
Verwendung mit derartigen Speichermanagementsystemen.
-
Der
Verwerfungsmechanismus in Verbindung mit dieser dritten beispielhaften
Ausführungsform
arbeitet wie folgt. Wenn der Absender PDUs bis zu und einschließlich von
denjenigen PDUs verwirft, die zu einem gegebenen Datenpaket gehören, wird ein
explizites Verwerfungssignal erzeugt. Dieses Verwerfungssignal nimmt
die Form einer PDU an, die hier als eine Verwerfungssignal-PDU bezeichnet wird,
wobei das Verwerfungsbit in dem Headerabschnitt der Verwerfungssignal-PDU
gesetzt ist. Es folgt, dass dann, wenn die erste nicht verworfene PDU
an dem Absender verfügbar
ist und deren Sequenznummer in das Übertragungsfenster fällt, dann die
Verwerfungssignal-PDU die erste nicht verworfene PDU ist. Wenn jedoch
die erste nicht verworfene PDU noch nicht an dem Absender verfügbar ist
oder die erste noch nicht verworfene PDU nicht übertragen werden kann, weil
sie eine Sequenznummer aufweist, die über das Übertragungsfenster fällt, dann
ist die Verwerfungssignal-PDU die zuletzt gespeicherte PDU. Wenn
die erste nicht verworfene PDU zu einer späteren Zeit übertragen wird, wird sie mit
ihrem Verwerfungsbit gesetzt übertragen
werden.
-
Ferner
regeneriert der Absender, in Übereinstimmung
mit dieser dritten beispielhaften Ausführungsform, eine Verwerfungssignal-PDU,
wenn sie eine ARQ Nachricht von dem Empfänger empfängt, der PDUs nicht bestätigt, die
bereits von dem Absender verworfen worden sind, und wenn eine minimale Zeitperiode
Tmin abgelaufen ist, seit dem der Absender
eine Verwerfungssignal-PDU zuletzt übertragen hat. Es sei jedoch
darauf hingewiesen, dass sich die regenerierte Verwerfungssignal-PDU
von der vorangehenden Verwerfungssignal-PDU unterscheiden kann,
da die voranstehende Verwerfungssignal-PDU mit einem Datenpaket assoziiert
gewesen sein kann, welches vollständig bestätigt worden ist. Eine Regeneration
der Verwerfungssignal-PDU ist erforderlich, um sicherzustellen,
dass der Empfänger
benachrichtigt wird, dass vorangehende PDUs an dem Absender verworfen
worden sind, sogar für
den Fall, dass das vorangehende Verwerfungssignal niemals erfolgreich
an dem Empfänger
empfangen wird. Es sei darauf hingewiesen, dass der Wert von Tmin konstant sein sollte, und dass der Wert
Tmin wenigsten so groß wie die Zeit sein sollte,
die benötigt
wird, um ein Signal zwischen dem Absender und dem Empfänger und
zurück
zu übertragen.
-
Wiederum
erfordert die dritte beispielhafte Ausführungsform, dass die erste
nicht verworfene PDU die erste PDU in Verbindung mit einem Datenpaket
ist und dass sie in dem Puffer des Absenders gespeichert wird, bis
sämtliche
PDUs im Zusammenhang mit diesem Datenpaket bestätigt sind. Wenn dies nicht
benötigt
werden würde
könnte
der Empfänger
unter Umständen
eine PDU mit einem gesetzten Verwerfungsbit empfangen, wobei eine
PDU nicht die erste PDU eines Datenpakets ist. Auf einen Empfang der
PDU hin würde
der Empfänger
einen Lösch-Betrieb
ausführen,
wobei bewirkt wird, dass die erste PDU des Datenpakets verworfen
wird. Der Vorteil der dritten beispielhaften Ausführungsform
ist, dass eine relativ einfache Ein-Bit-Erweiterung zu dem Headerabschnitt
von jeder PDU einen robusten Verwerfungssignalisierungsmechanismus
bereitstellen kann.
-
4 zeigt
den Verwerfungsmechanismus der dritten beispielhaften Ausführungsform,
wobei die vertikale Linie ganz links eine Zeitlinie von Ereignissen
darstellt, die an dem Absender auftreten, und wobei die vertikale
Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die
an dem Empfänger
auftreten. Ferner stellen die PDU Sequenznummern, die auf der rechten
Seite der vertikale Linie ganz rechts erscheinen, diejenigen PDUs
dar, die an dem Eingangspuffer des Empfängers erfolgreich empfangen worden
sind, während
diejenigen auf der linken Seite der vertikalen Linie ganz links
diejenigen PDUs darstellen, die in dem Puffer an dem Absender gespeichert
werden. Die Klammem zeigen den Beginn und das Ende von jedem Datenpaket
an. Beispielsweise entsprechen die Sequenznummern S7, S8 und S9
jeweils der ersten, zweiten und letzten PDU eines Datenpakets. Zusätzlich stellen
die Pfeile, die von dem Empfänger
ausgehen, ARQ Nachrichten dar, die beispielsweise selektive positive
Bestätigungssignale, selektive
negative Bestätigungssignale,
und/oder kumulative Bestätigungssignale
einschließen.
Die Pfeile, die von dem Absender ausgehen, stellen PDUs dar, die
gerade übertragen
oder erneut übertragen werden,
wobei das Sternchen (*), welches bestimmten PDU Sequenznummmern
folgt, anzeigt, dass eine PDU nicht erfolgreich empfangen wird.
Schließlich
zeigt eine PDU Sequenznummer, der der Buchstabe „D" folgt, an, dass die entsprechende PDU
eine Verwerfungssignalisierungs-PDU ist.
-
Zu
Anfang zeigt 4, dass der Eingangspuffer an
dem Empfänger
die PDU mit der Sequenznummer S2 enthält, die hier als S2 bezeichnet
wird, und eine PDU mit der Sequenznummer S4, die hier als S4 bezeichnet
wird. Ferner zeigt 4, dass der Empfänger eine
ARQ Nachricht an den Absender überträgt, die
anzeigt, dass sämtliche
PDUs bis zu der PDU mit der Sequenznummer S0 kumulativ bestätigt werden,
dass S2 und S4 positiv bestätigt
werden, und dass S1, S3 und S5–S8
negativ bestätigt werden.
Somit setzt der Puffer an dem Absender eine Speicherung von S1,
S3 und S5–S8
fort. Der Puffer enthält
nun auch S9. Zusätzlich
speichert der Absender S4, weil S4 die erste PDU eines entsprechenden Datenpakets
ist, welches nicht vollständig
bestätigt worden
ist. Wie voranstehend erläutert
wird der Absender weiter S4 speichern, bis sämtliche PDUs im Zusammenhang
mit diesem Paket bestätigt
sind.
-
Der
Absender antwortet darauf durch erneutes Übertragen von S1, S3 und S5–S8. Wie
angedeutet werden S1, S5 und S8 erfolgreich empfangen; jedoch werden
S3, S6 und S7 nicht erfolgreich empfangen. Demzufolge enthält der Eingangspuffer
an dem Empfänger
nun S1, S2, S4, S5 und S8. Der Empfänger überträgt im Ansprechen darauf eine
ARQ Nachricht, die kumulativ sämtliche
PDUs bis zu und einschließlich
S2 bestätigt,
positiv S4, S5 und S8 bestätigt,
und negativ S3, S6 und S7 bestätigt.
-
Auf
einen Empfang der letzten ARQ Nachricht von dem Empfänger hin,
die die kumulative Bestätigung
bis zu S2 hin einschließt,
setzt der Absender eine Speicherung von S1 fort, und zwar trotz
der Tatsache, dass S1 von dem Empfänger bestätigt wurde, und zwar wegen
dem gleichen Grund, wegen dem der Absender auch S4 speichert, wie
voranstehend erläutert.
Demzufolge enthält
der Puffer an dem Absender nun S3, S6, S7 und S9, sowie S1 und S4. Der
Absender versucht dann S3, S6, S7 und S9 erneut zu übertragen.
Wie angezeigt wird nur S7 erfolgreich empfangen. Somit enthält der Eingangspuffer an
dem Empfänger
nun S1, S2, S4, S5, S7 und S8. Deshalb umfasst die nächste ARQ
Nachricht, die an den Absender übertragen
wird, eine kumulative Bestätigung
für sämtliche
PDUs bis zu S2, eine positive Bestätigung von S4, S5, S7 und S8,
und eine negative Bestätigung
von S3 und S6.
-
An
diesem Punkt löscht
der Absender die PDUs S1–S3,
wie in 4 angedeutet. Der Absender kann sich dafür entscheiden
dies zu tun nach dem Ablauf einer bestimmten Zeitperiode oder nach einem
nicht erfolgreichen Versuch z.B. S3 erneut zu übertragen. Zusätzlich setzt
der Absender eine Speicherung von S7 fort, und zwar trotz der Tatsache, dass
S7 erfolgreich empfangen wurde, bis das Datenpaket entsprechend
S7 vollständig
bestätigt
wird. Der Puffer im Zusammenhang mit dem Sender enthält auch
S6 und S9. Der Sender überträgt nun eine Verwerfungssignalisierungs-PDU
unter Verwendung von S4 (identifiziert als S4D). Der Absender verwendet
S4 für
die Verwerfungssignalisierungs-PDU, weil sie die erste PDU in dem
ersten nicht-vollständig
bestätigten
Datenpaket ist. Zusätzlich überträgt der Absender
sowohl S6 als auch S9 erneut. Wie gezeigt wird nur S6 erfolgreich
empfangen. Somit enthält
der Eingangspuffer an dem Empfänger
nun S1, S2 und S4–S8.
Demzufolge überträgt der Empfänger eine ARQ
Nachricht an den Absender, die eine kumulative Bestätigung bis
zu S2 hin einschließt,
eine positive Bestätigung
S4–S8,
und eine negative Bestätigung von
S3 und S9.
-
Die
negative Bestätigung
von S3 in der ARQ Nachricht dient als eine Benachrichtigung an dem Absender,
dass die Verwerfungssignalisierungs-PDU S4D nicht erfolgreich von
dem Empfänger
empfangen worden ist. Wie jedoch S6 erfolgreich empfangen wurde,
was dazu führt,
dass das gesamte Datenpaket, welches S4–S6 umfasst, bestätigt wird,
gibt der Absender nunmehr S6 und S4 frei. Der Absender regeneriert
nun eine Verwerfungssingalisierungs-PDU, um den Empfänger darüber zu benachrichtigen,
welche PDUs an dem Absender verworfen worden sind, aber diesmal
verwendet der Absender S7 (identifiziert als S7D) für diesen
Zweck, wie gezeigt. Zusätzlich überträgt der Sender
S9 erneut. Auf einen Empfang sowohl der Verwerfungssignalisierungs-PDU S7D
und S9 führt
der Empfänger
einen Löschen(7) Betrieb
aus, der dazu führt,
dass sämtliche
PDUs mit einer Sequenznummer kleiner als S7 in dem Empfänger verworfen
werden. Da zusätzlich
das gesamte Datenpaket, welches S7–S9 umfasst, nun erfolgreich empfangen
worden ist, kann der Empfänger
genauso S7–S9
verwerfen. Demzufolge überträgt der Empfänger eine
ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis
S9 enthält.
-
Es
sei darauf hingewiesen, dass deshalb, weil der Absender PDUs von
seinem Puffer verwirft, sich das Übertragungsfenster vorrückt, wodurch
dem Absender erlaubt wird neue PDUs zu übertragen. Da ferner der Empfänger PDUs
verwirft, rückt
gleichermaßen
das Empfangsfenster vor und die Technik in Verbindung mit der dritten
beispielhaften Ausführungsform
wird fortgesetzt, wie voranstehend beschrieben.
-
In Übereinstimmung
mit einer vierten beispielhaften Ausführungsform der vorliegenden
Erfindung wird wiederum eine Ein-Bit-Erweiterung an dem Headerabschnitt
von jeder PDU verwendet, um eine Verwerfungssignalisierung zu ermöglichen,
wobei die Ein-Bit-Erweiterung ein Verwerfungsbit ist. In dieser Ausführungsform
wird das Verwerfungsbit in einer etwas anderen Weise als in der
voranstehend beschriebenen Ausführungsform
verwendet. In diesem Fall verwirft (löscht) der Absender PDUs bis
zu einem bestimmten Datenpaket. Der Absender setzt dann das Verwerfungsbit
für sämtliche
PDUs in einem Datenpaket, wobei das Datenpaket das erste Datenpaket
ist, welches nicht verworfen oder vollständig bestätigt worden ist. Wenn ein derartiges
Datenpaket noch nicht an dem Absender verfügbar ist, setzt der Absender
das Verwerfungsbit für
sämtliche
PDUs in dem nächsten
Paket, welches verfügbar
ist. Das Verwerfungsbit in diesen PDUs bleibt Gesetz, sogar während einer
erneuten Übertragung,
sollte eine erneute Übertragung
erforderlich sein. Ferner verwendet der Absender die zuletzt gespeicherte
PDU als die Verwerfungssignal-PDU (d.h. die PDU in dem Übertragungsfenster
mit der höchsten
Sequenznummer), wenn die PDUs in Verbindung mit dem ersten nicht
verworfenen Datenpaket nicht gesendet werden können, entweder deshalb, weil
sie außerhalb des
Senderfensters sind, oder weil sie noch nicht an dem Sender angekommen
sind. Ferner regeneriert der Absender das Verwerfungssignal, wenn
er eine negative Bestätigung
von dem Empfänger
für eine PDU
erhält,
die verworfen worden ist, und eine Zeitperiode Tmin abgelaufen
ist, seitdem der Absender zuletzt ein Verwerfungssignal erzeugt
hat.
-
Auf
einen Empfang einer PDU mit dem gesetzten Verwerfungsbit hin verwirft
der Empfänger sämtliche
PDUs, die in nicht-vollständig
empfangenen Datenpaketen sind, die dem Datenpaket vorangehen, dass
die PDU mit dem gesetzten Verwerfungsbit enthält. Der Empfänger erreicht
dies dadurch, dass die folgenden Variablen aufrechterhalten werden,
wenn wenigstens eine PDU in dem Eingangspuffer des Empfängers mit
dem gesetzten Verwerfungsbit enthalten ist: HDISCARD, HSTART und HSTOP.
Insbesondere stellt der Wert der Variablen HDISCARD die höchste Sequenznummer
von irgendeiner PDI in dem Eingangspuffer dar, die ihr Verwerfungsbit
gesetzt hat. Der Wert der HSTART Variablen stellt die höchste Sequenznummer
von irgendeiner PDU mit dem gesetzten Startbit und mit einer Sequenznummer,
die nicht höher
als der Wert HDISCARD ist, dar. Der Wert der HSTOP Variablen stellt
die höchste
Sequenznummer von irgendeiner PDU mit ihrem gesetzten Stopbit und
mit einer Sequenznummer, die geringer als der Wert von HDISCARD
ist, dar. Es sei darauf hingewiesen, dass dann, wenn keine PDU vorhanden
ist, die die Kriterien für die
HSTART oder HSTOP Variable erfüllt,
dann die Variablen HSTART und HSTOP gleich zu einer Sequenznummer
unten an dem Empfangsfenster weniger Eins (1) sind. Dadurch haben
die Variablen im Wesentlichen keinen Effekt auf den Algorithmus,
der den Lösch-Betrieb leitet. Wenn
wenigstens eine PDU in dem Eingangspuffer des Empfängers mit
ihrem gesetzten Verwerfungsbit vorhanden ist, dann führt der Empfänger, auf
einen Empfang einer PDU hin, die irgendeine der voranstehend erwähnten Variablen HDISCARD,
HSTART, oder HSTOP erhöht,
einen Löschen(Maximum(HSTART,
HSTOP + 1)) Betrieb aus.
-
In Übereinstimmung
mit der vierten beispielhaften Ausführungsform führt der
Empfänger
dann, wenn er eine PDU mit einer Sequenznummer S und mit sowohl
dem Verwerfungsbit als auch dem Startbit gesetzt erhält, einen
Löschen(S)
Betrieb aus. Wenn jedoch der Absender niemals eine derartige PDU sendet,
weil sie bestätigt
und von dem Absender freigegeben worden ist, signalisieren auch
nachfolgende PDUs in dem Datenpaket eine Verwerfung. Wenn dann das
Datenpaket vollständig
an dem Empfänger empfangen
wird, garantiert die Anwesenheit von wenigstens einer PDU mit ihrem
gesetzten Verwerfungsbit, dass ein Löschen-Betrieb mit der Sequenznummer
der ersten PDU in dem Datenpaket ausgeführt wird. Bevor das vollständige Datenpaket
jedoch empfangen wird, ist der Empfänger in der Lage eine „teilweise
Löschung" auszuführen, das
heißt,
einen Löschen-Betrieb
unter Verwendung einer niedrigeren Sequenznummer.
-
5 illustriert
die vierte beispielhafte Ausführungsform,
bei der die vertikale Linie ganz links eine Zeitlinie von Ereignissen
darstellt, die an dem Absender auftreten, und wobei die vertikale
Linie ganz rechts eine Zeitlinie von Ereignissen darstellt, die
an dem Empfänger
auftreten. Ferner stellen die Sequenznummern, die auf der linken
Seite der vertikalen Linie ganz links erscheinen, die PDUs dar,
die gegenwärtig
in dem Puffer an dem Absender gespeichert sind, während die
Sequenznummern auf der rechten Seite der vertikalen Linie ganz rechts
PDUs darstellen, die erfolgreich in dem Eingangspuffer des Empfängers empfangen
worden sind. Zusätzlich
stellen die Pfeile, die von der vertikalen Linie ganz rechts ausgehen,
ARQ Nachrichten dar, und die Pfeile, die von der vertikalen Linie
ganz links ausgehen, stellen die Übertragung oder die erneute Übertragung
von PDUs dar. Schließlich
zeigen die Klammern die erste und letzte PDUs an, die zu einem gegebenen
Datenpaket gehören.
Zum Beispiel ist PDU S7 die erste PDU in ihrem entsprechenden Datenpaket.
Demzufolge sollte das Startbit in dem Headerabschnitt von S7 gesetzt
sein. Im Gegensatz dazu ist PDU S9 die letzte PDU in diesem gleichen
Datenpaket, wie durch die Anwesenheit einer linken Klammer angedeutet. Demzufolge
sollte das Stopbit in dem Headerabschnitt von S9 gesetzt werden.
-
Wie
in 5 dargestellt sind nur die PDU S2 und PDU S4 erfolgreich
empfangen und in dem Eingangspuffer des Empfängers gespeichert worden. Demzufolge
sendet der Empfänger
eine ARQ Nachricht an den Absender, die eine kumulative Bestätigung bis
zu S0 einschließt,
eine selektive positive Bestätigung
für S2
und S4, und eine selektive negative Bestätigung für S1, S3 und S5–S8. Auf
einen Empfang dieser ARQ Nachricht hin gibt der Absender S2 und
S4 frei, wie durch die Inhalte des Puffers an dem Absender angezeigt,
und überträgt S1, S3
und S5–S8
erneut. Die Anwesenheit des Sternchens (*) zeigt jedoch an, dass
S1 und S7 nicht erfolgreich empfangen worden sind, wohingegen S3,
S5, S6 und S8 erfolgreich empfangen sind. Weil gegenwärtig keine
PDUs mit ihrem Verwerfungsbit an dem Empfänger gespeichert werden, werden
die Werte im Zusammenhang mit den Variablen HDISCARD, HSTART und
HSTOP als „don't care" Werte (Werte „ohne Bedeutung") interpretiert und
werden somit ignoriert.
-
Der
Sender sendet nun eine andere ARQ Nachricht an den Absender. Diese
ARQ Nachricht stellt eine kumulative Bestätigung bis zu S0, eine selektive
positive Bestätigung
für S2–S6 und
S8, und eine selektive negative Bestätigung für S1 und S7 bereit. An diesem
Punkt löscht
der Sender S1. Natürlich könnte die
Entscheidung für
die Verwerfung (Löschung)
auf eine vordefinierte Anzahl von Neuübertragungen gestützt werden
oder könnte
auf den Ablauf einer vordefinierten Zeitperiode gestützt werden. Da
S3, S5 und S6 erfolgreich empfangen und bestätigt worden sind, gibt auch
der Absender diese PDUs von seinem Puffer ebenfalls frei, wobei
das Datenpaket, welches S7–S9
umfasst, als das nächste
nicht verworfene und nicht-vollständig bestätigte Datenpaket zurückgelassen
wird. Demzufolge wird das Verwerfungsbit in dem Headerabschnitt
sowohl von S7 als auch von S9 vor der erneuten Übertragung gesetzt. Der Sender überträgt dann
erneut S7D und S9D, wobei der Buchstabe „D" andeutet, dass das Verwerfungsbit gesetzt
worden ist. Zusätzlich
ist das Datenpaket, welches S10–S12
umfasst, an dem Absender verfügbar
geworden, sodass der Absender diese PDUs ebenfalls an den Empfänger überträgt. Wie
jedoch angedeutet werden jedoch S7D und S12 nicht erfolgreich empfangen.
Somit ist die einzige PDU, die mit ihrem Verwerfungsbit gesetzt
empfangen wird, S9D.
-
Auf
einen Empfang von S9D hin setzt der Empfänger den Wert der Variablen
HDISCARD gleich zu Neun, den Wert der Variablen HSTART gleich zu
Vier und den Wert der Variablen HSTOP gleich zu Sechs. Dies wiederum
triggert den Empfänger
einen Löschen(7)
Betrieb auszuführen.
Weil das Datenpaket, welches S4, S5 und S6 umfasst, vollständig und
erfolgreich empfangen worden ist, wird es weiter an eine obere Netzschicht übergeben,
wie dargestellt, wobei S2 und S3 belassen werden, um als ein Ergebnis
des Löschen(7)
Betriebs verworfen zu werden. Der Empfänger überträgt dann eine ARQ Nachricht
an den Absender, die eine kumulative Bestätigung bis zu S6 hin, eine
selektive positive Bestätigung
für S8–S11, und
eine selektive negative Bestätigung
für S7
und S12 einschließt.
-
Auf
einen Empfang der letzten ARQ Nachricht von dem Empfänger hin
gibt der Absender S9D, S10 und S11 frei, wobei nur S7D und S12 zurückgelassen
werden. Demzufolge überträgt der Absender erneut
sowohl S7D als auch S12. Da beide von diesen PDUs erfolgreich empfangen
werden, kann der Empfänger
die entsprechenden Datenpakete, die S7D–S9D bzw. S10–S12 enthalten,
an die oberen Netzschichten weitergeben. Demzufolge überträgt der Empfänger eine
nächste
ARQ Nachricht, die eine kumulative Bestätigung einschließt, bis
zu S12. Auf einen Empfang der ARQ Nachricht hin ist der Absender
in der Lage seinen Puffer, wie gezeigt, zu löschen.
-
Eine
Alternative zu dem Verwerfungsmechanismus der dritten und vierten
Ausführungsformen, die
voranstehend beschrieben wurden, wird durch Verwenden einer zusätzlichen
Biterweiterung in dem Headerabschnitt von jeder PDU bereitgestellt.
Dieses zusätzliche
Bit ist das Datengültigkeitsbit,
welches vorher definiert wurde. Somit umfasst der Headerabschnitt
von jeder PDU sowohl ein Verwerfungsbit als auch ein Datengültigkeitsbit.
-
Diese
alternative Ausführungsform
arbeitet wie folgt. Wenn der Puffer an dem Absender keine nicht
bestätigten
PDUs enthält,
nachdem der Absender einen Verwerfungsbetrieb ausführt, wird
die erste nicht verworfene PDU als eine „Dummy" PDU („Blind" PDU) angesehen. Das Datengültigkeitsbit
in dem Headerabschnitt von einer Dummy-PDU wird zurückgesetzt
und das Verwerfungsbit wird gesetzt. Ferner ist die Sequenznummer
der Dummy-PDU eins höher
als die zuletzt verworfene PDU. Die Dummy-PDU wird dann gesendet,
vorausgesetzt, dass ihre Sequenznummer innerhalb des Übertragungsfensters
ist.
-
Wenn
Datengültigkeitsbits
verwendet werden ist es nicht erforderlich wenigstens eine PDU (d.h.
eine zuletzt gespeicherte PDU) in dem Sendepuffer nach einem Verwerfungsbetrieb
aufrechtzuerhalten. In dieser alternativen Ausführungsform wird die zuletzt
gespeicherte PDU durch eine PDU, die als letzte in das Fenster hereinkommt
und die als die PDU mit der höchsten
Sequenznummer in dem Übertragungsfenster
definiert ist, ersetzt. Die PDU, die im Fenster zuletzt hereinkommt,
weist ein Datengültigkeitsbit
auf, welches zurückgesetzt
ist, wenn sie gesendet wird.
-
Auf
einen Empfang einer PDU hin, deren Sequenznummer S ist und deren
Datengültigkeitsbit
zurückgesetzt
ist und deren Verwerfungsbit gesetzt ist, führt der Empfänger einen
Löschen(S)
Betrieb aus. Der Empfänger
bestätigt
diese PDU nicht, entweder selektiv oder kumulativ.
-
Was
diese alternative Ausführungsform
gegenüber
den voranstehenden Ausführungsformen unterscheidet
ist, dass das Datengültigkeitsbit
eine Vorgehensweise zum Erzielen einer Verwerfungssignalisierung
bereitstellt, ohne tatsächlich
irgendwelche Benutzerdaten zu senden. Vorteil von dieser alternativen
Ausführungsform
ist, dass sogar nach einer Verwerfung der letzten PDU in dem Sendepuffer, der
Empfänger
hinsichtlich der Verwerfung dieser letzten PDU an dem Absender informiert
werden kann. Somit kann die Zuordnung des Puffers an dem Empfänger sofort
aufgehoben werden, wodurch Platz für andere PDUs geschaffen wird.
-
In Übereinstimmung
mit einem anderen alternativen Verwerfungsmechanismus, der ähnlich zu dem
voranstehend beschriebenen Verwerfungsmechanismus wie bei der dritten
beispielhaften Ausführungsform
ist, muss der Absender nicht die erste PDU eines nicht-vollständig bestätigten Datenpakets halten.
Wenn die erste PDU selbst bestätigt
worden ist kann der Absender eine Speicherung davon in dem Puffer
fortsetzen oder diese nicht fortsetzen. Der Hauptunterschied zwischen
diesem alternativen Verwerfungsmechanismus und demjenigen der dritten beispielhaften
Ausführungsform
besteht darin, dass dann, wenn der Absender PDUs verwirft und die
erste nicht verworfene PDU gesendet werden kann (d.h. weil sie in
dem Übertragungsfenster
ist), dann die Verwerfungssignal-PDU die erste nicht verworfene PDU
ist. Wenn der Nutzlastabschnitt von dieser PDU an dem Absender verfügbar ist,
weil sie nicht bestätigt
worden ist oder weil sie bestätigt
worden ist, aber die PDU fortfährt
sie in dem Puffer zu speichern, dann überträgt der Absender die PDU mit
ihrer Nutzlast und dem Datengültigkeitsbit
gesetzt, und ansonsten wird das Datengültigkeitsbit zurückgesetzt. Der
Vorteil von diesem alternativen Verwerfungsmechanismus besteht darin,
dass er wenig Speicherplatz an dem Absender und an dem Empfänger benötigt, da
eine Verwerfungssignalisierung unmittelbar übertragen werden kann und da
der Absender PDUs nicht aufrechterhalten muss, die bereits bestätigt sind.
-
6 illustriert
diesen alternativen Verwerfungsmechanismus, wobei die vertikale
Linie ganz links eine Zeitlinie von Ereignissen darstellt, die an dem
Absender auftreten, und wobei die vertikale Linie ganz rechts eine
Zeitlinie von Ereignissen darstellt, die an dem Empfänger auftreten.
Ferner stellen die Sequenznummern, die auf der rechten Seite ganz rechts
erscheinen, diejenigen PDUs dar, die erfolgreich in dem Eingangspuffer
des Empfängers
empfangen worden sind, während
die Sequenznummer auf der linken Seite der vertikalen Linie ganz
links die PDUs darstellen, die in dem Puffer an dem Absender gehalten
werden. Zusätzlich
stellen die Pfeile, die von dem Empfänger ausgehen, ARQ Nachrichten dar,
während
die Pfeile, die von dem Absender ausgehen, die Übertragung und Neuübertragung
von PDUs darstellen. Schließlich
zeigen die Klammern den Beginn und das Ende von jedem Datenpaket
an.
-
Wie
in 6 dargestellt empfängt der Eingangspuffer an dem
Empfänger
zu Anfang die PDU S2, die nachstehend hier als S2 definiert wird,
und die PDU S4, die nachstehend hier als S4 bezeichnet wird. Der
Empfänger überträgt dann
eine ARQ Nachricht an den Absender, wobei die ARQ Nachricht eine kumulative
Bestätigung
bis S0, eine selektive positive Bestätigung für S2 und S4, und eine selektive
negative Bestätigung
für S1,
S3 und S5–S8
einschließt. Auf
einen Empfang der selektiven positiven Bestätigung S2 und S4 hin, gibt
der Absender S2 und S4 von seinem Puffer frei, wie gezeigt. Der
Absender überträgt dann
S1, S3 und S5–S8
erneut. Die Anwesenheit des Sternchens (*) neben S3, S6 und S7 ist eine
Anzeige, dass diese PDUs als Folge dieser erneuten Übertragung
nicht erfolgreich empfangen werden. Jedoch werden S1, S5 und S8
erfolgreich empfangen.
-
Nach
der letzten erneuten Übertragung
enthält
der Eingangspuffer an dem Empfänger
S1, S2, S4, S5 und S8, wie gezeigt. Der Empfänger überträgt dann eine andere ARQ Nachricht
an den Absender, wobei die ARQ Nachricht eine kumulative Bestätigung bis
S2, eine selektive positive Bestätigung
für S4,
S5 und S8, und eine selektive negative Bestätigung für S3, S6 und S7 enthält. Auf
einen Empfang dieser ARQ Nachrichten gibt der Absender S1 und S5
frei und löscht
S3. Die Bestimmung zur Löschung von
S3 ist gestützt
beispielsweise auf eine vordefinierte Anzahl von Neuübertragungen
oder den Ablauf einer vordefinierten Zeitperiode. Demzufolge enthält der Puffer
an dem Absender nun S6, S7 und S9, wie gezeigt. Der Absender erzeugt
nun eine Verwerfungssignalisierungs-PDU unter Verwendung von S4
(mit S4D angedeutet) da sie die erste nicht verworfene PDU ist.
Es sei darauf hingewiesen, dass in 6 die Verwerfungssignalisierungs-PDU
S4D innerhalb einer Box enthalten ist. Diese Box ist dafür vorgesehen,
um anzuzeigen, dass das Datengültigkeitsbit
in dem Headerabschnitt von dieser PDU zurückgesetzt ist, wodurch angezeigt
wird ist, dass die Daten, die in dem Nutzlastabschnitt von dieser
PDU enthalten sind, ignoriert werden soll. Zusätzlich überträgt der Absender S6 und S7 erneut
und sendet zum ersten Mal S9. Wie angedeutet werden S7 und S9 erfolgreich
empfangen, während
weder die Verwerfungssignalisierungs-PDU S4D noch S6 erfolgreich empfangen
werden.
-
Der
Eingangspuffer an dem Empfänger
enthält
nun S1, S2, S4, S5 und S7–S9.
Der Empfänger überträgt im Ansprechen
darauf eine ARQ Nachricht an den Absender, die kumulativ sämtliche
PDUs bis zu S2 hin bestätigt,
negativ S3 und S6 bestätigt,
und positiv S4, S5 und S7–S9
bestätigt.
Da der Absender nun darüber
informiert worden ist, dass S7 und S9 erfolgreich empfangen worden
sind, können
S7 und S9 freigegeben werden. Als Folge der Tatsache, dass jedoch
die ARQ Nachricht kumulativ eine Bestätigung bis zu nur S2 hin vorgenommen
hat, ist der Absender über
die Tatsache in Kenntnis gesetzt, dass die Verwerfungssignalisierungs-PDU
S4D nicht an dem Empfänger
angekommen ist. Somit überträgt der Absender
S4D, sowie S6, die ebenfalls nicht erfolgreich empfangen wurde,
erneut. Wiederum sei darauf hingewiesen, dass die Verwerfungssignalisierungs-PDU S4D
in 6 so dargestellt ist, dass sie in einer Box enthalten
ist, wobei die Box anzeigt, dass das Datengültigkeitsbit in dem Headerabschnitt
von dieser PDU zurückgesetzt
ist, wodurch angezeigt wird, dass die in dem Nutzlastabschnitt von
dieser PDU enthaltenen Daten ignoriert werden sollen. Dieses Mal
werden sowohl S4D als auch S6 erfolgreich empfangen und infolgedessen
führt der
Empfänger
einen Löschen(4)
Betrieb aus, wobei S1–S3
verworfen werden. Da der Empfänger
nun erfolgreich S4–S6
und S7–S9
empfangen hat, können
ferner die zwei Datenpakete, die zu diesen PDUs gehören, an
eine obere Netzschicht geliefert werden und eine ARQ Nachricht kann
zurück
an den Absender gesendet werden, die eine kumulative Bestätigung bis
zu S9 hin einschließt.