DE60015142T2 - Verfahren und einrichtung zur bestimmung eines zeitparameters - Google Patents

Verfahren und einrichtung zur bestimmung eines zeitparameters Download PDF

Info

Publication number
DE60015142T2
DE60015142T2 DE60015142T DE60015142T DE60015142T2 DE 60015142 T2 DE60015142 T2 DE 60015142T2 DE 60015142 T DE60015142 T DE 60015142T DE 60015142 T DE60015142 T DE 60015142T DE 60015142 T2 DE60015142 T2 DE 60015142T2
Authority
DE
Germany
Prior art keywords
value
time
round trip
smoothed
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60015142T
Other languages
English (en)
Other versions
DE60015142D1 (de
Inventor
Reiner Ludwig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60015142D1 publication Critical patent/DE60015142D1/de
Publication of DE60015142T2 publication Critical patent/DE60015142T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/37Slow start
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Bestimmung eines Parameters, der mit einem Neuübertragungs-Merkmal bzw. Retransmission-Merkmal bei einer Zeitüberschreitung bzw. einem Time-Out in einem Dateneinheiten-Sender in Beziehung steht.
  • Auf dem Gebiet der Kommunikation unterscheidet man allgemein zwischen Verbindungen, welche leitungsvermittelt sind, und solchen, welche dateneinheitenvermittelt sind. In einer dateneinheitenvermittelten Verbindung wird eine zu sendende Datenmenge in Dateneinheiten aufgeteilt, und diese Dateneinheiten werden in Übereinstimmung mit einem die Kommunikation beherrschenden Protokoll gesendet. Man beachte, dass Dateneinheiten im Zusammenhang mit unterschiedlichen Protokollen unterschiedliche Namen erhalten, wie Pakete, Rahmen usw., wobei der Begriff "Dateneinheit" für den Zweck der folgenden Beschreibung generisch verwendet wird.
  • Um die zuverlässige Übertragung von Daten sicherzustellen, stellen viele Protokolle das Merkmal der Dateneinheit-Neuübertragung bzw. Dateneinheit-Retransmission bereit. Genauer gesagt bedeutet Dateneinheit-Retransmission, dass der korrekte Empfang einer Dateneinheit durch den Empfänger in einer Kommunikation mit einer geeigneten Quittungs-Mitteilung bzw. Acknowledgment-Mitteilung quittiert wird, welche der Empfänger zum Sender zurückschickt. Sobald ein Acknowledgment vom Sender empfangen worden ist, kann er mit dem Senden weiterer Dateneinheiten geeignet fortfahren, oder wenn keine Acknowledgment-Mitteilung oder eine Nicht-Acknowledgment- Mitteilung empfangen wird, kann die vom Empfänger nicht korrekt empfangene Dateneinheit erneut übertragen werden.
  • Ein Merkmal, das typischerweise mit der Dateneinheit-Retransmission einhergeht, ist das des Retransmission-Time-Out bzw. der Neuübertragungs-Zeitüberschreitung. Dieses Merkmal bedeutet, dass der Sender in einer Kommunikation nur während einer vorbestimmten Zeitperiode auf eine Acknowledgment-Mitteilung wartet, nämlich während der Retransmission-Time-Out-Periode bzw. Neuübertragungs-Zeitüberschreitungsperiode. Wenn diese Zeit abgelaufen ist, ohne dass ein Acknowledgment empfangen worden ist, wird die entsprechende Dateneinheit automatisch erneut übertragen. Dieses Merkmal stellt sicher, dass wenn eine Dateneinheit verloren geht, die verlorene Dateneinheit nach der oben erwähnten Time-Out-Periode automatisch erneut übertragen wird.
  • Ein Beispiel eines Protokolls, welches eine Retransmission und ein Retransmission-Time-Out-Merkmal bereitstellt, ist das sogenannte Transmission Control Protocol (TCP), welches ein Teil der bekannten TCP/IP-Protokollfamilie ist. Allgemein ist klar, dass die Time-Out-Periode abhängig von der sogenannten Paketumlaufzeit bzw. Round-Trip-Time RTT bestimmt werden sollte, d.h. die Zeit, welche zwischen dem Senden einer Dateneinheit und dem Empfang eines Acknowledgment für die Dateneinheit vergeht. Time-Out = f (RTT) (1)
  • Wenn nämlich eine Verbindung "entfernt" (d.h. lange RTT) ist, dann muss die Time-Out-Periode länger eingestellt sein als für eine "nahe" Verbindung (d.h. kurze RTT). In diesem Zusammenhang ist auch klar, dass die Time-Out-Periode so lang wie möglich und so kurz wie möglich eingestellt sein sollte, da eine zu lang eingestellte Time-Out-Periode zu unnötigen Verzögerungen in der Übertragung führt.
  • Die gemessenen Werte von RTT können über kurze Zeitperioden sehr stark variieren, was auf eine Vielzahl von Faktoren zurückzuführen ist, wie Verkehrsbedingungen in dem Netz, das Dateneinheiten transportiert, verzögerten Acknowledgment-Mechanismen, usw. Um dieses Problem zu überwinden, wurde vorgeschlagen, eine geglättete Schätzfunktion bzw. Estimator für die Paketumlaufzeit einzuführen. Dies wird zum Beispiel in "TCP/IP Illustrated, Volume 1, The Protocols" von W. Richard Stevens, Abschnitt 21.3, Addison Wesley 1994 erklärt. Ein erstes Verfahren zur Bestimmung einer RTT-Schätzfunktion verwendet die folgende Gleichung. SRTT ← α · SRTT + (1 – α) · RTT (2)wobei SRTT die geglättete Schätzfunktion darstellt, RTT den augenblicklich gemessenen Paketumlaufzeit-Wert und α ein Gewicht bzw. ein Glättungsfaktor ist, der einen empfohlenen Wert von 0.9 hat. Die geglättete Schätzfunktion SRTT wird jedes Mal aktualisiert, dass eine neue Messung von RTT vorgenommen wird. Der Wert 0.9 bedeutet, dass 90% der neuen Schätzung aus der vorangehenden Schätzung stammt, und 10% aus der neuen Messung. RFC 793 (RFC = Request For Comments, d.h. Kommentaraufforderung) empfahl die Einstellung des sogenannten Retransmission-Time-Out-Werts RTO als RTO = SRTT · β (3)wobei RTO der spezifische Begriff ist, welcher in Zusammenhang mit TCP für die oben beschriebene Time-Out-Periode verwendet wird, und β ein weiterer Gewichtungsfaktor ist, welcher auch als Verzögerungsvarianzfaktor bezeichnet wird, mit einem empfohlenen Wert von 2.
  • Der oben beschriebene Ansatz zur Berechnung von RTO hat in sofern ein Problem, dass er mit den breiten Fluktuationen von RTT nicht Schritt halten kann. Dies führt zu unnötigen Retransmissions, welche die Zustände in einem Netz verschlechtern. Es wurde daher eine Verbesserung vorgeschlagen, welche nicht nur den Mittelwert berücksichtigt, sondern auch versucht die Standardabweichung zu verfolgen. Es wird im oben genannten Buch von Stevens erwähnt, dass die Berechnung der Standardabweichung bevorzugt wäre, dies aber die Berechnung von Quadraten und einer Quadratwurzel erforderlich machen würde, was vorzugsweise vermieden wird. Dies führt zu folgendem Ansatz. Δ = RTT – SRTT (4) SRTT - SRTT + g · Δ (5) RTTVAR ← RTTVAR + h · (|Δ| – RTTVAR) (6) RTO = SRTT + 4 · RTTVAR (7)wobei RTT erneut den gemessenen Paketumlaufzeit-Wert darstellt, SRTT die geglättete Paketumlaufzeit-Schätzfunktion, RTTVAR die Schätzfunktion für die mittlere Abweichung, RTO den Retransmission-Time-Out-Wert, g ein erster Gewichtungsfaktor und h ein zweiter Gewichtungsfaktor ist. Diese Gewichtungsfaktoren g und h werden auch als Verstärkungen bzw. Gains bezeichnet, und der Wert von g ist auf 0.125 eingestellt, wohingegen der Wert von h auf 0.25 eingestellt ist.
  • Der oben beschriebene Ansatz der Gleichungen (4) bis (7) ist seit über 10 Jahren in Gebrauch.
  • Das Papier "Durchsatz-Performance von Transportschichtprotokollen über drahtlose LANs" bzw. "Throughput Performance of Transport-Layer Protocols over Wireless LANs" von Antonio DeSimone et al., XP000428113 analysiert die Wirkung von Vermittlungsschichtneusendungen auf der Berechnung von Ende-zu-Ende-Paketumlaufzeit und den darauf folgenden Einfluss auf adaptive Berechnungen des Neusendeauszeitwertes des TCP.
  • Aufgabe der Erfindung
  • Die Aufgabe der vorliegenden Erfindung ist die Schaffung eines verbesserten Systems der Datenübertragung aus einem Dateneinheiten-Sender, der ein Protokoll implementiert, welches ein Retransmission-Time-Out-Merkmal bereitstellt.
  • Zusammenfassung der Erfindung
  • Diese Aufgabe wird gelöst, indem die Bestimmung eines mit dem Retransmission-Time-Out-Merkmal in Beziehung stehenden Parameters (zum Beispiel RTO) flexibler und adaptiver gemacht wird, in Übereinstimmung mit Ansprüchen 1 und 33. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen beschrieben.
  • Erfindungsgemäß wird die Berechnung eines mittleren Abweichungswerts (z.B. oben RTTVAR) so durchgeführt, dass der Beitrag des gemessenen Paketumlaufzeit-Werts (z.B. oben RTT) zum mittleren Abweichungswert anders ist, wenn der gemessene Paketumlaufzeit-Wert kleiner als eine Schwelle ist, welche auf der Grundlage des gespeicherten, geglätteten Paketumlaufszeit-Werts (SRTT oben) bestimmt wird, als wenn der gemessene Umlaufzeit-Wert größer als die Schwelle ist.
  • Nach einem weiteren Aspekt ist diese Schwelle gleich dem Wert des geglätteten Paketumlaufzeit-Werts. In anderen Worten, für das obige Beispiel der Gleichungen (4) bis (7) bedeutet diese bevorzugte Ausführung, dass RTTVAR anders berechnet wird für negative als für positive Werte von Δ. Auf diese Weise kann vermieden werden, dass ein abnehmender Wert der gemessenen Paketumlaufzeit zu einer Vergrößerung des Retransmission-Time-Out-Parameters führt. Genauer gesagt, wie ausführlich bei der Beschreibung von bevorzugten Ausführungen erklärt wird, bedeutet die Tatsache, dass die obige Gleichung (6) den Absolutwert von Δ beinhaltet, dass ein abnehmender Wert von RTT (RTT < SRTT) die gleiche Auswirkung auf den Wert von RTTVAR hat, wie ein zunehmender Wert von RTT (RTT > SRTT). Als Folge hat ein abnehmender Wert von RTT die Wirkung, dass RTO vergrößert wird, wenn der Faktor 4 · RTTVAR ein Übergewicht gegenüber dem Faktor SRTT in der obigen Gleichung (7) hat. Dieser vollkommen unerwünschte Effekt, welcher vom Erfinder erkannt wurde, kann durch das oben beschriebene allgemeine Verfahren des Anspruchs 1 vermieden werden.
  • In Übereinstimmung mit einem weiteren Aspekt sind die Gewichtungsfaktoren (zum Beispiel g, h und der spezifische Faktor 4 vor RTTVAR in Gleichung (7)) zeitlich variabel. Dieses Merkmal macht die Bestimmung des Time-Out-Parameters (zum Beispiel RTO) viel flexibler bezüglich der sich verändernden Situation in dem die Kommunikation tragenden Netz. In Übereinstimmung mit einer bevorzugten Ausführung dieses zweiten Aspekts werden die Gewichtungswerte abhängig gemacht von der Zahl der "im Flug" befindlichen Dateneinheiten, d.h. die Zahl der Dateneinheiten, welche zu einem Zeitpunkt gesendet aber noch nicht quittiert wurden (was auch als die Zahl der ausstehenden Dateneinheiten bezeichnet wird).
  • In Übereinstimmung mit einem weiteren Aspekt wird die Bestimmung des Time-Out-Parameters (z.B. RTO) so durchgeführt, dass dieser Parameter auch auf der Grundlage eines Werts berechnet wird, der die Zahl der unnötigen Time-Outs anzeigt, welche in der Kommunikation zwischen einem gegebenen Sender und Empfänger auftreten. Unnötige Time-Outs sind solche Time-Outs, die durch eine übermäßige Verzögerung auf der Verbindungsstrecke bewirkt werden, und nicht durch einen tatsächlichen Verlust von Dateneinheiten. Der Vorteil hiervon ist, dass die durch unnötige Time-Outs gegebene Implikation, nämlich dass die Time-Out-Periode zu kurz ist, als Grundlage verwendet werden kann, um eine konservativere (d.h. längere) Time-Out-Periode zu berechnen.
  • Das Konzept der Erfindung kann mit den oben beschriebenen weiteren Aspekten auf jede geeignete Art und Weise kombiniert werden. Eine solche Kombination wird auch als Eifel-Retransmission-Timer bezeichnet.
  • Kurze Beschreibung der Figuren
  • Ein vollständigeres Verständnis der vorliegenden Erfindung erhält man aus der folgenden ausführlichen Beschreibung von bevorzugten Ausführungen, welche auf die Figuren Bezug nehmen, in welchen
  • 1 ein Schaubild ist, das den zeitlichem Verlauf von verschiedenen Parametern, welche mit dem Retransmission-Time-Out-Merkmal in Beziehung stehen, für einen TCP-Gleichgewichtszustand zeigt;
  • 2 einen vergrößerten Ausschnitt des Schaubilds der 1 zeigt, und
  • 3 ein weiteres Schaubild des zeitlichen Verlaufs von Retransmission-Time-Out-Parametern zeigt.
  • Ausführliche Beschreibung von bevorzugten Ausführungen
  • Die folgende Beschreibung wird im Zusammenhang mit einer Anwendung auf TCP beschrieben. Man beachte jedoch, dass dies nur ein bevorzugtes Beispiel ist, und dass die vorliegende Erfindung auf jedes Übertragungsprotokoll angewendet werden kann, welches Retransmission und Retransmission-Time-Out vorsieht.
  • Nach der Erfindung, wenn der Wert des mittleren Abweichungswerts RTTVAR aktualisiert wird, ist der Beitrag des gemessenen Paketumlaufzeit-Werts RTT zum aktualisierten mittleren Abweichungswert RTTVAR anders, wenn der gemessene Paketumlaufzeit-Wert RTT kleiner als eine vorbestimmte Schwelle TH ist, die auf der Grundlage des gespeicherten, geglätteten Paketumlaufzeit-Werts SRTT(old) bestimmt wird, als wenn der gemessene Paketumlaufzeit-Wert größer als die vorbestimmte Schwelle TH ist.
  • Nach einer ersten Ausführung der Erfindung ist die Schwelle TH gleich dem gespeicherten Wert von SRTT, und die Berechnung oder Aktualisierung des oben in Gleichung (6) gezeigten Parameters RTTVAR wird so modifiziert, dass
  • Figure 00080001
  • Der Wert Δ = 0 kann entweder der oberen oder unteren Alternative in Gleichung (8.1) zugewiesen werden, wird jedoch vorzugsweise der oberen Alternative zugewiesen, um sicher zu stellen, dass RTTVAR im Lauf der Zeit verschwindet, wenn RTT konstant wird.
  • Wie man erkennt, werden die negativen Variationen von RTT, d.h. wenn RTT kleiner als SRTT ist, herausgefiltert. Auf diese Weise wird die nachteilige Auswirkung der Tatsache, dass in Gleichung (6) der Absolutwert von Δ genommen wird, beseitigt. Dies wird klarer im Zusammenhang mit der folgenden ausführlichen Beschreibung der 1.
  • 1 zeigt den zeitlichen Verlauf von Parametern, die mit dem Retransmission-Time-Out in Beziehung stehen. Die Parameter wurden im TCP-Gleichgewichtszustand gemessen, d.h. die Verbindung zwischen dem gegebenen Sender und Empfänger hatte eine Verbindungsstrecke bzw. ein Link für sich allein. Die Kurve unten in der Figur, welche sich in Stufen ändert, beschreibt die gemessenen Werte der Paketumlaufzeit RTT. Die Symbole für RTO(pa) stellen den Retransmission-Time-Out-Parameter dar, wie er nach den Gleichungen (4) bis (7) des Standes der Technik berechnet wird. Die Werte Rexmt(pa) beziehen sich auf den Retransmission-Timer bzw. die Retransmission-Zeitfunktion wie sie typischerweise implementiert wird. Dies wird kurz erläutert.
  • Theoretisch sollten der Retransmission-Time-Out-Wert RTO und der Retransmission-Timer Rexmt identisch sein. Wie jedoch der Erfinder erkannt hat, enthalten die TCP-Implementierungen des Standes der Technik jedoch einen Fehler, welcher immer zu einer Differenz zwischen RTO and Rexmt führt. Dieser Fehler beruht auf der Tatsache, dass der tatsächliche Retransmission-Timer immer für die älteste ausstehende (d.h. nicht quittierte) Dateneinheit gestartet wird. Aufgrund der Verwendung von kumulierten oder verzögerten Acknowledgments ist es jedoch typischerweise zum Zeitpunkt des Sendens einer spezifischen Dateneinheit nicht bekannt, dass diese spezifische Dateneinheit bald die älteste ausstehende Dateneinheit werden wird. Nur nachdem ein Acknowledgment für alle Dateneinheiten bis hinauf zu dieser spezifischen Dateneinheit empfangen worden ist, ist bekannt, dass diese spezifische Dateneinheit die älteste ausstehende ist. Alle tatsächlichen Implementierungen von TCP starten den Retransmission-Timer immer nur dann, wenn dieses Acknowledgment für alle Dateneinheiten bis hinauf zu der genannten Dateneinheit empfangen worden sind. Folglich gibt es immer eine Verzögerung 6 zwischen dem Senden der Dateneinheit und dem Empfangen der Acknowledgment-Mitteilung für alle Dateneinheiten bis hinauf zu der Dateneinheit, was dazu führt, dass der Retransmission-Timer Rexmt größer als der Retransmission-Time-Out-Wert RTO ist, nämlich Rexmt = RTO + δ.
  • Die Konsequenz dieses Defekts ist, dass der Retransmission-Time-Out immer zu konservativ, d.h. zu lang ist.
  • In 1 ist diese Differenz zwischen RTO(pa) und Rexmt(pa) erkennbar. Ferner zeigt diese Figur auch Werte von RTO, welche in Übereinstimmung mit der oben in Gleichung (8.1) angegebenen Erfindung berechnet wurden.
  • Wie man anhand der dicken Pfeile A und B erkennen kann, wenn die gemessenen Paketumlaufzeit-Werte RTT steil abnehmen, dann führt dies zu einer steilen Zunahme von RTO(pa). Dies ist in höchstem Maße unerwünscht, da der Retransmission-Time-Out-Wert die Tendenz haben sollte, der Paketumlaufzeit zu folgen. Wie man erkennt, wird dies durch die in Übereinstimmung mit der Erfindung berechneten Werte von RTO klar erreicht, welche auf der Grundlage eines mittleren Abweichungswerts RTTVAR berechnet werden, der in Übereineinstimmung mit der obigen Gleichung (8.1) berechnet wurde. Wie man erkennt, folgen die in Übereinstimmung mit der Erfindung bestimmten Werte von RTO der Tendenz von RTT, und liegen immer in der Nähe und oberhalb von RTT, genau wie es erwünscht ist.
  • 2 zeigt einen vergrößerten Ausschnitt von 1, wobei nur RTT, RTO(pa) und RTO gezeigt sind. Wie man sieht, hat der in Übereinstimmung mit der Erfindung berechnete Wert von RTO einen viel stabileren Kurvenverlauf als der Wert RTO(pa), der in Übereinstimmung mit dem Stand der Technik berechnet wurde.
  • In der obigen Gleichung (8.1) war die Schwelle TH, welche dazu verwendet wurde zu bestimmen, welchen Beitrag RTT zur mittleren Abweichung RTTVAR leisten sollte, der gespeicherte, geglättete Paketumlaufzeit-Wert SRTT. Die Erfindung ist jedoch nicht hierauf beschränkt, da die Schwelle TH im allgemeinen jeden auf der Grundlage von SRTT bestimmten, geeigneten Wert haben kann, wie zum Beispiel TH(SRTT)=SRTT+const oder TH(SRTT)=SRTT-const, wobei const jeden geeigneten, konstanten Wert darstellt, zum Beispiel eine Schwelle, die etwas über oder unter dem gespeicherten Wert von SRTT liegt. Im allgemeinen kann TH jede geeignete Funktion von SRTT sein.
  • Dies führt daher zu einer allgemeineren Gleichung (8.2):
  • Figure 00110001
  • Wiederum wird RTT=TH(SRTT) vorzugsweise der oberen Alternative zugewiesen.
  • In den obigen Gleichungen (8.1) und (8.2) werden zwei jeweilige Alternativen zur Berechnung von RTTVAR gegeben. Es ist jedoch genauso gut möglich, dass eine größere Zahl von Alternativen gegeben ist, nicht nur abhängig von den Werten der gemessenen RTT und dem gespeicherten Wert von SRTT, sondern auch von dem gespeicherten Wert von RTTVAR. Eine bevorzugte Variation von Gleichung (8.1) wird in der folgenden Gleichung (8.3) gegeben, welche der Einfachheit und Klarheit halber in Pseudocode geschrieben ist.
  • Figure 00110002
  • In anderen Worten, für den Fall, dass RTT oberhalb der Schwelle ist (in diesem Fall TH=SRTT, d.h. Δ=0) werden zwei Unterfälle betrachtet. Wenn h einen Wert zwischen 0 und 1 hat, oder eine auf diesen Bereich beschränkte Funktion ist (was im allgemeinen der Fall sein wird), dann ist die Wirkung der obigen Gleichung (8.3) die einer Art von "Stoßdämpfer"- Charakteristik, nämlich die Vergrößerung von RTO (wobei RTO auf jede geeignete Weise berechnet wird, wie weiter unten erklärt wird) ansprechend auf eine Zunahme von RTT ist schneller als die Abnahme von RTO ansprechend auf eine Abnahme von RTT.
  • Schließlich, wie im Fall der Gleichung (8.1), kann auch die Gleichung (8.3) auf andere Schwellwerte als TH=SRTT (⎕ = 0) verallgemeinert werden:
  • Figure 00120001
  • In den obigen Gleichungen (8.1) bis (8.4) kann der Gewichtungsparameter h als Konstante (h = const.) oder als variabler Wert gewählt werden. Vorzugsweise wird er zeitabhängig gewählt (h = h(t)). Noch bevorzugter ist, dass er in Beziehung gesetzt wird mit der Zahl N von ausstehenden Dateneinheiten zum gegebenen Zeitpunkt. Der Momentanwert h(t) kann zum Beispiel als 1/N(t) gewählt werden, wobei N(t) die Zahl von Dateneinheiten darstellt, die bis zum Zeitpunkt t gesendet aber nicht quittiert sind.
  • Obwohl es möglich ist h direkt mit N in Beziehung zu setzen, wird vorzugsweise ein beweglicher Mittelwert bzw. geglätteter Wert von N verwendet (ähnlich wie SRTT ein geglätteter Mittelwert der "verrauschten" RTT-Werte ist). In anderen Worten, ein beweglicher Mittelwert SN der Zahl N von ausstehenden Dateneinheiten kann verwendet werden, welcher zum Beispiel bestimmt sein kann als SN ← SN + m · Nwobei m ein geeigneter Gewichtungsfaktor ist.
  • Als weitere Möglichkeit zur Auffindung eines Werts, der eine Angabe macht über die Zahl der ausstehenden Dateneinheiten, kann das Gewicht h in Beziehung gesetzt werden mit der sogenannten Slow-Start-Threshold bzw. Slow-Start-Schwelle (Schwelle für langsamen Start) ssthresh, welche zum Beispiel aus TCP bekannt ist, siehe das oben erwähnte Buch von Stevens, Kapitel 21.6, weil ssthresh tatsächlich als geglätteter Mittelwert der Zahl der ausstehenden Dateneinheiten angesehen werden kann.
  • Die Slow-Start-Schwelle ssthresh wird herkömmlicherweise in Zusammenhang mit Congestion-Avoidance (Überlast-Vermeidung) verwendet. Congestion-Avoidance wird mit einer Fenster verwendenden Flusssteuerung (Window Based Flow Control) verwendet, und hat zwei Primärparameter, nämlich die Slow-Start-Schwelle und das sogenannte Congestion-Window (Überlast-Fenster) cwnd. Die Congestion-Avoidance-Routine arbeitet grundsätzlich auf die folgende Weise:
    • – das Send-Window (Sendefenster) ist nie größer als das Minimum des Congestion-Window und des Advertised-Window (angekündigten Fensters) des Empfängers;
    • – wenn eine Überlast bzw. Congestion auftritt (zum Beispiel angezeigt durch ein Time-Out oder den Empfang von vielfachen Acknowledgments), wird ein halb (oder ein anderer geeigneter Bruchteil) der gegenwärtigen Größe des Send-Window als ssthresh gespeichert, und im Falle eines Time-Out wird das Congestion-Window auf ein Segment zurückgesetzt;
    • – wenn neue Daten quittiert werden, wird cwnd vergrößert, abhängig vom Verhältnis zwischen cwnd und ssthresh, nämlich wenn cwnd kleiner oder gleich klein ssthresh ist, dann wird cwnd jedes Mal, dass ein Acknowledgment empfangen wird um ein Segment inkrementiert (diese Routine wird als Slow-Start bezeichnet), und wenn cwnd größer als ssthresh ist, dann wird jedes Mal, dass ein Acknowledgment empfangen wird cwnd um 1/cwnd inkrementiert (dies ist die eigentliche Congestion-Avoidance).
  • Slow-Start führt zu einer exponentiellen Vergrößerung der Größe des Window, wohingegen Congestion-Avoidance nur zu einer linearen Vergrößerung führt.
  • Wenn man nun auf die Bestimmung von h zurückkommt, wird das Gewicht h im allgemeinen als Funktion des Werts gewählt, der eine Angabe über die Zahl der ausstehenden Dateneinheiten gibt, d.h. als eine Funktion von N, SM oder ssthresh. Man beachte, dass dies nur Beispiele sind, und jeder Wert, der (direkt oder indirekt) eine Angabe über die Zahl der ausstehenden Dateneinheiten macht, geeignet ist. Es wird jedoch vorgezogen den Wert von ssthresh zu verwenden, welcher typischerweise in einer normalen TCP-Implementierung bereits vorhanden ist, so dass keine separate Bestimmungsroutine notwendig ist.
  • Gemäß einer bevorzugten Ausführung wird das Gewicht h dann als die Inverse einer Funktion von ssthresh gewählt, nämlich als h = 1/(ssthresh + 1). Obwohl ssthresh in Byte definiert ist, wird in der vorliegenden Anmeldung der Wert von ssthresh anhand von Segmenten bestimmt, d.h. ssthresh = 1 bedeutet, dass die Größe von ssthresh gleich einem Segment ist, ssthresh = 2 bedeutet, dass die Größe von ssthresh gleich zwei Segmenten ist, usw. Vorzugsweise wird die Größe von ssthresh anhand der maximalen Segmentgröße MSS gemessen, welches ein Parameter ist, der während der anfänglichen Verbindungsphase ausgehandelt wird. Alternativ kann ein beliebiger Festwert als Segmentreferenz verwendet werden, zum Beispiel 1024 Byte.
  • Die obigen Gleichungen (8.1) bis (8.4), zusammen mit den verschiedenen Möglichkeiten für h, können für die Bestimmung von RTO mit den obigen Gleichungen (4), (5) und (7) kombiniert werden. Vorzugsweise werden jedoch die Gleichungen (8.1) bis (8.4) mit den folgenden Gleichungen (9) und (10) kombiniert: SRTT ← SRTT + g(t) · Δ (9) RTO = SRTT + w (t) · RTTVAR (10)wobei g(t) und w(t) zeitlich variable Gewichte darstellen. Nach einer bevorzugten Ausführung stehen die drei Gewichte g (t) , h (t) und w (t) miteinander auf solche weise in Beziehung, dass h = g und w = 1/g.
  • Allgemein können g und/oder w als mit der Zahl N von ausstehenden Dateneinheiten in Beziehung gesetzt gewählt werden, wie oben in Zusammenhang mit dem Gewicht h erklärt, d.h. g und/oder w können auch als Funktionen eines Werts gewählt werden, der eine Angabe macht über die Zahl N der ausstehenden Dateneinheiten, wie N, SM oder ssthresh.
  • Noch bevorzugter werden die obigen zwei Merkmale kombiniert, nämlich alle drei Gewichte g, h und w werden so gewählt, dass sie auf spezifische Weise mit N in Beziehung stehen, nämlich mit einer geeignet wählbaren Funktion von F (wobei F eine Funktion von N, SM, ssthresh oder jedem anderen geeigneten wert ist, der eine Angabe über die Zahl der ausstehenden Dateneinheiten macht): g = 1/F ; h = 1/F ; w = F.
  • Als Beispiel kann F (N) als F (N) = N+1 gewählt werden, sodass g = 1/(N+1) ; h = 1/(N+1) ; w = N+1.
  • Es ist genauso gut möglich die Gewichte auf der Grundlage des geglätteten Mittels SN oder der Slow-Start-Schwelle ssthresh zu wählen, so dass g = 1/F(ssthresh) ; h = 1/F(ssthresh) ; w = F(ssthresh),zum Beispiel: g = 1/(ssthresh+1) ; h = 1/(ssthresh+1) ; w = ssthresh+1.
  • Natürlich können die Kombinationen auch so bestimmt werden, dass nur eines der Gewichte g, h und w zeitlich variabel ist, oder dass zwei dieser drei Gewichte zeitlich variabel sind, während die jeweils anderen immer konstant sind.
  • Die positive Auswirkungen des Wählens der Gewichte auf die obige Weise sind in 3 ersichtlich, welche erneut die gemessenen Paketumlaufzeit-Werte RTT, den berechneten Retransmission-Time-Out-Wert des Standes der Technik RTO(pa) den Retransmission-Timer des Standes der Technik Rexmt(pa) und den Retransmission-Time-Out-Wert RTO, der in Übereinstimmung mit den obigen Gleichungen (8), (9) und (10) unter Verwendung von g = 1/(ssthresh+1), h = 1/(ssthresh+1) und w = ssthresh+1 berechnet wurde, zeigt. Wie man sieht, kann das Problem der Verwendung von konstanten Gewichtungsparametern dazu führen, dass der Retransmission-Time-Out-Wert RTO(pa) dem Paketumlaufzeit-Wert RTT zu nahe folgt, so dass es praktisch keinen Glättungs- bzw. Mittelungseffekt gibt. Dies führt zu einer destabilisierten Flusssteuerungs-Prozedur. Andererseits, wie man aus der Kurve erkennt, welche den RTO der Erfindung darstellt, folgt der Retransmission-Time-Out-Wert der Erfindung der Tendenz von RTT, bleibt aber oberhalb von RTT. In anderen Worten, indem man die zeitlich variablen Gewichtungsfaktoren g, h und w verwendet, ist es möglich zu vermeiden, dass der Wert RTO in den Wert von RTT "hineinfällt", was zu unnötigen Time-Outs führen könnte und im allgemeinen vermieden werden sollte.
  • Obwohl die obige Ausführung in Zusammenhang mit den Gleichungen (8.1) bis (8.4) beschrieben wurde, ist es auch möglich einen zeitlich variablen Gewichtungsfaktor h(t) in die Gleichung (6) des Standes der Technik einzuführen, wie zum Beispiel h = 1/(N(t)+1) oder h = 1/(ssthresh+l). Natürlich ist es auch möglich, die Gleichung (10) unter Verwendung eines zeitlich variablen Gewichts w(t) mit den feste Gewichte g, h verwendenden Gleichungen (5) und (7) zu kombinieren, oder die ein zeitlich variables Gewicht g(t) verwendende Gleichung (9) mit den feste Gewichte verwendenden Gleichungen (5) und (7) zu kombinieren. Auf allgemeine Weise ist es möglich, mindestens eines der drei Gewichte als zeitabhängigen Parameter zu wählen, vorzugsweise in Beziehung gesetzt mit der Zahl der ausstehenden bzw. nicht quittierten Dateneinheiten.
  • Gemäß einem Verfahren, das selbst nicht unter die vorliegende Erfindung fällt, wird das Bestimmen des Retransmission-Time-Out-Werts RTO so modifiziert, dass RTO ← (SRTT + w · RTTVAR) · Φ(SPTO) (11)wobei Φ(SPTO) eine Funktion darstellt, welche mit der Zahl SPTO von unnötigen Time-Outs in Beziehung stellt. Unnötige Time-Outs sind solche Time-Outs, welche durch eine übermäßige Verzögerung entlang der Verbindungsstrecke bzw. dem Link zwischen Sender und Empfänger verursacht werden, und nicht durch den Verlust einer Dateneinheit. In anderen Worten, wäre der RTO länger gewesen, wäre kein Time-Out aufgetreten, da das Acknowledgment empfangen worden wäre, wenn der Sender nur lange genug gewartet hätte.
  • Als Beispiel kann die Funktion Φ(SPTO) in Gleichung (11) gewählt werden als Φ (SPTO) = 1 + f·(n(SPTO)/n) (12)wobei n(SPTO) die Zahl von unnötigen Dateneinheit-Retransmissions darstellt, die durch unnötige Time-Outs während eines vorbestimmten Intervalls verursacht wurden, n die Gesamtzahl von Dateneinheits-Übertragungen während des vorbestimmten Intervalls darstellt, und f ein Multiplikationsparameter ist. f kann jeden geeigneten Wert haben, aber es wurde gefunden, dass ein Wert 50 oder größer besonders wirksam ist.
  • Dieses vorbestimmte Zeitintervall kann auf jede gewünschte Weise eingestellt sein, d.h. auf einen festen Wert, wie die maximale Segmentlebensdauer (Maximum Segment Life Time, MSL), welche zum Beispiel als zwei Minuten definiert ist, oder auf einen Wert, der von der momentanen Kommunikation abhängt, wie der Gesamtkommunikationszeit für die momentane Kommunikation vom Beginn der Kommunikation bis zur Gegenwart.
  • Man beachte, dass ein unnötiges Time-Out zu mehr als einer unnötigen Retransmission führen kann. Zum Beispiel wenn 100 Dateneinheiten gesendet wurden, und es zwei unnötige Time-Outs gab, wobei das erste zu einer Retransmission und das zweite zu zwei Neuübertragungen führte, dann hat SR einen Wert von 3/100.
  • Gemäß einem weitergebildeten Verfahren wird Φ(SPTO) als geglätteter Wert SR gewählt, der auf die folgende Weise definiert ist (erneut wird der Einfachheit halber Pseudocode gewählt):
    Figure 00190001
    wobei MIN{x, y} gleich dem Minimum aus x und y ist, NC eine ganze Zahl größer 0 ist, d.h. N = 1, 2, 3,...., K ein Ratenwert mit 0 ≤ K < 1 ist, und M eine Variable ist, welche eine Angabe macht über die Zahl der in einem Zyklus gesendeten Dateneinheiten. Ein Zyklus ist eine Zeitperiode, die einem Satz von ansteigenden Stufen RTT entspricht, wie in den Figuren gezeigt, siehe zum Beispiel die ansteigenden Stufen zwischen 69 s und 92 s in 1, oder zwischen 3.9 s und 7.15 oder zwischen 7.15 und 10.6 in 3. Vorzugsweise verwendet man erneut einen geglätteten Mittelwert dieser Zahl oder man bestimmt M auf der Grundlage der Slow-Start-Schwelle ssthresh als M = φ(ssthresh), (14)
  • Wobei φ eine beliebige Funktion darstellt und vorzugsweise als M = 1.5 · ssthresh2 (15)
  • NC wird vorzugsweise als 1 oder 2 gewählt, und K liegt vorzugsweise zwischen 0.01 und 0.1, noch bevorzugter bei ungefähr 0.05.
  • In anderen Worten, jedes Mal dass ein Acknowledgment empfangen wird, wird bestimmt ob dieses Acknowledgment ein unnötiges Time-Out anzeigt, in welchem Fall der geglättete Mittelwert SR wie in der ersten Alternative gezeigt aktualisiert wird, und wenn nicht, wird SR wie in der zweiten Alternative aktualisiert.
  • Wie man aus Gleichung (11) ersehen kann, macht die Multiplikation mit dem Faktor Φ(SPTO) den RTO (die Vorhersagefunktion bzw. den Predictor) optimistischer, wenn unnötige Time-Outs einige zeitlang nicht aufgetreten sind, und macht den RTO umgekehrt konservativer, wenn ein unnötiges Time-Out stattgefunden hat.
  • Die Bestimmung von unnötigen Time-Outs kann auf jede gewünschte Weise durchgeführt werden, zum Beispiel wie in der mitanhängigen Europäischen Patentanmeldung 99 100 274.2 beschrieben, welche hiermit durch Bezugnahme eingeschlossen wird.
  • Genauer gesagt wird ein unnötiges Time-Out identifiziert, indem bestimmt wird, dass nachdem eine gegebene Dateneinheit aufgrund eines Time-Out erneut übertragen wurde, das empfangene Acknowledgment nicht die Antwort auf die erneut gesendete Dateneinheit ist, sondern die Antwort auf die Dateneinheit, welche das Time-Out verursachte.
  • Ein Verfahren zur Bestimmung von unnötigen Time-Outs kann darin bestehen, dass der Sender eine Aufzeichnung führt über die Paketumlaufzeit RTT, die mit der Verbindung zwischen dem sendenden und empfangenden Peer in Beziehung steht (dies geschieht ohnehin typischerweise), und insbesondere dass der Sender eine Aufzeichnung über die kürzeste RTT führt, die während der Kommunikation (auch als Sitzung bezeichnet) bis zum betrachteten Zeitpunkt gefunden wird. Dann, wenn eine Acknowledgment-Dateneinheit innerhalb einer Zeitperiode empfangen wird, welche kürzer als ein vorbestimmter Bruchteil der RTT ist, dann bestimmt der Sender, dass dieses Acknowledgment zur ursprünglich übertragenen Dateneinheit gehört, und nicht zur erneut übertragenen. Dieser Bruchteil kann auf einen festen Wert eingestellt sein, oder kann selbst ein adaptiver Parameter sein. Natürlich ist es nicht notwendig, dass der mit dem Bruchteil multiplizierte Vergleichswert die kürzeste gemessene RTT ist, sondern es ist vielmehr auch möglich, dass der Sender einen mittleren RTT-Wert aufzeichnet, wie den oben erwähnten SRTT, und dass dieser mittlere Wert als Grundlage für die Bestimmung von unnötigen Time-Outs verwendet wird. In diesem Sinne ist der mit dem Bruchteil zu multiplizierende Vergleichswert im allgemeinen eine Funktion von einem oder mehr RTT-Werten, die im Verlaufe der Verbindung (d.h, während der Sitzung) gemessen werden.
  • Eine andere Möglichkeit zur Bestimmung von unnötigen Time-Outs ist, dass der Sender den von ihm gesendeten Dateneinheiten eine Markierung hinzufügt, wobei die Markierung auf solche Weise definiert ist, dass sie eine Unterscheidung zwischen einer ursprünglichen Übertragung und einer Retransmission gestattet. Dann kann der Empfänger Acknowledgment-Dateneinheiten entsprechend markieren, so dass der Sender in der Lage ist zu identifizieren, ob sich ein Acknowledgment auf die ursprüngliche Übertragung oder die erneute Übertragung bezieht. Diese Markierung von Dateneinheiten kann auf jede gewünschte Art und Weise durchgeführt werden. Zum Beispiel wäre es theoretisch möglich, einfach ein einziges Bit in den Dateneinheiten zu designieren, wobei ein Wert von 0 eine ursprüngliche Übertragung anzeigen würde, und ein Wert von 1 eine erneute Übertragung, oder umgekehrt. Im allgemeinen Sinne kann ein Bit-String gewählt werden, der auch etwas mehr Information übermitteln kann. In Zusammenhang mit Protokollen, welche eine entsprechende Option haben, wird es jedoch bevorzugt die Option des Zeitstempels bzw. Time-Stamp zu verwenden. Diese Option ist zum Beispiel für TCP geläufig, siehe das oben erwähnte Buch von W. R. Stevens. In anderen Worten, es wird bevorzugt in gesendeten Dateneinheiten einen Zeitstempel einzusetzen, welcher anzeigt, wann die Dateneinheit gesendet wurde. Der Empfänger kann dann einfach den gleichen Zeitstempel in die Acknowledgment-Mitteilungen einfügen, so dass der Sender eine eindeutige Möglichkeit zur Identifizierung der Dateneinheiten hat, auf welche sich das Acknowledgment bezieht.
  • Betrachtet man erneut die Gleichung (11), sei darauf hingewiesen, dass der Faktor Φ(SPTO) ein Mittel ist, um adaptiv. zu steuern, wie konservativ RTO (die Vorhersagefunktion) ist. In anderen Worten, je mehr unnötige Time-Outs auftreten, desto konservativer wird RTO, und umgekehrt.
  • Auch kann der in Gleichung (11) gezeigte Parameter w ein fester Wert oder ein zeitlich veränderlicher Wert sein, genauso wie bei den vorangehenden Ausführungen, und er ist vorzugsweise gleich der oben erwähnten Funktion F (zum Beispiel F = ssthresh + 1), die von einem geeigneten Parameter abhängt, der eine Angabe über die Zahl der ausstehenden Dateneinheit macht. Natürlich kann die in Zusammenhang mit Gleichung (11) beschriebene obige Ausführung mit einer oder mehr der Gleichungen (5), (6), (8.1) bis (8.4) oder (9) auf jede gewünschte Weise kombiniert werden.
  • Vorzugsweise wird die Bestimmung von RTO gemäß Gleichung (11) ergänzt durch die Einstellung eines maximalen Grenzwerts und eines minimalen Grenzwerts, wie in der folgenden Gleichung (16) gezeigt: RTO ← (SRTT + w · RTTVAR) · Φ (SPTO) RTO = MAX{RTO , RTT + n · TICK} RTO = MIN{RTO , Tconst} (16)wobei MAX{x,y} das Maximum aus x und y ergibt, und MIN{x,y} das Minimum aus x und y ergibt. TICK stellt die Granularität der Zeitfunktion bzw. des Timer dar, d.h. den kleinsten Zeitbetrag, den das System auflösen kann, n ist eine positive ganze Zahl, und Tconst ist ein oberer Grenzwert, damit RTO nicht übermäßig groß wird. Zum Beispiel kann Tconst als 64 Sekunden gewählt werden. Die ganze Zahl n ist vorzugsweise 1, so dass die zweite Gleichung (16) bedeutet, dass RTO immer um mindestens ein Tick größer als RTT bestimmt wird.
  • Die Einstellung einer oberen und unteren Grenze für RTO kann auch in Zusammenhang mit jeder der übrigen Ausführungen oben verwendet werden.
  • Im folgenden wird eine Ausführung beschrieben, die der Erfinder gegenwärtig als besten Modus ansieht, welcher eine bevorzugte Kombination der obigen Aspekte ist. Er wird auch als Eifel-Retransmission-Timer bezeichnet. Genauer gesagt besteht dieser beste Modus darin, RTO wie folgt zu bestimmen:
    Figure 00230001
    RTO = (SRTT + w · RTTVAR) · Φ (SPTO) RTO = MAX{RTO , RTT + n · TICK} RTO = MIN{ RTO , Tconst} (22)
  • Die obigen Parameter und Werte wurden alle in der vorangehenden Beschreibung definiert, so dass eine Wiederholung von Definitionen und bevorzugten Werten nicht notwendig ist.
  • Diese Serie von Berechnungen (17) bis (22) wird jedes Mal durchgeführt, dass ein Wert von RTT gemessen wird. In anderen Worten, der Wert von RTO wird für jede Messung von RTT aktualisiert.
  • In jedem der obigen Beispiele beruhten die unterschiedlichen Berechnungen auf der Messung von Paketumlaufzeit-Werten RTT. Vorzugsweise werden diese Messungen für jede gesendete Dateneinheit durchgeführt, abweichend von bekannten Implementierungen von TCP, welche nur für eine Dateneinheit auf einmal eine zeitliche Bestimmung vornehmen, so dass es im Mittel nur eine RTT-Messung pro RTT gibt. Die zeitliche Bestimmung für jede gesendete Dateneinheit wird vorzugsweise durchgeführt unter Verwendung der Option des Zeitstempels bzw. Time-Stamps, wie zum Beispiel für TCP in RFC 1323 definiert.
  • Wie bereits einleitend angemerkt, ist die vorliegende Erfindung auf jedes Dateneinheiten-Kommunikationssystem anwendbar, das Retransmission und Time-Out vorsieht, zum Beispiel TCP oder ähnliche Protokolle. Eine bevorzugte Anwendung der vorliegenden Erfindung ist in drahtlosen dateneinheitenvermittelten Kommunikationssystemen, in welchen Änderungen in der verfügbaren Bandbreite bedeutend sein können, was seinerseits zu starken Veränderungen in RTT führt. Beispiele solcher Systeme sind GPRS (General Packet switched Radio System) und UMTS (Universal Mobile Telecommunication System).
  • Obwohl die vorliegende Erfindung in Zusammenhang mit konkreten Ausführungen beschrieben wurde, dienen diese nur dem Zweck, die vorliegende Erfindung einem Fachmann zu erklären, und sollen nicht beschränkend sein. Vielmehr wird der Umfang der vorliegenden Erfindung durch die angehängten Ansprüche definiert.

Claims (35)

  1. Verfahren zum Bestimmen eines einem Neusendezeitüberschreitungsmerkmal zugeordneten Parameters in einem Dateneinheitensender, der ein Protokoll implementiert, welches ein Bestätigungsmerkmal des Sendens einer Bestätigungsnachricht für den korrekten Empfang von Dateneinheiten von dem Empfänger zum Sender einer Kommunikation vorsieht und das Neusendezeitüberschreitungsmerkmal vorsieht, wenn keine Bestätigung beim Sender innerhalb einer Zeitablaufsdauer ankommt, die Schritte umfassend: Messen eines Umlaufzeitwertes, wobei die Umlaufzeit Indikativ ist in Bezug auf die Zeit, die vergeht zwischen dem Senden einer gegebenen Dateneinheit und dem Empfang der der gegebenen Dateneinheit entsprechenden Bestätigung, Berechnen eines neuen geglätteten Umlaufzeitwertes mindestens basierend auf einem gespeicherten geglätteten Umlaufzeitwert und dem gemessenen Umlaufzeitwert, Berechnen eines neuen mittleren Abweichungswertes, der indikativ ist bezüglich der mittleren Abweichung des Umlaufzeitwertes über die Zeit, mindestens basierend auf einem gespeicherten mittleren Abweichungswert, dem gemessenen Umlaufzeitwert und dem gespeicherten geglätteten Umlaufzeitwert, und Berechnen des Parameters mindestens basierend auf dem neuen geglätteten Umlaufzeitwert und dem neuen mittleren Abweichungswert, dadurch gekennzeichnet, dass ein Beitrag des gemessenen Umlaufzeitwertes zu dem neuen mittleren Abweichungswert unterschiedlich ist, wenn der gemessene Umlaufzeitwert kleiner ist als ein vorbestimmter Schwellwert, der basierend auf dem gespeicherten geglätteten Umlaufzeitwert bestimmt wird, als wenn der gemessene Umlaufzeitwert größer ist als der vorbestimmte Schwellwert.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der bestimmte Schwellwert gleich dem gespeicherten geglätteten Umlaufzeitwert ist.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der neue mittlere Abweichungswert berechnet wird als gleich oder kleiner als der gespeicherte mittlere Abweichungswert, wenn der gemessene Umlaufzeitwert kleiner ist als der vorbestimmte Schwellwert.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der neue mittlere Abweichungswert berechnet wird als eine Funktion des gespeicherten mittleren Abweichungswertes des gespeicherten geglätteten Umlaufzeitwertes, des gemessenen Umlaufzeitwertes und eines Gewichtungsfaktors, wenn der gemessene Umlaufzeitwert größer ist als der vorbestimmte Schwellwert.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Gewichtungsfaktor variabel ist über die Zeit.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der neue mittlere Abweichungswert berechnet wird als: RTTVAR(neu) = RTTVAR (alt) + h · ((RTT – SRTT (alt)) – RTTVAR (alt) Wenn der gemessene Umlaufzeitwert größer oder gleich dem vorbestimmten Schwellwert ist, wobei RTTVAR(neu) den neuen mittleren Abweichungswert repräsentiert, RTTVAR(alt) den gespeicherten mittleren Abweichungswert repräsentiert, SRTT(alt) den gespeicherten Umlaufzeitwert repräsentiert, RTT den gemessenen Umlaufzeitwert repräsentiert und h den Gewichtungsfaktor repräsentiert.
  7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der neue mittlere Abweichungswert berechnet wird als RTTVAR(neu) = RTTVAR(alt) + h · ((RTT – SRTT(alt)) – RTTVAR(alt) Wenn der gemessene Umlaufzeitwert größer oder gleich dem vorbestimmten Schwellwert ist und (RTT – SRTT(alt)) – RTTVAR(alt) > 0,und als Wenn der gemessene Umlaufzeitwert größer oder gleich dem vorbestimmten Schwellwert ist und (RTT – SRTT(alt)) – RTTVAR(alt) < 0, wobei RTTVAR(neu) den neuen mittleren Abweichungswert, RTTVAR(alt) den gespeicherten mittleren Abweichungswert, SRTT(alt) den gespeicherten Umlaufzeitwert, RTT den gemessenen Umlaufzeitwert und h den Gewichtungsfaktor repräsentiert.
  8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass der Wert des Gewichtungsfaktors zu einer gegebenen Zeit einem Wert zugeordnet wird, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu der gegebenen Zeit gesendet worden sind, aber es noch keine Bestätigung bis zu der gegebenen Zeit gegeben hat.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der für die Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die noch nicht bis zu dem gegebenen Zeitpunkt bestätigt worden sind, indikative Wert einer ist aus der Gruppe bestehend aus – Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die nicht bestätigt worden sind bis zu dem gegebenen Zeitpunkt, – einem geglätteten Mittelwert der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die bis zu dem gegebenen Zeitpunkt nicht bestätigt worden sind, und – dem Langsam-Start-Schwellwert.
  10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass der Gewichtungsfaktor gleich dem Kehrwert der Summe des Wertes ist, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die bis zu dem gegebenen Zeitpunkt nicht bestätigt worden sind und Eins.
  11. Verfahren nach Anspruch 1, wobei das Berechnen eines neuen geglätteten Umlaufzeitwerts auch basierend auf einem ersten Gewichtungsfaktor ausgeführt wird, das Berechnen eines neuen mittleren Abweichungswertes auch basierend auf einem zweiten Gewichtungsfaktor ausgeführt wird, und das Berechnen des Parameters auch ausgeführt wird auf der Basis eines dritten Gewichtungsfaktors, wobei mindestens einer aus der Gruppe bestehend aus dem ersten, zweiten und dritten Gewichtungsfaktor variabel ist über die Zeit.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass der Wert von dem mindestens einen Gewichtungsfaktor zu einem gegebenen Zeitpunkt einem Wert zugeordnet ist, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die bis zu dem gegebenen Zeitpunkt nicht bestätigt worden sind.
  13. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass der erste, zweite und dritte Gewichtungsfaktor zeitabhängig sind und der erste und zweite Gewichtungsfaktor identisch sind und der dritte Gewichtungsfaktor gleich dem Kehrwert des ersten Gewichtungsfaktors ist.
  14. Verfahren nach Anspruch 12 und 13, dadurch gekennzeichnet, dass der erste Gewichtungsfaktor und der zweite Gewichtungsfaktor gleich dem Kehrwert einer vorbestimmten Funktion des Wertes sind, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu einem gewissen Zeitpunkt gesendet worden sind, aber die bis zu dem gewissen Zeitpunkt nicht bestätigt worden sind, und der dritte Gewichtungsfaktor gleich der Funktion ist.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass, dass die vorbestimmte Funktion die Summe des Wertes, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die nicht bis zu dem gegebenen Zeitpunkt bestätigt worden sind, und Eins ist.
  16. Verfahren nach einem der Ansprüche 12 bis 15, dadurch gekennzeichnet, dass der Wert, der indikativ ist bezüglich der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die nicht bis zu dem gegebenen Zeitpunkt bestätigt worden sind, einer ist aus der Gruppe bestehend aus – Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die bis zu dem gegebenen Zeitpunkt nicht bestätigt worden sind, – einem geglätteten Mittelwert der Anzahl von Dateneinheiten, die bis zu dem gegebenen Zeitpunkt gesendet worden sind, aber die bis zu dem gegebenen Zeitpunkt nicht bestätigt worden sind, und – dem Langsam-Start-Schwellwert.
  17. Verfahren nach Anspruch 1, wobei der Parameter auch berechnet wird basierend auf einem Wert, indiktiv bezüglich der Zahl von nichtechten Zeitüberschreitungen, die auftreten in der Kommunikation zwischen dem Sender und dem Empfänger, wobei eine nichtechte Zeitüberschreitung eine Zeitüberschreitung ist, verursacht durch eine übermäßige Verzögerung und nicht durch einen Dateneinheitenverlust.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass der Parameter berechnet wird als ein Produkt eines ersten Faktors, der von dem neuen geglätteten Umlaufzeitwert abhängt und dem neuen mittleren Abweichungswert, und eines zweiten Faktors, der abhängt von dem bezüglich der Anzahl von nichtechten Zeitüberschreitungen indikativen Wert.
  19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass der bezüglich der Anzahl von nichtechten Zeitüberschreitungen indikative Wert die Summe von Eins und dem Produkt des Bruchs der Anzahl von durch nichtechte Zeitüberschreitungen verursachten Dateneinheitneusendungen dividiert durch die Gesamtzahl von gesendeten Dateneinheiten über eine vorbestimmte Zeitdauer ist, und einem Multiplikationsfaktor.
  20. Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass der Multiplikationsfaktor größer oder gleich 50 ist.
  21. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass der bezüglich der Anzahl von nichtechten Zeitüberschreitungen indikative Wert ein geglätteter Mittelwert ist, bestimmt basierend auf der Anzahl von nichtechten Zeitüberschreitungen.
  22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, dass der geglättete Mittelwert derart bestimmt wird, dass wenn eine Bestätigung empfangen wird, bestimmt wird, ob die Bestätigung eine nichtechte Zeitüberschreitung anzeigt, in welchem Fall ein gespeicherter Wert des geglätteten Mittelwertes aktualisiert wird als Minimum einer ganzzahligen Konstanten und SR + wsr · (1 – SR), wobei SR den gespeicherten Wert des geglätteten Mittelwerts repräsentiert und wsr einen Gewichtungsfaktor repräsentiert, und wenn die Zeitüberschreitung nicht eine nichtechte Zeitüberschreitung ist, der geglättete Mittelwert aktualisiert wird als das Produkt des gespeicherten Wertes des geglätteten Mittelwertes und eines vorbestimmten Faktors.
  23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, dass der Gewichtungsfaktor gleich 0,5 ist.
  24. Verfahren nach Anspruch 22 oder 23, dadurch gekennzeichnet, dass der vorbestimmte Faktor einem Wert zugeordnet ist, der indikativ ist bezüglich der Anzahl von pro Zyklus gesendeten Dateneinheiten.
  25. Verfahren nach Anspruch 24, dadurch gekennzeichnet, dass der bezüglich der Anzahl von Dateneinheiten pro Zyklus indikative Wert basierend auf dem niedrigen Startschwellwert bestimmt wird.
  26. Verfahren nach Anspruch 25, dadurch gekennzeichnet, dass der Wert bestimmt wird als M = 1, 5 · ssthresh2 wobei M den Wert repräsentiert und ssthresh den Langsam-Start-Schwellwert repräsentiert.
  27. Verfahren nach einem der Ansprüche 24 bis 26, dadurch gekennzeichnet, dass der vorbestimmte Faktor gleich (1 – (K/M), istwobei M den bezüglich der Anzahl von pro Zyklus gesendeten Dateneinheiten indikativen Wert repräsentiert, und K ein Wert ist, der erfüllt 0 ≤ K < 1.
  28. Verfahren nach einem der Ansprüche 1 bis 27, dadurch gekennzeichnet, dass der obere und untere Grenzwert für die Parameter festgelegt werden.
  29. Verfahren nach Anspruch 28, dadurch gekennzeichnet, dass der untere Grenzwert mindestens die Summe des gemessenen Umlaufzeitwerts und der Tick-Größe ist, wobei die Tick-Größe die kleinste Zeitdauer ist, die ein Taktsystem in dem Dateneinheiten-Sender auflösen kann.
  30. Verfahren nach einem der Ansprüche 1 bis 29, dadurch gekennzeichnet, dass die Umlaufzeit für jede von dem Sender gesendete Dateneinheit gemessen wird.
  31. Verfahren nach Anspruch 30, dadurch gekennzeichnet, dass der Parameter jedes Mal berechnet wird, wenn ein Umlaufzeitwert gemessen wird.
  32. Computerprogrammprodukt, direkt ladbar in den internen Speicher eines Digitalcomputers, Software-Codeabschnitte umfassend zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 31, wenn das Produkt auf einem Digitalcomputer abläuft, der eingerichtet ist, um als Dateneinheiten-Sender zur Kommunikation mit einem externen Empfänger zu arbeiten.
  33. Dateneinheiten-Sender, eingerichtet zum Implementieren eines Protokolls, das ein Bestätigungsmerkmal von Sendebestätigungsnachrichten für den korrekten Empfang von Dateneinheiten von dem Empfänger zum Sender einer Kommunikation bereitstellt, und ein Neusendezeitüberschreitungsmerkmal von Neusendedateneinheiten, wenn eine Bestätigung nicht beim Sender ankommt innerhalb einer Zeitüberschreitungsdauer, und eingerichtet zum Bestimmen eines dem Neusendezeitüberschreitungsmerkmal zugeordneten Parameters, umfassend: eine Messvorrichtung, eingerichtet zum Messen eines Umlaufzeitwertes, wobei die Umlaufzeit indikativ ist bezüglich der Zeit, die vergeht zwischen dem Senden einer gegebenen Dateneinheit und dem Empfang der Bestätigung entsprechend der gegebenen Dateneinheit, und eine Rechenvorrichtung, eingerichtet zum – Berechnen eines neuen geglätteten Umlaufzeitwertes mindestens basierend auf einem gespeicherten geglätteten Umlaufzeitwert und dem gemessenen Umlaufzeitwert, – Berechnen eines neuen mittleren Abweichungswertes, indikativ bezüglich der mittleren Abweichung des Umlaufzeitwertes über die Zeit, mindestens basierend auf einem gespeicherten mittleren Abweichungswert, dem gemessenen Umlaufzeitwert und dem gespeicherten geglätteten Umlaufzeitwert, und – Berechnen des Parameters mindestens basierend auf dem neuen geglätteten Umlaufzeitwert und dem neuen mittleren Abweichungswert, dadurch gekennzeichnet, dass die Rechenvorrichtung zudem derart eingerichtet ist, dass ein Beitrag des gemessenen Umlaufzeitwertes zu dem neuen mittleren Abweichungswert unterschiedlich ist, wenn der gemessene Umlaufzeitwert kleiner als ein vorbestimmter Schwellwert ist, der bestimmt wird basierend auf dem gespeicherten geglätteten Umlaufzeitwert, als wenn der gemessene Umlaufzeitwert größer ist als der vorbestimmte Schwellwert.
  34. Dateneinheiten-Sender entsprechend Anspruch 33, wobei die Rechenvorrichtung eingerichtet ist, um – auch den neuen geglätteten Umlaufzeitwert basierend auf einem ersten Gewichtungsfaktor zu berechnen, – auch den neuen mittleren Abweichungswert basierend auf einem zweiten Gewichtungsfaktor zu berechnen, und – auch den Parameter zu Berechnen basierend auf einem dritten Gewichtungsfaktor, wobei die Rechenvorrichtung zudem derart einrichtet ist, dass mindestens einer aus der Gruppe bestehend aus dem ersten, zweiten und dritten Gewichtungsfaktor variabel ist über die Zeit.
  35. Dateneinheiten-Sender nach Anspruch 33 oder 34, wobei die Rechenvorrichtung zudem derart eingerichtet ist, dass der Parameter auch basierend auf einem indikativen Wert, bezüglich der Anzahl von nichtechten Zeitüberschreitungen berechnet wird, die in der Kommunikation zwischen dem Sender und dem Empfänger auftreten, wobei eine nichtechte Zeitüberschreitung eine Zeitüberschreitung ist, die verursacht wird durch eine übermäßige Verzögerung und nicht durch einen Dateneinheitenverlust.
DE60015142T 1999-08-17 2000-08-03 Verfahren und einrichtung zur bestimmung eines zeitparameters Expired - Lifetime DE60015142T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99116214A EP1077559A1 (de) 1999-08-17 1999-08-17 Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
EP99116214 1999-08-17
PCT/EP2000/007556 WO2001013587A2 (en) 1999-08-17 2000-08-03 Method and device for determining a time-parameter

Publications (2)

Publication Number Publication Date
DE60015142D1 DE60015142D1 (de) 2004-11-25
DE60015142T2 true DE60015142T2 (de) 2006-03-09

Family

ID=8238801

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60021126T Expired - Lifetime DE60021126T2 (de) 1999-08-17 2000-08-03 Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE60020413T Expired - Lifetime DE60020413T2 (de) 1999-08-17 2000-08-03 Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE60015142T Expired - Lifetime DE60015142T2 (de) 1999-08-17 2000-08-03 Verfahren und einrichtung zur bestimmung eines zeitparameters

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60021126T Expired - Lifetime DE60021126T2 (de) 1999-08-17 2000-08-03 Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE60020413T Expired - Lifetime DE60020413T2 (de) 1999-08-17 2000-08-03 Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters

Country Status (15)

Country Link
US (2) US6901081B1 (de)
EP (4) EP1077559A1 (de)
JP (1) JP4601232B2 (de)
KR (1) KR100717219B1 (de)
CN (1) CN1370361B (de)
AR (1) AR025314A1 (de)
AT (3) ATE280461T1 (de)
AU (1) AU766823B2 (de)
CA (1) CA2381374C (de)
DE (3) DE60021126T2 (de)
ES (3) ES2228604T3 (de)
MX (1) MXPA02001534A (de)
NO (1) NO332572B1 (de)
TW (1) TW522690B (de)
WO (1) WO2001013587A2 (de)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1018821A1 (de) * 1999-01-08 2000-07-12 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Kommunikationsendgerät und Verfahren
AU2003235049B2 (en) * 1999-08-17 2004-04-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for determining a time-parameter
US7296089B2 (en) * 1999-08-27 2007-11-13 At&T Corp. Method for improving web performance by adapting servers based on client cluster characterization
US7657629B1 (en) 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US7124181B1 (en) * 2001-06-29 2006-10-17 Mcafee, Inc. System, method and computer program product for improved efficiency in network assessment utilizing variable timeout values
FR2830397B1 (fr) * 2001-09-28 2004-12-03 Evolium Sas Procede pour ameliorer les performances d'un protocole de transmission utilisant un temporisateur de retransmission
US6910080B2 (en) 2001-11-06 2005-06-21 International Business Machines Corporation Communication efficiency and performance in an unreliable communication environment
WO2003049354A1 (en) * 2001-12-04 2003-06-12 Nokia Corporation Method and system for dispatching multiple tcp packets from communication systems
US7106757B2 (en) * 2001-12-19 2006-09-12 Intel Corporation System and method for streaming multimedia over packet networks
US6850769B2 (en) * 2002-02-14 2005-02-01 Qualcomm Incorporated Method and apparatus for adaptive measurement of round-trip time in ARQ protocols and using the same for controlling flow of data in a communication system
US8484370B1 (en) * 2002-04-16 2013-07-09 Trimble Navigation Limited Method and system for efficient extended data communications using GPRS
DE60212104T2 (de) * 2002-06-18 2006-10-19 Matsushita Electric Industrial Co., Ltd., Kadoma Auf Empfänger basierte Umlaufzeitmessung in TCP
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7086061B1 (en) 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
EP1563634B1 (de) * 2002-11-18 2009-04-08 Telefonaktiebolaget LM Ericsson (publ) Dateneinheit-sender und verfahren zu dessen steuerung
DE60307032T2 (de) * 2002-12-27 2007-02-15 Ntt Docomo Inc. Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
US7710905B2 (en) * 2003-05-16 2010-05-04 Qualcomm Incorporated Link latency determination for optimal mobile IP re-registration
AU2003304623A1 (en) * 2003-07-01 2005-01-28 Telefonaktiebolaget Lm Ericsson (Publ) Method for setting the retransmission timeout period in a packet switched communication network
US9584360B2 (en) 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
JP2005167353A (ja) * 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
US7496651B1 (en) * 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US7584301B1 (en) * 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
KR100640862B1 (ko) * 2004-08-03 2006-11-02 엘지전자 주식회사 순방향 메시지 전송 중 타임아웃의 동적 제어방법
GB2417392B (en) * 2004-08-18 2007-05-09 Wecomm Ltd Transmitting packets of data
US7423977B1 (en) * 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
WO2006058255A2 (en) * 2004-11-24 2006-06-01 Ist International, Inc. Methods and apparatus for optimizing a tcp session for a wireless network
WO2006058257A2 (en) * 2004-11-24 2006-06-01 Ist International, Inc. Method and apparatus for setting a tcp retransmission timer
KR101141645B1 (ko) * 2005-03-29 2012-05-17 엘지전자 주식회사 데이터 블록 전송 제어 방법
CN100421493C (zh) * 2005-05-30 2008-09-24 华为技术有限公司 在设备连接会话过程中延时等待的实现方法
KR100715964B1 (ko) * 2005-08-17 2007-05-09 (주) 기산텔레콤 이더넷 패킷의 왕복지연시간 측정 방법 및 그 방법을컴퓨터에 기능시키는 프로그램을 기록한 컴퓨터가 읽을 수있는 기록매체
ATE511258T1 (de) * 2005-09-30 2011-06-15 Research In Motion Ltd Verfahren und vorrichtungen zum dynamischen justieren einer datenpaket-fenstergrösse für die datenpaketübertragung in einem drahtlosen kommunikationsnetz
US20070091922A1 (en) 2005-10-21 2007-04-26 Steven Elliot Method and apparatus for adaptive bandwidth control with a bandwidth guarantee
US7474614B2 (en) 2005-10-21 2009-01-06 International Business Machines Corporation Method and apparatus for adaptive bandwidth control with user settings
US7558271B2 (en) 2005-10-21 2009-07-07 International Business Machines Corporation Method and apparatus for adaptive bandwidth control with defined priorities for different networks
US20070223395A1 (en) * 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for optimizing a TCP session for a wireless network
US20070223492A1 (en) * 2005-11-23 2007-09-27 Ist International, Inc. Methods and apparatus for optimizing a TCP session for a wireless network
KR100895182B1 (ko) 2005-12-14 2009-04-24 삼성전자주식회사 무선통신 시스템의 전송 제어 방법
US8418016B2 (en) 2006-10-05 2013-04-09 Ntt Docomo, Inc. Communication system, communication device, and communication method
EP2103052B1 (de) 2006-12-28 2012-08-22 Research In Motion Limited Verfahren und vorrichtungen zur vergrösserung des datendurchsatzes durch gruppierung von datenpaketen zu maximalen übertragbaren einheiten
US20080165796A1 (en) * 2007-01-05 2008-07-10 International Business Machines Corporation Method for a heartbeat algorithm for a dynamically changing network environment
JP4952256B2 (ja) * 2007-01-11 2012-06-13 カシオ計算機株式会社 通信制御装置および通信制御プログラム
US20080291911A1 (en) * 2007-05-21 2008-11-27 Ist International, Inc. Method and apparatus for setting a TCP retransmission timer
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US8254971B1 (en) * 2007-11-29 2012-08-28 At&T Mobility Ii Llc System and method for determining an SMS message retransmission schedule
TWI353762B (en) * 2008-04-01 2011-12-01 Arcadyan Technology Corp Method for network transmission
CN101557422B (zh) * 2009-05-19 2012-09-19 腾讯科技(深圳)有限公司 一种调整子发送器个数的方法及装置
KR20110089034A (ko) * 2010-01-29 2011-08-04 주식회사 팬택 통신단말 및 그의 핸드 오프시 패킷 재전송 시점 결정 방법
US9019854B2 (en) * 2010-04-26 2015-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for setting and adjusting a parameter dependent on a round trip time
US8427958B2 (en) 2010-04-30 2013-04-23 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US8340126B2 (en) 2010-06-07 2012-12-25 Lockheed Martin Corporation Method and apparatus for congestion control
US8477618B2 (en) 2010-07-16 2013-07-02 Research In Motion Limited Methods and apparatus for use in communicating data packets within a data packet window having a size that is set based on quality of service (QoS) parameters
US9154394B2 (en) 2010-09-28 2015-10-06 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
WO2012146292A1 (en) * 2011-04-28 2012-11-01 Telefonaktiebolaget L M Ericsson (Publ) Method and device for modifying a retransmission timer in a communication network
US8837314B2 (en) * 2012-04-05 2014-09-16 Schneider Electric Industries Sas Connection timeout management in a communication network with network redundancy
US10404562B2 (en) * 2012-10-22 2019-09-03 Texas State University Optimization of retransmission timeout boundary
CN103401665B (zh) * 2013-06-28 2016-12-28 国家超级计算深圳中心(深圳云计算中心) 集群存储系统中重传超时计时器的优化方法及装置
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10721151B2 (en) * 2015-10-15 2020-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Method for locating a bottleneck in a radio communication network
US10243813B2 (en) 2016-02-12 2019-03-26 Extreme Networks, Inc. Software-based packet broker
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
US10097462B2 (en) * 2016-04-02 2018-10-09 Niciria, Inc. Throughput resilience during link failover
CN105933242B (zh) * 2016-04-12 2019-04-02 北京大学深圳研究生院 一种提高数据中心tcp响应速度的方法及系统
CN107294848B (zh) * 2016-04-13 2020-09-22 中兴通讯股份有限公司 一种路由器请求消息的发送方法及装置
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
CN106790634B (zh) * 2017-01-04 2019-10-11 北京百度网讯科技有限公司 一种用于确定是否发起备份请求的方法与设备
US11095527B2 (en) 2017-03-16 2021-08-17 Nec Corporation Delay prediction device, delay prediction system, delay prediction method, and recording medium
CN108880763B (zh) * 2018-06-27 2022-02-22 努比亚技术有限公司 重传超时时间优化方法、设备及计算机可读存储介质
CN115396067A (zh) 2018-07-02 2022-11-25 华为技术有限公司 重传控制方法、通信接口和电子设备
US11012540B2 (en) * 2019-07-29 2021-05-18 International Business Machines Corporation Dynamic retransmission timeout values
CN113556397B (zh) * 2021-07-21 2022-05-06 山东建筑大学 面向物联网网关的云服务资源调度方法
CN117478558A (zh) * 2022-07-20 2024-01-30 北京佰才邦技术股份有限公司 一种超时参数的确定方法、装置及通信设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06508008A (ja) * 1991-06-12 1994-09-08 ヒューレット・パッカード・カンパニー パケットベースネットワークをテストするための方法および装置
US5699511A (en) * 1995-10-10 1997-12-16 International Business Machines Corporation System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth
US6625166B2 (en) 1996-11-15 2003-09-23 Canon Kabushiki Kaisha Communication system for communicating a plurality of time-division multiplexed data, and control method therefor
JPH10210078A (ja) * 1997-01-16 1998-08-07 Canon Inc 多重化通信装置
US6076114A (en) * 1997-04-18 2000-06-13 International Business Machines Corporation Methods, systems and computer program products for reliable data transmission over communications networks
JPH11163947A (ja) * 1997-09-22 1999-06-18 Toshiba Corp ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
US6473399B1 (en) * 1998-11-30 2002-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining an optimum timeout under varying data rates in an RLC wireless system which uses a PDU counter
US6405337B1 (en) * 1999-06-21 2002-06-11 Ericsson Inc. Systems, methods and computer program products for adjusting a timeout for message retransmission based on measured round-trip communications delays
US7027389B2 (en) * 2000-12-11 2006-04-11 Cisco Technology, Inc. Fast failure detection using RTT time considerations on a non-retransmit medium

Also Published As

Publication number Publication date
ATE298955T1 (de) 2005-07-15
EP1203472A2 (de) 2002-05-08
MXPA02001534A (es) 2002-07-02
EP1203472B1 (de) 2004-10-20
WO2001013587A2 (en) 2001-02-22
NO332572B1 (no) 2012-11-05
DE60021126D1 (de) 2005-08-04
EP1365550B1 (de) 2005-06-29
CN1370361B (zh) 2013-01-23
US20050169180A1 (en) 2005-08-04
EP1365550A3 (de) 2004-01-02
AR025314A1 (es) 2002-11-20
NO20020753D0 (no) 2002-02-15
AU766823B2 (en) 2003-10-23
CA2381374A1 (en) 2001-02-22
EP1376956B1 (de) 2005-05-25
US6901081B1 (en) 2005-05-31
EP1365550A2 (de) 2003-11-26
KR20020029744A (ko) 2002-04-19
CN1370361A (zh) 2002-09-18
EP1077559A1 (de) 2001-02-21
ES2239292T3 (es) 2005-09-16
ES2243843T3 (es) 2005-12-01
TW522690B (en) 2003-03-01
CA2381374C (en) 2010-06-01
DE60015142D1 (de) 2004-11-25
AU7271900A (en) 2001-03-13
NO20020753L (no) 2002-04-09
US7701866B2 (en) 2010-04-20
WO2001013587A3 (en) 2001-07-19
EP1376956A1 (de) 2004-01-02
ATE296511T1 (de) 2005-06-15
ATE280461T1 (de) 2004-11-15
KR100717219B1 (ko) 2007-05-11
ES2228604T3 (es) 2005-04-16
JP4601232B2 (ja) 2010-12-22
DE60021126T2 (de) 2006-05-04
DE60020413D1 (de) 2005-06-30
JP2003507934A (ja) 2003-02-25
DE60020413T2 (de) 2006-02-02

Similar Documents

Publication Publication Date Title
DE60015142T2 (de) Verfahren und einrichtung zur bestimmung eines zeitparameters
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE69921699T2 (de) Detektions-Verfahren und -Vorrichtung
DE60317837T2 (de) Verfahren und System zur Messung von Last und Kapazität auf einem Kanal mit variabler Kapazität
DE60313568T2 (de) Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen
DE60216887T2 (de) Verfahren zur dynamischen Übertragung von Datenpaketen unter Verwendung von RTP und RTCP Protokollen
DE60212104T2 (de) Auf Empfänger basierte Umlaufzeitmessung in TCP
DE60119780T2 (de) System und verfahren für eine übertragungsratensteuerung
DE60307032T2 (de) Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60213623T2 (de) Umlaufzeitabschätzungsverfahren und Einrichtung mittels Rückquittierung in einem Paketübertragungssystem
DE69432206T2 (de) Dynamische Bandbreitenabschätzung und Adaption für Datenpaketnachrichtennetze
DE602004004706T2 (de) Verfahren und System zur Kommunikationssteuerung
DE60032310T2 (de) Netzsystem
DE602004011453T2 (de) Sendegerät zur Steuerung der Datenübertragung
WO2002043331A1 (de) Vorrichtung und verfahren zur verkehrssteuerung von datenübertragungen in einem tcp/ip-datenübertragungsnetz
EP1470676B1 (de) Verfahren zur Bestimmung der Verkehrslast in einem Kommunikationsnetz mittels Datenpaket-Markierungen
WO2005027432A1 (de) Verbesserung der auslastung von links und kommunikationsnetzen mit zugangskontrolle
AU2003235048B2 (en) Method and device for determining a time-parameter
EP3364600B1 (de) Überwachung von datenraten
DE102023201027A1 (de) Schätzung der netzwerkverzögerung
EP1387532B1 (de) Optimiertes Verfahren zur Nachrichtenübertragung
EP2403188A1 (de) Verfahren und Vorrichtung zur Durchsatzmessung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition