-
TECHNISCHER
BEREICH
-
Die
vorliegende Erfindung bezieht sich allgemein auf die netzbasierte
Kommunikation und insbesondere auf Verbesserungen bei der Bandbreitenverwendung.
-
HINTERGRUND
DER ERFINDUNG
-
Datenkommunikationsnetze
sind aus verschiedenen Kommunikationsleitungen aufgebaut, die miteinander
verbunden sind. Jede Kommunikationsleitung hat eine spezifische
Kapazität
(oder Bandbreite), die allgemein in Dateneinheiten pro Zeit, typisch
Kilobit pro Sekunde (kBit/s), gemessen wird. Wenn Daten durch eine
im Folgenden als die Sendestation bezeichnete Station in dem Netz über eine
Kommunikationsleitung übertragen
werden, werden sie mit der spezifischen Übertragungsrate dieser Kommunikationsleitung übertragen. Üblicherweise
gibt es zwischen der Sendestation und der Kommunikationsleitung
eine Warteschlange begrenzter Größe, in der
Daten darauf warten, gesendet zu werden, falls die Leitung belegt
ist. Falls eine Station Daten schneller als mit der Kapazität der Leitung
zu senden versucht, werden die überschüssigen Daten
in der Warteschlange gespeichert, bis sie gesendet werden können. Falls
zu viele Daten an die Warteschlange gesendet werden, läuft der
Puffer über,
wobei Daten verloren gehen (oder fallengelassen werden). Somit muss eine
Sendestation ihre Übertragungsrate
an die Kapazität
der Leitung anpassen.
-
Darüber hinaus
kann diese Warteschlange an mehreren Orten entlang der Kommunikationsleitungen in
Puffern verteilt sein. Einige dieser Puffer können "fern" von
dem Sender sein und sich in Zwischenknoten entlang des Netzes befinden.
Diese Puffer von Zwischenknoten brauchen nicht durch den Sender
gesteuert oder gemessen zu werden. Somit muss eine Sendestation
beim Anpassen ihrer Übertragungsrate
ebenfalls den Zustand der Warteschlange (z. B., ob die Warteschlange
ansammelt oder leert) berücksichtigen.
-
Diese
Netze verwenden genormte Kommunikationsprotokolle, z. B. Transmission
Control Protocol/Internet Protocol (TCP/IP) und User Datagram Protocol/Internet
Protocol (UDP/IP), um die Kommunikation zwischen Computern zu ermöglichen.
Bei der Übertragung
von Daten oder Informationen zwischen Computern werden genormte
Verfahren, z. B. HyperText-Transfer-Protocol-Internet-Browser (HTTP-Internet-Browser)
und HTTP-Server, File-Transfer-Protocol-Server (FTP-Server) usw.,
verwendet. Leider sind die im Gebiet bekannten Ratensteuermechanismus-Normen
im Allgemeinen verlustbasiert. Zum Beispiel wird in der TCP/IP-Kommunikation
die Übertragungsrate
erhöht,
bis ein Datenverlust erfasst wird, der verlorene Pakete sicherstellt, die
erneut gesendet werden müssen.
-
US 5.802.106 offenbart ein
System und ein Verfahren für
die Datenflussratenerfassung mit Datenflussratensteuerung, die in
eine TCP-Paketkommunikationsumgebung eingeführt werden, die keine Datenratenüberwachung
hat, durch eine durch Berechnung angenommene Geschwindigkeit auf
der Grundlage der Latenzzeit zwischen Paketen während des Anfangsaustauschs
des Synchronisationspakets (SYN-Pakets) und des Quittierungspakets
(ACK-Pakets), wobei angenommen wird, dass die Anfangslänge von
jedem bekannt ist.
-
Der
Artikel "The Loss-Delay
Adjustment Algorithm: A TCP-friendly Adaptation Scheme", verfasst von SISALEM,
offenbart ein System und ein Verfahren, die für die Ratensteuerung verwendet
werden können,
indem die Verluste und Änderungsraten
auf der Grundlage dieser Variante berichtet werden. Die Änderung
der Übertragungsrate
beruht auf einem Momentanwert der Latenzzeit oder auf der Umlaufzeit
(RTT) des momentanen RTCP-Pakets.
-
WO
99/46902 offenbart ein Verfahren zum optimalen Einstellen der Empfängerfenstergröße in einem flussgesteuerten
Protokoll, um die Warteschlangeneinreihung in einem Pakettelekommunikationsnetz
zu minimieren.
-
Anwender
von Datenkommunikationsnetzen erfahren häufig ernste Kommunikationsbeschränkungen wegen
nicht optimaler Behandlung der Datenübertragung. Dies kann Folge
einer ineffizienten Verwendung der Netzbandbreite und einer niedrigeren
Datenübertragungsrate
als nötig
sein. Hierzu tragen die inhärenten
Ineffizienzen der vorhandenen Kommunikationsprotokollnormen und
die momentane Explosion des Netzverkehrs, der die Kapazität der Netze überlastet,
bei.
-
DARSTELLUNG
DER ERFINDUNG
-
Somit
wird ein Verfahren zum Steuern der Datenübertragungsrate zwischen Stationen
geschaffen, wobei das Verfahren Folgendes umfasst: Berechnen eines
Latenzzeitwerts pro Datenpaket aus einer Mehrzahl von Datenpaketen,
Berechnen einer diskreten Latenzzeitableitung aus der Differenz
zwischen den Latenzzeitwerten zweier aufeinander folgender Datenpakete
und Erzeugen wenigstens einer Ratenänderung aus dem genannten Latenzzeit-Ableitungswert.
Weitere Ausführungsformen
des Verfahrensanspruchs der vorliegenden Erfindung sind in den Ansprüchen 2 bis
16 beansprucht.
-
Außerdem wird
ein System geschaffen, das umfasst: eine Ratensteuereinheit zum
Steuern der Datenübertragungsrate
zwischen zwei Stationen über
ein Netz; und eine Ratenberichtseinrichtung zum Berichten der Empfangszeit
für jedes
Paket aus einer Mehrzahl empfangener Pakete in Kommunikation mit
der genannten Ratensteuereinheit, wobei die genannte Ratensteuereinheit
die genannte Übertragungsrate
anhand einer diskreten Latenzzeitableitung ändern kann, die aus der Differenz
zwischen den Latenzzeitwerten zweier aufeinander folgender Datenpakete
berechnet wird, und wobei die Latenzzeitwerte aus der genannten
Empfangszeit der empfangenen Pakete berechnet werden. Weitere Ausführungsformen
des Systemanspruchs der vorliegenden Erfindung sind in den Ansprüchen 18
bis 19 beansprucht.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
Die
vorliegende Erfindung wird umfassender verstanden und gewürdigt aus
der folgenden detaillierten Beschreibung in Verbindung mit der beigefügten Zeichnung,
in der:
-
1 eine
Blockschaltplanveranschaulichung einer Kommunikationsumgebung ist,
die ein Übertragungsraten-Steuersystem
umfasst, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist;
-
2 eine
graphische Veranschaulichung beispielhafter Änderungen sowohl der Übertragungsrate als
auch der Latenzzeit von Paketen in dem Übertragungsraten-Steuersystem aus 1 ist,
das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist;
-
3 eine
Blockschaltplanveranschaulichung des Ratenübertragungs-Steuersystems aus 1 ist, das
in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist;
-
4 eine
Ablaufplanveranschaulichung eines durch die Steuereinheits-Schnittstelle
aus 3 verkörperten
Verfahrens ist, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist;
-
5 eine
Blockschaltplanveranschaulichung eines durch den Steuermanager aus 3 ausgeführten Ratenneuberechnungsverfahrens
ist, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist.
-
6 eine
Ablaufplanveranschaulichung des Verfahrens des Analysierens eines
Einzelfensterabschnitts aus 5 ist, das
in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist; und
-
7 eine
Ablaufplanveranschaulichung eines durch den Berichtsmanager aus 3 verkörperten Verfahrens
ist, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist.
-
DETAILLIERTE
BESCHREIBUNG DER VORLIEGENDEN ERFINDUNG
-
Die
vorliegende Erfindung ist ein System und Verfahren zum Steuern von
Datenübertragungsraten. Die
vorliegende Erfindung umfasst ein verbessertes System und Verfahren,
um die Bandbreitenverwendung zu maximieren, während der Datenverlust minimiert
wird. Die vorliegende Erfindung lässt die Verwendung unabhängiger Taktgeber
in der Empfangs- und in der Sendestation zu, ohne die Synchronisation
der Taktgeber zu erfordern. Das Übertragungsraten-Steuersystem
und das Übertragungsraten-Steuerverfahren der
vorliegenden Erfindung können
für die
verbindungsbasierte und für
die verbindungslose Kommunikation verwendet werden.
-
1,
auf die jetzt Bezug genommen wird, ist eine Blockschaltplanveranschaulichung
einer Kommunikationsumgebung, die ein Übertragungsraten-Steuersystem
umfasst, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Das Kommunikationssystem
umfasst wenigstens eine Sendestation 110, wenigstens eine
Kommunikationsleitung 120, optionale Zwischenknoten 140 und
wenigstens eine Empfangsstation 170. Das ratengesteuerte Übertragungssystem
besteht aus zwei Einheiten, einer Ratensteuereinheit 410 und
einer Ratenberichtseinrichtung 430. Die Ratensteuereinheit 410 befindet
sich in der Sendestation 110. Die Ratenberichtseinrichtung 430 befindet
sich in der Empfangsstation 170. Die Zwischenknoten 140 umfassen
einen Puffer 150, eine Ratensteuereinheit 410 und
eine Ratenberichtseinrichtung 430.
-
Von
einer gegebenen Sendestation 110 können Daten über wenigstens eine Kommunikationsleitung 120A, 120B, 120C oder 120D an
eine gegebene Empfangsstation 170 gesendet werden. Der
Datenstrom ist in Stücke 130 einer
vorgegebenen Größe geteilt,
die unter Verwendung eines bekannten Protokolls über eine Reihe von Kommunikationsleitungen,
z. B. 120A-120D, übertragen werden. Entlang des
Wegs zwischen der Sendestation 110 und der Empfangsstation 170 kann
es irgendeine Anzahl von Zwischenknoten 140 geben. Diese
Zwischenknoten 140 empfangen die Daten und senden sie weiter,
bis die Daten ihr Ziel erreichen. Die Kommunikationsleitungen 120A, 120B, 120C und 120D können vom
gleichen Typ oder von verschiedenen Typen sein. Im Folgenden werden
alle Kommunikationsleitungen 120A-120D zusammen
als Kommunikationsleitungen 120 bezeichnet. Ein solcher
Kommunikationsprozess, der Sendestationen 110, Kommunikationsleitungen 120,
Zwischenknoten 140 und Empfangsstationen 170 verwendet,
sowie Normen für
seine Implementierung sind im Gebiet gut bekannt.
-
Die
Daten werden mit einer bestimmten Rate übertragen, die in Kilobits
pro Sekunde (kBits/s) gemessen werden kann. Da verschiedene Leitungstypen
unterschiedliche Kapazitäten
oder eine unterschiedliche Bandbreite haben können, wird die Übertragungsrate
durch den Typ der verwendeten Kommunikationsleitung 120 beeinflusst.
Zum Beispiel können
Daten in Pakete geteilt werden und über einfache alte Telephonleitungen (POTS), über Leitungen
des diensteintegrierenden digitalen Fernmeldenetzes (ISDN), über eine
terrestrische-1-Datenleitung (T1) usw. gesendet werden und UDP/IP,
TCP/IP oder irgendein anderes im Gebiet bekanntes Protokoll verwenden.
Zum Beispiel werden die Daten in Pakete geteilt, wenn ein paketbasiertes
Protokoll wie etwa TCP/IP verwendet wird. Wegen der Vertrautheit
des Begriffs wird im Folgenden anstelle von Stücke 130 der Begriff
Pakete 130 verwendet. Allerdings wird angemerkt, dass irgendein
Datenteilungstyp, wie er in einer Kommunikationsnorm definiert ist,
verwendet werden kann.
-
Der
Zwischenknoten 140 kann irgendein Typ eines Knotens entlang
einer Kommunikationsleitung 120, z. B. eine Zelle in der
Zellenkommunikation, eine Satellitenstation in der Satellitenkommunikation,
ein Gateway zwischen Netzen usw., sein. Die Daten können während ihrer Übertragung über das
Netz durch irgendeine Anzahl von Zwischenknoten 140 gehen.
Irgendeiner der Zwischenknoten 140 kann als eine Sendestation 110 und/oder
als eine Empfangsstation 170 funktionieren. Wenn das der
Fall ist, können
sie ihre eigene Ratensteuereinheit 410 und/oder Ratenberichtseinrichtung 430 enthalten.
Wenn sie in einer dieser Fähigkeiten
wirken, funktionieren sie gemäß den Beschreibungen
dieser Stationen. Für
die Einfachheit der Beschreibung sind in 1 alle Zwischenknoten 140 durch
ein einziges Element 140 repräsentiert und wird auf sie zusammen
Bezug genommen.
-
Da
die Übertragungsrate
vom Zwischenknoten 140 verschieden von seiner Empfangsrate
sein kann, besteht Bedarf an einem Puffer 150 zum Speichern
einer Warteschlange der Pakete 130, die darauf warten, gesendet
zu werden. Der Puffer 150 steht unter der alleinigen Steuerung
des Zwischenknotens 140. Weder die Sendestation 110 noch
die Empfangsstation 170 hat Zugriff auf den Puffer 150.
Der Zwischenknoten 140 kann Pakete 130 über Kommunikationsleitungen 120 zur
Empfangsstation 170 senden.
-
Wie
im Folgenden ausführlich
anhand von 3 erläutert wird, sammelt die Sendestation 110 Informationen über die Übertragungen
an, die sie sendet. Dies erfolgt unter Verwendung ihrer Ratensteuereinheit 410 sowie
der Ratenberichtseinrichtung 430 der Empfangsstation 170,
an die die Daten gesendet wurden. Daraufhin ändert die Ratensteuereinheit 410 die Übertragungsrate
der Sendestation 110 so, wie es im Folgenden anhand der 2 und 3 erläutert wird.
Durch die Sendestation 110 werden zwei Typen von Informationen, die
Latenzzeit der Pakete und die Paketverluste, gesammelt. Falls die
Latenzzeitwerte konstant zunehmen oder konstant abnehmen, gibt das
an, dass die Warteschlange konstant länger bzw. kürzer wird.
-
Es
wird nun Bezug genommen auf 2, eine
graphische Veranschaulichung beispielhafter Änderungen sowohl der Übertragungsrate
der Pakete 130 als auch der Latenzzeit in einem Kommunikationssystem, das
ein Übertragungsraten-Steuersystem
umfasst, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Die Latenzzeit ist ein
Maß, das
sich auf die Zeit bezieht, die es dauert, bis eine Übertragung
empfangen wird.
-
Es
gibt zwei Latenzzeittypen, eine Ein-Richtungs-Latenzzeit und eine
Zwei-Richtungs-Latenzzeit.
Die Ein-Richtungs-Latenzzeit ist die Zeit zwischen dem Moment, zu
dem die Daten durch die Sendestation gesendet wurden, und dem Moment,
zu dem sie durch die Empfangsstation empfangen wurden. Die auch
als Umlaufzeit (RTT) bekannte Zwei-Richtungs-Latenzzeit ist die Zeit zwischen
dem Moment, zu dem die Daten durch die Sendestation gesendet wurden,
und dem Moment, zu dem die Sendestation eine Quittierung des Empfangs
dieser Daten empfing. Dabei wird angenommen, dass die Quittierung
gesendet wurde, unmittelbar nachdem die Daten empfangen wurden.
-
Die
Latenzzeit umfasst die folgenden Zeitintervalle:
- 1.
Die Wartezeit in Warteschlangen entlang des Wegs und
- 2. die Zeit, die die Serialisierung und die Übertragung der Daten über die Leitung
dauern.
-
Im
Fall der Zwei-Richtungs-Latenzzeit gibt es zwei weitere Zeitintervalle:
- 3. Die Wartezeit der Quittierung in den Warteschlangen
entlang des Rückkanals
und
- 4. die Zeit, die die Serialisierung und die Übertragung der Quittierung über die
Rückleitung
dauern.
-
Es
wird angenommen, dass die Zeitintervalle 2 und 4 die
meiste Zeit konstant sind und dass das Intervall 3 für verschiedene
Quittierungen nicht stark schwankt, da die Warteschlange der Empfangsseite
der Sendestation 110 die meiste Zeit leer ist. Somit ist
eine Änderung
der Latenzzeit ein guter Indikator einer Änderung des Zeitintervalls 1,
das die Wartezeit in den Warteschlangen entlang des Wegs widerspiegelt. Änderungen
der Wartezeit in der Warteschlange beinhalten Änderungen des Zustands der
Warteschlange, z. B. kann sich die Warteschlangengröße vergrößern oder
verkleinern. Somit liefert eine Überwachung
der Latenzzeit Informationen über
den Zustand der Warteschlange.
-
Die Übertragungsratenkurve 30 (durchgezogene
Linie) beginnt mit der maximal möglichen
Rate zu übertragen
und im Zeitverlauf ab und zu. Die Latenzzeitkurve 20 (Strichlinie)
steigt zunächst
in Reaktion auf die Übertragungsratenkurve 30 mit
einer drastischen Rate an, während
das System die Datenübertragung
beginnt. Während
die Latenzzeitkurve 20 zunimmt, wird die Übertragungsbitrate
abgesenkt, so dass keine Datenpakete 130 verloren gehen.
Mit der Zeit stabilisiert sich die Latenzzeitkurve 20 zu
einer allgemein gleich bleibenden Latenzzeit, die wegen sich ändernder
Bedingungen über
die Kommunikationsleitungen 120 und den Zwischenknoten 140 etwas
schwankt.
-
Zum
Zeitpunkt T0 beginnt die Übertragung
von Paketen 130 mit einer vorgegebenen maximalen Rate (z.
B. mit der maximalen Bitrate der Leitung). Die Latenzzeitkurve 20 steigt
bis zum Zeitpunkt T1 an, wobei die Latenzzeit
an diesem Punkt gleich einem durch das Verfahren der vorliegenden
Erfindung vorgegebenen Wert ist. Wie in der Übertragungsratenkurve 30 zu
sehen ist, wird die Übertragungsrate
zu diesem Zeitpunkt abgesenkt. Die Latenzzeitkurve 20 steigt
weiter an, wobei sich aber ihr Anstieg ändert, was die neue Übertragungsrate
widerspiegelt. Zum Zeitpunkt T2 gibt es
einen steilen Abfall der Latenzzeitkurve 20, der widerspiegelt,
dass ein Paket verloren geht. Dies veranlasst, dass das Verfahren
der vorliegenden Erfindung die Übertragungsrate auf
einen vorgegebenen Prozentsatz der Leitungskapazität absenkt,
wie es die Übertragungsratenkurve 30 zum
Zeitpunkt T3 widerspiegelt.
-
Das
Verfahren der vorliegenden Erfindung überwacht die Latenzzeiten weiter
und passt die Übertragungszeiten
weiter an. Von der Zeit T4-T5 ist
die Latenzzeit fast konstant, was angibt, dass die Übertragungsrate
erhöht
werden kann, T6. An der Übertragungsrate werden Anpassungen
vorgenommen, die eine Änderung
der Latenzzeit veranlassen. Wie im Folgenden erläutert wird, ermittelt das Verfahren
eine mögliche
optimale Übertragungsrate
für die
momentanen Kommunikationsleitungsbedingungen, die verwendet wird,
bis eine Änderung
der Bedingungen erfasst wird.
-
Falls
die Latenzzeitwerte konstant zunehmen oder konstant abnehmen, bedeutet
das, dass die Warteschlange konstant länger bzw. kürzer wird. In einem solchen
Fall liefert die Differenz zwischen jeweils zwei aufeinander folgenden
Latenzzeitwerten eine Korrektur an den momentanen Übertragungsraten.
Auf ein solches Maß wird
als die "diskrete
Ableitung der Latenzzeit" Bezug
genommen, und auf ihre Verwendung wird als Korrektur der Übertragungsrate
gemäß der diskreten Änderung
der Latenzzeit Bezug genommen.
-
Es
kann Situationen geben, in denen eine Richtlinie erforderlich ist,
um dynamische Änderungen
der Übertragungsrate
der Sendestation 110 zu bestimmen. Eine solche Richtlinie
kann durch das Übertragungsraten-Steuersystem
der vorliegenden Erfindung implementiert werden. Beispiele solcher
Situationen enthalten eine unbekannte Leitungskapazität, eine
Leitungskapazität,
die sich mit der Zeit ändert,
eine Leitung, die von einer veränderlichen
Anzahl von Sendestationen gemeinsam genutzt werden, und eine veränderliche
Anzahl von Datenflüssen,
die von derselben Station ausgehen ("gemeinsam genutztes Medium"), aber mit verschiedenen
Raten übertragen
werden.
-
Paketvermittlungs-Zellennetze
liefern ein Beispiel der oben erwähnten Situationen. Die für Datenanwender
vorgesehene Kapazität ändert sich
in Übereinstimmung
mit der momentanen Anzahl von Sprachanwendern in der Zelle. Die
Zellenkapazität
wird von einer veränderlichen
Anzahl von Clients gemeinsam genutzt, die jeweils mit veränderlichen
Raten senden können.
Darüber
hinaus kann ein Client von einer Zelle mit bestimmten Bedingungen
(Kapazität,
Anzahl anderer Clients) zu einer Zelle mit anderen Bedingungen wechseln.
-
3,
auf die jetzt Bezug genommen wird, ist eine ausführliche Blockschaltplanveranschaulichung des
Ratenübertragungs-Steuersystems
der vorliegenden Erfindung, das eine Ratensteuereinheit 410 und
eine Ratenberichtseinrichtung 430 (aus 1)
umfasst, die in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional sind. Außerdem ist ein Netz 420 gezeigt,
das jene Kommunikationsleitungen 120 und Zwischenknoten 140 repräsentiert,
die zwischen der Ratensteuereinheit 410 und der Ratenberichtseinrichtung 430 auftreten.
In der Ausführungsform
aus 3 befinden sich die Teile des Ratenübertragungs-Steuersystems
an verschiedenen Orten – die
Ratensteuereinheit 410 in der Sendestation 110 (1) und
die Ratenberichtseinrichtung 430 in der Empfangsstation 170 (1).
In einer weiteren Ausführungsform der
vorliegenden Erfindung sind sie am selben Ort.
-
Während die
Ratensteuereinheit 410 die Übertragungsrate für mehr als
eine Ratenberichtseinrichtung 430 steuert, erfolgen alle
Berechnungen und Ratenanpassungen für jede Ratenberichtseinrichtung 430 einzeln.
Außerdem
wird angemerkt, dass eine gegebene Ratenberichtseinrichtung 430 an
mehr als eine Ratensteuereinheit 410 berichten kann. Es
wird angemerkt, dass für
jede Verbindung verschiedene Berichtstabellen 460 erzeugt
und an die richtige Ratensteuereinheit 410 gesendet werden
können.
-
Die
Ratensteuereinheit 410 umfasst einen Steuereinheitsmanager 414 und
eine Steuereinheits-Schnittstelle 413. Der Steuereinheitsmanager 414 erzeugt
für jede
Ratenberichtseinrichtung 430, die er steuert, wenigstens
eine Übertragungspaketetabelle 450.
Beim Empfang des Datenpakets 130 von der Sendestation 110 über den
Datenbus 411 erzeugt die Steuereinheits-Schnittstelle 413 in
der Übertragungspaketetabelle 450 einen
Eintrag, der eine eindeutige Kennzahl (ID) des Pakets und die Übertragungszeit
gemäß ihrem
Taktgeber umfasst. Optional kann ebenfalls die Übertragungsrate des Pakets
enthalten sein. Die Übertragungspaketetabelle 450 umfasst
die gesammelten Informationen über
die Zeitgebung des Pakets 130. Daraufhin wird das Datenpaket 130 zur Übertragung
an die Empfangsstation 170 durch die Steuereinheits-Schnittstelle 413 an
das Netz 420 weitergeleitet.
-
Die
Ratenberichtseinrichtung 430 umfasst einen Berichtseinrichtungsmanager 432 und
eine Berichtseinrichtungs-Schnittstelle 433. Der Berichtseinrichtungsmanager 432 erzeugt
für jede
Ratensteuereinheit 410, an die er berichtet, wenigstens
eine Berichtstabelle 460. Wenn durch die Berichtseinrichtungs-Schnittstelle 433 ein
Paket 130 von der Sendestation 110 empfangen wird,
erzeugt der Berichtseinrichtungsmanager 432 einen Eintrag
in der Berichtstabelle 460, der die ID des Pakets und die
Empfangszeit gemäß seinem
lokalen Taktgeber umfasst. Wenn eine vorgegebene Bedingung erfüllt ist,
wenn z. B. eine gegebene Anzahl von Paketen empfangen worden sind
oder eine bestimmte Zeitdauer verstrichen ist, sendet die Berichtseinrichtungs-Schnittstelle 433 die Berichtstabelle 460 über das
Netz 420 an die Ratensteuereinheit 410. Die Berichtstabelle 460 kann
als ein Paket gemäß irgendeinem
im Gebiet bekannten Protokoll, z. B. UDP/IP, gesendet werden.
-
Es
wird angemerkt, dass die berichtete Zeit dann, wenn sich die Ratenberichtseinrichtung 430 bei
der Empfangsstation 170 befindet, die Zeit ist, zu der
das Paket empfangen wird. Falls sich die Ratenberichtseinrichtung 430 beim
Zwischenknoten 140 befindet, ist sie am Ausgangsende des
Knotens, nach den Verarbeitungseinheiten und Puffern, angeordnet.
Somit ist die vom Zwischenknoten 140 berichtete Zeit die
Zeit, zu der das Paket 130 zu seinem nächsten Ziel gesendet wird.
-
Wenn
durch die Steuereinheits-Schnittstelle 413 eine Berichtstabelle 460 von
der Ratenberichtseinrichtung 430 empfangen wird, ordnet
sie der Steuereinrichtungsmanager 414 der für diese
Ratenberichtseinrichtung 430 erzeugten Übertragungspaketetabelle 450 zu.
Der Steuereinheitsmanager 414 vergleicht die zwei Tabellen.
Er kann die zwei relevanten Tabellen wie im Folgenden beschrieben
verarbeiten. Falls Leitungstypinformationen verfügbar sind, berechnet der Steuereinheitsmanager 414 anhand
der Ergebnisse dieses Prozesses und des Typs der Kommunikationsleitung 120 eine
neue empfohlene Übertragungsrate
und überträgt die neue
Rate über
den Steuerbus 412 zur Sendestation 110.
-
Für den Fachmann
auf dem Gebiet ist klar, dass die vorliegende Erfindung als Software
implementiert werden kann, die in dem Sendecomputer und/oder in
dem Berichtscomputer liegen kann, oder dass sie aus einem Computer
bestehen kann, der mit der Kommunikationsleitung verbunden ist.
Darüber
hinaus ist für
den Fachmann auf dem Gebiet klar, dass sich die Sendeseite und die
Berichtsseite im Fall der Zwei-Richtungs-Latenzzeit (RTT) in derselben Station
befinden können.
-
4,
auf die jetzt Bezug genommen wird, ist eine Ablaufplanveranschaulichung
eines durch die Steuereinheits-Schnittstelle 413 implementierten
Verfahrens (3), das in Übereinstimmung mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Wenn ein Paket übertragen
wird, wird durch die Steuereinheits-Schnittstelle 413 in
der relevanten Übertragungspaketetabelle 450 ein
neuer Eintrag erzeugt (Schritt 510). Dieser Eintrag umfasst
die Paket-ID, die Übertragungszeit
und die Übertragungsrate.
Daraufhin wird das Paket 130 zu seinem Ziel übertragen.
-
Die
Steuereinheits-Schnittstelle 413 prüft, ob eine Berichtstabelle 460 empfangen
worden ist (Schritt 520). Wenn das nicht zutrifft, kehrt
sie zu Schritt 510 zurück
und wartet auf den Empfang des nächsten
Pakets. Die Berichtstabelle 460 enthält die Empfangszeit für die durch
eine gegebene Empfangsstation 170 (gemäß ihrer Taktzeit) behandelten
Pakete. Falls eine Berichtstabelle 460 empfangen worden
ist, wird die geeignete Übertragungspaketetabelle 450 mit
der Empfangszeit, die für
jedes Paket (gemäß seiner
ID-Nummer) in der Berichtstabelle 460 berichtet wird, aktualisiert
(Schritt 530). Falls ein Paket nicht in der Berichtstabelle 460 aufgeführt ist,
während
in dem Bericht ein Paket erscheint, das nach ihm gesendet wurde,
wird das fehlende Paket als ein verlorenes Paket gekennzeichnet.
Dabei wird angenommen, dass die Pakete in der gleichen Folge, in der
sie gesendet wurden, bei der Empfangsstation 170 ankommen.
-
Die
Steuereinheits-Schnittstelle 413 prüft, ob in der aktualisierten Übertragungspaketetabelle 450 genug
Daten empfangen worden sind, um statistische Berechnungen auszuführen (Schritt 540).
Falls das nicht zutrifft, kehrt die Steuereinheits-Schnittstelle 413 zu
Schritt 510 zurück.
Andernfalls überträgt die Steuereinheits-Schnittstelle 413 die
aktualisierte Übertragungspaketetabelle 450 zu
dem Steuereinheitsmanager 414 (Schritt 550), der
Berechnungen beginnt. Während
die Berechnungen ausgeführt
werden, kehrt die Schnittstelle 413 zu Schritt 510 zurück, der
zulässt,
dass die Steuereinheits-Schnittstelle 413 die Datensendung
und den Datenempfang fortsetzt.
-
Die
folgenden Definitionen und die folgende Tabelle sind im Folgenden
in Bezug auf die 5-7 nützlich.
-
Untersuchungsfenster:
-
Derjenige
Teil der Übertragungspaketetabelle,
der durch den Ratenneuberechnungsmechanismus untersucht wird.
-
Fensterabschnitt:
-
Ein
Stück des
Untersuchungsfensters, in dem alle Pakete mit der gleichen Rate übertragen
wurden. In einem Fenster kann eine Anzahl von Abschnitten vorhanden
sein, die angeben, dass Pakete während
der durch das Fenster erfassten Periode mit mehreren verschiedenen
Raten übertragen
wurden.
-
Fensterabschnittsrate:
-
Die
Rate, mit der die Pakete in dem Abschnitt übertragen wurden.
-
Latenzzeitberechnung:
-
Ein-Richtungs-Latenzzeit
= Berichtszeit – Sendezeit.
-
Delta-Wert:
-
Die
Differenz zwischen den Latenzzeitwerten von zwei Paketen, die aufeinander
folgend übertragen wurden.
-
Tabelle
1: Aktualisierte Teilübertragungspaketetabelle
-
Tabelle
1 umfasst einen Teil eines Fensterabschnitts einer aktualisierten Übertragungspaketetabelle 450.
Die Paketnummern-Spalte umfasst die eindeutigen Paket-IDs. Die Sendezeit-Spalte
umfasst diejenige Zeit T, zu der das Paket gemäß dem lokalen Taktgeber der
Sendestation gesendet wurde. Die Übertragungsraten-Spalte umfasst
die Rate, mit der die Pakete übertragen
wurden. Es wird angemerkt, dass die Rate in dieser Teiltabelle für alle Pakete
dieselbe ist, da nur ein Fensterabschnitt gezeigt ist. Die Empfangszeit-Spalte
umfasst die Zeit R, die lokale Zeit bei der Empfangsstation, wenn
das Paket empfangen wurde, wie sie in der Berichtstabelle berichtet
wird. Im Fall einer Ein-Richtungs-Latenzzeit umfasst die Latenzzeit-Spalte
die Differenz zwischen der Sendezeit und der Empfangszeit, R – T. Die
Delta-Spalte umfasst den Delta-Wert D, der die Differenz zwischen
der Latenzzeit zweier aufeinander folgender Zeilen, Lm+1 – Lm, zweier aufeinander folgender gesendeter
Pakete umfasst.
-
Diese
Liste von Delta-Werten widerspiegelt eine Änderung der Latenzzeit. Wie
in Tabelle 1 zu sehen ist, klammern die Delta-Werte verschiedener
Pakete die Taktzeitdifferenzen durch die Subtraktion der Latenzzeitwerte
aus. Somit ermöglicht
dieses Verfahren die Flexibilität
der Verwendung zweier unabhängiger
Taktgeber, ohne sich um die Taktsynchronisation zu kümmern.
-
Es
wird nun Bezug genommen auf 5, eine
Ablaufplanveranschaulichung des durch den Steuereinheitsmanager 414 der
Ratensteuereinheit 410 (3) ausgeführten Ratenneuberechnungsverfahrens,
das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Der Steuereinheitsmanager 414 empfängt die
aktualisierte Übertragungspaketetabelle 450 (Schritt 601).
Er berechnet die Ein- Richtungs-Latenzzeit
für jeden
Eintrag. Das Delta zwischen der Latenzzeit des momentanen Eintrags
und des vorherigen Eintrags wird ebenfalls berechnet, wobei beide
in die aktualisierte Übertragungspaketetabelle 450 eingegeben
werden (Schritt 602).
-
Das
Untersuchungsfenster wird in einen oder in mehrere Fensterabschnitte
geteilt, wobei jeder Abschnitt dieselbe Übertragungsrate hat (Schritt 603).
Für jeden
Fensterabschnitt wird eine vorgeschlagene Ratenänderung berechnet (Schritt 604).
Diese Berechnung wird im Folgenden anhand von 7 ausführlich beschrieben.
Die endgültig
vorgeschlagene Ratenänderung
ist ein Durchschnitt aller Fensterabschnitte, gewichtet durch die
Anzahl der Delta-Werte in jedem Abschnitt.
-
Der
Steuereinheitsmanager 414 entscheidet basierend auf den
vorgeschlagenen Ratenänderungen, die Übertragungsrate
der Sendestation 110 zu ändern (Schritt 605),
und sendet diese Anweisungen über
den Steuerbus 412. Allerdings wird zunächst ein Vergleich vorgenommen,
um zu prüfen,
dass die neue Rate nicht die Kapazität der Kommunikationsleitung 120 übersteigt.
Wenn das der Fall ist, wird die Rate auf den Wert der Kapazität der Kommunikationsleitung
eingestellt. Somit funktioniert die Kapazität der Kommunikationsleitung als
eine obere Schranke für
die vorgeschlagene Übertragungsrate.
-
Wie
aus den Beschreibungen der 4 und 5 klar
ist, sind die Aufgaben der Ratensteuereinheit 410 zwischen
zwei getrennten Einheiten, dem Steuereinheitsmanager 414 und
der Steuereinheits-Schnittstelle 413, aufgeteilt. Somit
werden jene Funktionen, die länger
dauern, durch den Steuereinheitsmanager 414 ausgeführt, der
die Steuereinheits-Schnittstelle 413 die Datenempfangs-
und Datensendefunktionen steuern lässt. Allerdings wird angemerkt,
dass diese zwei Logikbausteine in einer weiteren Ausführungsform
zu einer einzigen Einheit kombiniert sein können.
-
6,
auf die jetzt Bezug genommen wird, ist eine Ablaufplanveranschaulichung
eines beim Analysieren eines einzigen Fensterabschnitts verwendeten
Verfahrens, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Diese Figur entspricht
einer einzigen Iteration des Schritts 604 aus 5 und
wird einmal pro Fensterabschnitt ausgeführt.
-
Der
Steuereinheitsmanager 414 wendet auf jeden der Delta-Werte
in dem Abschnitt ein "Vorzeichen-Maßgeblichkeits-Filter" an (Schritt 701).
Dieser Test wird verwendet, um zu bestimmen, ob der Wert entweder "maßgeblich
positiv" oder "maßgeblich
negativ" ist.
-
Zum
Beispiel wird geprüft,
ob der Prozentsatz der positiven Werte in der Delta-Liste einen
bestimmten Schwellenwert übersteigt.
Eine ähnliche
Prüfung
erfolgt für
negative Werte. Falls es einen maßgeblichen Wert gibt, wird
die Änderung
(oder Ableitung) als der Median der Mehrheitsgruppe (gleich, ob
positiv oder negativ) berechnet und werden die anderen Delta-Werte
verworfen (Schritt 702). Andernfalls wird die Ableitung
des Fensterabschnitts auf "0" eingestellt (Schritt 703).
-
Somit
wird das "Vorzeichen-Maßgeblichkeits-Filter" verwendet, um zu
bestimmen, ob es eine deutliche Tendenz in den Delta-Werten des
Fensterabschnitts gibt. Dies ist notwendig, da die Verwendung des
Medians nur eine grobe Art und Weise liefert, um Ausnahmewerte herauszufiltern.
Das Vernachlässigen
der anderen Delta-Werte kann in einer Situation helfen, in der die
Tendenz der Ableitung des Abschnitts klar ist, aber dennoch Ausnahmewerte
vorhanden sind.
-
Der
Steuereinheitsmanager 414 berechnet aus der Ableitung einen
einzigen vorgeschlagenen Ratenänderungswert
für den
Fensterabschnitt (Schritt 704). Dieser Wert wird die "ableitungsbasierte
vorgeschlagene Änderung" genannt. Für eine von
null verschiedene Ableitung wird die ableitungsbasierte vorgeschlagene Änderung
wie folgt abgeleitet. Wenn als die Zeit zwischen aufeinander folgenden
Paketübertragungen
X Millisekunden (ms) gegeben sind und ein Ableitungswert von Y ms
gegeben ist, wird die vorgeschlagene Ratenänderung so berechnet, dass
die Zeit zwischen aufeinander folgenden Paketübertragungen X + Y ms ist.
-
Eine
Ableitung null gibt eine der zwei folgenden Situationen an:
- 1. Die Übertragungsrate
hat ein Niveau erreicht, auf dem sie angemessen für die momentanen
Bedingungen ist. Das Stauungsniveau in den Puffern ist konstant,
so dass die Ableitung null ist, oder
- 2. die Übertragungsrate
ist zu niedrig für
die momentanen Bedingungen, aber die Puffer sind vollständig leer.
In diesem Fall ist die Wartezeit für alle Pakete in den Puffern "0", so dass die Ableitung null ist.
-
Da
zwischen den zwei Situationen schwer zu unterscheiden sein kann
und da eine Unternutzung der Leitung als kritischer betrachtet wird,
wird angenommen, dass die Übertragungsrate
zu niedrig ist (Fall 2). Somit wird die Rate im Fall einer Ableitung
von null erhöht.
Eine solche Zunahme wird eine "Zunahme
der Ableitung null" genannt.
Diese Zunahme ist proportional zur Kapazität der Kommunikationsleitung
(z. B. 15 % der Kapazität).
Es wird angemerkt, dass die im Folgenden beschriebenen Ratenberechnungen
selbst im Fall der ersten Situation angeben können, dass die Rate zu hoch
ist, und sie verringern können.
-
Nachfolgend
prüft der
Steuereinheitsmanager 414, ob der Prozentsatz verlorener
Pakete aus der Gesamtzahl der in dem untersuchten Abschnitt übertragenen
Pakete einen bestimmten Schwellenwert übersteigt (Schritt 705).
Wenn das der Fall ist, wird das Minimum zwischen der ableitungsbasierten
vorgeschlagenen Änderung
und der "verlustbasierten
Verringerung" als
die vorgeschlagene Ratenänderung
des Fensterabschnitts verwendet (Schritt 706). Der verlustbasierte
Verringerungswert verringert den Wert um eine Konstante, die proportional
zur Leitungskapazität
ist, z. B. um 15 Prozent der Kapazität. Falls die ableitungsbasierte
vorgeschlagene Änderung
nicht "negativ genug" ist, wird die Rate
nicht genug verringert, so dass stattdessen die verlustbasierte
Verringerung ausgewählt
wird.
-
Falls
der Verlustprozentsatz den Schwellenwert nicht übersteigt, verwendet die vorgeschlagene
Ratenänderung
für den
Abschnitt die ableitungsbasierte vorgeschlagene Änderung (Schritt 707).
-
Da
die Pakete in dem Untersuchungsfenster vor der Berechnungszeit übertragen
worden sein können, kann
es der Fall sein, dass sich die Übertragungsrate
geändert
hat. Die momentane Übertragungsrate
kann nicht mehr dieselbe sein wie zu der Zeit, zu der der Abschnitt übertragen
wurde. Diese Tatsache kann bei der Berechnung der vorgeschlagenen Änderungsrate
berücksichtigt
werden. Somit wird die vorgeschlagene Änderungsrate in Bezug auf "zukünftige Ratenänderungen" verringert (Schritt 708).
Falls z. B. die Rate des Fensterabschnitts 9000 Bit/s, die vorgeschlagene Änderung –3000 Bit/s
und die momentane Übertragungsrate 7000
Bit/s war, ist die benötigte
tatsächliche Änderung
nur –1000
Bit/s. Dies wird durch Subtraktion der momentanen Übertragungsrate
von der Übertragungsrate
zu der Zeit, zu der der Abschnitt gesendet wurde, berechnet, was
eine Ratendifferenz ergibt. Daraufhin wird diese Ratendifferenz
von der vorgeschlagenen Ratenänderung
subtrahiert, was eine Rate ergibt, die den momentanen Übertragungswert
widerspiegelt.
-
Es
wird nun Bezug genommen auf 7, eine
Ablaufplanveranschaulichung eines durch den Berichtseinrichtungsmanager 432 und
durch die Berichtseinrichtungs-Schnittstelle 433 der Ratenberichtseinrichtung 430 (3)
ausgeführten
Verfahrens, das in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung funktional ist. Der Berichtseinrichtungsmanager 432 initialisiert
pro jede Verbindung einen Zähler
auf null und erzeugt eine Berichtstabelle 460 (Schritt 801).
Die Berichtstabelle 460 wird zum Aufzeichnen eindeutiger
ID-Nummern der Pakete, die empfangen werden, und der Empfangszeit
des Pakets verwendet. Wenn ein Paket in die Berichtstabelle 460 eingegeben
worden ist, wird auf es als ein "berichtetes
Paket" Bezug genommen.
Nun wartet die Berichtseinrichtungs-Schnittstelle 433 darauf,
dass ein Paket ankommt (Schritt 802).
-
Beim
Empfang eines Pakets aktualisiert die Berichtseinrichtungs-Schnittstelle 433 wie
beschrieben die Berichtstabelle 460 und inkrementiert den
Zähler
(Schritt 803). Daraufhin prüft die Berichtseinrichtungs-Schnittstelle 433,
ob der Zähler
einen vorgegebenen Wert erreicht hat, der die "Empfangsfenstergröße" genannt wird, wobei dieser Zähler z.
B. gleich 100 ist (Schritt 804). Weitere mögliche Bedingungen
können sein,
dass eine vorgegebene Zeitperiode verstrichen ist oder dass ein
gegebener vorgegebener Zeitpunkt vergangen ist. Wenn das nicht zutrifft,
kehrt die Berichtseinrichtungs-Schnittstelle 433 zu Schritt 802 zurück und wartet
auf das nächste
Paket.
-
Andernfalls
formatiert die Berichtseinrichtungs-Schnittstelle 433 die
Berichtstabelle 460 zu einem Datenpaket und fügt zur Berichtstabelle 460 einen
Transportprotokoll-Anfangsblock hinzu. Unter Verwendung von UDP/IP
umfasst der Anfangsblock z. B. die Adresse der Sendestation 110.
Daraufhin sendet die Berichtseinrichtungs-Schnittstelle 433 die
Berichtstabelle 460 über
das Netz 420 an den Ratensteuereinheitsmanager 410 (Schritt 805)
und kehrt zum Initialisierungsschritt 801 zurück. Es wird
angemerkt, dass die in Schritt 805 gesendete Berichtstabelle 460 in
Schritt 520 als Eingabe verwendet wird (4).
-
In
einer weiteren Ausführungsform
der vorliegenden Erfindung werden die Ratenberechnungen durch den
Berichtsmanager 432 ausgeführt, wobei in diesem Fall nur
das Ergebnis an die Sendeseite berichtet wird. Diese Ausführungsform
erfordert die folgenden Änderungen
an dem oben beschriebenen System. Jedes durch die Steuereinheits-Schnittstelle 413 gesendete
Paket enthält
in seinem Anfangsblock seine Sendezeit. Anstelle der zwei oben beschriebenen
Tabellen gibt es eine einzelne durch die Berichtseinrichtung 430 gemanagte
Tabelle. Wenn ein Paket ankommt, sind sowohl seine Sendezeit als
auch seine Ankunftszeit verfügbar, so
dass die Latenzzeit berechnet und in eine neue Spalte in der Tabelle
geschrieben wird.
-
Wenn
genug Informationen in der Tabelle sind, wird durch den Berichtseinrichtungsmanager 432 auf ähnliche
Weise, wie es durch den Steuereinheitsmanager 414 wie oben
anhand der 5 und 6 beschrieben
ausgeführt
wurde, die Ratenberechnung ausgeführt. Die neue Rate wird durch
die Berichtseinrichtungs-Schnittstelle 433 an den Ratensteuereinheitsmanager 410 gesendet,
der die Übertragungsrate
aktualisiert. Es wird angemerkt, dass die wie oben in Schritt 805 beschriebene Übertragung
der Berichtstabelle 460 in dieser Ausführungsform unnötig ist.
-
Aus
den obigen Beschreibungen ist selbstverständlich, dass die Aufgaben der
Ratenberichtseinrichtung 430 zwischen zwei getrennten Einheiten,
dem Berichtseinrichtungsmanager 432 und der Berichtseinrichtungs-Schnittstelle 433,
aufgeteilt sind. Allerdings wird angemerkt, dass diese zwei Logikbausteine
in einer weiteren Ausführungsform
der vorliegenden Erfindung zu einer einzigen Einheit kombiniert
sind.
-
Hiermit
wird angemerkt, dass das Wort "Paket" in der obigen Beschreibung
lediglich ein Name für
ein Datenstück
ist und dass andere Namen wie etwa "Segment", "Rahmen" usw. ebenfalls möglich sind
und im Anwendungsbereich der vorliegenden Erfindung enthalten sind.
-
Somit
ist für
den Fachmann auf dem Gebiet klar, dass die vorliegende Erfindung
durch das oben besonders Gezeigte und Beschriebene nicht beschränkt ist.
Eher ist der Anwendungsbereich der Erfindung durch die folgenden
Ansprüche
definiert: