-
TECHNISCHES
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren zur Übertragung
von Daten von einem Sender an einen Empfänger, wobei der Empfänger eine
Prüfung durchführt, ob
empfangene Daten fehlerhaft sind und wobei der Sender eine weitere
Datenübertragung
gemäß der Prüfung durchführt.
-
ALLGEMEINER
STAND DER TECHNIK
-
Zur Übertragung
von Daten von einem Sender an einen Empfänger ist es üblich, sowohl
den Sender als auch den Empfänger
als eine Hierarchie von Protokollschichten zu beschreiben. Eine
Hierarchie von Schichten kann beispielsweise zusätzlich zu optionalen weiteren
Schichten eine physikalische Schicht, eine Verbindungsschicht, eine
Transportschicht und eine Anwendungsschicht umfassen. Jede Schicht
führt in
dem Übertragungsvorgang
spezifische Dienste für
die nächsthöhere Schicht
durch, während
die Verarbeitung in und unterhalb der Schicht für höhere Schichten verborgen ist.
Auf diese Weise können
das Design und die Beschreibung der sendenden Entitäten und
der Protokolle vereinfacht werden.
-
In
den meisten Fällen
werden die Daten zur Übertragung
in mehrere Datenpakete aufgeteilt, die durch die Hierarchie von
Protokollschichten geleitet werden. Während dieser Verarbeitung können Prüfsummen
zur Fehlererkennung oder Paketköpfe (Header)
in den Schichten zu den Paketen hinzugefügt oder aus diesen entfernt
werden. Datenpakete können
auch gemäß der Erfordernisse
der bestimmten Schichten segmentiert, aufgefüllt, verschachtelt oder verknüpft werden.
Die entsprechenden Datenpakete haben im Allgemeinen unterschiedliche
Namen, wie Protokolldateneinheit (protocol data unit, PDU), Dienstdateneinheit
(service data unit, SDU), Paket, Frame, Zelle, Segment usw., je
nach dem spezifischen Protokoll oder der spezifischen Technologie, das
bzw. die betroffen ist. In der vorliegenden Patentschrift bezieht
sich der Ausdruck „Datenpaket" allgemein auf beliebige
solcher Datenpakete, eine PDU bezeichnet ein Datenpaket der betrachteten Protokollschicht,
während
eine SDU ein Datenpaket bezeichnet, das an die nächsthöhere Schicht in dem Protokollstapel übergeben
wird.
-
Während der Übertragung
können
in den übertragenen
Daten Fehler auftreten, z. B. kann ein Datenpaket komplett verloren
gehen oder es können Bitfehler
in einem Datenpaket oder Datenstrom auftreten. Insbesondere bei Übertragungsprotokollen auf
Datenstrecken mit einer hohen Wahrscheinlichkeit von Datenfehlern,
wie drahtlosen Datenstrecken, werden im Stand der Technik Verfahren
zum Erkennen und Korrigieren solcher Fehler angewendet. Bei der
Vorwärtsfehlerkorrektur
(forward error correction, FEC) werden redundante Daten übertragen,
was die Korrektur von fehlerhaften Daten durch den Empfänger ermöglicht.
-
Bei
ARQ-Protokollen (ARQ = Automatic Repeat Request, automatische Wiederholungsanforderung)
werden fehlerhafte Daten, d. h. Daten, die Übertragungsfehler umfassen,
oder verloren gegangene Daten, von dem Empfänger erkannt und gemäß einer
entsprechenden Anforderung, die von dem Empfänger an den Sender gesendet
wurde, erneut übertragen.
Originalpakete und erneute Übertragungen
können
identisch sein, sie können
sich aber auch unterscheiden, z. B. können die Originaldaten und die
erneute Übertragung
unterschiedlich codiert sein oder sie können einander wie in Schemata
zur erneuten Übertragung
mit inkrementeller Redundanz ergänzen.
Es ist auch möglich,
dass eine erneute Übertragung
aufgrund von Verlust oder Bitfehlern als fehlerhaft erkannt wird
und für
eine weitere erneute Übertragung
ausgewählt
wird. Um eine Identifizierung von fehlerhaften Daten zu ermöglichen,
werden die Daten im Allgemeinen in Datenpaketen übertragen, die Sequenznummern
und/oder Prüfsummen umfassen.
Mit zunehmender Wahrscheinlichkeit von Übertragungsfehlern bestimmt
die Fehlerhandhabung des Protokolls die Übertragungseffizienz in wesentlichem
Maße.
-
Als
Beispiel ermöglicht
die RLC-Verbindungsschicht (RLC = Radio Link Control, Funkverbindungskontrolle)
gemäß 3GPP-Spezifikationen eine hohe Übertragungseffizienz,
indem sie Funkträger
im Modus mit Bestätigung,
der Datenzuverlässigkeit
sicherstellt, mit einem ARQ-Protokoll betreibt. Dies ist insbesondere
für Anwendungen
geeignet, die keine strikten Verzögerungsbegrenzungen für die Daten bedingen
und zusätzliche
Verzögerungen,
die von den erneuten Übertragungen
eingebracht werden, tolerieren können.
Eine hoch effiziente Übertragungskonfiguration
ermöglicht
in diesem Fall eine gewisse Anzahl von Übertragungsfehlern, was einen übermäßigen Schutz
der Informationen durch zuviel FEC oder überhöhte Übertragungsleistung verhindert.
-
Bei
Datenkommunikationen werden Anwendungen und Protokolle zunehmend
wichtiger, die eine gewisse Menge an Fehlern bewältigen können, z. B. mittels Durchführen von
Fehlerkorrektur, Fehlererkennung, mittels Anwenden von Fehlerverschleierungstechniken
oder einer beliebigen Kombination solcher Verfahren. Fehlertolerante
Anwendungen sind beispielsweise für Video-, Audio- oder Sprachübertragung
gebräuchlich.
Aktuelle Transportprotokolle im Internet, wie TCP (Transport Control
Protocol, Transportsteuerungsprotokoll) oder UDP (universelles Datagrammprotokoll),
sind jedoch nicht für
fehlertolerante Anwendungen eingerichtet. TCP ist insbesondere für Anwendungen
geeignet, die eine fehlerfreie Übertragung
ohne strikte Verzögerungsbegrenzungen
erfordern. UDP kann fehlerhafte Datenpakete verwerfen, gewährleistet
jedoch keine zuverlässige
Datenübertragung
und wird beispielsweise für Streaming-Anwendungen
mit Verzögerungserfordernissen
verwendet. Für
die Übertragung
von Daten an fehlertolerante Anwendungen im Internet ist das UDP-Lite-Protokoll
als ein weiterer Internetstandard vorgeschlagen worden. Das UDP-Lite-Protokoll verwirft
Datenpakete, in denen Übertragungsfehler
erkannt werden, nicht automatisch, kann sie aber an die Anwendung
weiterleiten, die wiederum eine Fehlerkorrektur oder -verschleierung
auf der Anwendungsschicht anwenden kann.
-
Der
Artikel „Protecting
distortion-tolerant data by automatic repeat request (ARQ)", der von Ericsson
Inc. im IBM Technical Disclosure Bulletin, Bd. 39, Nr. 12, Dez.
1996, Seite 173, IBM Corp., New York, USA, offenbart wurde, offenbart
ein Verfahren zum Senden von Daten über einen rauschenden Übertragungskanal.
Der Empfänger
beurteilt die Anzahl von Übertragungsfehlern
in einem Datenblock und vergleicht diese mit einem Schwellwert für die maximal
zulässige
Anzahl von Fehlern, die mit Bezug auf die Wichtigkeit eines Datenblocks
definiert werden kann. Unterhalb des Schwellwerts wird der Block als
ausreichend zuverlässig
erachtet, während
andernfalls Korrekturmaßnahmen
in Übereinstimmung mit
ARQ-Algorithmen aktiviert werden.
-
Die
Patentanmeldung US 2001/052104 betrifft einen Decodierer, der beim
Decodieren von faltungscodierten Signalen Iterationsberechnungen
unter Verwendung eines lokalen Qualitätsindex anwendet. Die Iterationen
werden beendet, wenn die Qualität
einen Schwellwert nicht erreicht, und in diesem Fall wird eine erneute Übertragung
des entsprechenden Signalteils angefordert.
-
Das
Patent
US 6145108 schlägt vor, ARQ-Signale
einer erneuten Übertragung
mit Informationen von zuvor fehlgeschlagenen Übertragungen desselben Signals
zu rekombinieren. Der Empfänger
sendet ein ARQ-Signal an den Sender, wenn das Ausgabesignal als
unzuverlässig
erachtet wird, um die Wahrscheinlichkeit zu erhöhen, dass schnell eine erfolgreiche Übertragung
erzielt wird. Die Anzahl von zulässigen
erneuten Übertragungen
kann auf einer Pro-Dienst-Basis
eingestellt werden.
-
Bei
den Verfahren des Standes der Technik bleibt die Übertragungseffizienz
jedoch beschränkt und
die Vorteile von fehlertoleranten Anwendungen und Protokollen können bestenfalls
teilweise ausgenutzt werden.
-
KURZDARSTELLUNG
UND BESCHREIBUNG DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, die obigen Nachteile
zu vermeiden und ein Verfahren für
eine effektive Datenübertragung
in einem Protokoll bereitzustellen, das Übertragungsfehler zulässt.
-
Erfindungsgemäß wird das
in Anspruch 1 beschriebene Verfahren durchgeführt. Des Weiteren ist die Erfindung
in wie in den Ansprüchen
11 bis 13 beschriebenen Vorrichtungen und Computerprogrammen verkörpert. Vorteilhafte
Ausführungsformen
sind in den weiteren Ansprüchen
beschrieben.
-
In
dem vorgeschlagenen Verfahren empfängt eine empfangende Protokollschicht über eine Übertragungsstrecke
Daten von einem Sender und für
die empfangenen Daten wird ein Zuverlässigkeitsmesswert bestimmt.
Vorzugsweise wird der der Zuverlässigkeitsmesswert
für einen
definierten Bereich von empfangenen Daten bestimmt. Wenn die Daten in
Datenpaketen übertragen
werden, kann der Bereich von empfangenen Daten ein Datenpaket, ein oder
mehrere Teile eines Datenpakets oder eine Gruppe von Datenpaketen
sein, z. B. eine vordefinierte Anzahl von aufeinander folgenden
Paketen. Ein Datenpaket kann beispielsweise eine Protokolldateneinheit,
eine SDU, die in Teilen einer oder mehrerer Protokolldateneinheiten
enthalten ist, oder eine beliebige Protokolldateneinheit einer höheren Schicht
sein, z. B. eine ADU (Anwendungsdateneinheit), die in Teilen einer
oder mehrerer Protokolldateneinheiten enthalten ist.
-
Der
Zuverlässigkeitsmesswert
zeigt an, ob empfangene Daten Fehler umfassen. Er kann beispielsweise
die Häufigkeit
von Fehlern in einem Datenbereich, die Wahrscheinlichkeit von Fehlern
in den Daten oder einen Anteil von Fehlern in den Daten anzeigen.
Zuverlässigkeitsmesswerte
können entweder über die
Protokollschicht, die das Verfahren durchführt, oder über eine andere Schicht in
dem Protokollstapel, z. B. über
die physikalische Schicht, erhalten werden. Beispiele von geeigneten
Zuverlässigkeitsmesswerten
sind ein Messsignal-zu-Interferenz-Verhältnis, Informationen von dem
Kanaldecodierer, wie Pfadgewichte, Informationen aus Prüfungen zur
Fehlererkennung, wie eine Anzahl von fehlerhaften Protokolldateneinheiten
pro SDU oder ADU oder eine Anzahl von fehlerhaften Datenpaketen
innerhalb eines bestimmten Zeitintervalls. Der Zuverlässigkeitsmesswert
kann sich auch auf einzelne Bits oder Bitfehlerprozentanteile in
den Daten beziehen. Es kann eine beliebige Kombination derartiger
Zuverlässigkeitsmesswerte
verwendet werden.
-
In
einem anschließenden
Vergleich wird der Zuverlässigkeitsmesswert
mit einem Zuverlässigkeitsschwellwert
verglichen, der mit dem Grad von akzeptablen Fehlern in den Daten
in Zusammenhang steht. Der Zuverlässigkeitsschwellwert kann für verschiedene
Teile der übertragenen
Daten unterschiedlich sein. Mindestens für einen Teil der Daten ist
der Grad von akzeptablen Fehlern höher als Null und der Zuverlässigkeitsschwellwert
liegt unter dem Wert, der fehlerfreien Daten entspricht. Gemäß dem Ergebnis des
Vergleichs wird eine Entscheidung vorgenommen, ob ein Datenpaket
erneut übertragen
wird. Es ist bevorzugt, Daten zur erneuten Übertragung auszuwählen, die
in einer Prüfung
als fehlerhaft erkannt werden. Alternativ dazu können, insbesondere wenn der
Zuverlässigkeitsmesswert
eine Fehlerwahrscheinlichkeit anzeigt, wie ein Signal-zu-Interferenz-Verhältnis, erneute Übertragungen
ohne eine Prüfung,
welche Pakete fehlerhaft sind, durchgeführt werden. Im letzteren Fall
können
Pakete zur erneuten Übertragung
in einer definierten Sequenz oder statistisch ausgewählt werden.
Wenn die empfangenen Daten ausreichend zuverlässig sind, d. h. wenn der Zuverlässigkeitsschwellwert
mindestens erreicht wird, werden erneute Übertragungen entweder nicht durchgeführt oder
sie werden nur gemäß weiterer Bedingungen
durchgeführt.
-
Das
beschriebene Verfahren ermöglicht
eine effektive Übertragung
von Daten, die unter Übertragungsfehlern
leiden, insbesondere für
ein Protokoll, das Daten einer fehlertoleranten Anwendung oder einer
fehlertoleranten höheren
Protokollschicht transportiert. Es ist für alle Arten von fehlernachgiebigen Anwendungen
geeignet, insbesondere Streaming. Die Verwendung von Übertragungsressourcen,
insbesondere Netzressourcen und Funkressourcen, kann erheblich reduziert
werden. Lokale Ressourcen in dem Sender oder Empfänger können ebenfalls
eingespart werden, z. B. Speicher- oder Batterieverbrauch. Das Verfahren
kann die Dienstgüte
sowohl für
die betrachtete Übertragung
für einen
Anwender als auch für
weitere Anwender eines Kommunikationssystems, die die zusätzlichen
Ressourcen verwenden können,
verbessern. Übertragungsverzögerungen
und – im
Fall von der Lieferung von Daten in einer Sequenz – Anhäufungen
von freigegebenen Daten werden reduziert, da übertragene Daten an die nächste Entität oder Schicht übergeben
werden können,
wenn sie eine ausreichende Qualität erreicht haben. Das Verfahren
ist auf verschiedene Protokollschichten eines Übertragungssystems, z. B. auf
eine Verbindungsschicht oder eine Transportschicht, und in verschiedenen
Arten von Kommunikationssystemen, beispielsweise in einem GSM- oder
UMTS- oder CDMA 2000-Kommunikationssystem oder in einem WLAN-System,
anwendbar. Das Verfahren kann auch in Hybrid-ARQ-Übertragungsschemata verwendet
werden, in denen redundante Daten, die mit den Originaldaten oder
mit der erneuten Übertragung
gesendet wurden, eine Korrektur von Fehlern aus den Redundanzen
und den erneut übertragenen Daten
ermöglichen.
-
In
einer vorteilhaften Ausführungsform
werden weitere Datenübertragungen
von Daten durchgeführt,
die in einer Prüfung
als fehlerhaft erkannt werden. Auf diese Weise können bestehende ARQ-Protokolle
einfach auf das vorgeschlagene Verfahren angepasst werden.
-
Im
Allgemeinen ist es möglich,
dass der Zuverlässigkeitsmesswert
oder das Ergebnis des Vergleichs zwischen Empfänger und Sender übertragen wird,
und eine der Entitäten
kann die Entscheidung vornehmen, ob eine erneute Übertragung
ausgeführt wird.
In einer bevorzugten Ausführungsform
fordert der Empfänger
die erneuten Übertragungen
gemäß dem Vergleich
an. Auf diese Weise wird die Zeichengabe zwischen Sender und Empfänger minimiert.
-
In
der Regel umfasst ein Datenpaket einen Kopfteil (Header) und einen
Teil für
die Nutzlastdaten. Fehler in dem Nutzlastdatenteil können oftmals
korrigiert, verschleiert oder ignoriert werden, während Fehler
in einem Protokollkopf ein Versagen des Protokolls verursachen können. Zudem
können
ebenfalls in der Nutzlast (Payload) verschiedene Teile eines Pakets
eine unterschiedliche Relevanz für
das Qualitätsniveau
aufweisen, wie beispielsweise in gebräuchlichen Video- und Audio-Codecs.
Teile der Nutzlast können
sich auch in der Relevanz für
andere Schichten des Protokollstapels unterscheiden, z. B. wenn
der Kopf eines Protokolls eine Nutzlast in einer darunter liegenden
Protokollschicht ist. Wenn es möglich
ist zu erkennen, in welchem Teil der Daten ein Fehler auftritt,
beispielsweise indem einem individuellen Teil eine Prüfsumme zugeordnet
wird, kann ein Zuverlässigkeitsmesswert
für den
individuellen Teil bestimmt und mit einem entsprechenden Schwellwert
verglichen werden. Dies ergibt die vorteilhafte Möglichkeit,
Teile der Daten mit unterschiedlicher Relevanz unterschiedlich handzuhaben
und nur wertvolle Datenpakete zur erneuten Übertragung auszuwählen, während erneute Übertragungen
von anderen korrumpierten Teilen übersprungen werden. Daten mit
einem Fehler in einem empfindlichen Teil der Daten oder einer höheren Protokollschicht
können
mit großer
Beharrlichkeit zur erneuten Übertragung
angefordert werden, während
höhere
Fehlerraten in weniger empfindlichen Teilen der empfangenen Daten
zugelassen werden können.
-
Eine
oder mehrere weitere Bedingungen können bestimmen, ob eine erneute Übertragung
eines Datenpakets durchgeführt
wird. Die weitere Bedingung kann in einem weiteren Vergleich geprüft werden,
in dem derselbe oder ein anderer Zuverlässigkeitsmesswert mit einem
weiteren Schwellwert verglichen wird. Die weitere Bedingung kann
z. B. prüfen,
ob eine erneute Übertragung
die Dienstgüte für die Anwendung
von einem ersten auf ein zweites vorbestimmtes Niveau erhöht. Um eine
bestimmte Dienstgüte
sicherzustellen, kann eine weitere Bedingung auch ein Vergleich
von Ressourcen, die zur erneuten Übertragung erforderlich sind,
mit einem spezifischen Schwellwert sein, z. B. auf die Menge von Funkressourcen,
die für
eine erneute Übertragung erforderlich
sind. Erneute Übertragungen
können
z. B. durch Verzögern
anderer Daten die Dienstgüte
sowohl für
die betrachtete Übertragung
als auch für
andere Anwender in einem Kommunikationssystem beeinträchtigen.
Weitere Bedingungen, die die Dienstgüte bestimmen, können ebenfalls
in Erwägung
gezogen werden, z. B. ein Schwellwert für die Zeitspanne, die ein Datenpaket
bereits zur Übertragung
gespeichert ist, oder ein Verzögerungsbudget,
das zur Übertragung
verbleibt. In der weiteren Bedingung kann auch die Verwendung von
lokalen Ressourcen in dem Sender oder Empfänger, wie Speicher- oder Batterieverbrauch,
geprüft
werden. Eine beliebige Kombination der obigen Bedingungen ist möglich. Dies
ermöglicht
beispielsweise, das Zuverlässigkeitsniveau
gemäß verfügbaren Ressourcen
zu wählen.
-
Wenn
ein zweiter Zuverlässigkeitsschwellwert
definiert wird, d. h. wenn zwei oder mehr Zuverlässigkeitsschwellwerte existieren,
ist es möglich, eine
Entscheidung vorzunehmen, erneute Übertragungen fortzusetzen,
bis ein ausgewählter
der mindestens zwei Zuverlässigkeitsschwellwerte
erreicht wird. Auf diese Weise können
verschiedene Übertragungsqualitätniveaus
gewählt
werden. Die Entscheidung kann auf einer beliebigen weiteren, wie
im vorstehenden Absatz beschriebenen Bedingung basieren.
-
Ein
Sender für
ein ARQ-Protokoll im Stand der Technik empfängt im Allgemeinen Informationen zu
verloren gegangenen Datenpaketen, während dies bei dem vorliegenden
Verfahren nicht der Fall ist, nachdem der Zuverlässigkeitsschwellwert erreicht
wurde. Gegebenenfalls sendet der Empfänger daher eine Zuverlässigkeitsinformation
an den Sender, beispielsweise in einer Nachricht zur Anforderung
einer erneuten Übertragung
oder in einer separaten Nachricht enthalten. Die Zuverlässigkeitsinformation
zeigt eine Fehlerstufe an, d. h. die Übertragungsqualität, und kann
der Zuverlässigkeitsmesswert
oder eine aus Zuverlässigkeitsmesswerten
errechnete Information sein. Auf diese Weise kann der Sender Betriebsparameter
gemäß der Zuverlässigkeitsinformation
einrichten.
-
Die
Information, ob eine erneute Übertragung
für einen
oder mehrere Anwender eines Kommunikationssystems von Vorteil ist,
ist in vielen Fällen an
dem Sender verfügbar.
Sie kann beispielsweise von dem Inhalt zur Übertragung oder Betriebsparametern
des Kommunikationssystems abgeleitet sein. Um die Entscheidung durch
den Sender zu ermöglichen,
ob eine erneute Übertragung
durchgeführt wird,
kann zusätzlich
zu verbindlichen Anforderungen einer erneuten Übertragung eine optionale Anforderung
einer erneuten Übertragung
definiert sein. Optionale und verbindliche Anforderungen einer erneuten Übertragung
können
Nachrichten verschiedener Art sein oder sie können durch ein Optionsfeld
in einer Nachricht unterschieden werden. Eine optionale Anforderung
einer erneuten Übertragung
wird gesendet, wenn der Zuverlässigkeitsmesswert
zu dem Zuverlässigkeitsschwellwert,
d. h. einem ausgewählten
der Schwellwerte für
den Fall, dass mehr als ein Schwellwert definiert ist, mindestens
gleich ist. Bei einer optionalen Anforderung einer erneuten Übertragung
kann von dem Empfänger
mit der Anforderung für
alle oder spezifische erneute Übertragungen
ein Wichtigkeitswert angegeben werden oder er kann aus an dem Sender
vorliegenden Informationen bestimmt werden. Im Vergleich zu einer
verbindlichen Anforderung einer erneuten Übertragung führt der Sender
mindestens eine weitere Entscheidung durch, ob als Antwort auf die
optionale Anforderung einer erneuten Übertragung eine erneute Übertragung
durchgeführt
wird. Das Ergebnis der Entscheidung sowie der Wichtigkeitswert für erneute Übertragungen
kann beispielsweise gemäß einem
Zuverlässigkeitsmesswert
und/oder einem Zuverlässigkeitsschwellwert,
den Ressourcen, die für
die erneute Übertragung
erforderlich sind, Bedingungen, die die Dienstgüte bestimmen, wie ein Verzögerungsbudget, das
zur Übertragung
verbleibt, oder einer beliebigen Kombination dieser bestimmt werden.
-
In
einer weiteren vorteilhaften Ausführungsform kann der Sender
ein Zuverlässigkeitserfordernis an
den Empfänger
senden. Das Zuverlässigkeitserfordernis
steht mit der Signifikanz von Datenpaketen, z. B. einer PDU, SDU
oder ADU, Teilen oder Gruppen dieser, in Zusammenhang und kann zum
Auswählen des
Zuverlässigkeitsschwellwerts
verwendet werden. Das Zuverlässigkeitserfordernis
kann in einem Header-Feld einer Protokolldateneinheit enthalten
sein oder es kann eine separate Nachricht sein. Auf diese Weise
wird die Flexibilität
des Verfahrens im Vergleich zu vorkonfigurierten Schwellwerten verbessert.
Die Schwellwerte können
beispielsweise gemäß der Gesamtbelastung
des Kommunikationssystems durch die Anwender eingerichtet werden.
-
Wenn
teilweise fehlerhafte Daten übertragen werden,
tritt das weitere Problem auf, dass höhere Protokollschichten und
die Anwendung in dem Empfänger
sich der Zuverlässigkeit
der empfangenen Daten nicht bewusst sind. Um die Datenverarbeitung
zu verbessern, ist es vorteilhaft, den Zuverlässigkeitsmesswert einer höheren Protokollschicht
oder einer Anwendung bereitzustellen und die Verarbeitung der Schicht
oder der Anwendung gemäß dem Zuverlässigkeitsmesswert
einzurichten. Die Anwendung oder die höhere Protokollschicht kann
die Information in verbesserten Fehlerverschleierungsverfahren verwenden,
z. B. durch Anwenden anderer Datenabwicklungs- oder Fehlerverschleierungsalgorithmen gemäß der Datenzuverlässigkeit.
Eine Anwendung kann beispielsweise eine Entscheidung gemäß der Zuverlässigkeitsinformation
vornehmen, ob Fehlerkorrektur oder Fehlerverschleierung durchgeführt werden
müssen
oder ob Fehler ignoriert werden können.
-
Ein
erfindungsgemäßer Empfänger empfängt von
einem Sender gesendete Daten und leitet sie zur weiteren Verarbeitung
an eine weitere Schicht in einem Protokollstapel oder an eine Anwendung weiter.
Der Empfänger
weist eine Empfangseinheit für
die Daten auf, im Allgemeinen Datenpakete. Die Empfangseinheit decodiert
die empfangenen Daten und leitet sie an ein Verarbeitungssystem
weiter, das eine Prüfung
durchführt,
ob die Daten fehlerhaft sind. Der Empfänger kann beispielsweise fehlende
Datenpakete, die in der Empfangseinheit aufgrund eines Fehlers verworfen
wurden, aus einer fehlenden Sequenznummer erkennen. Bitfehler in
einem Datenpaket können
aus einer zyklischen Redundanzprüfung (cyclic
redundancy check, CRC) erkannt werden. Eine Übertragungseinheit in dem Empfänger, im
Allgemeinen mit der Empfangseinheit integriert, ist dazu eingerichtet,
eine Anforderung an den Sender nach einer weiteren Datenübertragung
gemäß der Prüfung zu
senden, insbesondere der Daten, die als fehlerhaft erkannt wurden.
-
Das
Verarbeitungssystem umfasst eine Einheit zum Bestimmen eines Zuverlässigkeitsmesswerts
für die
empfangenen Daten, z. B. aus einer der obigen Prüfungen. Ein Zuvelässigkeitsmesswert kann
auch von der Empfangseinheit bezogen werden, z. B. ein Signal-zu-Interferenz-Verhältnis. Des Weiteren
umfasst das Verarbeitungssystem eine Einheit für einen Vergleich des Zuverlässigkeitsmesswerts
mit einem Zuverlässigkeitsschwellwert.
Das Verarbeitungssystem ist dazu eingerichtet, die Anforderung nach
der erneuten Übertragung
der Daten gemäß dem Ergebnis
des Vergleichs zu initiieren, z. B. von Datenpaketen, die als fehlerhaft
erkannt werden. Zu diesem Zweck kann das Verarbeitungssystem eine
Entscheidung vornehmen, ob eine erneute Übertragung angefordert wird
oder ob die Anforderung verbindlich oder optional ist. Die Einheiten
in dem Verarbeitungssystem können
als Softwarecode implementiert sein und sie können beliebige Ausführungsformen
des obigen Verfahrens durchführen.
-
Wenn
das obige Verfahren ausschließlich
in dem Empfänger
implementiert wird, kann ein wie im Stand der Technik bekannter
Sender in dem Verfahren verwendet werden. Ein entsprechender Sender weist
eine Übertragungseinheit
zum Senden von Daten an einen Empfänger und eine Empfangseinheit zum
Empfangen von Anforderungen von dem Empfänger nach einer weiteren Übertragung
von zuvor gesendeten Daten auf. In der Regel sind beide Einheiten
Teil eines Sender/Empfängers.
Ein Verarbeitungssystem speichert die gesendeten Daten in einem
Speicher, ruft gespeicherte Daten gemäß der Anforderungen ab und
initiiert eine erneute Übertragung
der abgerufenen Daten durch die Übertragungseinheit.
-
Es
ist oftmals vorteilhaft, alle oder einige Schritte des Verfahrens
in dem Sender durchzuführen.
In diesem Fall umfasst der Sender zusätzlich zu den beschriebenen
Einheiten eine Einheit zum Bestimmen eines Zuverlässigkeitsmesswerts
für die empfangenen
Daten, beispielsweise durch Messungen und durch Extrahieren der
Informationen aus einer von dem Empfänger gesendeten Nachricht.
Das Verarbeitungssystem umfasst eine Einheit für einen Vergleich des Zuverlässigkeitsmesswerts
mit einem Zuverlässigkeitsschwellwert
und ist dazu eingerichtet, erneute Übertragungen gemäß dem Ergebnis des
Vergleichs zu initiieren. Die Einheiten in dem Verarbeitungssystem
können
beispielsweise als Softwarecode implementiert sein. Sie können beliebige Ausführungsformen
des obigen Verfahrens durchführen.
-
Wenn
ein Sender eine optionale Anforderung einer erneuten Übertragung
empfängt,
kann die Entscheidung zur erneuten Übertragung auf der Wichtigkeit
einer erneuten Übertragung
für einen
Dienst basieren. Die Wichtigkeit kann in der Anforderungsnachricht
angegeben sein oder sie kann von dem Sender bestimmt werden, z.
B. wenn eine PDU einen Header einer höheren Protokollschicht enthält. Des Weiteren
können
gegenwärtig
verfügbare
Ressourcen, die Belastung durch andere Dienste und Erfordernisse
dieser, Senderbetriebsbedingungen, wie der Warteschlangenfüllstatus
für Funkverbindungen, die
derzeit verfügbare
Datenrate oder die Zeitspanne, die Datenpakete bereits in Senderspeichern, -puffern
und -warteschlangen verbracht haben, oder eine beliebige Kombination
dieser Bedingungen berücksichtigt
werden.
-
Eine
erfindungsgemäße Programmeinheit steuert
die Übertragung
von Daten von einem Sender an einen Empfänger. Die Programmeinheit implementiert
ein Protokoll, in dem der Empfänger
eine Prüfung
durchführt,
ob empfangene Daten fehlerhaft sind, und wobei der Sender eine weitere
Datenübertragung
gemäß der Prüfung durchführt. Die
Programmeinheit umfasst Softwarecode zum Durchführen der Schritte des Beziehens
eines Zuverlässigkeitsmesswerts
für die
empfangenen Daten, Durchführens
eines Vergleichs des Zuverlässigkeitsmesswerts
mit einem Zuverlässigkeitsschwellwert
und Initiierens der weiteren Datenübertragungen gemäß dem Ergebnis
des Vergleichs. Die Programmeinheit ist beispielsweise auf einem
Datenträger
gespeichert oder ist in einen Sender oder Empfänger ladbar, z. B. als eine
Sequenz von Signalen. Sie kann Teil eines Softwarepakets sein, das
weitere Softwarekomponenten umfasst, z. B. ein Verarbeitungssystem.
Die Programmeinheit kann in beliebigen Ausführungsformen des obigen Verfahrens
verwendet werden.
-
Die
vorstehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden in der folgenden ausführlichen Beschreibung von bevorzugten
Ausführungsformen,
wie sie in den begleitenden Zeichnungen dargestellt sind, offensichtlicher
werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1a zeigt
eine Datenübertragung über eine
Verbindung, die eine unzuverlässige
Datenstrecke umfasst,
-
1b zeigt
einen Empfänger
für die Übertragung,
-
2 zeigt
eine erfindungsgemäße Übertragung
von Datenpaketen von einem Sender an einen Empfänger,
-
3 zeigt
das Weiterleiten von Zuverlässigkeitsinformationen
zwischen verschiedenen Protokollentitäten,
-
4a zeigt
ein vorteilhaftes Format für
eine Zuverlässigkeitsinformation,
-
4b zeigt
ein Beispiel eines Datenpakets, das die Zuverlässigkeitsinformation von 4a umfasst.
-
AUSFÜHRLICHE
BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSFORMEN DER ERFINDUNG
-
In 1a ist
eine Datenübertragung
von einem Sender ST an einen Empfänger SR mit den entsprechenden
Protokollschichten gezeigt. Die Verbindung wird über verschiedene Netze FN1,
FN2 ausgeübt
und umfasst eine unzuverlässige
Datenstrecke WL zwischen einem optionalen Zwischenempfänger SR' und einem optionalen
Zwischensender ST'.
In 1a sind unterschiedliche Entitäten die Sender und Empfänger für unterschiedliche
Protokollschichten auf der drahtlosen Datenstrecke WL, d. h. für die drei
unteren Schichten sind der Zwischenempfänger SR' und der Zwischensender ST' die beteiligten
Entitäten,
während
obere Schichten nur im Sender ST und Empfänger SR verarbeitet werden.
Die Netze FN1, FN2 sind optionale Entitäten und es ist üblich, z.
B. bei einem Mobiltelefon, dass alle Protokollschichten in eine
einzige Vorrichtung SR'' integriert sind,
die über
eine drahtlose Datenstrecke WL' mit dem
Zwischensender ST' verbunden
ist. Ein Bluetooth-Netz, Infrarotverbindungen oder ein anderes Ad-hoc-Netz
FN2 können
jedoch andere Anwendervorrichtungen verbinden, z. B. ein Laptop,
Mobiltelefon oder persönlicher
digitaler Assistent (PDA).
-
Jeder
Sender ST, ST' empfängt Dienstdateneinheiten
(SDU) von einer höheren
Protokollschicht oder von einer Interworkingfunktion und sendet
sie in einer oder mehreren Protokolldateneinheiten (PDU) an die
entsprechende Protokollschicht des Empfängers SR, SR', SR''. In dem Beispiel umfasst der Protokollstapel
eine physikalische Schicht L1, eine Verbindungsschicht L2, ein Konvergenzprotokoll
(convergence protocol) CP für
die drahtlose Datenstrecke WL, das Internetprotokoll IP, das Benutzerdatagrammprotokoll
(User Datagram Protocol) UDP und das Echtzeit-Protokoll (Real Time Protocol) RTP,
das die Daten von der Anwendung an dem Sender ST empfängt und
sie an die Anwendung an dem Empfänger
SR, SR'' weiterleitet.
-
1b zeigt
einen Empfänger
SR'' für die übertragenen
Daten. Eine Sender/Empfänger-Einheit
TRU ermöglicht
die Codierung von Daten zur Übertragung
und das Senden von Daten an andere Vorrichtungen als auch den Empfang
und die Decodierung von Daten. Im Allgemeinen werden die Daten DP
in Datenpaketen gesendet. Der Protokollstapel ist in einem Verarbeitungssystem
PRU implementiert, das die erforderliche Verarbeitungs- und Speicherfunktionalität zum Ausführen der
Datenverarbeitung bereitstellt. Die Daten werden zwischen der Sender/Empfänger-Einheit
TRU und der untersten Schicht L1 in dem Protokollstapel weitergeleitet.
Eine entsprechende Funktionalität
ist auch in allen anderen, in 1a bildlich
dargestellen Entitäten
implementiert, d. h. allen Empfängern
SR, SR', SR'' und Sendern ST, ST'. Darüber hinaus weist der Endempfänger SR,
SR'' eine Eingabe-/Ausgabeeinheit
IOU, z. B. mit einer Tastatur, Lautsprechern und einer Anzeige,
zur Darstellung von Daten gegenüber
einem Anwender und zum Empfangen von Anwenderbefehlen auf. Oftmals
weist eine Eingabe-/Ausgabeeinheit IOU auch eine Verarbeitungs-
und Speicherungseinheit mit einem Speicher oder einer Festplatte
auf. Der Protokollstapel weist eine Anwendungsschicht AP zum Austauschen
von Daten mit der Eingabe-/Ausgabeeinheit IOU auf.
-
Mindestens
eine Protokollschicht in einem der Empfänger SR, SR', SR'' prüft die empfangenen Datenpakete
auf Fehler oder fehlende Pakete und fordert erneute Übertragungen
von der entsprechenden Protokollschicht in dem Sender ST, ST' an. Dieses Protokoll
wird als ARQ-Protokoll bezeichnet, obwohl mehrere Schichten mit
einem ARQ-Mechanismus in dem Protokollstapel vorliegen können. Gemäß der Anforderungen überträgt der Sender
zuvor übertragene
Datenpakete erneut.
-
Das
vorgeschlagene ARQ-Protokoll ist auf die Erfordernisse von fehlertoleranten
Anwendungen eingerichtet. Eine im Empfänger SR ausgeführte Clientanwendung
kann beispielsweise anfordern, Daten mit einem definierten Grad
an Zuverlässigkeit
zu empfangen. Der angeforderte Grad an Zuverlässigkeit ist beispielsweise
der minimale Grad an korrekt empfangenen Daten, der zum Verarbeiten
der Daten erforderlich ist, oder er kann einer erforderlichen Ausgabequalität der Anwendung
entsprechen. Daten werden über
Datenstrecken in den Netzen FN1, FN2 übertragen, einschließlich der
drahtlosen Datenstrecke WL, die alle Fehler in die übertragenen
Daten einbringen können,
z. B. wenn Pakete aufgrund einer Stauung in einem Netz FN1, FN2
oder aufgrund eines Übertragungsfehlers
auf der drahtlosen Datenstrecke WL fallen gelassen werden.
-
Um
die Fehler auszumerzen, wendet das ARQ-Protokoll das vorgeschlagene
Verfahren an. Wenn mehrere ARQ-Protokolle vorliegen, ist es möglich, dass
mehrere Protokollschichten das vorgeschlagene Verfahren durchführen, z.
B. sowohl die Transportschicht als auch die Verbindungsschicht. Der
von der Anwendung angeforderte Grad an Zuverlässigkeit wird auf einen Zuverlässigkeitsschwellwert
an der Protokollschicht, die das vorgeschlagene Verfahren durchführt, abgebildet.
Der Zuverlässigkeitsschwellwert
entspricht dem akzeptablen Ausmaß an Fehlern und liegt unter
dem Wert, der fehlerfreien Daten entspricht, z. B. unter 100%, wenn
der Zuverlässigkeitsschwellwert
den erforderlichen Anteil von korrekten Daten darstellt. Wenn mehrere
Protokollschichten das Verfahren durchführen, können die Schwellwerte für die Schichten
unterschiedlich sein.
-
Im
Gegensatz zum Stand der Technik merzt das vorgeschlagene Protokoll
ARQ nicht alle Übertragungsfehler
aus, d. h. Anforderungen einer erneuten Übertragung werden nicht gesendet,
bis alle Daten erfolgreich übertragen
wurden. Stattdessen werden Anforderungen nach erneuten Übertragungen bei
fehlerhaften Daten nur gesendet, bis die empfangenen Daten den definierten
Zuverlässigkeitsschwellwert
erreicht haben. Selbst wenn Datenpakete noch immer fehlerhaft sind
und genügend
Zeit für erneute Übertragungen
vorhanden ist, werden keine weiteren erneuten Übertragungen durchgeführt, nachdem
der Zuverlässigkeitsschwellwert
erreicht wurde.
-
Streaming-Technologie
ermöglicht
einen nahezu augenblicklichen Zugriff der Anwender auf zuvor gespeicherte
Inhalte ohne die Notwendigkeit, eine komplette Datei vor der Darstellung
zu übermitteln.
Streaming-Anwendungen, z. B. für
Video- oder Audiodateien, können
oftmals eine Verschleierung von Bitfehlern bis zu einem gewissen
Ausmaß vornehmen.
Auf der Anwendungsschicht kann als Alternative oder zusätzlich zu
ARQ-Verfahren Vorwärtsfehlerkorrektur
angewendet werden, d. h. die Anwendungsschicht kann Bitfehler aus
redundanten Informationen korrigieren. Des Weiteren kann eine Anwendung
Bitfehler tolerieren, wie viele Video-Codecs zur Sprachübertragung, z. B. der AMR-Codec
(AMR = Adaptive Multirate).
-
Streaming-Anwendungen
haben jedoch Übermittlungsverzögerungserfordernisse
auf dem Kommunikationspfad, denen nachgekommen werden muss, um eine
erforderliche Qualität
zu erzielen. Datenpakete, die nach der Verzögerungstoleranz ankommen, werden
fallen gelassen, da die Verarbeitung der entsprechenden Informationen
vor dem Zeitpunkt der Darstellung gegenüber dem Anwender beendet sein
muss. Da erneute Übertragungen
zum Korrigieren von Fehlern Verzögerungen
einbringen, können
ARQ-Protokolle nur angewendet werden, wenn die Verzögerungserfordernisse
nicht zu knapp bemessen sind. Wenn sowohl Verzögerungs- als auch Qualitätserfordernisse
bestehen, ist ein geeignetes Ausmaß an sowohl Fehlern als auch
Verzögerung
erforderlich.
-
Das
vorgeschlagene Verfahren ist insbesondere für einen Streaming-Dienst über einen
Funkträger
eines Kommunikationssystems, das ein ARQ-Protokoll einsetzt, von
Vorteil. Wenn das Streaming von einem Server durchgeführt wird,
der mit dem Kommunikationssystem verbunden ist, ist der Zwischensender
ST' beispielsweise
eine Funkbasisstation (radio base station, RBS) oder eine Funknetzsteuerung
(radio network controller, RNC), je nach der ARQ-Schicht in dem
Protokollstapel, während der
Empfänger
SR'' eine Anwendereinrichtung
sein kann. Es ist jedoch auch möglich,
ein Streaming in der Aufwärtsstrecke
(Uplink) mit der Anwendereinrichtung als Sender und der RBS oder
RNC als Empfänger
durchzuführen.
-
Die
Verarbeitung von Datenpaketen zur Übertragung ist in 2 detaillierter
gezeigt, die der Einfachheit halber nur ausgewählte Schichten des Protokollstapels
bildlich darstellt. Ein Videostream kann verschiedene Arten von
Frames umfassen, einschließlich
von Informationen, die Teil eines Bilds sind, oder Informationen
zu Veränderungen
zwischen aufeinander folgenden Bildern. Ein Beispiel ist ein I-Frame
eines Videostreams, der größer als
ein IP-Paket (IP = Internetprotokoll) sein kann. Wenn der Sender
ST2 den I-Frame aus der Anwendungsschicht des Protokollstapels an
die IP-Schicht weiterleitet, wird er daher in mehrere IP-Pakete aufgeteilt, die
jeweils einen Kopfteil (Header) H und einen Payloadteil P aufweisen.
Wenn die IP-Pakete zur weiteren Übertragung
durch die Verbindungsschicht L2 verarbeitet werden, passt ein IP-Paket
im Allgemeinen nicht in einen Datenblock RLC, bei dem es sich um
die Verbindungsschicht-PDU eines UMTS-Kommunikationssystems handelt.
Folglich wird auf der Verbindungsschicht L2 eine weitere Segmentierung durchgeführt.
-
Die
Pakete werden dann an die physikalische Schicht L1 zur Übertragung über die
Funkverbindung RC an den Empfänger
SR2 weitergeleitet. Der Empfänger
SR2 führt
eine umgekehrte Verarbeitung für
alle Schichten durch, um I-Frames der Anwendung aus den RLC-Paketen
durch Entfernen der Kopfteile H und Verknüpfen der Payloadteile P zusammenzusetzen.
Die RLC-Pakete umfassen auch einen Kontrollinformationsteil, der
es ermöglicht,
eine Prüfung
durchzuführen,
ob auf der Funkverbindung RC Bitfehler aufgetreten sind.
-
Im
Beispiel kann die Anwendung bis zu 20% Bitfehler tolerieren, d.
h. sie benötigt
80% korrekte Bits in der Payload (Nutzlast), um die Informationen zu
verarbeiten. In einer ressourceneffizienten Übertragung kann der ARQ-Vorgang gestoppt
werden, wenn dieser Schwellwert überschritten
wird. Bestehende ARQ-Protokolle übertragen
jeden Datenblock erneut, bis ein Verzögerungsbudget für den Datenblock
abgelaufen ist oder eine Höchstzahl
von erneuten Übertragungen
erreicht worden ist. Im vorgeschlagenen Verfahren wird die Ressourcennutzung durch
Stoppen des Vorgangs der erneuten Übertragung von Daten, die ausreichend
fehlerfrei sind, verbessert. Das erforderliche Ausmaß wird vorzugsweise
von der Anwendung bestimmt, da die Fehlerstufe, die toleriert werden
kann, für
unterschiedliche Arten von Anwendungen, wie Audio oder Video, oder
für unterschiedliche
Verarbeitungsverfahren stark variieren kann, z. B. wenn Fehlerverschleierung
durchgeführt
wird oder wenn redundante Informationen eine Fehlerkorrektur ermöglichen.
Ressourcen, die für
die erneute Übertragung
nicht benötigt
werden, können zum Übertragen
neuer Daten für
denselben Anwender verwendet werden oder sie können anderen Anwendern zugewiesen
werden.
-
Ein
Zuverlässigkeitsmesswert
RM wird definiert, um zu prüfen,
ob die empfangenen Daten eine ausreichend niedrige Fehlerstufe aufweisen.
Der Zuverlässigkeitsmesswert
RM wird vorzugsweise ausgewählt,
um anzuzeigen, ob ein fehlerhaftes Datensegment dennoch verarbeitet
werden kann. Ein fataler Fehler in einem empfindlichen Teil kann
beispielsweise bedingen, dass ein Paket komplett fallen gelassen
werden muss, z. B. wenn ein Bitfehler die Paketsequenznummer löscht. Fehler
in weniger empfindlichen Informationen können dennoch eine Verarbeitung
zulassen. Wenn ein Fehler fatal sein kann, reicht es aus, wenn der
Zuverlässigkeitsmesswert anzeigt,
ob eine Dateneinheit fehlerfrei ist oder einen Fehler aufweist.
Der Zuverlässigkeitsmesswert
für Dateneinheiten,
die im Fall von Fehlern verarbeitet werden können, zeigt vorzugsweise die
Fehlerstufe an. Der Zuverlässigkeitsmesswert
für jede
Dateneinheit kann beispielsweise aus Decodierungsinformationen,
die von der physikalischen Schicht bereitgestellt werden, oder aus
Fehlererkennungscodes des Protokolls bestimmt werden. Der Zuverlässigkeitsmesswert
wird dann für
alle Dateneinheiten in einem betrachteten Datensegment zusammengestellt
und der aggregierte Zuverlässigkeitsmesswert
für das Segment
wird mit einem Zuverlässigkeitsschwellwert verglichen.
Erneute Übertragungen
werden angefordert, bis der Schwellwert erreicht wird.
-
Informationen
zu Paketen höherer
Schichten können
für die
Definition eines geeigneten Zuverlässigkeitsmesswerts oder die
Auswahl eines geeigneten Schwellwerts verwendet werden. Die IP-Header beispielsweise
müssen
korrekt sein, um die Verarbeitung von IP-Paketen zuzulassen. Andernfalls
wird das IP-Paket fallen gelassen. Somit bestimmt eine weitere Prüfung vorzugsweise,
ob die Information, die aus den Datenblöcken RLC wieder zusammengesetzt
wurde, in einem gültigen
IP-Paket mit intaktem Header und einer korrekten Paketgröße resultiert.
Der IP-Header umfasst ein CRC-Feld als auch ein Feld, das die Paketgröße anzeigt.
Die CRC kann verwendet werden, um zu prüfen, ob der Header intakt ist.
Eine Prüfung
der Paketgröße ist vorteilhaft, wenn
auf einer unteren Schicht eine Verknüpfung angewendet wird, d. h.
wenn eine PDU der unteren Schicht Teile von zwei IP-Paketen enthalten
kann. In diesem Fall ist das Framing des IP-Pakets unklar, wenn die Abgrenzung zwischen
den IP-Paketen nicht bestimmt werden kann. Wenn ein komplettes Datenpaket
einer unteren Schicht fehlt, kann die Längeninformation des IP-Pakets
dazu verwendet werden, den fehlenden Payloadteil auf zufüllen.
-
In
der einfachen Ausführungsform
von 2 wird der Anteil von fehlerfreien Datenblöcken RLC
für jedes
IP-Paket auf der RLC-Protokollschicht gezählt. Der Zuverlässigkeitsmesswert
RM ist folglich der Anteil von fehlerfreien Datenblöcken RLC
in einem IP-Paket. Wenn mindestens 80% der Datenblöcke RLC
in einem IP-Paket fehlerfrei sind, werden Anforderungen einer erneuten Übertragung
von Datenblöcken
RLC in diesem IP-Paket gestoppt. Vorzugsweise werden Datenblöcke RLC,
die Teile des IP-Headers H umfassen, anders behandelt, da im Fall
eines fehlerhaften Headers das gesamte IP-Paket fallen gelassen
wird. Die entsprechenden Datenblöcke RLC
werden vorzugsweise erneut übertragen,
bis sie alle korrekt empfangen werden oder bis ihr Verzögerungsbudget
abläuft.
-
Alternativ
dazu kann der Zuverlässigkeitsmesswert
RM auf Bitniveau bestimmt werden, z. B. als ein Prozentanteil von
Bitfehlern in einem Datenpaket, oder es können Bitfehlerpositionen angezeigt werden.
Detaillierte Informationen zu Fehlern sind besonders vorteilhaft,
wenn der Zuverlässigkeitsmesswert
in der Entität
beurteilt wird, in der er bestimmt wird, und der Übertragungs-Overhead
für detaillierte
Informationen akzeptabel ist, z. B. aufgrund von Übertragung
auf einem internen Datenbus.
-
Ein
Definieren von mehr als einem Grad an Zuverlässigkeit kann das Verfahren
weiter verbessern. Die Gütequalität kann beispielsweise
verbessert werden, wenn die empfangenen Daten den Zuverlässigkeitsgrad
B aufweisen, der höher
als ein Mindestgrad A ist, der für
die Verarbeitung erforderlich ist. In diesem Fall kann der Sender
oder der Empfänger
damit fortfahren, erneute Übertragungen
zur Fehlerausmerzung über
den Zuverlässigkeitsgrad
A hinweg bis hin zum Zuverlässigkeitsgrad
B zu initiieren. Die Entscheidung, ob erneute Übertragungen durchzuführen sind,
bis einer der Zuverlässigkeitsgrade
erzielt wird, kann auf einem einzigen oder mehreren Parametern aus
einer Gruppe basieren, die Diensterfordernisse, z. B. ein verbleibendes
Verzögerungsbudget,
Priorisierung, z. B. ausgewählte Dienste
oder Anwender, Funkressourcenverfügbarkeit und Kosten umfasst.
-
In
manchen Protokollen werden Sender- und Empfängerfenster zum Aufspüren von
fehlerhaften oder nicht bestätigten
Datenpaketen verwendet. Wenn der Empfänger ein Datenpaket außerhalb
des Empfängerfensters
empfängt,
wird das Paket verworfen, während
der Sender nur erneute Übertragungen
von Paketen innerhalb des Senderfensters durchführt. Andernfalls können Fehlfunktionen
des Protokolls auftreten, insbesondere wenn für die Datenpakete zyklische
Nummerierungsschemata verwendet werden.
-
Das
obige Verfahren kann ebenfalls zusammen mit Sender- und Empfängerfenstern
verwendet werden. Insbesondere ist es möglich, das Empfängerfenster
vorzurücken,
wenn die für
die Datenpakete erforderliche Zuverlässigkeit erreicht wird. Um
optionale erneute Übertragungen
unterzubringen, kann ein weiterer Abschnitt des Empfängerfensters
unterhalb des Empfängerfensters
definiert werden. Der weitere Abschnitt kann verschoben werden,
wenn keine erneute Übertragungen
innerhalb einer bestimmten Zeitspanne empfangen werden, z. B. innerhalb
einer Rundreisezeit des Protokolls. Das Senderfenster kann nach
einer Entscheidung, keine weitere erneuten Übertragungen von ausgewählten Daten
zu senden, verschoben werden. Eine Nachricht von dem Sender an den
Empfänger
initiiert eine entsprechende Verschiebung des Empfängerfensters,
z. B. gemäß der wie
in den 3GPP-Spezifikationen
definierten Vorgehensweise „Move
Receiver Window" (Empfängerfenster
verschieben).
-
In
dem vorgeschlagenen Verfahren gewährleistet die Auswahl des Zuverlässigkeitsschwellwerts die
Bereitstellung von Daten mit einem ausreichenden Qualitätsniveau
an die Anwendung, während
es gleichzeitig eine hoch effektive Übertragung ermöglicht.
Für eine
angemessene Definition des Schwellwerts ist es erforderlich, dem
ARQ-Protokoll die Zuverlässigkeitserfordernisse
der Anwendung oder einer höheren
Protokollschicht bereitzustellen. Sowohl für die Quelle als auch die Mittel
zum Bereitstellen der Zuverlässigkeitserfordernisse
existieren mehrere Möglichkeiten.
Informationen, die die Zuverlässigkeitsschwellwerte
bestimmen, können
beispielsweise vorkonfiguriert sein oder sie werden von der Anwendung,
dem Anwender oder einem weiteren Protokoll bereitgestellt.
-
Informationen,
die die Zuverlässigkeitserfordernisse
definieren, können
beispielsweise in einem weiteren Protokoll, wie einem Reservierungsprotokoll,
signalisiert werden, z. B. in einer Erweiterung des RSVP (Resource
Reservation Protocol, Ressourcenreservierungsprotokoll). Zuverlässigkeitserfordernisse
können
auch bei der Herstellung einer Verbindung bereitgestellt oder verhandelt
werden. Bei einem Transportprotoll können Zuverlässigkeitserfordernisse Optionen
sein, die an dem Socket-Interface verhandelt werden. Bei einem Funkverbindungsprotokoll
können
sie in einer Funkträgerherstellungsanforderung
enthalten sein, entweder von dem Clientenendgerät oder von dem Netz. Ein vorkonfiguriertes
Zuverlässigkeitserfordernis
kann als ein Profil gespeichert sein. Zuverlässigkeitserfordernisse können auch
aus den übertragenen
Daten bestimmt werden, z. B. gemäß der Art
transportierter Medien, die aus den Protokollköpfen bestimmt werden kann.
Wenn das UDP-Lite-Protokoll beispielsweise das RTP (realtime protocol,
Echtzeit-Protokoll) mit einem spezifischen RTP-Format, d. h. Medienart, transportiert,
kann für
diese Konfiguration ein bestimmtes Zuverlässigkeitserfordernis vorkonfiguriert werden.
Zuverlässigkeitserfordernisse
können
auch in den übertragenen
Daten signalisiert werden, z. B. als ein Optionsfeld in Paketköpfen. Kombinationen dieser
Optionen sind möglich,
insbesondere wenn mehrere Schwellwerte angewendet werden.
-
In
einer weiteren Verbesserung des Verfahrens werden Zuverlässigkeitsinformationen
der Anwendung oder einer weiteren Protokollschicht bereitgestellt.
Zu diesem Zweck ist Funktionalität
erforderlich, um Zuverlässigkeitsinformationen
auf effektive Weise zusammen mit den Informationen, die übertragen
werden, zu übergeben.
Zuverlässigkeitsinformationen
sind insbesondere an der Empfangsseite des ARQ-Protokolls verfügbar, obwohl
beliebige Zuverlässigkeitsinformationen,
die entlang des Pfads durch das Netz aufgenommen wurden, verwendet werden
können.
Die Zuverlässigkeitsinformationen können beispielsweise
in Fehlerverschleierungs- oder -korrekturvorgängen angewendet werden. Auch wenn
die Verwendung und Weiterleitung von Zuverlässigkeitsinformationen hier
mit Bezug auf ein Verfahren zum Durchführen von erneuten Übertragungen
beschrieben wird, sollte angemerkt werden, dass die wie beschriebene
Verwendung und Weiterleitung von Zuverlässigkeitsinformationen eine
allgemeine Richtlinie ist, die auch für ein Protokoll ohne erneute Übertragungen
oder für
ein Protokoll, das erneute Übertragungen
anders als das vorgeschlagene Verfahren durchführt, angewendet werden kann.
-
In
einem einzigen Protokollstapel kann das Weiterleiten von Zuverlässigkeitsinformationen
mittels wohl bekannter Vorgänge
durchgeführt
werden, z. B. mittels Stammelementen, die zwischen den Schichten
gesendet werden, oder mittels Verwendung von gemeinsam genutzten
Speichern. Oftmals müssen
Zuverlässigkeitsinformationen
jedoch an eine andere Protokollentität weitergeleitet werden, wie
in 3 bildlich dargestellt. Die Sender ST3, ST3' umfassen wie mit
Bezug auf 1 beschriebene Protokollschichten,
mit der Ausnahme, dass ein allgemeines Transportprotokoll TP und
eine Anwendungsschicht AP in dem Protokollstapel angezeigt sind.
Der Empfänger
besteht aus einem mobilen Endgerät
MT, das über
eine Standardschnittstelle INT mit einer Endgeräteinrichtung TE verbunden ist. Das
mobile Endgerät
MT und die Endgeräteinrichtung
TE können
in derselben Hardware, z. B. in einem Multimedia-Mobiltelefon, oder
in separaten Hardwareeinheiten, z. B, in einem Laptop, das über ein
Kabel oder eine Bluetooth-Verbindung mit einem Mobiltelefon verbunden
ist, implementiert sein. Auf der drahtlosen Datenstrecke WL können auf
der Verbindungsschicht L2 Paketverluste auftreten, z. B. aufgrund
einer Übertragung
ohne Bestätigungen oder
aufgrund von Paketen, die nach übermäßigen Verzögerungen
in einem Übertragungsschema
mit Bestätigung
fallen gelassen wurden. Das Protokoll AQP, das erneute Übertragungen
gemäß dem vorgeschlagenen
Verfahren durchführt,
ist in diesem Fall die Transportschicht TP in der Endgeräteinrichtung, während die
Zuverlässigkeitsinformationen
auf der Verbindungsschicht L2 in dem mobilen Endgerät ME verfügbar sind.
-
Für die Weiterleitung
von Zuverlässigkeitsinformationen
INF zwischen logisch oder physikalisch getrennten Protokollentitäten existieren
mehrere Alternativen. Da die Weiterleitung innerhalb eines Protokollstapels
geradlinig ist, ist es möglich,
dass eine andere Schicht als das Protokoll AQP, das erneute Übertragungen
durchführt,
die weitergeleiteten Zuverlässigkeitsinformationen
INF in der empfangenden Entität
empfängt.
In 3 beispielsweise empfängt die Schicht IP in der Endgeräteinrichtung
TE die Zuverlässigkeitsinformationen
INF und leitet sie an das Protokoll AQP weiter.
-
Ein
Beispiel eines vorteilhaften Formats der Zuverlässigkeitsinformationen RI ist
in 4a gezeigt. Ein Feld SSI spezifiziert die Segmentgröße, d. h.
die Granularität,
für die
Zuverlässigkeitsinformationen
verfügbar
sind. Ein Feld NOS zeigt die Anzahl von Segmenten an, auf die die
Zuverlässigkeitsinformationen
zutreffen. Eine Bitmap BMP stellt die Zuverlässigkeit jedes Segments dar,
wobei ein oder mehrere Bits mit jedem Segment in Zusammenhang stehen
können.
Wenn ein Protokoll Segmente mit unterschiedlichen Längen zulässt, ist
eine Liste, die die Größe und Zuverlässigkeit
jedes Segments anzeigt, eine vorteilhafte Alternative zu der gezeigten
Ausführungsform.
Die Granularität
der Zuverlässigkeitsinformationen
kann variieren. Zuverlässigkeitsinformationen
für jedes
Bit können
von dem Kanaldecodierer auf der physikalischen Schicht bezogen werden,
was jedoch in einer großen
Menge von Informationen resultiert. Informationen für Protokolldateneinheiten
der Schicht 2, z. B. pro RLC-Protokolldateneinheit in GPRS-(General Packet Radio
Service, allgemeiner paketorientier ter Funkdienst) oder UMTS-Systemen, sind
eine vorteilhafte Option und können
aus der CRC-Prüfung
an dem Empfänger
der Verbindungsschicht bezogen werden. In beiden Fällen kann
eine Anwendung Fehlerwahrscheinlichkeiten für verschiedene Teile der empfangenen
Daten identifizieren.
-
Die
Zuverlässigkeitsinformationen
können als
Header-Feld einer Protokolldateneinheit einer höheren Schicht an die Anwendung übergeben
werden. 4b stellt die Verwendung des
wie mit Bezugnahme auf 4a definierten allgemeinen Formats
in einem IP-Paket. Das IP-Paket umfasst die Header von mehreren
höheren
Protokollschichten sowie Anwendungsdaten und wird von einer sendenden
Protokollentität
SP an eine empfangende Entität
RP gesendet. Zu diesem Zweck wird das IP-Paket in mehrere Segmente
RLC aufgeteilt, die Protokolldateneinheiten der Verbindungsschicht
entsprechen, und an der empfangenden Entität aus diesen wieder zusammengesetzt.
Die Zuverlässigkeitsinformationen
werden in einem optionalen Feld des IP-Headers angezeigt, das während der
Zusammensetzung geändert wird.
In diesem Fall entspricht das Feld SSI' der Größe der Verbindungsschicht-PDU,
das Feld NOS' entspricht
der Anzahl von PDUs in einem IP-Paket und das Feld BMP' stellt die Zuverlässigkeitsinformationen
für jede
PDU als Eintrag in eine Bitmap dar. Die Anwendung an dem Empfänger extrahiert
das optionale Feld. Eine Implementierung dieser Alternative bedingt
eine Erweiterung von IP-Socket-Funktionen, um die Änderung
der Zuverlässigkeitsinformationen zu
ermöglichen.
Vorteilhafterweise kann diese Alternative zusammen mit der Verschlüsselung
von IPsec (secure Internet Protocol, sicheres Internetprotokoll) verwendet
werden, da der IP-Header nicht verschlüsselt ist und somit von unteren
Protokollschichten geändert
werden kann.
-
Alternativ
dazu können
Zuverlässigkeitsinformationen
an die Anwendungsprotokolldateneinheit ADU angehängt werden. Aufgrund der Verschlüsselung
von IPsec ist diese Alternative für IPsec nicht geeignet. Anwendungen,
die nicht auf die zusätzlichen
Informationen eingerichtet sind, können die empfangenen Daten
falsch interpretieren. Daher veranlasst der Sender vorzugsweise
das Anhängen von
Zuverlässigkeitsinformationen
an ADUs. Eine Option für
einen UDP-Fluss ist eine anfängliche UDP-Nachricht
von dem Sender an den Empfänger auf
einer spezifischen Portnummer, wobei die Nachricht die Flussidentität anzeigt.
Der Empfänger überwacht
alle UDP-Pakete und identifiziert die anfängliche UDP-Nachricht durch
die Portnummer. Der Empfänger
fügt dann
UDP-Paketen in dem Fluss mit der angezeigten Identität Zuverlässigkeitsinformationen hinzu.
Wenn die Anwendungsdaten in ADUs mit einem Header übertragen
werden, kann es sich bei den Informationen um ein Header-Feld der
ADUs handeln, z. B. in dem in 4a bildlich
dargestellten Format. Alternativ dazu sind sie in der Nutzlast (Payload)
enthalten.
-
In
einer weiteren Alternative kann die empfangende Protokollentität eine Nachricht
an das empfangende Endgerät
erstellen. Die Nachricht umfasst die Zuverlässigkeitsinformationen für einen
Datenfluss und kann mit dem Datenfluss assoziiert sein, der an eine
spezifische Portnummer gesendet wird. Die Anwendung kann den Datenfluss
und die Zuverlässigkeitsinformationen
synchronisieren, z. B. wenn der RTP-Header in der Nachricht enthalten
ist. Diese Alternative ist vorteilhaft, da sie keine Modifizierungen
des Socket-Interface des empfangenden Endgeräts bedingt.
-
Die
obigen Ausführungsformen
erfüllen
die Aufgaben der Erfindung auf vortreffliche Weise. Man wird jedoch
zu schätzen
wissen, dass von Fachmännern
Abweichungen vorgenommen werden können, ohne vom Schutzumfang
der Erfindung abzuweichen, der nur durch die Ansprüche eingeschränkt ist.