-
Technisches
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft ein Verfahren gemäß dem Oberbegriff von Anspruch
1. Ferner werden auch ein Empfänger
sowie Softwareprogramme, welche die Erfindung verwirklichen, beschrieben.
-
Hintergrund
der Erfindung
-
Für die Übertragung
von Datenpaketen von einem Absender an einen Empfänger können unterschiedliche
Modi verwendet werden, z.B. ein transparenter Modus, ein unbestätigter oder
ein bestätigter
Modus. Durch Verwendung des ARQ-Mechanismus
(Automatic Repeat Request – automatische Wiederholungsanforderung)
bietet der bestätigte
Modus die Möglichkeit
des erneuten Sendens fehlerhafter Datenpakete, weil diese entweder
verloren gehen oder weil sie irrtümlich empfangen werden. Auf
diese Weise kann eine verlustfreie Datenübertragung für höhere Schichten
in einem Protokollstapel gewährleistet
werden, selbst wenn einzelne Datenpakete der ARQ-Schicht fehlerhaft
sind, z.B. aufgrund einer gestörten
Funkverbindung. Um einen ARQ-Mechanismus zu ermöglichen, werden Datenpakete üblicherweise
mittels einer Folgenummer identifiziert, die den Paketen im allgemeinen
auf einer Modulo-Basis zugeordnet ist. Meldungen von dem Empfänger zum Absender
geben an, welche Pakete fehlerhaft sind, und diese Pakete werden
aufgrund der Meldungen erneut gesendet. Zusätzlich können die Meldungen auch fehlerfrei
empfangene Datenpakete bestätigen.
-
Der
Status übertragener
und empfangener Datenpakete kann durch die Verwendung von Empfänger- und Übertragungsfenstern
im Empfänger bzw.
Absender gesteuert werden, d.h. von Speichern, die speichern, ob
ein Datenpaket bestätigt wird
oder nicht. Gemäß der im
gesamten Text verwendeten Definition erstreckt sich das Empfängerfenster
vom ersten unbestätigten
Paket zu dem Paket mit der höchsten
empfangenen Folgenummer, im allgemeinen unter Berücksichtigung
einer Modulo- Folgenummerierung.
Gemäß einer
weiteren gebräuchlichen
Definition, die beispielsweise in 3GPP-Spezifikationen (3rd Generation
Partnership Project) verwendet wird, umfasst der Begriff „Empfängerfenster" auch ein Spektrum
von Folgenummern oberhalb der höchsten
empfangenen Folgenummer. Dieses Spektrum ist in der vorliegenden
Definition nicht enthalten.
-
Ein
Beispiel für
ein Übertragungsprotokoll mit
einem bestätigten
Modus ist das RLC-Protokoll (Radio
Link Control – Funkübertragungssteuerungsprotokoll),
das in der technischen 3GPP-Spezifikation 3G TS 25.322 V4.0.0 (2001–03) des
3rd Generation Partnership Project, Technical Specification Group
Radio Access Network beschrieben ist. Das RLC-Protokoll wird für die Übertragung
von Daten in einem WCDMA-System
(Wideband Code Division Multiple Access) verwendet, z.B. im universellen
mobilen Telekommunikationssystem (Universal Mobile Telecommunication
System – UMTS).
-
In
einem Kommunikationssystem ist der Absender beispielsweise ein Benutzergerät wie ein
Mobiltelefon oder ein Netzknoten wie ein RNC (Radio Network Controller).
Die RLC-Protokollschicht in dem Absender empfängt Pakete, z.B. von einer
höheren Schicht
im Protokollstapel. Die Pakete von der höheren Schicht werden als SDUs
(Service Data Units – Dienst-Dateneinheiten)
bezeichnet. Die RLC-Schicht formt die SDUs in Datenpakete um, die
als Paketdateneinheiten (PDUs) bezeichnet werden, um sie für die Übertragung über eine
Funkverbindung zwischen dem Absender und dem Empfänger vorzubereiten.
In der RLC-Schicht des Absenders umfassen Pakettransformationen
beispielsweise eine Segmentierung, Verkettung oder ein Zwischenspeichern
von SDUs, während
PDUs beispielsweise aufgefüllt
oder zwischengespeichert werden können. Der Empfänger ist für gewöhnlich ein
Netzknoten oder ein Benutzergerät,
das mit dem Absender kommuniziert. Die RLC-Schicht des Empfängers führt eine
umgekehrte Verarbeitung durch, um die Daten entweder an einer höhere Protokollschicht
freizugeben oder um sie zur Übertragung
durch weitere Domänen
des Kommunikationssystems, z.B. durch ein Kernnetz des Kommunikationssystems,
an eine Sicherungsschicht weiterzuleiten.
-
In
dem RLC-Protokoll werden die Meldungen, die fehlerhafte Datenpakete
angeben, als Statusmeldungen bezeichnet und können aus einer oder mehreren
Protokolldateneinheiten bestehen. Die RLC-Spezifikation erfordert,
dass eine Statusmeldung Informationen über sämtliche Protokolldateneinheiten
enthält,
die empfangen wurden, sowie über sämtliche
Einheiten, die als fehlerhaft erkannt wurden. Der Empfänger berichtet
daher zu dem Zeitpunkt, zu dem eine Statusmeldung erzeugt wird, über sämtliche
Protokolldateneinheiten, die sich derzeit im Empfängerfenster
befinden. Um die Protokollleistung im Sinne von Verzögerung und
Durchsatzoptimierung zu verbessern, ist es notwendig, dass erneute Übertragungen
von irrtümlich
empfangenen Funkübertragungssteuerungsprotokolldateneinheiten
so bald als möglich
gesendet werden. Allerdings können schnelle
Neuübertragungen
mehrfache Neuübertragungen
derselben PDU zur Folge haben, was eine Verschwendung von Betriebsmitteln
darstellt. Mehrere Statusmeldungen in einer RLC-Umlaufzeit lösen jeweils
die Neuübertragung
einer bestimmten fehlerhaften Protokolldateneinheit aus, da sämtliche
negativ bestätigten
Protokolldateneinheiten erneut übertragen
werden, wenn der Absender eine Statusmeldung empfängt. Insbesondere
wenn die Statusmeldungen so oft wie möglich gesendet werden, kann dies
zwar das Protokoll beschleunigen, löst jedoch unnötige Neuübertragungen
aus.
-
Das
RLC-Protokoll ermöglicht
die Steuerung der Menge an Statusmeldungen durch einen Status-Verhinderungszeitgeber.
Dieser Status-Verhinderungszeitgeber verhindert das Senden von Statusmeldungen
während
einer gewissen Zeidauer. Wird der Status-Verhinderungszeitgeber
höher gesetzt
als die RLC-Umlaufzeit, werden unnötige Neuübertragungen verhindert. Der
Nachteil besteht darin, dass hierdurch die Neuübertragung von falschen Datenpaketen
bedeutend verlangsamt wird und ein langsames Protokoll zur Folge
hat, insbesondere für
einen großen
Anteil fehlerhafter Pakete, und hohe Umlaufzeiten. Eine Alternative
zur Vermeidung unnötiger Neuübertragungen
ist der geschätzte
PDU-Zähler (estimated
PDU counter – EPC),
der in der 3GPP-Spezifikation 3G TS 25.322 beschrieben ist. Der
EPC-Mechanismus umfasst sowohl einen Zeitgeber zur Berücksichtigung
der Umlaufzeit als auch zusätzlich
einen Zähler
entsprechend der Anzahl von Paketen, die für die Neuübertragung angefordert werden.
Der Zähler
beseitigt den Einfluss der Funkverbindungskapazität auf die Übertragungszeit,
jedoch stellt der EPC-Mechanismus keine Lösung des Problems dar, dass
das Protokoll durch den Zeitgeber verlangsamt wird.
-
Folglich
gibt es für
derzeitige Protokolle umfassend die Neuübertragung von Datenpaketen grundsätzlich zwei
Auswahlmöglichkeiten,
die entweder Betriebsmittel verschwenden oder das Protokoll verlangsamen.
Keine der beiden Möglichkeiten
bietet eine optimale Leistung an.
-
Neben
diesen Problemen kann die existierende Technologie auch unvorteilhafte
Auswirkungen auf die Transportschicht über der ARQ-Schicht, insbesondere
das TCP (Transmission Control Protocol) haben. Das TCP ist ein höheres Schichtprotokoll,
das zur Bereitstellung einer zuverlässigen Datenübertragung
in Kommunikationsnetzen, z.B. dem Internet, umfassend verwendet
wird. Interaktive Transportprotokolle wie das TCP steuern Übertragungen
gemäß Antwortnachrichten
von der empfangenden an die übertragende
Einrichtung. Steuerungsprozeduren können die übertragene Datenrate gemäß den Antworten
anpassen, z.B. wenn durch einen Zeitablauf für eine Antwort der Verlust
eines Paketes angezeigt wird. Ein Funkübertragungssteuerungsprotokoll,
welches zu einer großen
Transportschicht-Umlaufzeit beiträgt, ist deshalb nicht nur in
sich selbst nachteilig. Die hohe Verzögerung kann ferner Steuerungsprozeduren
der Transportschicht auslösen,
selbst wenn ein Zeitablauf aus einer Funkübertragungsumlaufzeit resultiert,
und nicht aus einem Paketverlust im Netz. Das existierende RLC-Protokoll
ist folglich oftmals zu langsam, um hohe TCP-Durchsätze zu unterstützen, obwohl
die zugrundeliegende Bitübertragungsschicht eine
entsprechende Datenrate erlauben würde.
-
Schließlich kann
eine große
Umlaufzeit eine Überlastungsbedingung
des Übertragungsfensters im
Falle einer begrenzten Fenstergröße verursachen,
z.B. wenn eine Modulo-Folgenummerierung verwendet wird. In einem überlasteten
Fenster werden sämtliche
Positionen den Datenpaketen zugeordnet. Das Fenster kann nicht verschoben
werden, und neue Datenpakete können
folglich nicht versendet werden, bis das älteste fehlerhafte Datenpaket bestätigt ist.
Hierdurch wird die Datenübertragung blockiert.
-
Das
U.S.-Patent 5,442,637 beschreibt eine Variante des Übertragungssteuerungsprotokolls (Transmission
Control Protocol – TCP),
welches die Steuerungsbearbeitung für eine TCP-Verbindung nur periodisch
durchführt,
um die mit dem Empfang der Datenpakete verbundene Bearbeitung zu
verringern. Zu diesem Zweck verzögern
ein Bestätigungszeitgeber,
der gemäß einer
Bestätigung
zurückgesetzt wird,
sowie ein Paketzähler
das Senden von Bestätigungen,
so dass die Bearbeitung der Bestätigungen nur
periodisch erfolgt. Allerdings können
die oben beschriebenen Probleme nicht auf diese Weise gelöst werden.
-
Zusammenfassung
und Beschreibung der Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, die oben beschriebenen Nachteile
zu überwinden und
ein Verfahren und einen Empfänger
für eine
verbesserte Übertragung
von Datenpaketen in einem Kommunikationssystem anzugeben. Es ist
insbesondere Aufgabe der Erfindung, unnötige Mehrfachübertragungen
zu vermeiden und eine niedrige Übertragungsverzögerung zu
gewährleisten.
-
Gemäß der Erfindung
wird das in Anspruch 1 beschriebene Verfahren durchgeführt. Ferner
ist die Erfindung in einem Empfänger
und einer Programmeinheit, wie in den Ansprüchen 16 und 19 beschrieben,
verwirklicht. Vorteilhafte Ausführungsformen
sind in den weiteren Ansprüchen
beschrieben.
-
Gemäß dem vorgeschlagenen
Verfahren für die Übertragung
von Datenpaketen von einem Absender an einen Empfänger werden
fehlerhafte Datenpakete in dem Empfänger erkannt, und eine erste Statusmeldung
mit einer Anzeige fehlerhafter Datenpakete wird vom Empfänger an
den Absender gesendet. Ein fehlerhaftes Datenpaket kann ein Datenpaket
sein, in dem ein Fehler erkannt wird, z.B. durch Überprüfen der
Steuerinformationen in dem Datenpaket, wie die Kontrollsumme, oder
welches als verloren erkannt wird, z.B. wenn die entsprechende Folgenummer
nicht empfangen wird. Eine erneute Übertragung von Datenpaketen,
die als fehlerhaft angezeigt werden, wird vom Absender gemäß der ersten Statusmeldung
durchgeführt.
-
Eine
grundlegende Idee der Erfindung besteht darin, dass der Empfänger nicht
jedes Mal, wenn er eine Statusmeldung sendet, über sämtliche fehlerhaften Datenpakete
berichtet. Zu diesem Zweck initialisiert der Empfänger eine
Zeitmesseinheit gemäß der Zeit,
zu der die erste Statusmeldung gesendet wird und eine Schwelle dieser
Statusmeldung entspricht. Beispielsweise kann ein erster Zeitgeber
oder ein Zähler
gestartet werden, wenn die Statusmeldung zur Übertragung an eine zugrundeliegende
Schicht in dem Protokollstapel weitergeleitet wird, oder wenn die Übertragung
von einer Bitübertragungsschicht
gestartet wird. Die Zeitmesseinheit erreicht die Schwelle vorzugsweise
nach einer Umlaufzeit, die beispielsweise von einem vorkonfigurierten
konstanten Wert einer Zählers
oder Zeitgebers oder aber von einer gemessenen Umlaufzeit zwischen
dem Absender und dem Empfänger
repräsentiert
werden kann. Eine Einstellung der Schwelle entsprechend eines geringfügig höheren Wertes
als der einer Umlaufzeit kann Abweichungen erlauben und erhöht die Stabilität des vorgeschlagenen
Verfahrens.
-
Nach
dem Starten der Zeitmesseinheit bestimmt der Empfänger, dass
eine weitere Statusmeldung, die fehlerhafte Datenpakete anzeigt,
erforderlich ist. Der Empfänger
empfängt
im allgemeinen weitere Datenpakete, die ebenfalls auf Fehler überprüft werden,
und die weitere Statusmeldung kann ausgelöst werden, wenn eine vorbestimmte
Anzahl weiterer fehlerhafter Datenpakete erkannt wird. Der Empfänger kann
ebenso unabhängig
von den Datenpaketen, die als fehlerhaft erkannt werden, bestimmen, dass
eine weitere Statusmeldung erforderlich ist, z.B. wenn eine Anforderung
für eine
Statusmeldung vom Absender empfangen wird, oder wenn die Zeitmesseinheit
oder ein anderer Zeitgeber eine bestimmte Schwelle erreicht.
-
Datenpakete,
die als fehlerhaft erkannt werden, werden zur Anzeige in der weiteren
Statusmeldung selektiert. Anzeigen der fehlerhaften Pakete werden
nicht in die weitere Statusmeldung aufgenommen, wenn eine Überprüfung anzeigt,
dass das fehlerhafte Datenpaket in einer vorhergehenden Statusmeldung
angezeigt ist, insbesondere in der ersten Statusmeldung, und wenn
die Zeitmesseinheit nicht die entsprechende Schwelle erreicht hat,
z.B. wenn ein Zeitgeber nicht abgelaufen ist. Es ist möglich, dass
die Schwelle während
dieser Überprüfungen bestimmt
wird, während ihre
Bestimmung bereits beim Senden des Datenpaketes nicht für sämtliche Ausführungsformen
des Verfahrens erforderlich ist. Gemäß einer anderen Option wird
die weitere Statusmeldung ausgelöst,
wenn die Zeitmesseinheit die Schwelle oder einen definierten Bruchteil
derselben erreicht. In diesem Fall kann die Überprüfung, ob ein Datenpaket in
der ersten Statusmeldung angezeigt ist, auf die Auswahl fehlerhafter
Datenpakete aus einem oder mehreren spezifizierten Teilen eines
Empfängerfensters
vereinfacht werden.
-
Im
Falle eines negativen Ergebnisses für eine Bedingung muss die jeweilige
andere Bedingung für
die Auswahl eines fehlerhaften Datenpakets nicht überprüft werden.
Nachdem die Schwelle erreicht ist, kann ein Paket beispielsweise
in die weitere Statusmeldung aufgenommen werden, ohne eine Überprüfung, ob
es in der entsprechenden Statusmeldung angezeigt ist. Gemäß dem Senden
der weiteren Statusmeldung kann eine weitere Schwelle definiert
werden, z.B. – wie
oben beschrieben – als
eine vorkonfigurierte Konstante oder ein Messwert. Die weitere Schwelle
wird in derselben Art und Weise ausgewertet, wie die erste Schwelle,
für noch
weitere Statusmeldungen im Vergleich zur selben oder einer weiteren
Zeitmesseinheit.
-
Die
weitere Statusmeldung kann gesendet werden, bevor die Schwelle erreicht
ist, um so Neuübertragungen
zu beschleunigen. Eine weitere Anforderung für die Neuübertragung von bereits angeforderten
Datenpaketen wird gemäß der Schwelle
verzögert,
die die erwartete Ankunft der bereits angeforderten Neuübertragungen
beim Empfänger
darstellt. Noch weitere Statusmeldungen können gesendet werden, bevor
die erste und weitere Schwellen erreicht sind, aber in jeder Statusmeldung
werden nur die fehlerhaften Datenpakete angezeigt, die entweder
nicht in einer früheren
Statusmeldung angezeigt waren oder für die die entsprechende Schwelle
erreicht oder überschritten
ist.
-
Die
Erfindung kann beispielsweise in einem Benutzergerät implementiert
werden, um so den Abwärtsverkehr
zum Benutzer zu beschleunigen. Ferner ist es vorteilhaft, die Erfindung
in einem Netzknoten zu implementieren, der zum Aufbau von Verbindungen
mit Benutzergeräten
ausgestaltet ist, z.B. in einem Funknetzsteuergerät (radio network
controller – RNC)
oder in einer Funkbasisstation, je nach dem Knoten, in dem das Protokoll,
das Übertragungen über die
Funkverbindung steuert, beendet wird. Das vorgeschlagene Verfahren
wird vorzugsweise an beiden Enden der Funkverbindung implementiert,
da im allgemeinen beide Seiten der Empfänger sein können. Es ist jedoch möglich, das
Verfahren in nur einem Empfänger
zu implementieren, insbesondere auf der Seite der Funkverbindung,
an die der meiste Datenverkehr gesendet wird, was normalerweise
die Abwärtsseite
ist. Es ist insbesondere vorteilhaft, dass Anpassungen des Absenders
nicht erforderlich sind.
-
Die
Erfindung beschleunigt das Funkübertragungssteuerungsprotokoll,
indem eine frühzeitige Neuübertragung
fehlerhafter Pakete ermöglicht
wird, während
unnötige
Neuübertragungen
vermieden werden. Eine frühzeitige
Neuübertragung
hat den Vorteil, dass der Datenverkehr weniger gebüschelt ist,
d.h. die Abweichungen in den Intervallen zwischen der Datenübermittlung
an höhere
Schichten werden verringert, insbesondere im Falle einer ordnungsgemäßen Übermittlung
von Datenpaketen durch das vorgeschlagene Protokoll an die höhere Schicht.
Die Bearbeitungserfordernisse für
sämtliche Vorrichtungen
in einer Verbindung können
hierdurch verringert werden. Das vorgeschlagene Verfahren ist besonders
für den
TCP-Verkehr nutzbringend und verringert die Wahrscheinlichkeit eines überlasteten Übertragungsfensters
bedeutend.
-
Gemäß einer
bevorzugten Ausführungsform der
Erfindung ist die Zeitmesseinheit ein Zeitgeber, und die Schwelle
ist der Ablauf des Zeitgebers. Es ist möglich, einen unterschiedlichen
Zeitgeber für
jede Statusmeldung zu verwenden und den Ablaufwert auf die Umlaufzeit
einzustellen. Es besteht weiterhin die Option, einen einzigen Zeitgeber
für sämtliche Statusmeldungen
zu verwenden und die Ablaufschwelle beim Senden der Statusmeldung
auf den Zeitgeberwert plus der erwarteten Umlaufzeit zu setzen.
Die Verwendung von Zeitgebern erlaubt eine sehr präzise Implementierung
des vorgeschlagenen Verfahrens.
-
Um
die Anzahl der für
das Verfahren benötigten
Zeitgeber zu verringern, umfasst ein vorteilhafter Zeitgeber einen
Schwellenzeitgeber mit einer auf einen Ablaufwert ge setzten Schwelle.
Zusätzlich
umfasst die Zeitmesseinheit einen Intervallzeitgeber. Der Schwellenzeitgeber
und der Intervallzeitgeber werden gemäß dem Versenden der ersten
Statusmeldung gestartet. Wenn eine nachfolgende Statusmeldung gesendet
wird, wird der Wert des Intervallzeitgebers gespeichert und der
Intervallzeitgeber wird rückgesetzt
und erneut gestartet. Der Schwellenzeitgeber wird rückgesetzt
und erneut gestartet, wenn er die Ablaufschwelle erreicht, und die
Ablaufschwelle wird auf den gespeicherten Wert des Intervallzeitgebers
gesetzt. Die Prozedur kann für
jede nachfolgende Statusmeldung wiederholt werden. Auf diese Weise
kann jede Anzahl von Statusmeldungen mit einer einzigen Zeitmesseinheit
verfolgt werden.
-
In
einer alternativen Ausführungsform
umfasst die Zeitmesseinheit einen Paketzähler für empfangene Pakete, und die
Schwelle ist ein Zählerwert. Gemäß einer
Option wird der Zähler
nicht direkt in der Auswahl von Datenpaketen ausgewertet, sondern
das Erreichen der Schwelle oder eines definierten Bruchteils der
Schwelle durch die Zeitmesseinheit löst die weitere Statusmeldung
aus. Die Auswahl der angeforderten Datenpakete für die weitere Statusmeldung
können
in diesem Fall sämtliche
fehlerhaften Pakete von einem oder mehreren Intervallen sein, die
mit Bezug auf den vorliegenden Wert einer Übertragungsvariablen, insbesondere
der Folgenummer der Obergrenze eines Empfängerfensters, und den Schwellenwert
definiert sind. Dies erlaubt eine sehr einfache Implementierung
der Erfindung und ist insbesondere für konstante Datenraten geeignet, während eine
abweichende Datenrate fehlerhafte Schätzwerte der Umlaufzeit verursachen
kann. Für eine
kleine Anzahl oder Größenordnung
fehlerhafter Schätzwerte
wird die Gesamtmenge unnötiger
Neuübertragungen
doch bedeutend reduziert.
-
Noch
weitere Statusmeldungen können
gesendet werden, und eine entsprechende Anzahl von noch weiteren
Schwellen kann bestimmt werden, d.h. eine Schwelle kann auch für die zweite
Statusmeldung bestimmt werden, und mindestens eine dritte Statusmeldung
kann gesendet werden. Eine Anzeige eines fehlerhaften Datenpaketes
ist nur dann in einer weiteren Statusmeldung enthalten, wenn dieses
Paket nicht in einer vorhergehenden ersten oder weiteren Statusmeldung
enthalten ist oder wenn die entsprechende Schwelle erreicht ist.
Auf diese Weise können
vielfache Status meldungen während
einer Umlaufzeit gesendet werden, ohne bzw. mit einem bedeutend
verringerten Risiko unnötiger
Neuübertragungen.
-
Der
Empfänger
kann bestimmen, dass eine Statusmeldung erforderlich ist, indem
eine einzige der im folgenden beschriebenen Bedingungen oder eine
Kombination derartiger Bedingungen verwendet wird. Beispielsweise
kann der Empfänger
bestimmen, dass eine Statusmeldung erforderlich ist, wenn er eine
Sendeanforderung vom Absender empfängt. Eine Statusmeldung kann
auch ausgelöst
werden, nachdem eine vordefinierte Anzahl von Datenpaketen empfangen
wird oder nach jedem als fehlerhaft erkannten Datenpaket oder nach
einer vordefinierten Anzahl von fehlerhaften Datenpaketen. Statusmeldungen
können
auch in regulären
Intervallen gesendet werden, z.B. gemessen in Millisekunden oder Übertragungszeitintervallen
(transmission time intervals – TTI),
oder nachdem die Schwelle oder der definierte Bruchteil der Schwelle
von der Zeitmesseinheit erreicht ist, d.h. nach dem Ablauf eines
Statuszeitgebers oder eines Zählers.
Die letztere Option ist insbesondere vorteilhaft, weil sie die Auswahl
fehlerhafter Datenpakete für
weitere Statusmeldungen vereinfacht. Es ist ebenso möglich, eine
Kombination eines Zeitgebers und eines Paketzählers wie im EPC-Verfahren
zu verwenden. Um zu vermeiden, dass Pakete einer höheren Schicht
im Protokollstapel von einzigen fehlenden Paketen aus der ARQ-Schicht
blockiert werden, kann eine Statusmeldung am Ende oder am Beginn
von Paketen von einer höheren
Schicht des Protokollstapels gesendet werden. Noch weitere Bedingungen
können
die Größe des Inhaltes
der Statusmeldung sein, d.h. dass der Inhalt in ein oder eine vordefinierte
Anzahl von Datenpaketen passt, oder dass eine Statusmeldung eine
bestimmte Anzahl von Datenpaketen anzeigt. Eine weitere vorteilhafte
Auslösebedingung
ist der Empfang eines vorbestimmten Bruchteils eines Empfängerfensters.
Die selektierte Bedingung oder Kombination kann zur Optimierung
der Geschwindigkeit von Neuübertragungen,
für das
für die
Statusmeldungen erforderliche Overhead, die Burstartigkeit des Verkehrs,
die notwendige Speicher- und Verarbeitungskapazität in den
Vorrichtungen oder zum Erreichen eines vorteilhaften Kompromisses
von Parametern verwendet werden.
-
Die
Zeit zwischen zwei nachfolgenden Statusmeldungen, z.B. zwischen
der ersten Statusmeldung und der weiteren Statusmeldung, ist vorzugsweise
niedriger als eine Umlaufzeit zwischen dem Absender und dem Empfänger. Mit
wachsender Anzahl von Statusmeldungen pro Umlaufzeit wird die Gesamtübertragungsverzögerung des
Protokolls durch fehlerhafte Datenpakete verringert.
-
In
vielen Übertragungssystemen
können
Daten über
Kanäle
mit unterschiedlichen Eigenschaften übertragen werden, Insbesondere
werden Übertragungen
eines Benutzers in einem Kommunikationssystem entweder über einen
dem Benutzer zugeordneten Kanal oder über einen gemeinsam genutzten Kanal
durchgeführt.
Auf einem zugeordneten Kanal hat der Benutzer im allgemeinen eine
definierte Bandbreite und Verzögerung
für Übertragungen.
Diese Parameter können
für einen
anderen zugeordneten Kanal anders sein, und sie können für einen
gemeinsam genutzten Kanal variieren, z.B. gemäß dem Verhalten anderer Benutzer
in dem Kommunikationssystem. Es ist vorteilhaft, dass die erste
Schwelle bzw. jede weitere Schwelle gemäß den Eigenschaften des für die Datenübertragung
genutzten Kanals bestimmt wird. Auf diese Weise können die
Neuübertragungen
auf einem Kanal mit geringer Verzögerung schneller durchgeführt werden.
Eine von den Kanaleigenschaften unabhängige Schwelle ist einfacher
zu konfigurieren, kann jedoch unnötige Verzögerungen einführen.
-
Zur
Identifizierung der Datenpakete, die in den Statusmeldungen angezeigt
werden, hat der Empfänger
vorzugsweise einen Speicher zur Speicherung einer entsprechenden
Information. Der Empfänger
kann beispielsweise mindestens eine Bereichsgrenze eines Intervalls
von Folgenummern speichern, wobei das Intervall Pakete in einer
ersten oder weiteren Statusmeldung umfasst. Der Speicher kann alternativ
eine Anzahl von Statusmeldungen oder eine Anzahl von Zeitmesseinheiten
oder eine Anzahl von Schwellen für
jedes erneut übertragenen Datenpaket
speichern. Ferner ist es auch möglich,
einen Zeitgeber permanent einem bestimmten Bereich von Folgenummern
zuzuordnen (z.B. der Zeitgeber n kann den Folgenummern [n·256, n·256 +
255] mit n = 0, 1, 2, ...) zugeordnet werden. Die letztere Alternative
ist besonders dann geeignet, wenn sämtliche Bereiche von Folgenummern
dieselbe Größe aufweisen.
Sie ist weniger flexibel, jedoch einfach zu konfigurieren, und benötigt keinen
Speicher zum Speichern, welche Datenpakete in einer bestimmten Statusmeldung
angezeigt sind.
-
Die
Schwelle entspricht vorzugsweise ungefähr einer Umlaufzeit, um unnötige Neuübertragungen
zu vermeiden, ohne dass das Protokoll verlangsamt wird. Kann die
Umlaufzeit variieren, so verringert ein Wert, der höher ist
als die durchschnittliche Umlaufzeit, die Wahrscheinlichkeit unnötiger Neuübertragungen,
während
die Verzögerung
zunimmt. Die am meisten bevorzugte Option ist deshalb, die Schwelle,
z.B. den Zeitgeberablauf, auf einen Wert zu setzen, der einer Zeit
entspricht, die geringfügig höher ist
als eine Umlaufzeit, um so Abweichungen zu erlauben und eine hohe
Stabilität
des vorgeschlagenen Verfahrens sicherzustellen, d.h. die Schwelle durch
einen Korrekturwert für
die Umlaufzeit anzupassen. Eine geeignete Größenordung des Korrekturwertes
kann von verschiedenen Parametern abhängen, wie dem Verhältnis von
Neuübertragungen. Wahlweise
kann die Zeitmesseinheit sowohl einen Zeitgeber zur Berücksichtigung
der Umlaufzeit als auch einen Paketzähler zur Bestimmung des Korrekturwertes
umfassen.
-
Um
die Anzahl von Datenpaketen zu reduzieren, die sich im Übertragungsfenster
des Absenders befinden, umfasst eine vorteilhafte Statusmeldung
Anzeigen sämtlicher
korrekt empfangener Datenpakete, z.B. seit der letzten Statusmeldung
oder im Empfängerfenster.
Da diese Pakete nicht für
eine Neuübertragung
angefordert werden, besteht kein Risiko von Mehrfachübertragungen,
während
eine frühzeitige
Bestätigung
an den Absender ein Verschieben des Absenderfensters erlaubt, um
eine Überlastung
zu vermeiden.
-
Das
vorgeschlagene Verfahren ist insbesondere vorteilhaft für die Implementierung
in einer RLC-Schicht des Empfängers,
d.h., wenn die Pakete RLC-Paketdateneinheiten sind.
-
Es
ist ferner vorteilhaft, das vorgeschlagene Verfahren für die Datenpakete
einer Bitübertragungsschicht
in einem Protokollstapel zu verwenden. Dies ist besonders nütz lich für die HSDPA(-high
speed downlink packet access)-Entwicklung des WCDMA, welches einen
ARQ-Mechanismus auf der Bitübertragungsschicht
des Protokollstapels verwendet. Im HSDPA kann ein hybrider ARQ-Mechanismus
verwendet werden, in dem fehlerhafte Datenpakete nicht verworfen
werden, sondern Informationen aus unterschiedlichen Übertragungen
desselben Paketes zum Wiederaufbau des Paketes kombiniert werden können. Insbesondere
in diesem Fall ist es häufig von
Vorteil, wenn das ursprüngliche
und das erneut übertragenen
Datenpaket nicht identisch sind, sondern sie können beispielsweise in unterschiedlicher Art
und Weise kodiert sein, um die Wahrscheinlichkeit des korrekten
Dekodierens nach der Kombinierung der ursprünglichen Übertragung und der erneuten Übertragung
zu verbessern. Das Verfahren kann sowohl für Abwärts- als auch für Aufwärtsverkehr
verwendet werden. Netzwerkseitig der drahtlosen Verbindungsstrecke
ist das Protokoll vorzugsweise in einer Funkbasisstation implementiert,
um den Verkehr zu beschleunigen. Wird das Verfahren auf der Bitübertragungsschicht
angewendet, kann dies entweder eine Alternative zu der Anwendung
auf einer höheren Schicht,
z.B. RLC, sein, oder aber als Backup-Lösung dienen, bei der das Verfahren
sowohl auf der Bitübertragungsschicht
als auch auf einer höheren Schicht
verwendet wird.
-
Ein
Empfänger
in einem Kommunikationssystem für
die Übertragung
von Datenpaketen gemäß einem
ARQ-Mechanismus umfasst eine Einheit zum Erkennen fehlerhafter Datenpakete
sowie eine Kommunikationseinheit zur Initiierung von Statusmeldungen
mit einer Anzeige fehlerhafter Datenpakete an einen Absender in
dem Kommunikationssystem. Gemäß der Erfindung
enthält
der Empfänger eine
Zeitmesseinheit und ist zur Initialisierung der Zeitmesseinheit
gemäß der Initiierung
einer ersten Statusmeldung ausgestaltet. Der Empfänger kann beispielsweise
zum Starten eines ersten Zeitgebers gemäß der Initiierung einer ersten
Statusmeldung ausgestaltet sein. Eine Steuereinheit bestimmt, dass eine
weitere Statusmeldung, die fehlerhafte Datenpakete anzeigt, erforderlich
ist, z.B. gemäß einer
der im Zusammenhang mit dem vorgeschlagenen Verfahren beschriebenen
Bedingungen.
-
Der
Empfänger
enthält
ferner eine Einheit, die zur Durchführung einer Überprüfung ausgestaltet ist,
ob ein fehlerhaftes Datenpaket in einer vorhergehenden Statusmel dung
enthalten ist, insbesondere in der ersten Statusmeldung, und ob
die entsprechende Zeitmesseinheit eine Schwelle erreicht hat, z.B.
ob der erste Zeitgeber abgelaufen ist. Der Empfänger enthält die Anzeige eines fehlerhaften
Datenpaketes in der weiteren Statusmeldung, wenn das Datenpaket
nicht in einer vorhergehenden Statusmeldung angezeigt ist oder wenn
die entsprechende Zeitmesseinheit die Schwelle erreicht hat, z.B.
wenn der entsprechende Zeitgeber abgelaufen ist. Die Kommunikationseinheit
initiiert die weitere Statusmeldung umfassend Anzeigen der selektierten
Datenpakete. Der Empfänger
initialisiert vorzugsweise eine weitere Zeitmesseinheit und/oder
bestimmt eine weitere Schwelle gemäß der Initiierung der weiteren
Statusmeldung, z.B. startet einen weiteren Zeitgeber gemäß der Initiierung
der weiteren Statusmeldung. Die obigen Einheiten können beispielsweise
als Software implementiert werden, die in einem Verarbeitungssystem
des Empfängers
ausgeführt
wird. Der Empfänger
ist vorzugsweise zur Durchführung
einer oder mehrerer der Ausführungsformen
des beschriebenen Verfahrens ausgestaltet.
-
Der
Empfänger
ist z.B. eine Funkbasisstation, ein Benutzergerät oder ein Funknetzsteuergerät. Dieselben
Einrichtungen können
im vorgeschlagenen Verfahren auch einen Absender darstellen.
-
Eine
Programmeinheit gemäß der Erfindung kann
beispielsweise auf einem Datenträger
gespeichert oder in einen Empfänger
in einem Kommunikationssystem ladbar sein, z.B. als eine Signalfolge.
Die Programmeinheit kann Code zur Durchführung der beschriebenen Verfahren
umfassen.
-
Die
obengenannten und weitere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung gehen aus der folgenden ausführlichen Beschreibung bevorzugter
Ausführungsformen,
die in den beiliegenden Zeichnungen dargestellt sind, hervor.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt
eine Funkübertragungsstrecke
in einem drahtlosen Kommunikationssystem in zwei unterschiedlichen
Darstellungen;
-
2 zeigt
ein Beispiel übertragener RLC-Pakete
während
eines Zeitintervalls;
-
3 zeigt
die Handhabung von Datenpaketen gemäß der Erfindung;
-
4 zeigt
einen Empfänger
gemäß der Erfindung.
-
Ausführliche
Beschreibung bevorzugter Ausführungsformen
der Erfindung
-
1a zeigt
ein Übertragungssystem
umfassend eine drahtlose Verbindungsstrecke (wireless link – WL). Die
Verbindungsstrecke WL verbindet ein Benutzergerät UE, z.B. ein Mobiltelefon
oder ein anderes Endgerät,
und einen Funknetzknoten RN, z.B. ein RNC oder eine Basisstation.
Weitere Einrichtungen, die für
die Verbindung notwendig sind, werden der Übersicht halber weggelassen,
z.B. im Falle, dass der Knoten RN ein RNC ist, die drahtlose Verbindungsstrecke
zwischen dem Benutzergerät
UE und einer Funkbasisstation verläuft, die wiederum mit dem RNC
verbunden ist. Sowohl das Benutzergerät UE als auch der Knoten RN
können
der Absender oder der Empfänger
der vorliegenden Erfindung sein, je nach Richtung, in der Datenpakete über die
drahtlose Verbindungsstrecke WL gesendet werden.
-
Das
Benutzergerät
UE und der Netzknoten RN umfassen Verarbeitungssysteme, in welche
mindestens Teile eines Protokollstapels für die Übertragung von Daten implementiert
sind. Der Verarbeitungsstapel im Beispiel umfasst eine Anwendungsschicht
AL zum Ausführen
von Anwendungen, eine Transportschicht TL, z.B. zum Implementieren
des TCP, eine Funkübertragungssteuerungsschicht
RLC und eine Bitübertragungsschicht
PL. Weitere Schichten, die nicht abgebildet sind, können – wie durch Punkte
angedeutet – ebenfalls
im Protokollstapel vorhanden sein. Beispielsweise umfasst ein UMTS-System
eine MAC(-medium access control)-Schicht zwischen der RLC und der
Bitübertragungsschicht
PL.
-
Das
Benutzergerät
im Beispiel kommuniziert mit einer Anwendung, die in einem weiteren
Endgerät TE,
z.B. einem Server, läuft.
Die Anwendungsschicht AL und die Transportschicht TL werden in dem
weiteren Endgerät
TE beendet. Die Datenpakete zwischen dem Benutzergerät und dem
Endgerät
werden über den
Knoten RN und eines oder mehrere Zwischennetze NW, z.B. dem Kernnetz
eines Kommunikationssystems gesendet. Datenpakete der Transportschicht
TL werden an die RLC-Schicht zur Übertragung über die drahtlose Verbindungsstrecke
WL übertragen.
Das Verhalten der RLC-Pakete auf der drahtlosen Verbindungsstrecke,
insbesondere die Verzögerungen,
die von den Eigenschaften der RLC-Schicht und sämtlichen zugrundeliegenden Schichten
eingeführt
werden, wirken sich auf die Leistung der höheren Schichten TL, AL in dem
Protokollstapel aus.
-
In 1b wird
ein Model der Kommunikation über
die drahtlose Verbindungsstrecke WL aus der Perspektive der RLC-Schicht
gezeigt. Die RLC-Einrichtung RLCT im Absender
TR sendet Datenpakete D1 ... Dn an
die RLC-Einrichtung RLCR im Empfänger RE
durch Verwendung der oben beschriebenen zugrundeliegenden Schichten.
Die empfangende Einrichtung RLCR bestätigt den
Empfang korrekt empfangener Datenpakete und fordert die Neuübertragung
fehlerhafter Datenpakete in einer ersten Statusmeldung S1 an, die zurück an den Absender gesendet
wird. Zur Beschleunigung des Protokolls werden Neuübertragungen
eines Datenpaketes D vorzugsweise mit Priorität über den Paketen, die zum ersten Mal übertragen
werden sollen, durchgeführt.
-
Die
RLC-Umlaufzeit ist die Zeitdauer vom Senden der ersten Statusmeldung
S1, d.h. Weiterleiten an die zugrundeliegende
Schicht im Empfänger RE,
bis zum Empfang des ersten angeforderten Datenpaketes D, d.h. der
Zeitpunkt, zu dem dieses Paket von der zugrundeliegenden Schicht
im Empfänger
RE an die RLC-Einrichtung RLCR weitergeleitet wird.
Ganz allgemein ist die RLC-Umlaufzeit die Zeitdauer, bis die RLC-Einrichtung
an einem Ende einer Verbindungsstrecke eine Antwort von der RLC-Einrichtung
auf der andere Seite empfängt.
Die RLC-Umlaufzeit enthält
beispielsweise Verteilungsverzögerungen
auf der Verbindungsstrecke WL sowie Verarbeitungsverzögerungen
für die Übertagung von
Daten zwischen verschiedenen Schichten in den Protokollstapeln oder über Schnittstellen
zwischen Knoten, z.B. zwischen Funkbasisstation und RNC. Gemäß der Erfindung
können
mehrere weitere Statusmeldungen S2, S3 ... innerhalb einer Umlaufzeit gesendet
werden, während
eine einzige Neuübertragung
eines angeforderten Datenpaketes innerhalb einer Umlaufzeit sichergestellt
werden kann.
-
2 zeigt
einen Abschnitt einer RLC-Ablaufverfolgung für einen Empfänger, d.h.
der Empfang von Paketen, die mittels ihrer entsprechenden Folgenummer über die
Zeit angezeigt werden. Statusmeldungen werden ausgelöst, wenn
eine PDU empfangen wird, in der ein Pollbit gesetzt ist. Der Absender
kann das Pollbit setzen, z.B. wenn die letzte PDU aus einem Puffer,
der neue oder erneut übertragene
PDUs enthält,
gesendet wird. In dem Beispiel werden Statusmeldungen in Intervallen
von 50 ms gesendet, während
die RLC-Umlaufzeit ca. 100 ms beträgt. Auf der Verbindungsstrecke
WL zwischen dem Absender und dem Empfänger gehen einige der Pakete
verloren oder werden verstümmelt,
wie dies von horizontalen Balken angedeutet ist. Die Statusmeldungen
zeigen dem Absender an, welche Pakete erneut gesendet werden müssen.
-
Bei
einer Übertragung
gemäß dem Stand
der Technik, wie sie z.B. vom Standard 3G TS 25.322 vorausgesetzt
wird, wird eine Neuübertragung
für jede negative
Bestätigung,
die vom Absender empfangen wird, gesendet. Die Statusmeldung enthält Informationen über Protokolldateneinheiten,
die empfangen worden sind, und Informationen über sämtliche PDUs, die als fehlerhaft
erkannt wurden. Werden Statusmeldungen in Intervallen gesendet,
die kürzer sind
als die beispielhafte Funkübertragungssteuerungsumlaufzeit,
so enthalten mehrere Statusmeldungen dieselbe Protokolldateneinheit.
-
Der
Empfänger
gemäß 2 sendet
alle 50 ms eine Statusmeldung an den Absender. Aufgrund dieser Statusmeldungen
werden Neuübertragungen vorgenommen.
Die Folgenummern der erneut übertragenen
Pakete sind niedriger als die Folgenummern derjenigen Pakete, die
zum ersten Mal übertragen
werden, was eine Unterscheidung beider Paketarten in 2 erlaubt.
Sämtliche
irrtümlich
empfange nen Pakete werden zwei Mal erneut gesendet, da jedes in
zwei Statusmeldungen enthalten ist. Beispielsweise werden dieselben
Pakete mit den Folgenummern um 950 herum sowohl zum Zeitpunkt 4165 ms
und 4215 ms erneut übertragen,
obgleich die erste Neuübertragung
der Pakete erfolgreich war.
-
Im
Ergebnis gibt es im allgemeinen eine unnötige Neuübertragung für sämtliche
negativ bestätigten
Protokolldateneinheiten in 2, es sei
denn, die erste Neuübertragung
einer PDU ist fehlerhaft. Wird das Intervall zwischen Statusmeldungen
zur Vermeidung von unnötigen
Neuübertragungen
erhöht,
so erhöht
dies die Gesamtübertragungsverzögerung.
Insbesondere im Falle einer ordnungsgemäßen Weiterleitung von Datenpaketen
an höhere Schichten
tendiert der Verkehr ferner dazu, in Büscheln weitergeleitet zu werden,
wenn wenige fehlerhafte PDUs das Weiterleiten der Daten behindern, und
mehrere SDUs werden in einer Reihe ausgelöst, wenn eine PDU korrekt nach
einer oder mehreren erfolglosen Neuübertragungen empfangen wird.
-
Ein
Verfahren gemäß der Erfindung
wird mit Bezug auf die 3 beschrieben. Die horizontalen Balken
im linken Teil der 3 stellen das Empfängerfenster
RW zu unterschiedlichen Zeiten dar. Die freien Teile B, B' des Empfängerfensters
RW werden durch einen entsprechenden Zeitgeber geschützt, d.h.
für diese
Teile B, B' des
Empfängerfensters
wurde eine Statusmeldung gesendet und der entsprechende Zeitgeber
ist nicht ablaufen. Die schraffierten Teile sind nicht geschützt, d.h.
sie können
in der nächsten
Statusmeldung SR eingeschlossen werden. Der rechte Teil der 3 zeigt
die Inhalte der Statusmeldungen SR. Die folgenden Schritte beginnen
mit einer ersten Statusmeldung während
einer Datenübertragung.
Vor dem ersten Schritt hat der Empfänger bereits PDUs mit Folgenummern
in dem Intervall [x, x + 15]empfangen, die bisher nicht bestätigt sind
und über
die der Empfänger
in der ersten Statusmeldung berichtet.
- 1. Der
Empfänger überprüft, ob die
PDUs fehlerfrei empfangen werden und sendet eine erste Statusmeldung
gemäß der Überprüfung. Die Überprüfung wird
vorzugsweise unmittelbar nach dem Empfang jedes Datenpaketes durchge führt, und das
Ergebnis wird für
die Statusmeldung gespeichert. In dem Beispiel umfasst die erste
Statusmeldung SR den Status der Protokolldateneinheiten im ersten
Intervall [x, x + 15].
- 2. Der Empfänger
speichert die Folgenummern des ersten Intervalls, d.h. die Kennungen
der Protokolldateneinheiten, die in der ersten Statusmeldung angezeigt
sind. Der Empfänger
enthält
vorzugsweise einen Speicher zum Speichern derartiger Intervalle,
d.h. die Werte beider Intervallbereichsgrenzen, einer Bereichsgrenze
und die Intervallgröße, oder
nur von einer Bereichsgrenze, wenn die Größe eines Intervalls konstant
ist. Es ist auch möglich,
dass eine Statusmeldung Informationen über einen Bereich von Folgenummern enthält, der
nicht benachbart ist. Gemäß einer weiteren
Alternative ist jeder Zeitgeber einem definierten Abschnitt des
Empfängerfensters
zugeordnet, entweder mit Bezug auf eine Bereichsgrenze des Fensters
oder auf absolute Folgenummern. Für diese Alternative ist ein
Speicher zum Speichern der Intervalle nicht erforderlich, allerdings
ist die Flexibilität
aufgrund vordefinierter Gruppen von PDUs, die durch die Zeitgeber
geschützt
sind, niedriger. Im letzteren Fall enthält ein einem Zeitgeber entsprechendes
Intervall vorzugsweise dieselbe Anzahl von PDUs.
- 3. Der Empfänger
startet einen ersten Zeitgeber für
das erste Intervall. Der erste Zeitgeber ist vorzugsweise so gesetzt,
dass er nach einer Umlaufzeit zwischen den RLC-Einrichtungen des
Absenders und des Empfängers
abläuft,
gemessen von dem Zeitpunkt, wenn die erste Statusmeldung gesendet
wird.
- 4. Der Empfänger
empfängt
weitere Protokolldateneinheiten.
- 5. Nach einer vordefinierten Bedingung wird eine zweite Überprüfung durchgeführt, ob
Datenpakte fehlerhaft sind, und eine entsprechende Statusmeldung
wird erzeugt und gesendet. Die Überprüfung wird
nur für
die ungeschützten
Teile des Empfängerfensters
durchgeführt.
Die zweite Statusmeldung umfasst folglich lediglich Anzeigen von
Protokolldateneinheiten, die nicht durch den ersten Zeitgeber geschützt sind.
Im Beispiel gemäß 3 umfasst
das Empfängerfenster
bei 50 ms Protokolldateneinheiten im Bereich [x, x + 25], während die
zweite Statusmeldung lediglich Protokolldateneinheiten im Intervall
[x + 16, x + 25] enthält.
- 6. Der Empfänger
speichert die Folgenummern des zweiten Intervalls, über das
er berichtet hat.
- 7. Der Empfänger
startet einen zweiten Zeitgeber für das zweite Intervall.
- 8. Der Empfänger
empfängt
Neuübertragungen, die
von der Statusmeldung aus Schritt 1 angefordert wurden.
- 9. Der erste Zeitgeber läuft
ab. Wird das entsprechende Intervall von einem Speicher gespeichert, so
kann das Intervall aus dem Speicher entfernt oder als ungeschützt markiert
werden.
- 10. Der Empfänger
empfängt
zusätzliche
Protokolldateneinheiten.
- 11. Nach einer weiteren vordefinierten Bedingung wird die nächste Statusmeldung
erzeugt und gemäß einer
entsprechenden Überprüfung fehlerhafter
PDUs gesendet. Die neue Statusmeldung umfasst nur Informationen über Protokolldateneinheiten,
die nicht von einem der Zeitgeber, die noch nicht abgelaufen sind,
geschützt
sind. Im Beispiel gemäß 3 berichtet
der Empfänger über die
in den Schritten 8 und 10 empfangenen Pakete, d.h. der Empfänger berichtet
bei 100 ms über
notwendige weitere Neuübertragungen
im Intervall [x, x + 15] sowie über
neu empfangene Protokolldateneinheiten im Intervall [x + 26, x + 39].
Er berichtet nicht über
[x + 16, x + 25), weil dieses Intervall durch den zweiten Zeitgeber
geschützt
ist, der seit Schritt 7 noch nicht abgelaufen ist.
-
Die
obige Prozedur wird so lange wiederholt, bis sämtliche Datenpakete übertragen
sind. Der Fachmann weiß,
dass die Zeitmessung des Empfangs von Daten in den Schritten 4,
8 und 10 vom Verhalten des Absenders sowie den Eigenschaften der
Verbindungsstrecke abhängt,
während
der Ablauf der Zeitgeber im Empfänger
bestimmt wird. Folglich kann ein Empfang von Datenpaketen zur jeder Zeit
während
der Prozedur stattfinden, z.B. kann Schritt 4 auch gleichzeitig
mit den Schritten 2 oder 3 stattfinden. Ferner gibt es auch keine
verbindliche Relation zwischen den Schritten 8 und 9, obgleich die Zeitgeber
vorzugsweise auf mindestens eine Umlaufzeit gesetzt sind. Gemäß einer
vorteilhaften Ausführungsform
läuft der
erste Zeitgeber zur selben Zeit ab, zu der die entsprechenden Neuübertragungen empfangen
werden.
-
Für die Bedingungen,
die weitere Statusmeldungen in den Schritten 5 und 10 auslösen, existieren
mehrere Optionen. In vielen Fällen
fordert der Absender eine Statusmeldung an, z.B. durch Setzen eines
Pollbits in einer PDU. Eine weitere Option besteht im Senden von
Statusmeldungen auf einer regulären
Basis, z.B. nach einer vordefinierten Anzahl von empfangenen Protokolldateneinheiten,
in vordefinierten Zeitintervallen, entweder gemessen in Millisekunden
oder nach der Anzahl von Übertragungszeitintervallen
TTI. Alternativ oder zusätzlich
können Statusmeldungen
am Ende einer vordefinierten Anzahl von Paketen einer höheren Schicht
gesendet werden, d.h. am Ende von SDUs, was vorteilhaft ist, da
die weitere Verarbeitung einer SDU nur nach Beendigung durchgeführt werden
kann. Um eine effektive Übertragung
von Statusmeldungen zu ermöglichen
wird vorgeschlagen, eine Statusmeldung dann zu senden, wenn sie
in eine definierte Anzahl von Protokolldateneinheiten passt. Wird
ein geschätzter PDU-Zähler (EPC)
verwendet, so kann der Auslöser auch
der EPC-Ablauf sein. Noch weitere Alternativen können in einer definierten Anzahl
fehlerhafter Protokolldateneinheiten bestehen, oder darin, dass
ein definierter Bruchteil des Empfängerfensters oder ein Puffer
gefüllt
ist. Kombinationen von oder die gleichzeitige Verwendung mehrerer
Bedingungen sind möglich.
Die Alternative, welche die schnellste Neuübertragung ermöglicht,
ist, dass eine Statusmeldung gesendet wird, sobald eine fehlerhafte
PDU erkannt wird. Im Falle einer großen Anzahl von Paketverlusten
erfordert dies jedoch eine große
Anzahl von Zeitgebern und Statusmeldungen.
-
Die
Anzahl notwendiger Zeitgeber entspricht der Anzahl von Statusmeldungen,
die vor dem Ablauf des ersten Zeitgebers gesendet werden. Äquivalent zu
einer Vielzahl von Zeitgebern kann ein einziger Zeitgeber verwendet
werden, wenn jedes Intervall an einem festgelegten entsprechenden
Schwellenwert des einzigen Zeitgebers vom Schutz freigegeben wird.
Gemäß einer
weiteren bevorzugten Option für die
Implementierung umfasst die Zeitmesseinheit zwei im folgenden als
Intervallzeitgeber und Zeitablaufzeitgeber bezeichnete Zeitgeber.
Der Ablaufwert des Zeitablaufzeitgebers entspricht der Schwelle, nach
welcher ein Datenpaket ein zweites Mal in einer Statusmeldung angefordert
werden kann.
-
Wenn
eine erste Statusmeldung gesendet wird, werden beide Zeitgeber mit
einer Anzeige gestartet, dass der Zeitablaufzeitgeber der ersten
Statusmeldung entspricht. Wird eine zweite Statusmeldung gesendet,
bevor der Zeitablaufzeitgeber abgelaufen ist, so wird der vorliegende
Wert des Intervallzeitgebers mit einer Anzeige der zweiten Statusmeldung
gespeichert. Der Intervallzeitgeber wird zurückgesetzt und erneut gestartet.
Für jede
weitere Statusmeldung, die gesendet wird, bevor der Zeitablaufzeitgeber
abgelaufen ist, wird der vorliegende Wert des Intervallzeitgebers
erneut mit einer Anzeige der entsprechenden Statusmeldung gespeichert
und der Intervallzeitgeber wird wiederum zurückgesetzt und erneut gestartet.
-
Wenn
der Schwellenwert vom Zeitablaufzeitgeber erreicht ist deutet dies
an, dass die in der ersten Statusmeldung angezeigten Datenpakete
in einer weiteren Statusmeldung erneut angefordert werden können, wenn
sie weiterhin fehlerhaft sind. Der Zeitablaufzeitgeber wird der
zweiten Statusmeldung zugeordnet und erneut gestartet, wobei die
Schwelle auf den Wert des Intervallzeitgebers gesetzt ist, der für die zweite
Statusmeldung gespeichert ist, d.h. der Zeitablaufzeitgeber wird
so gesetzt, dass er nach dem gespeicherten Intervallzeitgeberwert
abläuft. Wird
die Schwelle erreicht, so wird dieselbe Prozedur für jede weitere
Statusmeldung, für
die ein Wert des Intervallzeitgebers gespeichert ist, wiederholt.
Erreicht der Intervallzeitgeber die Schwelle des Zeitablaufzeitgebers,
so gibt dies an, dass jedes fehlerhafte Datenpaket in einer Statusmeldung
angefordert werden kann. Diese Implementierung der Zeitmesseinheit
begrenzt die Anzahl der Zeitgeber, die für das Rückverfolgen der Statusmeldungen
notwendig sind, während
eine präzise
Zeitmessung sichergestellt wird.
-
Ein
erfindungsgemäßer Empfänger ist
in der 4 dargestellt. Insbesondere wenn der Empfänger ein
Benutzergerät
ist, enthält
dieser Hardwarekomponenten wie ein Display, eine Tastatur, ein Mikrophon
sowie einen Lautsprecher, die der besseren Überschaubarkeit halber weggelassen
wurden. Der Empfänger
weist ein Verarbeitungssystem PS zum Implementieren des Protokollstapels
der Kommunikationsvorrichtung und zum Steuern der oben erwähnten Hardwarekomponenten
auf. Der Stapel enthält
neben anderen Schichten eine Bitübertragungsschicht
PL, eine RLC-Schicht
und eine Anwendungsschicht AL. Drahtlose Signale werden über eine
An tenne ANT empfangen oder ausgesendet, und die Signale werden für die drahtlose
Verbindungsstrecke WL in einer Übertragungseinheit
TM bzw. in einer Empfangseinheit REC dekodiert und kodiert. Eine
Erkennungseinheit DU erkennt fehlerhafte Datenpakete, z.B. durch
Steuern von Überprüfbits, die
in den Paketen der Bitübertragungseinheit
enthalten sind. Die Erkennungseinheit kann beispielsweise fehlerhafte
Pakete verwerfen.
-
Das
Verarbeitungssystem enthält
ferner eine Gruppe von Zeitgebern TI1 ...
TIn sowie einen Speicher MEM mit Abschnitten
1, ... n, die den Zeitgebern TI entsprechen und die Datenpakete
im Empfängerfenster
identifizieren, die durch einen bestimmten Zeitgeber TIi geschützt sind.
Eine Steuereinheit CT ist zur Durchführung der Schritte des oben
beschriebenen Verfahrens ausgestaltet. Insbesondere bestimmt die
Steuereinheit CT, ob eine Statusmeldung S erforderlich ist. In diesem
Fall werden Kennungen der fehlerhaften Pakete in die Statusmeldung
eingeschlossen, es sei denn der Speicher MEM zeigt an, dass das
Datenpaket in einer vorhergehenden Statusmeldung enthalten war und
der entsprechende Zeitgeber TIi nicht abgelaufen
ist. Die Statusmeldung wird dann von einer Kommunikationseinheit
CU in der RLC-Schicht initiiert und von der Übertragungseinheit TM in der
Bitübertragungsschicht über die
Antenne ANT an den Absender am entfernten Ende der drahtlosen Verbindungsstrecke
WL gesendet. Es ist möglich,
die obigen Einheiten entweder als Hardware zu implementieren, oder
als in dem Verarbeitungssystem PS einer Vorrichtung ausgeführte Software oder
als Kombination von Hard- und Software.
-
Wird
das vorgeschlagene Verfahren mit Paketzählern anstelle von Zeitgebern
implementiert, so bestehen verschiedene vorteilhafte Optionen. Gemäß einer
ersten Option werden Statusmeldungen in periodischen Zeitintervallen
SI gesendet, die einer Anzahl von f = RTT/SI Statusmeldungen pro
Umlaufzeit RTT entsprechen. Aufgrund der regulären Statusintervalle ist keine
Durchführung
einer Überprüfung, ob
die Zeitmesseinheit eine bestimmte Schwelle erreicht hat, erforderlich,
wenn die Datenpakete für
weitere Statusmeldungen geeignet ausgewählt werden. Zu diesem Zweck
speichert ein Zähler
die Nummer xn von empfangenen PDUs zwischen
der vorhergehenden Statusmeldung Sn-1 und
Sn für
jede Statusmeldung Sn.
-
Mit
VR(H) als höchste
empfange Folgenummer enthält
die Statusmeldung S
n die fehlerhaften Datenpakete
in den Intervallen [VR(H) – x
n; VR(H)] und [VR(R);
VR(R)
ist das erste unbestätigte
Datenpaket in dem Empfängerfenster, d.h.
die niedrigere Bereichsgrenze des Empfängerfensters. Wird eine Statusmeldung
von dem Absender angefordert, z.B. durch Setzen eines Pollbits in einer
PDU, so wird eine Statusmeldung nur für fehlerhafte Pakete in dem
Intervall [VR(R);
gesendet,
wobei x'
n die erneut übertragene PDU mit der höchsten Folgenummer
ist, die seit der letzten Statusmeldung empfangen wurde. Die Statusmeldung
wird gespeichert, und die verbleibenden Datenpakete, für die der
Status angefordert wurde, werden in die Statusmeldung eingeschlossen,
wenn die entsprechende Schwelle erreicht ist.
-
Gemäß einer
zweiten Option wird eine Statusmeldung vom Empfänger alle x0 PDUs
gesendet, d.h. die Zeitmesseinheit ist ein Paketzähler, der
das Senden der Statusmeldungen bestimmt. Die Zeit zwischen zwei
Statusmeldungen ist ST = x0/r, wobei r die Übertragungsrate
von PDUs ist. r kann beispielsweise geschätzt, gemessen oder von konfigurierten
Parametern abgelesen werden. Eine Anzahl von f = RTT/ST Statusmeldungen
wird pro Umlaufzeit RTT gesendet. Werden reguläre Statusintervalle vorausgesetzt,
so muss keine Überprüfung, ob
die Zeitmesseinheit eine bestimmte Schwelle erreicht hat, für eine geeignete
Auswahl der Datenpakete in weiteren Statusmeldungen durchgeführt werden.
Gemäß der Erfindung
umfasst die Statusmeldung in diesem Fall die Intervalle [VR(H) – x0; VR(H)] und [VR(R); VR(H) – f'x0].
Wie gemäß der ersten
Option sind unnötige
Neuübertragungen
von Paketen mit Folgenummern nahe VR(R) nicht ausgeschlossen. Dies
ist jedoch häufig
von Vorteil, da Verzögerungen dieser
Pakete höchst
kritisch sind. Alternativ können unnötige Neuübertragungen
auf einfache Weise durch Selektieren dieser Intervalle [VR(H) – x0; VR(H)], [VR(H) – (f' + 1)x0; VR(H) – f'x0],
VR(H) – (2f' + 1)x0;
VR(H) – 2f'x0]
... vermieden werden, für
welche die obere Bereichsgrenze größer ist als VR(R).
-
Diese
Ausführungsform
ist einfach zu implementieren, jedoch hängt die Effizienz von der Voraussetzung
ab, dass der Wert des Paketzählers
der abgelaufenen Zeit entspricht. Vorzugsweise wird der Wert von
f' deshalb angepasst,
sobald Änderungen
in der Übertragungsrate
identifiziert werden, um so unnötige
Neuübertragungen
oder verzögerte
Statusmeldungen zu vermeiden. Um eine Überlastung des Algorithmus
zu vermeiden, z.B. am Ende einer Übertragung, besteht die Möglichkeit,
stets eine vollständige
Statusmeldung für
das Empfängerfenster
nach einer entsprechenden Anforderung des Absenders zu senden, oder
einen vollständigen
Status zu senden, wenn keine Pakete für eine Zeitdauer empfangen
werden, die z.B. festgesetzt oder eine Funktion von f' sein kann. Bei beiden
Optionen mit einem Paketzähler
als Zeitmesseinheit können
Intervallbereichsgrenzen durch einen Korrekturwert angepasst werden,
um beispielsweise durch Neuübertragungen verursachte
Verzögerungen
zu berücksichtigen
oder für
eine Sicherheitsspanne zu sorgen.
-
Die
obigen Ausführungsformen
lösen die Aufgaben
der Erfindung in bewundernswerter Form. Es sei jedoch darauf hingewiesen,
dass Abweichungen durch den Fachmann möglich sind, ohne dass vom Umfang
der Erfindung, der lediglich durch die Ansprüche begrenzt ist, abgewichen
wird.