-
Die
Erfindung beschäftigt
sich mit einem Verfahren gemäß dem Oberbegriff
des Anspruchs 1 und einer Vorrichtung zum Regeln einer Datenrate
einer Anwendung gemäß dem Oberbegriff
des Anspruchs 6.
-
Bei
einer Übertragung
von Daten sind eine Qualität
und ein Durchsatz einer Datenübertragung durch
eine Bandbreite, eine Verzögerung
und eine Paketverlustrate limitiert. Die Verzögerung kann in zwei Kategorien
eingeteilt werden, Echtzeit und Nichtechtzeitübertragung. Bei einem klassischen OSI-Schichtmodell (OSI – Open Systems
Interconnection) beschreibt eine niedrigste Schicht die physikalische
Schicht, die normalerweise in Echtzeit arbeitet. Da eine Datenübertragungsrate,
z. B. in kbit/s, der physikalischen Schicht limitiert ist, wird
ein Puffersystem eingeführt,
welches einen Over- beziehungsweise Underrun der physikalischen Übertragungsstrecke
verhindert. In Abhängigkeit
der Speichermanagementrichtlinie können Anwendungen höherer Schichten
in Echtzeit oder Nichtechtzeit ausgeführt werden.
-
Zum
Vermeiden eines Overruns werden Daten in den Übertragungspuffer geschrieben,
wodurch eine Verzögerung
bei der Übertragung
entsteht. Umso größer ein
Füllstand
des Puffers ansteigt, desto größer wird
die Verzögerung.
Um Verzögerungen für Echtzeitapplikationen
(Anwendungen) zu vermeiden, sollte die Anwendung der höheren Schicht
ihre Daten in einer Datenrate liefern, die unterhalb der Datenrate
der physikalischen Schicht ist. Diese Anforderung ist insbesondere
dann schwierig zu erfüllen,
falls die Bandbreite der physikalischen Schicht variiert. Ferner
ergeben sich Schwierigkeiten dieser Anforderung, da die Anwendung
unter Umständen keine
Information über
die aktuelle verfügbare
Bandbreite hat, wie zum Beispiel bei einer Übertragung über GSM oder GPRS (GSM – Global
System for Mobile Communications, GPRS – General Packet Radio Service).
Um den Overrun zu vermeiden und Verzögerungen der Datenübertragung
zu minimieren, müssten
Anwendungen ihre Datenrate unter der niedrigstgarantierten Datenrate
der physikalischen Schicht halten, wodurch bei guten Übertragungsbedingungen
Bandbreite ungenutzt bleibt.
-
Selbst
in Systemen, wie UMTS (UMTS – Universal
Mobile Telecommunication System), die eine Bandbreite für eine Applikation
garantieren, kann eine maximal zur Verfügung stehende Bandbreite nur annähernd ausgenutzt
werden, wobei bspw. bei einer kleinen Fehlanpassung der Bandbreite
ein akkumulierter Datenüberschuss
zu einer Zeitverzögerung der Übertragung
führt.
-
In
einem anderen System, wie zum Beispiel TCP/IP (IP – Internetprotocol,
TCP – Transmission Control
Protocol), wird die Ratenkontrolle auf Grundlage einer Roundtrip-Verzögerung und
eines Timeout-Fensters ermittelt. Im Falle einer Verstopfung der Datenübertragung
reduziert ein derartiges System seine Übertragungsrate sofort und
erhöht
die Übertragungsrate
nachfolgend Schritt für
Schritt. Andere derartige Systeme lassen ein Füllen des Übertragungspuffers nur zu,
falls ein Füllstand
des Puffers unter eine vorgebbare Schranke fällt und verhindern ein Einfüllen neuer
Daten einer Anwendung, falls der Pufferfüllstand eine vorgebbare maximale
Schwelle überschreitet.
Hierdurch entstehen ungleichmäßige Datenströme zwischen
der Anwendung und dem Puffer, da die Daten entweder in den Puffer
geschrieben werden dürfen
oder nicht, abhängig
von dem Füllstand
des Puffers. Für
den Fall, dass der Füllstand
des Puffers der Anwendung nicht direkt zugänglich ist, muss die Anwendung
beispielsweise über
eine Hilfsanwendung eine Information erfragen, welche Datenrate
in den Puffer beziehungsweise über
die physikalische Schicht übertragen
werden darf. Dies verursacht eine zusätzliche Verzögerung, welche
für Echtzeitanwendungen
nicht akzeptabel ist.
-
Ein
Dokument
US 2004/0071085
A1 beschäftigt
sich mit einer Methode zur Ermittlung zumindest eines Wechsels einer Übertragungsrate
auf Basis einer Vielzahl von Verzögerungswerten.
-
Ein
Dokument
US 5, 193, 151 erläutert ein Paketdatenkommunikationssystem,
bei dem eine Methode zum Vermeiden von einem Datenstau derart durchgeführt wird,
dass in jedem Knoten die Roundtripverzögerung gemessen wird, wenn
der Knoten Daten zu einem Ziel schickt und dieser eine Bestätigung erhält.
-
Ein
Dokument
US 5, 940, 370 beschäftigt sich
mit einer Kontrollvorrichtung für
Verbindung zur Verwendung in einem ATM-Netzwerk um ABR-Verbindungen, die durch
das Netzwerk bereitgestellt werden, zu kontrollieren. Dabei haben
diese ABR-Verbindungen
die Eigenschaft, dass sie eine erlaubte minimale Übertragungsrate
aufweisen, die erlaubter Weise überschritten
werden kann, wenn es freie Kapazität im Netzwerk gibt.
-
Ein
Dokument
US 2002/0044528
A1 beschreibt eine Methode zur Anpassung einer Bandbreite
in Abhängigkeit
einer gemessenen Verzögerungsänderung.
-
Somit
besteht die Aufgabe ein Verfahren und eine Vorrichtung anzugeben,
mit der eine Übertragung
von Daten bei variieren den Bandbreiten einer Übertragungsschicht in einfacher
und effizienter Weise gesteuert werden kann.
-
Diese
Aufgabe wird durch die unabhängigen Ansprüche gelöst. Weiterbildungen
der Erfindung sind den abhängigen
Ansprüchen
zu entnehmen.
-
Die
Erfindung betrifft ein Verfahren zum Regeln einer Datenrate einer
Anwendung, mit einer vorgebbaren Übertragungsverzögerung und
einer aktuellen Übertragungsverzögerung,
bei dem folgende Schritte ausgeführt
werden:
- – Verringern
der Datenrate, falls die vorgegebene Übertragungsverzögerung kleiner
als die aktuelle Übertragungsverzögerung und
eine differentielle aktuelle Übertragungsverzögerung über der
Zeit größer gleich
Null sind;
- – Erhöhen der
Datenrate, falls die vorgegebene Übertragungsverzögerung größer als
die aktuelle Übertragungsverzögerung und
die differentielle aktuelle Übertragungsverzögerung über der
Zeit kleiner gleich Null ist;
-
Ferner
kann die Datenrate unverändert
belassen werden, falls keine der vorgegebenen Abfragen zutrifft.
-
Mit
Hilfe dieses Verfahrens zum Regeln der Datenrate der Applikation
wird erreicht, dass zum einen die aktuelle Übertragungsverzögerung zum Übertragen
eines Datenpakets auf einem kleinen Wert eingestellt wird, und zum
anderen, dass ein Füllstand
eines Datenpuffers niedrig gehalten wird. Durch die Verknüpfung der
aktuellen Übertragungsverzögerung mit
der differentiellen Übertragungsverzögerung wird
insbesondere erreicht, dass die Datenrate an die maximal zur Verfügung stehende Übertragungsbandbreite,
d. h. maximale Datenrate, herangeführt werden kann, ohne dass
die aktuelle Übertragungsverzögerung zu
stark beziehungsweise überhaupt
ansteigt.
-
Ferner
zeichnet sich die oben genannte Vorgehensweise dadurch aus, dass
keine Information über
Pufferfüllstände benötigt wird,
da die Vorgehensweise ausschließlich
anhand der Übertragungsverzögerung gesteuert
wird.
-
In
einer vorzugsweisen Erweiterung wird das Verfahren zum Regeln in
vorgebbaren Zeitabständen durchgeführt. Hierdurch
wird erreicht, dass die Datenrate an aktuelle Gegebenheiten der
physikalischen Datenübertragungsschicht
angepasst werden kann.
-
Wird
der vorgebbare Zeitabstand in Abhängigkeit von einem Unterschied
der vorgebbaren Übertragungsverzögerung von
der aktuellen Übertragungsverzögerung und/oder
einem Wert der differentiellen aktuellen Übertragungsverzögerung über der Zeit
gewählt,
so kann der vorgebbare Zeitabstand an die aktuelle Übertragungsverzögerung individuell
angepasst werden. Wird zudem der vorgebbare Zeitabstand invers proportional
zu dem Unterschied und/oder einem Betrag des Wertes gewählt, so
wird der vorgebbare Zeitabstand verkürzt, falls der Unterschied
und/oder der Betrag des Werts ansteigt beziehungsweise der vorgebbare
Zeitabstand vergrößert, falls
der Unterschied und/oder der Betrag des Wertes verringert ist.
-
Wird
die die Verringerung und/oder Erhöhung der Datenrate jeweils
in einem Schritt von etwa 5% der zur Verfügung stehenden maximalen Datenrate
durchgeführt,
so hat sich in der Praxis gezeigt, dass sowohl eine stabile Regelung
der Datenrate bei gleichzeitig schneller Anpassung an Änderungen
der aktuellen Übertragungsverzögerung erreicht
wird.
-
Die
Erfindung betrifft auch eine Vorrichtung zum Regeln einer Datenrate,
wobei eine vorgegebene Übertragungsverzögerung und
eine aktuelle Übertragungsverzögerung vorliegen,
wobei die Vorrichtung ein Verarbeitungsmittel umfasst und das Verarbeitungsmittel
ausgestaltet ist zum Verringern der Datenrate, falls die vorgegebene Übertragungsverzögerung kleiner
als die aktuelle Übertragungsverzögerung und
eine differentielle ak tuelle Übertragungsverzögerung über der
Zeit größer gleich
Null sind, zum Erhöhen
der Datenrate, falls die vorgegebene Übertragungsverzögerung größer als
die aktuelle Übertragungsverzögerung und
die differentielle aktuelle Übertragungsverzögerung über der
Zeit kleiner gleich Null sind.
-
Mit
Hilfe der Vorrichtung ist das Verfahren zum Regeln der Datenrate
implementierbar und ausführbar.
-
Die
Erfindung wird anhand von Zeichnungen näher erläutert. Es zeigen:
-
1 ein
Ablaufdiagramm zum Ausführen eines
Verfahrens zum Regeln einer Datenrate einer Anwendung;
-
2 eine
Vorrichtung zum Regeln der Datenrate einer Anwendung.
-
Elemente
mit gleicher Funktion und Wirkungsweise sind in den 1 und 2 mit
denselben Bezugszeichen versehen.
-
1 zeigt
schematisch ein Ablaufdiagramm zur Durchführung eines Verfahrens zum
Regeln einer Datenrate DD einer Anwendung. Die Anwendung ist bspw.
eine Sprachanwendung zur Übertragung
von Sprach-Datenpaketen über
das Internet. Die Erfindung ist im Allgemeinen auf jede Art von
Daten für
Sprache, Musik, Bild, Video, Text, Executables, Präsentationen
und anderes anwendbar.
-
Das
Diagramm startet im Zustand STA. Im nachfolgenden ersten Schritt
S1 wird eine vorgegebene Übertragungsverzögerung C
und eine aktuelle Übertragungsverzögerung TD
betrachtet. Bei der vorgegebenen Übertragungsverzögerung C
handelt es sich um eine Ende-zu-Ende-Verzögerung zur Übertragung des Datenpakets
von einem Sender zu einem Empfänger,
zum Beispiel C = 100 ms. Die aktuelle Übertragungsverzögerung TD
gibt an, wie lange übertragene
Datenpakete aktuell von dem Sender zu dem Empfän ger benötigen. Die aktuelle Übertragungsverzögerung beträgt bspw.
50 ms.
-
Zudem
wird in dem Schritt S1 ermittelt, wie sich die aktuelle Übertragungsverzögerung TD über der
Zeit t, das heißt
also die differentielle aktuelle Übertragungsverzögerung über der
Zeit t, verändert hat,
also d(TD)/d(t). Diese differentielle Angabe wird mit einem Bezugszeichen „d" dargestellt. Einem Fachmann
auf dem Gebiet der Kommunikationstechnik ist hinreichend bekannt,
wie die mathematische Gleichung d(TD)/d(t) realisiert werden kann,
wie z. B. mittels eines Differenzenquotienten-Verfahrens, so dass
hierauf nicht näher
eingegangen wird.
-
Im
zweiten Schritt S2 wird ermittelt, ob die Datenrate DD erhöht, verringert
oder konstant gehalten werden soll. Hierbei wird folgende Regel
abgearbeitet:
- (a) falls TD > C und d (TD) : d (T) >= 0, dann verringere die Datenrate DD;
- (b) falls TD < C
und d (TD) : d(T) <=
0, dann erhöhe
die Datenrate DD;
- (c) ansonsten belasse die Datenrate ohne Änderung,
wobei „<=" kleiner gleich und „>=" größer gleich
bedeutet.
-
Im
vorliegenden Beispiel ist
- – TD = 50 ms, C = 100 ms, d.
h. TD < C und bspw.
- – d(TD)/d(t)
= –1.2,
d. h. d(TD)/d(t) < 0.
-
Dieses
Beispiel entspricht dem Fall (b), sodass die Datenrate erhöht wird.
Wäre bspw. d(TD)/d(t) > 0, so würde die
Datenrate gleich bleiben, siehe Fall (c). Der Term d(TD)/d(t) zeigt
an, ob die aktuelle Übertragungsrate über der
Zeit ansteigt, gleich bleibt oder abnimmt.
-
In
einem dritten Schritt S3 wird das in dem zweiten Schritt S2 gewonnene
Ergebnis ausgewertet und die Datenrate DD der Sprachdaten in Abhängigkeit
vom Ergebnis aus Schritt S1 erhöht,
verringert oder unverändert
belassen. Die Änderung
der Datenrate für
die Sprachdaten der Sprachanwendung kann z. B. durch Umschalten
eines Kodiermodus, wie bei AMR-NB (AMR – Adaptive Multirate, NB – narrow band)
erfolgen.
-
Die Änderung
der Datenrate erfolgt bspw. in 5% Schritten einer maximalen Datenrate
MDD. Werden die Daten über
einen GSM-Kanal
mit einer maximalen Datenrate MDD = 9.6 kbit/s übertragen, so wird die Änderung
der Datenrate DD in 5%·9.6
kbit/s = 480bit/s Schritten durchgeführt.
-
Im
letzten Schritt mit Bezugszeichen END wird das Verfahren zum Regeln
der Datenrate beendet.
-
In
einer Alternative können
nach Beendigung des dritten Schritts S3 die Schritte S1, S2, S3
wiederholt ausgeführt
werden. In 1 ist dies mit dem gestrichelten
Pfad verdeutlicht. Diese wiederholte Ausführung der Schritte S1 bis S3
kann in vorgebbaren Zeitabständen
TA durchgeführt
werden. Die vorgebbaren Zeitabstände
können
dabei in Abhängigkeit von
einem Unterschied U = C – TD
und/oder einem Wert W = d(TD)/d(t) gewählt werden.
-
Beträgt der Unterschied
U = C – TD
= 100 ms – 50
ms = 50 ms, so wird bspw. der vorgebbare Zeitabstand TA = 1 Sekunde
gewählt.
Ist hingegen der Unterschied U = 10 ms, so wird der vorgebbare Zeitabstand
TA = 5 Sekunden gewählt.
Hierbei wurde der vorgebbare Zeitabstand invers proportional zum
Unterschied U ausgewählt,
wobei eine Normierung mit Multiplikation einer Konstante vorgenommen
werden kann. Im vorliegenden Beispiel wurde die Konstante zu 1/20
gewählt,
so dass TA = 1/50ms·1/20
= 1 Sekunde ergibt.
-
An
Stelle des Unterschieds U kann auch der Wert W oder eine Kombination
aus dem Unterschied U und dem Wert W verwendet werden, um den vorgebbaren
Zeitabstand zu bestimmen. Die in diesem Beispiel verwendeten Zeitabstände sind
lediglich exemplarisch zu verstehen. Das Verfahren zum Regeln der
Datenrate kann auch andere Zeitabstände wählen, wobei darauf zu achten
ist, dass sich eine stabile Regelung einstellt.
-
2 zeigt
eine Vorrichtung zum Regeln der Datenrate DD. Die Vorrichtung V
umfasst dabei ein Verarbeitungsmittel VM, welches die Schritte S1
bis S3 aus 1 ausführt. Dabei wird die vorgegebene Übertragungsverzögerung C
und die aktuelle Übertragungsverzögerung TD
an das Verarbeitungsmittel VM herangeführt. Das Verarbeitungsmittel
VM ermittelt daraus die differentielle aktuelle Übertragungsverzögerung und
eine Information, gemäß Schritt
S2, ob die Datenrate erhöht,
verringert oder unverändert bleiben
soll. In 2 ist eine neue Datenrate X(DD) auf
Basis des Ergebnisses dieser Ermittlung bildlich dargestellt. Zudem
kann dem Verarbeitungsmittel VM die maximalen Datenrate MDD explizit übergebene werden.
Dies ist in 2 mit einem gestrichelten Pfeil
angedeutet.
-
Die
Vorrichtung zum Regeln der Datenrate ist beispielsweise in einem
PC, einem Videoverteilserver oder einem tragbaren Gerät, insbesondere
einem Mobiltelefon, integriert und in Hardware, Software oder in
Kombination aus Hardware und Software realisierbar und ausführbar.
-
Sollte
die Bandbreite des physikalischen Übertragungssystems starken
Schwankungen unterworfen sein, so kann durch Verwendung von vorgebbaren
Stufen bei der Erhöhung
beziehungsweise der Verringerung der Datenrate eine rasche Angleichung an
die aktuell zugrunde liegende Bandbreite erzielt werden.