DE60313568T2 - Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen - Google Patents

Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen Download PDF

Info

Publication number
DE60313568T2
DE60313568T2 DE60313568T DE60313568T DE60313568T2 DE 60313568 T2 DE60313568 T2 DE 60313568T2 DE 60313568 T DE60313568 T DE 60313568T DE 60313568 T DE60313568 T DE 60313568T DE 60313568 T2 DE60313568 T2 DE 60313568T2
Authority
DE
Germany
Prior art keywords
inter
tcp
condition
avg
packets
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
DE60313568T
Other languages
English (en)
Other versions
DE60313568D1 (de
Inventor
Pablo Ameigeiras Gutierrez
Eero Sillasto
Jeroen Wigard
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of DE60313568D1 publication Critical patent/DE60313568D1/de
Application granted granted Critical
Publication of DE60313568T2 publication Critical patent/DE60313568T2/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
    • 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
    • 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/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/323Discarding or blocking control packets, e.g. ACK packets
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Filters That Use Time-Delay Elements (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Transceivers (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Steuerung der Verwendung einer verzögerten Bestätigungsprozedur bei TCP in einem Kommunikationsnetzsystem zum Transportieren von TCP/IP-Paketen.
  • HINTERGRUND DER ERFINDUNG
  • TCP/IP ("Transmission Control Protocol/Internet Protocol", Übertragungssteuerungsprotokoll/Internetprotokoll) ist ein Netzprotokoll, das in LANs, WANs und dem Internet verwendet wird. Mit der steigenden Anzahl an Paketdiensten in drahtlosen Systemen erhöht sich die Verwendung von TCP in einem drahtlosen System, und in naher Zukunft wird eine erhebliche Menge des Verkehrs in einem drahtlosen System auf TCP/IP beruhen. Gegenwärtig beruht der Hauptteil des ganzen Internetverkehrs auf TCP/IP. Einzelheiten von TCP/IP sind beispielsweise bei Richard Stevens in TCP/IP Illustrated, vol. 1, Addison-Wesley, 1994 beschrieben.
  • In TCP werden Daten in Stücke aufgespalten, die das Protokoll als Stücke optimaler Größe zum Senden annimmt. Die Stücke werden Segmente genannt und ihre Größe darf einen maximalen konstanten Wert nicht überschreiten (maximale Segmentgröße bzw. "Maximum Segment Size", MSS).
  • Immer wenn ein Segment durch einen Server gesendet wird, muss es einen Client erreichen, der das gesendete Segment bestätigt. Die abgelaufene Zeit, wann der Server das Segment sendet, bis er die entsprechende Bestätigung empfängt, ist allgemein als Rundlaufzeit ("Round Trip Time", RTT) bekannt. Dies ist in 6 für ein Segment oder Paket S1 gezeigt, das vom Server zum Client gesendet wird, wobei eine Bestätigung ACK S1 vom Client zum Server gesendet wird. Der TCP-Server speichert eine zur Berechnung einer Schätzung einer maximalen erlaubten RTT verwendete Variable. Diese Variable wird RTO genannt. Ferner weist der Server einen Zeitgeber auf, der die abgelaufene Zeit seit der Sendung des Segments zählt. Kommt die entsprechende Bestätigung nicht am Server an, bevor der Zeitgeber den Wert der RTO-Schätzeinrichtung erreicht, nimmt der Server an, dass eine Überlastung im Netz aufgetreten ist und beginnt mit Überlastungsvermeidungsaktionen.
  • TCP versucht die Übertragungsrate an die Belastung und Kapazität der Verbindungen des Netzes anzupassen. Dies wird durch mehrere Verfahren bewirkt, wie einen langsamen Beginn, einen Neuübertragungszeitablauf, eine schnelle Neuübertragung, usw. Eine schnelle Neuübertragung und ein Neuübertragungszeitablauf verursachen eine Neuübertragung von TCP/IP-Paketen, wenn sie verloren gegangen sind, oder über einen dynamischen Zeitgeber-RTO-Wert hinaus verzögert sind.
  • Die Flussregelung in TCP wird mittels zweier Fenster bewirkt: das Überlastungsfenster (cwnd) und das angekündigte Fenster (cwnd). Für das hier behandelte Problem wird angenommen, dass das Überlastungsfenster das Minimum beider Fenster ist, und cwnd daher die maximale Menge ausstehender Daten charakterisiert, die der Server senden darf. Das Überlastungsfenster wird durch Langsam-Beginn- und Überlastungsvermeidungsalgorithmen gesteuert, die versuchen, die Menge an Daten zu optimieren, die in die Belastungssituation des Internet injiziert werden.
  • Der Langsam-Beginnalgorithmus wird zu Beginn einer Verbindung (gleich nach dem Verbindungsaufbau) oder nach dem Auftreten eines Zeitgeberablaufs (Zeitablauf) ausgeführt.
  • In 1 ist eine Überlastungsfensterentwicklung bei einem langsamen Beginn und einer Überlastungsvermeidung gezeigt. Während des langsamen Beginns wird das Überlastungsfenster auf MSS Bytes bei der Verbindungserrichtung initialisiert (einige Implementierungen initialisieren es auf zwei oder vier MSSs). Nach dem Verbindungsaufbau durchläuft das Sendeende die Ausführung dieses Algorithmus. Jedes Mal dann, wenn eine TCP-Bestätigung am Server empfangen wird, erhöht der langsame Beginn das Überlastungsfenster um MSS. Wird also die erste Bestätigung empfangen, wird das Überlastungsfenster von MSS auf 2·MSS erhöht, und zwei Segmente können gesendet werden, usw. 1 zeigt den exponentiellen Anstieg des Überlastungsfensters während eines langsamen Beginns. Überschreitet cwnd den Langsam-Beginn-Schwellenwert (beispielsweise zu Beginn auf 65535 Bytes eingestellt), durchläuft die TCP-Sendeinstanz (der Server) die Ausführung des Überlastungsvermeidungsalgorithmus. Wie in 1 gezeigt steigt das Überlastungsfenster nicht mehr exponentiell an, wenn es den Langsam-Beginn-Schwellenwert erreicht, sondern linear.
  • Ein weiteres Merkmal von TCP wird verzögerte Bestätigungen genannt. Ein Host, der einen Strom von TCP-Datensegmenten empfängt, kann die Leistung sowohl im Internet als auch dem Host durch Senden von weniger als einem ACK-(Bestätigungs-)Segment pro empfangenem Datensegment erhöhen. Gemäß der Network Working Group, RFC 1122 ist dies als "verzögerte ACK" bekannt. Wie in dieser Druckschrift beschrieben soll TCP eine verzögerte Bestätigung implementieren, jedoch sollte eine Bestätigung nicht exzessiv verzögert werden; insbesondere muss die Verzögerung weniger als 0,5 Sekunden betragen, und in einem Strom von Segmenten voller Größe sollte es eine Bestätigung zumindest für jedes zweite Segment geben.
  • Die verzögerte Bestätigungsprozedur hat den offensichtlichen Vorteil, dass der Uplink-Verkehr im RAN und im festen Netz abnimmt. Andererseits erzeugt sie jedoch eine langsamere Vergrößerung des Überlastungsfensters, da sie die Ankunftsgeschwindigkeit von Bestätigungen am Server verringert. Dies ist während eines langsamen Beginns nicht erwünscht, da dadurch die erforderliche Zeit für das Überlastungsfenster zum Erreichen seines optimalen Werts verlängert wird. Diese längere Zeit, die das Überlastungsfenster braucht, um seinen optimalen Wert zu erreichen, wird durch den Endnutzer als Verzögerung wahrgenommen, die in einer schlechteren Endleistung resultiert. Die Auswirkung dieser Verzögerung ist beim Herunterladen kleiner Dateien (wie kleiner Webseiten) ausgeprägter als beim Herunterladen sehr großer Dateien (wie ftp).
  • Ein Sperren der verzögerten Bestätigungsprozedur am Client während eines langsamen Beginns würde in einer schnelleren Vergrößerung des Überlastungsfensters während eines langsamen Beginns resultieren, und so die Endleistung erhöhen. Lassen Bestätigungen den Verkehr allerdings zu schnell ansteigen, kann dies eine Überlastung in einem Teil des RAN ("Radio Access Network", Funkzugangsnetz), CN ("Core Network", Kernnetz) oder dem Internet bewirken.
  • Es gibt TCP-Implementierungen, die zu Beginn des Herunterladens keine verzögerten Bestätigungen verwenden. Beispielsweise kann eine Implementierung vier erste Pakete unmittelbar bestätigen, und danach eine verzögerte Bestätigung anwenden.
  • Allerdings sind solche Beschränkungen fest und berücksichtigen beispielsweise nicht, dass die zugeordnete Bitrate für den Benutzer in einem Funkzugangsnetz beispielsweise während des Herunterladens nicht konstant sein kann.
  • Die US 2002/0159396 bezieht sich auf eine verzögerte Bestätigung bei einem Übertragungssteuerprotokoll und eine Verbesserung der Sendeleistung durch eine adaptive Anpassung der Verwendung der verzögerten Bestätigung. Eine Bestätigungsanpasseinrichtung überwacht den Netzübertragungsverkehr, beispielsweise die Paketempfangsfrequenz, und passt die Verwendung verzögerter Bestätigungen (ACKs) beruhend auf dem Netzübertragungsverkehr beispielsweise beruhend auf einer Paketempfangsfrequenz an.
  • KURZZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung besteht in der Beschleunigung eines langsamen Beginns von TCP durch eine optimale Verwendung einer verzögerten TCP-Bestätigungsprozedur.
  • Erfindungsgemäß wird diese Aufgabe durch eine Vorrichtung nach Anspruch 1, ein Netzsystem nach Anspruch 14, ein Steuerverfahren nach Anspruch 15 und ein Computerprogrammprodukt nach Anspruch 25 gelöst.
  • Die Erfindung bietet eine dynamische Lösung für das vorstehend beschriebene Problem, wobei sie aktiv auf Verkehrseigenschaften reagiert. Erfindungsgemäß kann die Verwendung der den verschiedenen Verbindungen einer TCP- Verbindung (hauptsächlich in der einschränkenden Verbindung) zugeordneten Ressourcen ohne Auslösen einer Überlastungssituation in den Knoten maximiert werden, die die vorstehend angeführten Verbindungen bedienen. Ferner kann eine Endnutzerleistung durch ein schnelleres Wachsen von cwnd während Zeitabschnitten maximiert werden, in denen cwnd unter seinem optimalen Wert liegt.
  • Infolgedessen erfährt der Benutzer weniger Verzögerung auch während eines langsamen Beginns und eine höhere Endleistung oder einen besseren Dienst, wobei TCP andererseits immer noch nicht aggressiv ist oder mehr Überlastung als herkömmliche TCP-Implementierungen verursacht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt eine Darstellung einer Überlastungsfensterentwicklung bei einer Langsam-Beginn- und Überlastungsvermeidung.
  • 2 zeigt ein Ablaufdiagramm einer adaptiven verzögerten Bestätigungs-(DA)Steuerung gemäß der Erfindung.
  • 3 zeigt ein Ablaufdiagramm einer erfindungsgemäßen Langsam-Beginn-Erfassung.
  • 4 zeigt ein Ablaufdiagramm eines erfindungsgemäßen Prozesses zur Erfassung, dass ein Überlastungsfenster unter seinem optimalen Wert liegt.
  • 5 zeigt ein Ablaufdiagramm eines weiteren Prozesses zur Erfassung, dass ein Überlastungsfenster unter seinem optimalen Wert liegt, gemäß einem nicht beanspruchten Beispiel.
  • 6 zeigt eine Darstellung zur Veranschaulichung von Rundlaufzeiten (RTT).
  • 7 zeigt ein Zeitablaufdiagramm des in 4 dargestellten Prozesses.
  • 8 zeigt ein Zeitablaufdiagramm des in 5 dargestellten Prozesses.
  • 9 zeigt ein Zeitablaufdiagramm von Datenblöcken eines Verbindungsprotokolls, die über eine Luftschnittstelle gesendet werden.
  • 10 zeigt das Zeitablaufdiagramm von 9 mit einem Fehler im Block N.
  • 11 zeigt ein schematisches Blockschaltbild einer Vorrichtung zur Verwendung einer erfindungsgemäßen verzögerten Bestätigungsprozedur von TCP.
  • 12 zeigt ein schematisches Blockschaltbild eines Kommunikationsnetzsystems gemäß einem Ausführungsbeispiel der Erfindung.
  • BESCHREIBUNG DER ERFINDUNG
  • Eine adaptive verzögerte Bestätigungs-(DA)Steuerung gemäß der Erfindung beruht auf der Tatsache, dass zu Beginn einer TCP-Herunterladesitzung TCP/IP-Segmente beispielsweise auf Grund eines langsamen Beginns von TCP gehäuft ankommen. Die Anhäufung zeigt, dass das Herunterladen noch keinen stabilen Zustand oder konstanten Fluss erreicht hat, und ein Überlastungsfenster (cwnd) an einem Sender daher nicht groß genug ist. Der optimale Wert von cwnd ist der, der die momentane Leistung der Verbindung ohne Auslösen einer Überlastungssituation in den Knoten maximiert, die die Verbindungen bedienen, die durch die TCP-Verbindung genutzt werden. Je schneller cwnd in Richtung seines optimalen Werts wächst, desto kleiner ist der anfängliche Zeitabschnitt, in dem die TCP-Verbindung ihre maximale momentane Leistung nicht erreicht.
  • 2 zeigt ein Ablaufdiagramm der erfindungsgemäßen adaptiven DA-Steuerung. In dem Steuerprozess wird die Anhäufung der empfangenen Segmente oder Pakete überwacht. Wird entschieden, dass die Anhäufung einen Schwellenwert überschreitet, wird die verzögerte Bestätigungsprozedur gesperrt, wenn sie sich in einem freigegebenen Zustand befunden hat. Wird andererseits entschieden, dass die Anhäufung bzw. Wechselhaftigkeit den Schwellenwert nicht mehr überschreitet, wird die verzögerte Bestätigungsprozedur erneut freigegeben.
  • Die adaptive DA-Steuerung kann in einer Vorrichtung eines Kommunikationsnetzsystems zum Transportieren von TCP/IP-Paketen implementiert sein, wobei die Vorrichtung zur Verwendung einer verzögerten Bestätigungsprozedur von TCP eingerichtet ist. Die Vorrichtung oder der Client gemäß 11 kann eine Einheit zum Empfangen von TCP-Paketen (Empfangsblock), eine Einheit zum Überwachen einer Wechselhaftigkeit bzw. Anhäufung empfangener TCP-Pakete, die von einer Instanz oder einem Server des Kommunikationsnetzsystems gesendet werden (Überwachungsblock), eine Einheit zur Entscheidung (Entscheidungsblock), ob die überwachte Anhäufung eine vordefinierte Bedingung erfüllt, und eine Steuereinheit (Steuerblock) zum Sperren der verzögerten Bestätigungsprozedur oder zum Freigeben der verzögerten Bestätigungsprozedur auf der Grundlage des Entscheidungsergebnisses umfassen. In einem mobilen Netz ist der Client ein Terminal bzw. Endgerät. Allerdings ist anzumerken, dass die DA-Steuerimplementierung nicht auf eine physikalische Vorrichtung oder einen Client beschränkt ist. Vielmehr kann die DA-Steuerung in einem physikalischen, logischen oder Software-Element implementiert sein, das ein Element ist, das TCP durchführen kann. Der Knoten, an dem sich das Element zur Durchführung von TCP befindet, kann beispielsweise ein mobiles Endgerät, ein mit einem mobilen Endgerät verbundener Laptop, ein Netzelement wie ein Internet-, Intranet-, Proxy- oder Mailserver, Computer, usw. sein. Daher sollte der hier verwendete Ausdruck "Client" alle vorstehenden Möglichkeiten abdecken.
  • 12 zeigt ein schematisches Blockschaltbild eines Kommunikationsnetzsystems zum Transportieren von TCP/IP-Paketen, das eine Vorrichtung gemäß 11 umfassen kann. Gemäß dem in 12 gezeigten Ausführungsbeispiel kann das Netzsystem eine Vorrichtung 1 umfassen, die der Vorrichtung in 11 entspricht, die sich in einem Kommunikationsnetz befindet, das ein Teil des Kommunikationsnetzsystems ist. Des Weiteren kann das Kommunikationsnetzsystem eine der Vorrichtung in 11 entsprechende Vorrichtung 2 umfassen, die nicht Teil des Kommunikationsnetzes selbst ist.
  • Die Anhäufung der Ankunft der TCP-Segmente kann aus einer Zwischenankunftszeit empfangener TCP-Segmente hergeleitet werden, die durch den Client gemessen wird. Des Weiteren kann eine Zwischenankunftszeitstatistik durch den Client berechnet werden. Auf der Grundlage der Zwischenankunftszeiten ist es möglich zu entscheiden, wann die Verwendung der verzögerten Bestätigung optimal sein sollte.
  • Das heißt, auf der Grundlage der gemessenen Zwischenankunftszeit identifiziert der Client, wann der TCP-Server einen Langsam-Beginn-Algorithmus laufen lässt, oder eine Situation, in der das Überlastungsfenster klein ist (verglichen mit seinem optimalen Wert). Identifiziert der Client eine derartige Situation, kann der Client die verzögerte Bestätigungsprozedur sperren. Trifft der Client nicht mehr auf die Situation, gibt der Client die verzögerte Bestätigungsprozedur wieder frei.
  • Des Weiteren kann der Client die vorstehend beschriebene Situation auf der Grundlage der Statistik der Zwischenankunftszeit zwischen Segmenten am Client identifizieren.
  • Außerdem kann der Client die Langsam-Beginn-Situation oder die Situation, in der das Überlastungsfenster klein ist, durch Berücksichtigen von RTT-(Rundlaufzeit-)Informationen identifizieren. Diese Informationen sind am Client verfügbar, wenn er Daten zum Server sendet. Gemäß 6 sendet der Client ein Paket C1 zum Server, und empfängt nach einem Zeitabschnitt eine Bestätigung als ACK C1 vom Server. Die seit dem Senden des Pakets C1 bis zum Empfangen von ACK C1 am Client vergangene Zeit ist die Rundlaufzeit RTT. Sendet der Client keine Daten zum Server, können die Informationen durch Anklingeln bzw. Pingen des Servers gewonnen werden.
  • Gemäß 6 wird RTT in diesem Fall aus dem Senden einer Ping-Nachricht zum Server zum Empfangen einer Antwort auf die Ping-Nachricht vom Server bestimmt.
  • Ein konservativer Ansatz wird bei der tatsächlichen Implementierung der Erfindung gegenüber einem aggressiven bevorzugt. Der Grund dafür besteht in der Vermeidung des Risikos der Einführung einer Überlastung im Internet, Kernnetz oder RAN.
  • Beispielsweise kann der folgende Prozess unter Verwendung einer Zwischenankunftszeitstatistik zur Erfassung der Langsam-Beginn-Situation oder der Situation verwendet werden, in der das Überlastungsfenster klein ist. Die Langsam-Beginn-Situation ist nicht nur nach einer Verbindungserrichtung vorhanden, sondern wird auch durch Zeitgeberabläufe bewirkt.
  • Zum Sperren der verzögerten Bestätigungsprozedur nach einem Zeitgeberablauf kann der Client einen Zeitgeber umfassen, der eine Zwischenankunftszeit zwischen aufeinanderfolgenden Paketen misst, die am Client wie aus 3 ersichtlich empfangen werden. Diese Zeit wird in einer Variable T1 gespeichert. Aus den letzten N Paketen wird eine Durchschnittszwischenankunftszeit Tavg berechnet. Dann wird eine neugemessene Zwischenankunftszeit T1 mit dem Ausdruck X2·Tavg verglichen, wobei X2 ein anpassbarer Parameter ist. Erfüllt der Vergleich T1 ≤ X2·Tavg, wird der Mittelungs- und Vergleichsprozess wiederholt. Erfüllt der Vergleich andererseits nicht T1 ≤ X2·Tavg, wird angenommen, dass die Langsam-Beginn-Situation vorhanden ist, und infolgedessen wird die verzögerte Bestätigungsprozedur gesperrt.
  • Wurde die Langsam-Beginn-Situation unter Verwendung des vorstehend beschriebenen Prozesses erfasst, oder im Fall einer Verbindungserrichtung wird die verzögerte Bestätigungsprozedur in einen gesperrten Zustand versetzt. Unter dieser Bedingung können beispielsweise die folgenden Prozesse zum Identifizieren, ob die Langsam-Beginn-Situation nicht mehr vorhanden ist, sondern das Überlastungsfenster unter seinem optimalen Wert liegt, in Abhängigkeit davon, ob der Client eine Rundlaufzeit (RTT) kennt oder nicht, verwendet werden.
  • Beispielsweise ist ein Prozess zur Erfassung, dass das Überlastungsfenster unter seinem optimalen Wert liegt, beruhend auf einer gemessenen Zwischenankunftszeitstatistik in 4 gezeigt.
  • Zur Durchführung des Prozesses kann der Client einen sich verringernden Zähler aufweisen. Der Zähler wird auf einen bestimmten Wert Thr initialisiert. Der Client kann auch einen Zeitgeber aufweisen, der die Zwischenankunftszeit zwischen aufeinanderfolgenden Paketen misst. Die Zeit wird in einer Variable T1 gespeichert. Gemäß dem in 4 gezeigten Prozess wird eine durchschnittliche Zwischenankunftszeit zwischen Paketen Tavg der letzten N Pakete berechnet. Dann wird eine aktuell gemessene Zwischenankunftszeit T1 mit X1·Tavg verglichen. Erfüllt der Vergleich T1 ≤ X2·Tavg (1)für einen bestimmten anpassbaren Parameter X1, wird der Zähler erniedrigt. Erfüllt der aktuelle Wert T1 die angeführte Bedingung, sollte er für die folgende Durchschnittsbildung nicht berücksichtigt werden. Solange der Zähler größer als Null ist, bleibt die verzögerte Bestätigungsprozedur gesperrt. Erreicht der Zähler den Wert Null, werden die verzögerten Bestätigungen wieder freigegeben.
  • Ist die Bedingung (1) nicht erfüllt, kann der Zähler Thr auf einen Schwellenwert rückgesetzt werden, und der Zählererniedrigungsprozess beginnt erneut. Aufgrund der Vielfalt von RTT und Verbindungsbitraten, die möglicherweise durch die TCP-Verbindung erfahren werden, sollte der zum Rücksetzen des Zählers verwendete Schwellenwert adaptiv sein.
  • Erfindungsgemäß kann der Schwellenwert auf folgende Weise adaptiv ausgewählt werden: Thr = Y·M (2)wobei Y ein anpassbarer Parameter ist, der die Vielfalt von RTT und der Verbindungsbitraten berücksichtigt, und M die Anzahl von Paketen ist, die vom Client zwischen den letzten zwei Malen empfangen wurden, zu denen die Bedingung (1) nicht erfüllt war. Somit kann der Client eine Einrichtung zum Registrieren einer Verbindungsbitrate der TCP-Verbindung und eine Einrichtung zum Registrieren einer Rundlaufzeit der TCP-Verbindung aufweisen.
  • Mögliche Werte der Parameter sind in der folgenden Tabelle aufgeführt:
    Figure 00130001
  • 7 zeigt ein Zeitablaufdiagramm des vorstehend beschriebenen Prozesses. Die Figur zeigt die Ankunft von Segmenten am Client. Der Zähler wird immer dann erniedrigt, wenn die Bedingung (1) erfüllt ist. Ist die Bedingung nicht erfüllt (aufgrund einer großen Lücke beim Empfang der Segmente), wird der Zähler entsprechend Gleichung (2) erneut rückgesetzt. Erreicht der Zähler den Wert Null, wird die verzögerte Bestätigungsprozedur schließlich freigegeben.
  • 5 zeigt ein weiteres Beispiel eines Prozesses zur Erfassung, dass das Überlastungsfenster unter seinem optimalen Wert ist, beruhend auf gemessenen Zwischenankunftszeiten und einem Rundlaufzeitzyklus.
  • Gemäß diesem Prozess kann der Client einen Zeitgeber, der die Zwischenankunftszeit zwischen aufeinanderfolgenden Paketen misst, und eine Einrichtung zur Messung eines Rundlaufzeit-(RTT-)Zyklus umfassen. Gemäß dem Prozess und wie aus 5 ersichtlich, werden die größte (T2) und die zweitgrößte (T3) Zwischenankunftszeit zwischen Paketen in jedem RTT-Zyklus gemessen und gespeichert. Dann wird am Ende des RTT-Zyklus der folgende Vergleich T2 > X3·T3 (3)für einen bestimmten anpassbaren Parameter X3 ausgeführt. Ist die Bedingung erfüllt, bleibt die verzögerte Bestätigungsprozedur für den folgenden Zyklus gesperrt. Ist der Vergleich in einem bestimmten Zyklus erfüllt, werden die verzögerten Bestätigungen von da an freigegeben. Nach der Freigabe der verzögerten Bestätigungen ist ein Pingen des Servers eventuell nicht mehr erforderlich, und die RTT-Messung kann beendet werden. Ein möglicher Wert von X3 ist 3.
  • 8 zeigt ein Zeitablaufdiagramm des vorstehend beschriebenen Prozesses. Die Figur zeigt die Ankunft von Segmenten am Client. In jedem RTT-Zyklus werden die zwei maximalen Zwischenankunftszeiten zwischen Paketen gemessen und gespeichert. Am Ende des Zyklus wird die verzögerte Bestätigungsprozedur wieder freigegeben, wenn die Bedingung (3) erfüllt ist.
  • Nach dem erneuten Versetzen der verzögerten Bestätigungsprozedur in den freigegebenen Zustand kann der Prozess gemäß 3 wieder ausgeführt werden, wobei der Parameter X2 einen konservativeren Wert als X1 oder X3 haben kann, das heißt, X2 ≥ X1 oder X2 ≥ X3.
  • Zur Erfassung der Langsam-Beginn-Situation kann ferner ein Prozess ähnlich dem in 5 gezeigten ausgeführt werden. Bei diesem Prozess kann eine Langsam-Beginn-Situation erfasst werden, wenn die verzögerte Bestätigungsprozedur freigegeben ist und die Bedingung T2 > X4·T3 erfüllt ist, wobei T2 die größte Zwischenankunftszeit, T3 die zweitgrößte Zwischenankunftszeit und X4 ein anpassbarer Parameter ist, der die Bedingung X4 ≥ X1 oder X4 ≥ X3 erfüllt. In diesem Fall können die RTT-Messungen während des gesamten Herunterladens fortgesetzt werden.
  • Hinsichtlich der Auswahl der X1- und X3-Werte sollten diese groß genug ausgewählt werden, so dass die Zwischenankunftszeit zwischen Paketen desselben Langsam-Beginn-Zyklus die Bedingung (1) oder (3) erfüllen. Außerdem sollten sie klein genug ausgewählt werden, so dass die Zeit zwischen aufeinanderfolgenden Paketen verschiedener Zyklen diese Bedingungen nicht erfüllt. Ähnliche Kriterien können für X2 und X4 angewendet werden, die konservativer als X1 und X3 sein sollten.
  • Erfindungsgemäß können der Anfangsschwellenwert Thr und der Parameter Y entweder konstant oder adaptiv sein. Der Wert des Schwellenwerts hängt von der Bandbreite der einschränkenden Verbindung und der gesamten Rundlaufzeit ab. Ist deren Produkt groß, sollte der Schwellenwert groß sein, und umgekehrt. Eine mögliche Lösung für einen adaptiven Schwellenwert besteht in seinem Wachsen in jedem Zyklus. Beispielsweise kann Y zwischen zwei 2 und 2,5 (oder sogar mehr) liegen. Werden in einem Zyklus M = 2 Pakete empfangen, ist die Thr im nächsten Zyklus gleich 5. Das bedeutet, dass wenn mehr als 5 Pakete ankommen, die die Bedingung (1) erfüllen, die Verbindung die Bedingung zum Freigeben der DA erreicht hat. Kommen lediglich vier Pakete an, die die Bedingung (1) erfüllen, was bedeutet, dass die einschränkende Verbindung nicht vollständig ausgenutzt wird, wird Thr, nachdem die Bedingung (1) nicht erfüllt ist, neu berechnet, indem M = 4 mit Y multipliziert wird, und die DA bleibt gesperrt.
  • Der Client kann die Kenntnis der verwendeten Transportmedien berücksichtigen, wenn er entscheidet, welches Verfahren und welche Parameter zum Freigeben und Sperren der verzögerten Bestätigungsprozedur zu verwenden sind. Insbesondere kann ein Fehlerkorrekturalgorithmus auf einer Funkverbindung in einer mobilen Umgebung selbst eine angehäufte Ankunft verursachen, deren Auswirkungen auf verzögerte Bestätigungsalgorithmen durch eine geeignete Parametrisierung minimiert werden können. Beispielsweise zeigt 9 Datenblöcke N – 1 bis N + 3 eines Verbindungsprotokolls, die über eine Luftschnittstelle mit einem konstanten Intervall gesendet werden. Es gibt 3 Protokollinstanzen: eine Netzknotenverbindungsprotokollinstanz, deren Peer am Endgerätende und TCP am Endgerät. Ein Beispiel des Verbindungsprotokolls ist RLC ("Radio Link Control", Funkverbindungssteuerung) in UTRAN (UMTS Terrestrial Radio Access Network). Der Einfachheit halber wird hier angenommen, dass ein Verbindungsprotokollblock ein einzelnes, gesamtes TCP/IP-Paket enthält. So sendet das Verbindungsschichtprotokoll seine Übertragungsblöcke zum mobilen Ende. Alle Blöcke sind korrekt und werden zur TCP-Schicht weitergeleitet, nachdem sie am Empfängerende des Verbindungsprotokolls verarbeitet wurden.
  • Nun erzeugt die Luftschnittstelle typischer Weise einige Fehler, und die Aufgabe des Verbindungsschichtprotokolls besteht in deren Korrektur. Wie in 10 gezeigt ist die Blocknummer N fehlerhaft, und dies wird durch das Verbindungsschichtprotokoll erfasst. Es fordert eine Neuübertragung des N-ten Blocks an. Die Übertragung des N + 1-ten Blocks ist erfolgreich, jedoch kann sich das Verbindungsschichtprotokoll typischerweise in einem In-Sequenz-Modus befinden, was bedeutet, dass die Pakete der oberen Schicht in Sequenz zur oberen Schicht am Empfangsende des Verbindungsprotokolls gegeben werden. Dies bedeutet, dass das N + 1-te Paket wartet, bis das N-te Paket neu übertragen wurde (bzw. die maximale Anzahl von Neuübertragungen nicht erfolgreich durchgeführt wurde). Die TCP-Schicht erfährt zwei Paketankünfte ungefähr gleichzeitig, das heißt, innerhalb von 2 bis 10 ms.
  • Daher kann im Fall einer "gleichzeitigen" Ankunft mehrerer Pakete gemäß der Erfindung die durchschnittliche Zwischenankunftszeit wieder durch Berücksichtigen eines Stücks neu angekommener Pakete berechnet werden, und das Auslösen (X1, X2, usw.) kann in einer konservativeren Richtung geändert werden, da sich die Vorhersagbarkeit verschlechtert hat. Dieser Effekt ergibt sich nicht aus dem TCP-Verhalten, sondern aus dem Funkverbindungsverhalten.
  • Bei einem robusteren Ausführungsbeispiel der Erfindung kann die Möglichkeit eines Missverhaltens (der Client leitet etwas falsch her) durch eine etwas andere Implementierung minimiert werden. Beispielsweise kann die Freigabe der DA nur zu Beginn der Sitzung implementiert werden, und/oder die Freigabe kann durchgeführt werden, wenn eine vordefinierte Anzahl von Paketen innerhalb eines bestimmten Zeitabschnitts angekommen ist. Ein robusteres Ausführungsbeispiel zum Sperren kann so aussehen: ist die Zwischenankunftszeit zwischen zwei Paketen länger als ein vordefinierter Zeitabschnitt, beispielsweise 2 Sekunden, wird die DA gesperrt.
  • Die erfindungsgemäße adaptive verzögerte Bestätigungssteuerung kann zusätzlich zu herkömmlichen TCP-Implementierungen angewendet werden, die die verzögerten Bestätigungen zu Beginn des Herunterladens nicht verwenden.
  • Die vorstehende Beschreibung veranschaulicht die Erfindung, und schränkt diese nicht ein. Verschiedene Modifikationen und Anwendungen können dem Fachmann in den Sinn kommen, ohne vom Schutzbereich der Erfindung abzuweichen, wie er in den beiliegenden Patenansprüchen definiert ist.

Claims (25)

  1. Vorrichtung eines Kommunikationsnetzsystems zum Transportieren von TCP/IP-Paketen, wobei die Vorrichtung zur Verwendung einer verzögerten Bestätigungsprozedur von TCP eingerichtet ist und umfasst eine Einheit zum Empfangen von TCP-Paketen, eine Einheit zum Überwachen einer Wechselhaftigkeit empfangener TCP-Pakete, die von einer Instanz des Kommunikationsnetzsystems gesendet werden, eine Einheit zum Entscheiden, ob die überwachte Wechselhaftigkeit eine vordefinierte Bedingungen erfüllt, und eine Steuereinheit zum Sperren der verzögerten Bestätigungsprozedur oder zum Freigeben der verzögerten Bestätigungsprozedur beruhend auf dem durch die Entscheidungseinheit getroffenen Entscheidungsergebnis, dadurch gekennzeichnet, dass die Überwachungseinheit eine Einrichtung zum Messen einer Zwischenankunftszeit der empfangenen TCP-Pakete zum daraus Berechnen der Wechselhaftigkeit umfasst, wobei die Messeinrichtung zum Messen aufeinanderfolgender Zwischenankunftszeiten eingerichtet ist, und die Überwachungseinheit ferner eine Einrichtung zum Berechnen einer Durchschnittszwischenankunftszeit Tavg aus den gemessenen aufeinanderfolgenden Zwischenankunftszeiten zum daraus Berechnen der Wechselhaftigkeit umfasst.
  2. Vorrichtung nach Anspruch 1, wobei die Überwachungseinheit ferner eine Einrichtung zum Initialisieren eines Zählers Thr, wenn die verzögerte Bestätigungsprozedur gesperrt ist, und zum Dekrementieren des Zählers umfasst, wenn die Bedingung T1 ≤ X1·Tavg erfüllt ist, wobei T1 die aktuell gemessene Zwischenankunftszeit, Tavg die Durchschnittszwischenankunftszeit vorhergehender N Pakete und X1 ein einstellbarer Parameter sind, und wobei die Entscheidungseinheit zum Entscheiden eingerichtet ist, dass die Wechselhaftigkeit niedrig ist, wenn die Bedingung Thr = 0 erfüllt ist, und als Ergebnis die verzögerte Bestätigungsprozedur durch die Steuereinheit freigegeben wird.
  3. Vorrichtung nach Anspruch 2, wobei die Berechnungseinrichtung zum Nicht-Verwenden der aktuell gemessenen Zwischenankunftszeit T1 für eine folgende Berechnung der Durchschnittszwischenankunftszeit eingerichtet ist, wenn die Bedingung T1 ≤ X1·Tavg erfüllt ist.
  4. Vorrichtung nach Anspruch 2, wobei die Überwachungseinheit ferner eine Einrichtung zum Rücksetzen des Zählers Thr umfasst, wenn die Bedingung T1 ≤ X1·Tavg nicht erfüllt ist und Thr > 0 ist.
  5. Vorrichtung nach Anspruch 4, wobei die Initialisierungseinrichtung zum Rücksetzen des Zählers Thr auf einen Schwellenwert Thr = Y·M eingerichtet ist, wobei Y ein einstellbarer Parameter und M die Anzahl von Paketen ist, die zwischen den letzten beiden Malen empfangen wurden, als die Bedingung T1 ≤ X1·Tavg nicht erfüllt war.
  6. Vorrichtung nach Anspruch 5, ferner mit einer Einrichtung zum Registrieren einer Verbindungsbitrate der TCP-Verbindung, wobei die Rücksetzeinrichtung zum Anpassen des Parameters Y beruhend auf der registrierten Verbindungsbitrate eingerichtet ist.
  7. Vorrichtung nach Anspruch 5, ferner mit einer Einrichtung zum Registrieren einer Hin- und Zurück-Zeit der TCP-Verbindung, wobei die Rücksetzeinrichtung zum Anpassen des Parameters Y beruhend auf der registrierten Hin- und Zurück-Zeit eingerichtet ist.
  8. Vorrichtung nach Anspruch 2, wobei die Entscheidungseinheit zum Entscheiden eingerichtet ist, dass die Wechselhaftigkeit hoch ist, wenn die Bedingung T1 > X2 + Tavg erfüllt ist und die verzögerte Bestätigungsprozedur freigegeben ist, wobei T1 die aktuell gemessene Zwischenankunftszeit, Tavg die Durchschnittszwischenankunftszeit vorhergehender N Pakete und X2 ein einstellbarer Parameter sind, und als Ergebnis die verzögerte Bestätigungsprozedur durch die Steuereinheit gesperrt wird.
  9. Vorrichtung nach Anspruch 2, wobei die Steuereinheit zum Sperren der verzögerten Bestätigungsprozedur zu Beginn einer Verbindungserrichtung zwischen der Instanz und der Vorrichtung eingerichtet ist.
  10. Vorrichtung nach Anspruch 2, wobei die Überwachungseinheit ferner eine Einrichtung zum Messen eines Hin- und Zurück-Zeitzyklus und eine Einrichtung zum Bestimmen der längsten Zwischenankunftszeit T2 und der zweitlängsten Zwischenankunftszeit T3 aus den gemessenen Zwischenankunftszeiten während eines Hin- und Zurück-Zeitzyklus eingerichtet ist, und wobei die Entscheidungseinheit zum Entscheiden eingerichtet ist, dass die Wechselhaftigkeit hoch ist, wenn die Bedingung X4·T3 < T2 nicht erfüllt ist, wobei X4 ein einstellbarer Parameter ist, und als Ergebnis die verzögerte Bestätigungsprozedur durch die Steuereinheit gesperrt wird, wenn sie freigegeben war.
  11. Vorrichtung nach Anspruch 1, wobei die Vorrichtung ein Client ist.
  12. Vorrichtung nach Anspruch 1, wobei die Vorrichtung ein Server ist.
  13. Vorrichtung nach Anspruch 1, wobei die Vorrichtung ein Endgerät eines mobilen Kommunikationsnetzes ist.
  14. Kommunikationsnetzsystem mit einer Vorrichtung nach einem der Ansprüche 1 bis 13.
  15. Verfahren zum Steuern der Verwendung einer verzögerten Bestätigungsprozedur von TCP in einem Kommunikationsnetzsystem zum Transportieren von TCP/IP-Paketen, mit den Schritten Überwachen einer Wechselhaftigkeit empfangener TCP-Pakete, die in den Kommunikationsnetzsystem von einer Instanz zu einer Vorrichtung gesendet werden, Entscheiden, ob die überwachte Wechselhaftigkeit eine vordefinierte Bedingung erfüllt, und Sperren der verzögerten Bestätigungsprozedur oder Freigeben der verzögerten Bestätigungsprozedur beruhend auf dem Entscheidungsergebnis, gekennzeichnet durch den Schritt Messen einer Zwischenankunftszeit der empfangenen TCP-Pakete zum daraus Berechnen der Wechselhaftigkeit, wobei aufeinanderfolgende Zwischenankunftszeiten gemessen werden, und das Verfahren ferner den Schritt der Berechnung einer Durchschnittszwischenankunftszeit Tavg aus den gemessenen aufeinanderfolgenden Zwischenankunftszeiten umfasst, um die Wechselhaftigkeit daraus zu berechnen.
  16. Verfahren nach Anspruch 15, ferner mit den Schritten der Initialisierung eines Zählers Thr, wenn die verzögerte Bestätigungsprozedur gesperrt ist, und Dekrementieren des Zählers, wenn die Bedingung T1 ≤ X1·Tavg erfüllt ist, wobei T1 die aktuell gemessene Zwischenankunftszeit, Tavg die Durchschnittszwischenankunftszeit vorhergehender N Pakete und X1 ein einstellbarer Parameter sind, und wobei entschieden wird, dass die Wechselhaftigkeit niedrig ist, wenn die Bedingung Thr = 0 erfüllt ist, und als Ergebnis die verzögerte Bestätigungsprozedur freigegeben wird.
  17. Verfahren nach Anspruch 16, wobei die aktuell gemessene Zwischenankunftszeit T1 nicht für eine folgende Durchschnittszwischenankunftszeitberechnung verwendet wird, wenn die Bedingung T1 ≤ X1·Tavg erfüllt ist.
  18. Verfahren nach Anspruch 16, ferner mit dem Schritt des Rücksetzens des Zählers Thr, wenn die Bedingung T1 ≤ X1·Tavg nicht erfüllt ist und Thr > 0 ist.
  19. Verfahren nach Anspruch 18, wobei der Zähler Thr auf einen Schwellenwert Thr = Y·M rückgesetzt wird, wobei Y ein einstellbarer Parameter und M die Anzahl von Paketen sind, die zwischen den letzten zwei Malen empfangen wurden, als die Bedingung T1 ≤ X1·Tavg nicht erfüllt war.
  20. Verfahren nach Anspruch 19, ferner mit dem Schritt der Registrierung einer Verbindungsbitrate der TCP-Verbindung, wobei der Parameter Y beruhend auf der registrierten Verbindungsbitrate angepasst wird.
  21. Verfahren nach Anspruch 19, ferner mit dem Schritt der Registrierung einer Hin- und Zurück-Zeit der TCP-Verbindung, wobei der Parameter Y beruhend auf der registrierten Hin- und Zurück-Zeit angepasst wird.
  22. Verfahren nach Anspruch 16, wobei entschieden wird, dass die Wechselhaftigkeit hoch ist, wenn die Bedingung T1 > X2·Tavg erfüllt ist, und wenn die verzögerte Bestätigungsprozedur freigegeben ist, wobei T1 die aktuell gemessene Zwischenankunftszeit, Tavg die Durchschnittszwischenankunftszeit vorhergehender N Pakete und X2 ein einstellbarer Parameter sind, und als Ergebnis die verzögerte Bestätigungsprozedur gesperrt wird.
  23. Verfahren nach Anspruch 16, wobei die verzögerte Bestätigungsprozedur zu Beginn einer Verbindungserrichtung zwischen der Instanz und der Vorrichtung gesperrt ist.
  24. Verfahren nach Anspruch 16, wobei ein Hin- und Zurück-Zeitzyklus gemessen wird und die längste Zwischenankunftszeit T2 und die zweitlängste Zwischenankunftszeit T3 aus den gemessenen Zwischenankunftszeiten während eines Hin- und Zurück-Zeitzyklus gemessen werden, und entschieden wird, dass die Wechselhaftigkeit hoch ist, wenn die Bedingung X4·T3 < T2 nicht erfüllt ist, wobei X4 ein einstellbarer Parameter ist, und als Ergebnis die verzögerte Bestätigungsprozedur gesperrt wird, wenn sie freigegeben war.
  25. Computerprogrammprodukt mit prozessorimplementierbaren Anweisungen zur Steuerung eines Prozessors zur Ausführung eines Verfahrens nach einem der Ansprüche 15 bis 24.
DE60313568T 2002-12-20 2003-12-18 Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen Expired - Lifetime DE60313568T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/323,993 US7225266B2 (en) 2002-12-20 2002-12-20 Adaptive delayed ACK switching for TCP applications
US323993 2002-12-20

Publications (2)

Publication Number Publication Date
DE60313568D1 DE60313568D1 (de) 2007-06-14
DE60313568T2 true DE60313568T2 (de) 2007-12-27

Family

ID=32393052

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60322608T Expired - Lifetime DE60322608D1 (de) 2002-12-20 2003-12-18 Adaptive verzögerte ACK-Schaltung für TCP-Anwendungen
DE60313568T Expired - Lifetime DE60313568T2 (de) 2002-12-20 2003-12-18 Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60322608T Expired - Lifetime DE60322608D1 (de) 2002-12-20 2003-12-18 Adaptive verzögerte ACK-Schaltung für TCP-Anwendungen

Country Status (4)

Country Link
US (1) US7225266B2 (de)
EP (2) EP1432207B1 (de)
AT (2) ATE403326T1 (de)
DE (2) DE60322608D1 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications
FR2849733A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Dispositif et procede d'ajustement de debit d'un flux de contenus et produits associes
ATE376306T1 (de) * 2003-03-20 2007-11-15 Nokia Siemens Networks Gmbh Verfahren und sender zur übertragung von datenpaketen
US7349337B1 (en) * 2003-12-12 2008-03-25 Novell, Inc. Techniques for shaping data transmission rates
US7546367B2 (en) 2004-01-15 2009-06-09 Novell, Inc. Methods and systems for managing network traffic by multiple constraints
US7724750B2 (en) * 2004-04-01 2010-05-25 Nokia Corporation Expedited data transmission in packet based network
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
KR20080042764A (ko) * 2004-11-24 2008-05-15 아이에스티 인터내셔널 인코포레이티드 데이터 네트워크의 대역폭 추정 방법 및 네트워크 노드
US9059867B2 (en) 2005-03-02 2015-06-16 Cisco Technology, Inc. Technique for selecting a path computation element based on response time delay
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8719399B2 (en) * 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8589508B2 (en) * 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
JP2007081678A (ja) * 2005-09-13 2007-03-29 Ntt Docomo Inc データ中継装置及びデータ中継方法
US20080031136A1 (en) * 2006-08-07 2008-02-07 Gavette Sherman L Round trip time (rtt) proximity detection testing
US20080176554A1 (en) * 2007-01-16 2008-07-24 Mediacast, Llc Wireless data delivery management system and method
US7729249B2 (en) 2007-07-16 2010-06-01 Microsoft Corporation Systems and methods for improving TCP-friendliness of delay-based congestion control
US20100027966A1 (en) * 2008-08-04 2010-02-04 Opanga Networks, Llc Systems and methods for video bookmarking
EP2350962A4 (de) * 2008-09-18 2013-08-21 Opanga Networks Inc Systeme und verfahren zur automatischen detektion und koordinierten ablieferung von beschwerlichem medieninhalt
WO2010038108A1 (en) 2008-09-30 2010-04-08 Freescale Semiconductor, Inc. Data processing
JP2012508424A (ja) * 2008-11-07 2012-04-05 オパンガ ネットワークス インコーポレイテッド ホスト装置を利用してデータ転送を開始するポータブルデータ記憶装置
WO2010068497A2 (en) * 2008-11-25 2010-06-17 Jeffrey Harrang Viral distribution of digital media content over social networks
US8509080B2 (en) 2009-06-29 2013-08-13 The Chinese University Of Hong Kong Network traffic accelerator
WO2011022096A1 (en) 2009-08-19 2011-02-24 Opanga Networks, Inc Optimizing media content delivery based on user equipment determined resource metrics
WO2011022104A1 (en) * 2009-08-19 2011-02-24 Opanga Networks, Inc. Optimizing channel resources by coordinating data transfers based on data type and traffic
WO2011022094A1 (en) * 2009-08-20 2011-02-24 Opanga Networks, Inc Broadcasting content using surplus network capacity
US8325623B1 (en) 2010-02-16 2012-12-04 Google Inc. System and method for reducing latency during data transmissions over a network
US8964543B1 (en) 2010-02-16 2015-02-24 Google Inc. System and method of reducing latency by transmitting duplicate packets over a network
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
WO2011136705A1 (en) * 2010-04-26 2011-11-03 Telefonaktiebolaget L M Ericsson (Publ) Method for setting and adjusting a parameter dependent on a round trip time
US8468196B1 (en) 2010-05-20 2013-06-18 Google Inc. System and method of reducing latency using adaptive retransmission timeouts
US8239532B1 (en) 2010-06-24 2012-08-07 Google Inc. System and method of reducing latency using adaptive DNS resolution
US8576711B1 (en) * 2010-09-28 2013-11-05 Google Inc. System and method for reducing latency via client side dynamic acknowledgements
WO2014031046A1 (en) 2012-08-23 2014-02-27 Telefonaktiebolaget L M Ericsson (Publ) Tcp proxy server
US9980156B2 (en) * 2015-07-17 2018-05-22 Altiostar Networks, Inc. Optimization of downlink throughput
CN106487608B (zh) * 2015-08-31 2019-06-07 华为技术服务有限公司 测量远端时间戳单位的方法和装置
US10097462B2 (en) * 2016-04-02 2018-10-09 Niciria, Inc. Throughput resilience during link failover
CN108713311A (zh) * 2016-04-29 2018-10-26 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN105827537B (zh) * 2016-06-01 2018-12-07 四川大学 一种基于quic协议的拥塞改进方法
KR102356912B1 (ko) * 2017-06-16 2022-01-28 삼성전자 주식회사 통신 시스템에서 tcp ack 전송 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001510957A (ja) * 1997-07-14 2001-08-07 ノキア ネットワークス オサケ ユキチュア テレコミュニケーションネットワークの流れ制御
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6567416B1 (en) * 1997-10-14 2003-05-20 Lucent Technologies Inc. Method for access control in a multiple access system for communications networks
US6215772B1 (en) * 1997-11-26 2001-04-10 International Business Machines Corporation Dynamic parameter estimation for efficient transport of HPR data on IP
US6118765A (en) * 1998-01-13 2000-09-12 Qualcomm Inc. System method and computer program product for eliminating unnecessary retransmissions
CA2237264A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Receiver based congestion control
CA2237208A1 (en) * 1998-05-08 1999-11-08 Northern Telecom Limited Congestion notification from router
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
SG87029A1 (en) 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US6775707B1 (en) * 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6574770B1 (en) * 2000-06-29 2003-06-03 Lucent Technologies Inc. Error-correcting communication method for transmitting data packets in a network communication system
US6996064B2 (en) * 2000-12-21 2006-02-07 International Business Machines Corporation System and method for determining network throughput speed and streaming utilization
US6961309B2 (en) * 2001-04-25 2005-11-01 International Business Machines Corporation Adaptive TCP delayed acknowledgment
JP3696806B2 (ja) * 2001-06-19 2005-09-21 富士通株式会社 通信性能測定装置
US7630409B2 (en) * 2002-10-21 2009-12-08 Lsi Corporation Method and apparatus for improved play-out packet control algorithm
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications

Also Published As

Publication number Publication date
ATE403326T1 (de) 2008-08-15
US7225266B2 (en) 2007-05-29
ATE361625T1 (de) 2007-05-15
EP1793557A1 (de) 2007-06-06
US20040122969A1 (en) 2004-06-24
EP1432207A2 (de) 2004-06-23
EP1793557B1 (de) 2008-07-30
EP1432207A3 (de) 2005-02-09
DE60313568D1 (de) 2007-06-14
DE60322608D1 (de) 2008-09-11
EP1432207B1 (de) 2007-05-02

Similar Documents

Publication Publication Date Title
DE60313568T2 (de) Adaptives Schalten verzögerter Bestätigungen für TCP Anwendungen
DE60036218T2 (de) Verbindungsschichtquittierung und wiederübertragung für ein zellulares telekommunikationssystem
DE60020413T2 (de) Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE60307032T2 (de) Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
DE69922180T2 (de) Verfahren und Vorrichtung zur Datenflusssteuerung
DE60203285T2 (de) Verfahren und empfänger zur verbesserten datenpaketübertragung in ein übertragungsprotokoll
DE60223799T2 (de) Verfahren und sender für einen effizienten paketdatentransfer in einem übertragungsprotokoll mit wiederholungsanforderungen
DE69921512T2 (de) Kommunikationsverfahren
CN106385374B (zh) 一种局域网发送端的缓解网络拥塞的传输控制方法及系统
DE60307505T2 (de) Verfahren zur verbesserung der qualität einer medienstromübertragung
US7444578B2 (en) Data unit sender and method of controlling the same
CN108833930B (zh) 直播数据传输控制方法、装置、直播设备及存储介质
DE112013007142T5 (de) Verwalten anstehender Bestätigungspakete in einer Kommunikationsvorrichtung
CN106789702B (zh) 控制tcp传输性能的方法及装置
DE60032310T2 (de) Netzsystem
US7613976B2 (en) Method for setting the retransmission timeout period in a packet switched communication network
CN112491658A (zh) 带宽估计方法、装置、电子设备及计算机可读存储介质
US20020090003A1 (en) Network interface driver and method
DE102015109951B4 (de) Verfahren und Vorrichtungen zum Bereitstellen einer robusten Datenkommunikation zwischen einem Client und einem Server
US6910080B2 (en) Communication efficiency and performance in an unreliable communication environment
Zhang et al. Optimizing TCP start-up performance
Dell'Aera et al. Linux 2.4 Implementation of Westwood+ TCP with rate-halving: A Performance Evaluation over the Internet
WO2002043331A1 (de) Vorrichtung und verfahren zur verkehrssteuerung von datenübertragungen in einem tcp/ip-datenübertragungsnetz
Lautenschlaeger A deterministic tcp bandwidth sharing model
Cho Flow-valve: Embedding a safety-valve in red

Legal Events

Date Code Title Description
8364 No opposition during term of opposition