DE69919027T2 - Kommunikationsendgerät und -verfahren - Google Patents

Kommunikationsendgerät und -verfahren Download PDF

Info

Publication number
DE69919027T2
DE69919027T2 DE69919027T DE69919027T DE69919027T2 DE 69919027 T2 DE69919027 T2 DE 69919027T2 DE 69919027 T DE69919027 T DE 69919027T DE 69919027 T DE69919027 T DE 69919027T DE 69919027 T2 DE69919027 T2 DE 69919027T2
Authority
DE
Germany
Prior art keywords
data unit
confirmation
data
given
received
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
DE69919027T
Other languages
English (en)
Other versions
DE69919027D1 (de
Inventor
Michael Meyer
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
Publication of DE69919027D1 publication Critical patent/DE69919027D1/de
Application granted granted Critical
Publication of DE69919027T2 publication Critical patent/DE69919027T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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
    • 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/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • 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/1607Details of the supervisory signal
    • H04L1/1635Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
    • 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/1803Stop-and-wait 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/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/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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/1858Transmission or retransmission of more than one copy of acknowledgement message
    • 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/187Details of sliding window management
    • 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
    • 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
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter

Description

  • Die vorliegende Erfindung betrifft eine Kommunikationsvorrichtung und ein Verfahren, wobei eine Dateneinheit-orientierte Kommunikation zwischen einem Sender und einem Empfänger durchgeführt wird, wobei der Sender und der Empfänger in Übereinstimmung mit einem vorbestimmten Kommunikationsprotokoll arbeiten.
  • Eine Dateneinheit-orientierte Kommunikation ist altbekannt. In einer Dateneinheit-orientierten Kommunikation wird eine Menge von Daten in eine oder mehrere Dateneinheiten geteilt, wobei der Aufbau der Dateneinheiten durch ein Kommunikationsprotokoll definiert ist, welches der Sender und der Empfänger bei der Kommunikation befolgen. Das Protokoll definiert auch, wie eine spezifische Information zu codieren ist, und wie der Sender und/oder der Empfänger auf eine spezifische Information reagieren können. Eine Dateneinheit-orientierte Kommunikation ist auch als eine Paketaustauschkommunikation bekannt. Es sei darauf hingewiesen, dass die Dateneinheiten, die bei einer Verbindung mit spezifischen Protokollen verwendet werden, unterschiedliche Namen wie etwa Pakete, Rahmen, Segmente, etc. aufweisen. Zum Zweck der vorliegenden Erfindung bezieht sich der Ausdruck "Dateneinheit" allgemein auf jedwede Typen von Einheiten, die in einer Dateneinheit-orientierten Kommunikation verwendet werden.
  • Ein Merkmal, das viele Kommunikationsprotokolle zur Erhöhung einer Zuverlässigkeit benutzen, besteht darin, empfangene Daten zu bestätigen. Spezifischer sendet ein Sender oder ein Sende-Peer des gegebenen Protokolls Dateneinheiten aus, und der Empfänger oder Empfangs-Peer des gegebenen Protokolls bestätigt den korrekten Empfang durch ein Zurückgeben geeigneter Bestätigungs-Dateneinheiten. Auf diese Weise wird der Sende-Peer informiert, dass die Dateneinheiten, die gesendet wurden, auch korrekt empfangen wurden, und er kann dementsprechend die Flusssteuerung der weiteren, zu übertragenden Dateneinheiten steuern. Ein Beispiel eines Protokolls, das Bestätigungs-Dateneinheiten verwendet, ist das sogenannte Übertragungssteuerungsprotokoll (TCP, Transmission Control Protocol), das ein Teil der TCP/IP-Protokoll-Suite ist.
  • Das Übertragungssteuerungsprotokoll und die TCP-IP-Protokoll-Suite sind z.B. in "TCP/IP Illustrated, Volume 1 – The Protocols" von W. Richard Stevens, Addison-Wesley, 1994 gut beschrieben.
  • Um der Tatsache Rechnung zu tragen, dass Dateneinheiten oder Bestätigungs-Dateneinheiten verloren gehen können, ist ein Zeitablauf-Merkmal in vielen Protokollen bereitgestellt. Ein derartiges Zeitablauf-Merkmal bedeutet, dass eine Zeitablauf-Periode gesetzt wird, wenn Daten gesendet werden, und wenn die spezifischen Daten nicht zu der Zeit bestätigt worden sind, zu der die Zeitablauf-Periode abläuft, wird eine Zeitablauf-Antwortprozedur gestartet. In dem TCP besteht die Zeitablauf-Antwort aus einem erneuten Übertragen der Daten, die nicht bestätigt wurden, und einem Rücksetzen eines oder mehrerer Verlust-Steuerungsparameter.
  • Als ein Beispiel verwendet TCP eine Fenster-basierte Flusssteuerung. TCP ist ein Byte-orientiertes Protokoll, das eine gegebene Anzahl von zu übertragenden Bytes in sogenannte Segmente teilt, und eine Aufzeichnung der gesendeten Daten wird hinsichtlich von Bytes gehalten, d.h. bis zu demjenigen Byte, bis zu dem die Daten gesendet wurden, und eine Aufzeichnung der empfangenen Daten wird auch hinsichtlich von Bytes gehalten, d.h. bis zu demjenigen Byte, bis zu dem die Daten empfangen wurden. Der einfachste Weg zum Steuern des Flusses von Segmenten in Verbindung mit Bestätigungsnachrichten wäre es, ein Segment zu übertragen und das nächste Segment nicht zu übertragen, bis das zuletzt gesendete Segment bestätigt wurde. Ein derartiges Verfahren einer Flusssteuerung würde jedoch nicht sehr effizient sein. Wie bereits erwähnt, verwendet TCP eine Fenster-basierte Flusssteuerung, die auch als eine Flusssteuerung gemäß gleitenden Fenstern bezeichnet wird. Dieses Konzept ist in dem oben erwähnten Buch von W. Richard Stevens ebenfalls gut beschrieben.
  • 2 veranschaulicht das Konzept von gleitenden Fenstern. Wie ersehen werden kann, ist eine Menge von 8.192 Bytes in dem Beispiel zu übertragen, wobei diese Menge in 8 Segmente geteilt ist. Das Übertragen der Segmente wird in Übereinstimmung mit dem Sendefenster gesteuert, wobei das linke Ende des Sendefensters durch die Daten in dem Segment definiert ist, die gesendet und bereits bestätigt worden sind. In dem Beispiel der 2 sind dies die Daten bis zu 2.048 Bytes, d.h. die Segmente 1 und 2. Die Einstellung der Länge des Sendefenster und dadurch des rechten Ende des Fensters ist eine Angelegenheit der Steuerungsprozedur, die hier im Detail nicht erläutert werden muss.
  • Das Sendefenster definiert die Menge von Daten, die ihre entsprechende Bestätigung ausstehend aufweisen können. In dem Beispiel der 2 sind die Daten bis zu 4 096 Bytes, d.h. Segmente 3 und 4 gesendet worden und noch nicht bestätigt worden, und der Unterschied zwischen derartig gesendeten und nicht bestätigten Segmenten von dem rechten Ende des Sendefensters definiert das verwendbare Fenster, d.h. die Daten, die noch gesendet werden können, ohne irgendwelche weiteren Bestätigungen empfangen zu haben. Als Konsequenz können in dem Beispiel der 2 die Segmente 5 und 6 noch gesendet werden, aber die Segmente 7 und 8 können nur gesendet werden, wenn sich das Fenster nach rechts bewegt, was dann passiert, wenn weitere Segmente bestätigt werden, derart, dass sich das linke Ende nach rechts bewegt und/oder wenn die Länge des Sendefensters zunimmt.
  • Überdies sei darauf hingewiesen, dass das TCP eine kumulative Bestätigung bereitstellt, d.h. es existiert keine Eins-zu-Eins-Entsprechung zwischen Segmenten und Bestätigungen für Segmente, weil eine Bestätigungsnachricht eine Mehrzahl von Segmenten abdecken kann. Als ein Beispiel könnte der Empfangs-Peer für die Datenmenge, die in 2 gezeigt ist, eine Bestätigung von Bytes bis zu 4.096 senden, derart, dass diese Bestätigungsnachricht beide Segmente 3 und 4 abdecken würde.
  • Das Sendefenster, das von dem Sende-Peer verwendet wird, wird in typischer Weise durch das sogenannte angebotene oder angekündigte Fenster bestimmt werden, welches eine Datenlänge ist, die dem Sende-Peer von dem Empfangs-Peer bereitgestellt wird. Auf diese Weise kann der Empfangs-Peer beeinflussen, wie viele Segmente der Sende-Peer jeweils übertragen wird, und typischer Weise wird das angekündigte Fenster auf der Grundlage des Empfangspuffers des Empfangs-Peers berechnet werden. Auch ist das angekündigte Fenster ein dynamischer Parameter, der mit jeder Bestätigung geändert werden kann, die von dem Empfangs-Peer gesendet wird.
  • Über das angekündigte Fenster hinaus ist es auch üblich, das sogenannte Besetzt-Fenster zu definieren, das in Verbindung mit mehreren Besetzt-Steuerungsroutinen wie etwa einem langsamen Start, einer Besetzt-Vermeidung, einer schnellen Neusendung und einer schnellen Wiedergewinnung verwendet wird, siehe wiederum z.B. das oben erwähnte Buch von W. Richard Stevens. Das Besetzt-Fenster ist eine Aufzeichnung, die der Sende-Peer hält, und ist dafür vorgesehen, einen Besetzt-Zustand entlang der Verbindung zwischen dem Sende-Peer und dem Empfangs-Peer zu berücksichtigen. Als ein typischer Steuerungsmechanismus wird das Sende-Fenster als das kleinere von dem angekündigten Fenster und dem Besetzt-Fenster definiert werden.
  • Während das angekündigte Fenster eine Flusssteuerung ist, die von dem Empfangs-Peer auferlegt ist, ist das Besetzt-Fenster eine Flusssteuerung, die von dem Sende-Peer auferlegt ist, als ein Mechanismus zum Berücksichtigen des Besetzt-Zustands.
  • In einem allgemeinen Sinn ist das Besetzt-Fenster ein Beispiel eines adaptiven Flusssteuerungsparameters. In dem TCP besteht die oben erwähnte Zeitablauf-Antwort aus einem Rücksetzen des Besetzt-Fensters in ein Segment und dann aus einem darauffolgenden ausschließlichen Übertragen eines Segments, nämlich einem erneuten Übertragen des Segments, das nicht bestätigt wurde und dadurch den Zeitablauf herbeiführte. Der Sende-Peer wartet dann auf die Bestätigung des erneut übertragenen Segments.
  • Ein anderes Beispiel eines adaptiven Flusssteuerungsparameters ist die Zeitablauf-Periode selbst, die z.B. in dem TCP als RTO (Zeitablauf für erneute Sendung) bezeichnet wird. Die RTO wird als Antwort auf einen Zeitablauf verdoppelt.
  • Wie bereits erwähnt, ist das Zeitablauf-Merkmal ein Datenverlust-Erfassungsmechanismus. Andere Datenverlust-Erfassungsmechanismen existieren. Ein anderes Beispiel ist die erneute Sendung von Dateneinheiten in dem TCP als Antwort auf den Empfang doppelter Bestätigungen. Dieser Mechanismus wird kurz im folgenden erläutert werden.
  • Wie bereits erwähnt (siehe z.B. 2), wird eine zu übertragende Datenmenge in eine Sequenz geteilt. Herkömmliche Implementierungen des TCP sind derart angeordnet, dass dann, wenn der Empfangs-Peer eine bestimmte Datenmenge bis zu einem gegebenen Byte empfangen und bestätigt hat (eine bestimmte Anzahl aufeinanderfolgender Segmente), der die Daten erwartet, die in der Sequenz als nächstes kommen. Beispielsweise wird, wenn Segmente bis zu dem Segment 4 hin empfangen worden sind, dann das Segment 4 bestätigt und der Empfangs-Peer erwartet, das Segment 5 zu empfangen. Wenn er dann eine weitere Dateneinheit empfängt, die unterschiedlich von dem Segment 5 ist (z.B. die Segmente 6, 7 und 8) setzt er die Bestätigung für das Segment 4 für jede Dateneinheit fort, die er empfängt. Folglich empfängt der Sende-Peer doppelte Bestätigungen. Üblicherweise ist das TCP auf eine derartige Weise implementiert, dass der Sende-Peer die Anzahl von doppelten Bestätigungen zählen wird, und wenn ein bestimmter Schwellenwert erreicht ist (z.B. 3), dann wird die Dateneinheit, die in der Sequenz als nächstes auf die Dateneinheit folgt, für welche doppelte Bestätigungen empfangen wurden, erneut übertragen.
  • Die WO 98/37670 beschreibt ein Verfahren zum Verbessern eines Transportprotokoll-Betriebsverhaltens in Netzen, welche verlustbehaftete Verbindungen aufweisen. Herkömmliche Sender in einer Kommunikation identifizieren, das ein Paket aufgrund eines Besetzt-Zustands verlorengegangen ist, entweder durch die Ankunft doppelter Bestätigungen oder durch die Abwesenheit einer Bestätigung innerhalb eines Zeitablauf-Intervalls. In Reaktion auf einen Besetzt-Zustand werden geeignete Steuerungsschemata in dem Sender wie etwa ein langsamer Start, eine schnelle Wiedergewinnung und eine schnelle erneute Übertragung ausgeführt. Die WO 98/37670 zeigt ferner auf, dass dann, wenn übertragene Pakete aus anderen Gründen als einem Besetzt-Zustand nicht empfangen werden können, Besetzt-Zustand-Kombinationsmaßnahmen schädlich sein können.
  • Die WO 98/37670 schlägt eine Verwendung selektiver Bestätigungen vor, die anzeigen, welche Pakete erfolgreich empfangen wurden, und welche mit Nicht-Besetzt-Zustand-Bitfehlern empfangen wurden, während doppelte Bestätigungen unterdrückt werden, um den Aufruf eines Besetzt-Mechanismus zu verhindern.
  • Der Artikel "A comparison of Mechanisms for Improving TCP Performance over Wireless Links" von H. Balakrishnan et al, IEEE/ACM Transactions on Networking, Bd. 5, Nr. 6, 12/1997, XP-000734405 beschreibt ein ähnliches Schema wie die WO 98/37670. Zusätzlich zu selektiven Bestätigungen erwähnt dieser Artikel auch eine explizite Verlustbenachrichtigung (ELN).
  • Es ist die Aufgabe der vorliegenden Erfindung, die Kommunikation in einem System zu verbessern, das ein Kommunikationsprotokoll verwendet, das die Bestätigung gesendeter Daten spezifiziert und eine Datenverlust-Erfassungsfunktion wie etwa eine Zeitablauffunktion oder eine doppelte Bestätigungs-Antwortfunktion spezifiziert.
  • Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch 17 gelöst. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen beschrieben.
  • In Übereinstimmung mit der vorliegenden Erfindung wird ein Sender in einer Kommunikation eine Antwortprozedur als Antwort auf ein Ereignis ausführen, das einen Datenverlustmechanismus triggert, wobei die Antwortprozedur zumindest zwei unterschiedliche Modi zum Anpassen der adaptiven Parameter umfasst, die in einer Flusssteuerung verwendet werden. Auf diese Weise sind das Verfahren und die Vorrichtung der vorliegenden Erfindung in hohem Maße in ihrer Verwaltung zum Triggern von Ereignissen flexibel und können insbesondere auf eine derartige Weise implementiert werden, dass die Antwortprozedur in Abhängigkeit verschiedener potentieller Ursachen des Trigger-Ereignisses gewählt werden können, derart, dass die korrekten Antwortmaßnahmen auf eine gegebene Situation aufgerufen werden können, und dadurch Maßnahmen vermieden werden können, die die Situation tatsächlich verschlimmern können, die auftreten können, nachdem ein Datenverlust-Erfassungsmechanismus getriggert wurde.
  • Der Datenverlust-Erfassungsmechanismus ist ein Mechanismus, der in der Lage ist, einen Datenverlust zu erfassen. Beispiele sind ein Zeitablauf-Mechanismus oder ein doppelter Bestätigungs-Mechanismus. Natürlich kann die Erfindung auf jedweden geeigneten Datenverlust-Erfassungsmechanismus angewandt werden.
  • Gemäß der vorliegenden Erfindung umfasst eine Antwortprozedur zumindest zwei unterschiedliche Modi zum Anpassen der adaptiven Parameter, die in der Flusssteuerung verwendet werden. Als ein Beispiel, das eine bevorzugte Ausführungsform bildet, sind zwei Modi vorhanden, die jeweils unterschiedlichen Ursachen eines Zeitablaufs oder einer vorbestimmten Anzahl von doppelten Bestätigungen (z.B. die oben erwähnten 3) zugeordnet werden. Spezifischer ist ein erster Modus dem Verlust einer Dateneinheit zugeordnet, und der zweite Modus ist einer übermäßigen Verzögerung entlang der Verbindung zugeordnet. Aufgrund der Verwendung zweier unterschiedlicher Modi ist es möglich, die Parameter anzupassen, wie es für die Ursache des Zeitablaufs oder doppelter Bestätigungen geeignet ist. Dementsprechend wird die Flusssteuerungsprozedur einen oder mehrere Evaluations- und Beurteilungsschritte enthalten, in welchen das Trigger-Ereignis qualifiziert wird, z.B. eine Kategorisierung wird dahingehend durchgeführt, was das Ereignis herbeiführt. Dann kann in Abhängigkeit von dem Ergebnis dieser Charakterisierung eine geeignete Antwortprozedur ermöglicht werden. In dem Kontext des obigen Beispiels kann, wenn bestimmt wird, dass der Zeitablauf oder die doppelten Bestätigungen durch den Verlust einer Dateneinheit herbeigeführt sind, dann die bekannte Antwortprozedur auf dem Verlust von Dateneinheiten durchlaufen werden, wie es z.B. aus dem herkömmlichen TCP bekannt ist, das annimmt, das jedweder Zeitablauf oder der Empfang mehrerer doppelter Bestätigungen durch den Verlust einer Dateneinheit herbeigeführt ist. In Übereinstimmung mit der vorliegenden Erfindung ist jedoch ein zweiter Modus vorhanden, und wenn bestimmt wird, dass der Zeitablauf und doppelte Bestätigungen durch eine übermäßige Verzögerung entlang der Verbindung herbeigeführt sind, wird dann eine Antwortprozedur auf eine übermäßige Verzögerung durchlaufen, die typischer Weise unterschiedlich von der Antwortprozedur auf den Verlust einer Dateneinheit sein wird.
  • Spezifischer, wie auch detaillierter im folgenden erläutert werden wird, wird die Beurteilung, dass Dateneinheiten verlorengegangen sind, durch ein Verringern der Übertragungsrate beantwortet werden, um dadurch einen weiteren Besetzt-Zustand zu vermeiden. Andererseits wären, wenn eine übermäßige Verzögerung entlang der Verbindung vorhanden ist, dann die Maßnahmen, die als Antwort auf einen angenommenen Verlust von Dateneinheiten unternommen werden, nicht hilfreich, vielmehr können sie tatsächlich das Problem verschlimmern, das die übermäßige Verzögerung herbeiführt. Folglich wird die Antwortprozedur auf eine übermäßige Verzögerung typischer Weise unterschiedlich sein, und z.B. ein Aufrechterhalten der Übertragungsrate auf dem vorherigen Pegel, aber andererseits ein Erhöhen der Zeitablaufperiode umfassen, derart, dass weitere unnötige erneute Übertragungen vermieden werden.
  • Natürlich kann die vorliegende Erfindung bereitgestellt werden, eine beliebige Anzahl von Modi oder Antwortprozeduren auf verschiedene Fälle von Trigger-Ereignissen bereitzustellen. Die Anzahl der Modi und der spezifischen Maßnahmen, die in jedem Modus unternommen werden, hängen natürlich von der spezifischen Situation ab, d.h. dem gewählten Protokoll, der gegebenen Kommunikationssituation, etc.
  • Ein wichtiger Aspekt der vorliegenden Erfindung besteht darin, dass, obwohl der Datenverlustmechanismus in der Lage ist, einen Datenverlust zu erfassen, die Reaktion auf das Trigger-Ereignis des Datenverlust-Erfassungsmechanismus nicht annimmt, dass ein Datenverlust notwendigerweise aufgetreten ist, vielmehr ist eine flexible Antwort möglich, die verschiedene Ursachen des Trigger-Ereignisses berücksichtigen kann.
  • Weitere Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung besser verstanden werden, die Bezug nimmt auf die Figuren.
  • In den Figuren zeigen:
  • 1 eine bevorzugte Ausführungsform der Steuerungsprozedur gemäß der vorliegenden Erfindung;
  • 2 ein Erläutern des Diagramms zum Beschreiben des Konzeptes einer Fenster-basierten Flusssteuerung;
  • 3 einen Graphen zum Erläutern der Vorteile der vorliegenden Erfindung; und
  • 4 ein Erläutern des Diagramms zum Veranschaulichen einer Situation, in welcher eine übermäßigen Verzögerung in einer Verbindung zwischen zwei Host-Computern herbeigeführt werden kann.
  • Obwohl die folgende Beschreibung allgemein auf irgendein Kommunikationsprotokoll gerichtet sein wird, das eine Datenbestätigung verwendet und auch ein Zeitablauf-Merkmal bereitstellt, werden Beispiele häufig gegeben werden, die das Übertragungssteuerungsprotokoll TCP betreffen, das aus der TCP/IP-Protokoll-Suite bekannt ist. Die Anwendung der vorliegenden Erfindung auf dieses Protokoll ist eine bevorzugte Ausführungsform. Um jedwede unnötige Wiederholung zu vermeiden, ist die Offenbarung in der Einleitung dieser Anmeldung in die Erfindungsoffenbarung eingeschlossen.
  • 1 zeigt ein Teil-Flussdiagramm einer bevorzugten Ausführungsform der vorliegenden Erfindung. Wie ersehen werden kann, zeigt ein Schritt S1 an, dass in eine Antwortprozedur eingetreten wird. 1 zeigt nicht die Flusssteuerungsprozedur, die zu diesem Punkt führt, da sie für die vorliegende Erfindung nicht von Wichtigkeit ist. Beispielsweise kann sie die Fenster-basierte Flusssteuerungsprozedur sein, die in Verbindung mit 2 erläutert ist und z.B. aus dem TCP altbekannt ist. Es ist für die Erfindung nur wichtig, dass ein Datenbestätigungs- und ein Datenverlusterfassungs-Merkmal vorhanden ist, und dass ein Sende-Peer des Protokolls die Fähigkeit eines Erfassens eines möglichen oder potentiellen Datenverlusts aufweist, und eine entsprechende Antwortprozedur durchführen kann. Wie bereits erwähnt, kann das Datenverlust-Erfassungsmerkmal z.B. ein Zeitablauf-Merkmal oder ein Erfassungsmerkmal für eine doppelte Bestätigung sein.
  • In dem Beispiel der 1 werden, nachdem in die Antwortprozedur eingetreten ist, selektive adaptive Parameter, die für die Flusssteuerung verwendet werden, gespeichert und dann auf vorbestimmte Werte in einem Schritt S2 zurückgesetzt. Als ein Beispiel sind die Zeitablaufperiode und/oder das umgeschriebene Besetzt-Fenster adaptive Flusssteuerungsparameter. In dem herkömmlichen TCP wird das Besetzt-Fenster typischer Weise auf einen Wert eines Segments zurückgesetzt und gleichzeitig wird die RTO verdoppelt. Es sei darauf hingewiesen, dass nicht sämtliche adaptiven Parameter, die in der Flusssteuerungsprozedur verwendet werden, tatsächlich geändert werden müssen, vielmehr nur eine ausgewählte Anzahl.
  • Es sollte auch klar sein, dass die vorliegende Erfindung natürlich nicht auf eine Fenster-basierte Flusssteuerung und die zugeordneten adaptiven Parameter beschränkt ist, vielmehr ist die Verbindung auf jedes Flusssteuerungsprinzip und die zugeordneten adaptiven Parameter anwendbar.
  • Zurückkehrend auf 1 wird die Dateneinheit, die das Ereignis triggerte (z.B. einen Zeitablauf herbeiführte) erneut in einem Schritt S3 übertragen. Mit anderen Worten wird, wenn bei dem Beispiel eines Zeitablaufs geblieben wird, die Dateneinheit, für welche eine Bestätigung empfangen wurde, während der Zeitablaufperiode erneut übertragen. Dann wird zu einem späteren Zeitpunkt in einem Schritt S4 bestimmt, ob eine Bestätigung, die der erneut übertragenen Dateneinheit zugeordnet ist, empfangen worden ist. Dies kann eine kumulative Bestätigung oder auch eine einzelne Bestätigung sein. Es sei darauf hingewiesen, dass die gestrichelten Linien in 1 anzeigen, dass andere Schritte dazwischengesetzt werden können, aber diese sind für die vorliegende Erfindung von keiner Bedeutung. Dann bestimmt gemäß dem bevorzugten Beispiel der 1 ein Schritt S5, ob die Bestätigung, die der Dateneinheit zugeordnet ist, die erneut übertragen wurde, tatsächlich die ursprüngliche Übertragung der Dateneinheit oder die erneute Übertragung bestätigt. Es sei darauf hingewiesen, dass die "ursprüngliche Übertragung" bereits eine erneute Übertragung sein kann, derart, dass die "erneute Übertragung" die erneute Übertragung einer erneuten Übertragung sein kann, etc. Es sind verschiedene Möglichkeiten eines Implementierens des Schritts S5 vorhanden, wie weiter erläutert werden wird.
  • Wenn der Schritt S5 bestimmt, dass die Bestätigungsnachricht tatsächlich die erneute Übertragung der Dateneinheit bestätigt, dann geht die Prozedur zu einem Schritt S7, in welchem eine Dateneinheit-Verlustantwortprozedur abläuft, weil das negative Ergebnis des Entscheidungsschritts S5 anzeigt, dass die ursprüngliche Übertragung der Dateneinheit verloren ging. In dem Beispiel von TCP wird der Schritt S7 aus herkömmlichen Maßnahmen gegenüber einem Dateneinheitverlust bestehen.
  • Im Gegensatz dazu geht, wenn der Entscheidungsschritt S5 bejahend beantwortet wird, dann die Prozedur zu einem Schritt S6, in welchem eine Antwortprozedur läuft, die eine übermäßige Verzögerung beantwortet. Mit anderen Worten müssen, weil der Schritt S5 anzeigt, dass die ursprüngliche Übertragung der Dateneinheit tatsächlich nicht verloren ging, sondern nur übermäßig verzögert wurde, entsprechende Maßnahmen unternommen werden. Beispielsweise kann dies, wenn das TCP als ein Protokollbeispiel genommen wird, aus einem Zurücksetzen des Besetzt-Fensters auf den Wert bestehen, der im Schritt S2 gespeichert ist, und andererseits einem Anpassen der Zeitablauf-Periode an die Verzögerung. Mit anderen Worten können die Rundlaufzeit RTT, die der ursprünglichen Übertragung zugeordnet ist, und die Bestätigung der ursprünglichen Übertragung als eine Grundlage zum Anpassen der Zeitablauf-Periode verwendet werden. Dadurch können weiter unnötige erneute Übertragungen und Zeitabläufe oder doppelte Bestätigungen aufgrund einer übermäßigen Verzögerung vermieden werden.
  • Vorzugsweise wird das Besetzt-Fenster nicht einfach auf den vorherigen Wert zurückgesetzt, sondern vielmehr auf den Wert gesetzt, den es angenommen hätte, wenn die Antwortprozedur nicht stattgefunden hätte, d.h. der Datenverlust-Erfassungsmechanismus nicht ausgelöst worden wäre.
  • Wie ersehen werden kann, zeigt das Beispiel der 1 einen ersten Modus, der aus den Schritten S2, S3, S4, S5 und S7 besteht, wie auch einem zweiten Modus, der aus den Schritten S2, S3, S4, S5 und S6 besteht.
  • Um die vorliegende Erfindung besser zu erläutern, wird nun Bezug genommen werden auf 3, die ein Beispiel einer Flusssteuerungsprozedur zeigt, die in Verbindung mit dem herkömmlichen TCP ausgeführt wird. Der Graph zeigt die Menge von Daten in transportierten Bytes über der Zeit. Wie ersehen werden kann, werden die ersten beiden Segmente zu einer Zeit t=4s gesendet. Dann werden aufgrund der Wechselwirkung der empfangenen Bestätigungsdateneinheiten und der Einstellung adaptiver Parameter, die nicht gezeigt sind, Segmente gesendet.
  • Zum Zwecke einer Erläuterung sei darauf hingewiesen, dass die diamantförmigen Symbole sich auf Segmente beziehen und die quadratischen Symbole auf Bestätigungsdaten-Einheiten. Die Diamantsymbole zeigen das erste Byte des Segments an, wohingegen die Quadrate das niedrigste nicht-bestätigte Byte anzeigen. Die Bestätigungsdateneinheiten, die in einem bestimmten Segmentpegel angezeigt sind, bestätigen immer die gesendeten Segmente bis zu dem Segmentpegel. Mit anderen Worten bestätigt die Bestätigung bei einem Segmentpegel 6.400 Bytes (t=12s) die Segmente unterhalb 6.400 Byte, aber nicht einschließend das Byte 6.400. Ganz im Gegensatz dazu, wie explizit in dem Graphen angezeigt, ist das Segment bei 6.400 Byte (t=10s) eine Dateneinheit oder ein Paket, das einen Zeitablauf herbeiführt. Als Folge wird eine erneute Übertragung der Dateneinheit bei dem 6.400 Byte-Pegel durchgeführt.
  • Wenn nun angenommen wird, dass der Zeitablauf, der in 3 gezeigt ist, durch eine übermäßige Verzögerung herbeigeführt wurde, nicht dadurch, dass das gezeigte erste Paket verloren geht, dann weist die erneute Übertragung die folgenden negativen Konsequenzen auf.
  • Einerseits führt sie zu einem verringerten Durchsatz-Betriebsverhalten, da die gleichen Daten die Verbindung oder den Verbindungspfad zweifach durchlaufen müssen, was Bandbreiten verschwendet, die andernfalls für Nutzdaten hätten verwendet werden können. Diese negative Konsequenz wird in jedwedem Protokoll auftreten, das auf einem Zeitablauf fälschlicherweise durch ein erneutes Übertragen der Dateneinheit antwortet.
  • Falls, wie in 3 gezeigt, das TCP-Protokoll verwendet wird, dann ist die Reaktion des Sende-Peers auf einen derartigen Zeitablauf, der nicht von einem Dateneinheitverlust herbeigeführt wird, besonders nachteilig: Der Sender wird sämtliche ausstehende Pakete erneut übertragen und darüber hinaus eine Übertragungsrate verringern. Dies ist explizit in 3 gezeigt.
  • Es sei darauf hingewiesen, dass der oben beschriebene Zeitablauf, der durch einen Dateneinheitverlust herbeigeführt wird, auch als ein unechter Zeitablauf bezeichnet wird.
  • Wie in 3 gezeigt wird, missinterpretiert in dem herkömmlichen TCP der Sender sämtliche Bestätigungen, die erneut übertragenen Dateneinheiten zugeordnet sind, als Bestätigen der erneuten Übertragung, auch wenn diese Bestätigungen (ACKs) tatsächlich verzögerte Bestätigungen der ursprünglichen Übertragungen sind.
  • Was 3 nicht zeigt, ist, dass die doppelten Dateneinheiten, die von dem Sende-Peer gesendet werden, zusätzlich doppelte Bestätigungen in dem Empfangs-Peer triggern werden, was noch zu einer weiteren Verringerung in der Übertragungsrate in dem herkömmlichen TCP-Sender führt, das Besetzt-Fenster wird nämlich auf eine Hälfte seines früheren Werts gesetzt.
  • Das Auftreten einer übermäßigen Verzögerung, die über das hinausgeht, was die TCP-Zeitablauf-Periode berücksichtigen kann, kann insbesondere bei drahtlosen Netzen oder derartigen Protokollverbindungen auftreten, von welchem zumindest ein Teil über eine drahtlose Verbindung läuft. Die Erfinder der vorliegenden Anmeldung erkannten, dass unechte Zeitabläufe oft genug in derartigen Netzen vorkommen können, so dass eine Erstverschlechterung des Betriebsverhaltens resultiert. Beispiele hierfür werden nun kurz erwähnt werden.
  • 4 zeigt eine Situation, wo zwei Host-Computer als Peers des TCP wirken (angezeigt durch die langen Pfeile von Host zu Host an der Unterseite und der Oberseite der Figur). Die unteren Protokollschichten umfassen eine Funkverbindung über ein drahtloses Zugriffsnetz auf das Internet. Die Verbindung zwischen dem Internet und dem Host auf der rechten Seite ist nicht gezeigt. Ein Beispiel eines Protokolls für die Funkverbindung ist das sogenannte Funkverbindungs-Steuerungsprotokoll RLC. Wie in 4 angezeigt, weisen sowohl das Transportschichtprotokoll (z.B. TCP) als auch das Verbindungsschichtprotokoll (z.B. RLC) eine ARQ (Automatische Anforderung für erneute Übertragung)-Funktion auf. Dies bedeutet, dass diese Protokolle sowohl Zeitablauf- als auch erneute Übertragungsfunktionen implementieren. In der Situation der 4 wird aufgrund der ARQ, die in der Verbindungsschicht verwendet wird, eine Wettlaufbedingung zwischen der Verbindungsschicht und der Transportschicht erzeugt: Während die Verbindungsschicht Daten erneut überträgt, kann der Transport-Neuübertragungs-Zeitgeber ablaufen, was zu einem unechten Zeitablauf führt. Die erneuten Übertragungen in der Verbindungsschicht können z.B. aufgrund von Übertragungsfehlern oder einem Datenverlust wegen Kanalwechseln vorhanden sein.
  • Es sei auch darauf hingewiesen, dass die Übertragungsverzögerung über das drahtlose Netz oft ein beträchtlicher Teil der End-zu-End-Verzögerung zwischen dem Sende-Peer und dem Empfangs-Peer des Transportschichtprotokolls ist. Wenn in diesem Fall die Bandbreite, die für die Transportschichtverbindung verfügbar ist, in dem drahtlosen Netz über einer kurzen Zeitperiode beträchtlich abfällt, kann die resultierende Zunahme in der End-zu-End-Verzögerung zwischen dem Transportschicht-Sender- und Empfänger zu unechten Zeitabläufen führen. Beispiele von Bandbreitenabfällen schließen mobile Hosts ein, die einen Kanalwechsel in einer Zelle durchführen, die eine geringere Bandbreite als die alte Zelle bereitstellt.
  • Wie bereits zuvor angezeigt, kann, wenn die vorliegende Erfindung eingesetzt wird, das in Verbindung mit 3 beschriebene Problem vermieden werden. Spezifischer kann, wenn das Verfahren, das in Verbindung mit 1 beschrieben ist, auf das Problem in 3 angewandt wird, dann der Sende-Peer zwischen Bestätigungsdateneinheiten auf die ursprüngliche Übertragung einer Dateneinheit und Bestätigungsdateneinheiten auf die erneute Übertragung einer Dateneinheit unterscheiden. Auf dieser Information kann der Sender bestimmen, ob ein unechter Zeitablauf aufgetreten ist, oder ob tatsächlich ein Verlust einer Dateneinheit vorhanden war. Der Sender kann dann dementsprechend reagieren.
  • Spezifischer wird in dem Beispiel der 3 der Sender, der die Erfindung verwendet, in der Lage sein, die Bestätigungsdateneinheit, die empfangen wird, nachdem das gezeigte erste Paket erneut übertragen worden ist, identifizieren, eine Bestätigung für die ursprüngliche Übertragung (t=10s) und nicht für die erneute Übertragung (t=15s) zu sein. Aufgrund dessen wird der Sender eine geeignete Antwortprozedur auf die übermäßige Verzögerung durchführen, nämlich nicht die Dateneinheiten, die der ersten erneuten übertragenen Dateneinheit folgen, erneut übertragen, und auch nicht die Übertragungsrate verringern, vielmehr wird der Sender die Zeitablaufperiode, die in der Flusssteuerung eingesetzt wird, auf der Grundlage der gemessenen Verzögerung zwischen dem ursprünglichen Übertragen der Dateneinheit und dem Empfang der entsprechenden Bestätigungsdateneinheit für das ursprüngliche Übertragen erhöhen. Auf diese Weise können unechte erneute Übertragungen und Zeitabläufe vermieden werden.
  • Wie ersehen werden kann, ist die vorliegende Erfindung in der Lage, einen Mechanismus bereitzustellen, der ein flexibleres Kommunikationssystem zulässt, wenn ein Protokoll verwendet wird, das eine Bestätigung von Daten und eine Zeitablauffunktion oder eine doppelte Bestätigungs-Erfassungsfunktion bereitstellt. In dem gerade beschriebenen Beispiel ist die Erfindung in der Lage, ein Trigger-Ereignis zu qualifizieren, d.h. zwischen zumindest zwei unterschiedlichen Fällen zu unterscheiden, und dann in der Lage, eine geeignete Antwortprozedur aufzurufen. Es sei darauf hingewiesen, dass in den obigen Beispielen die Modi zum Anpassen der adaptiven Parameter einem Dateneinheitverlust einerseits und einer übermäßigen Verzögerung andererseits zugeordnet waren, aber natürlich ist die vorliegende Erfindung keineswegs darauf beschränkt. Vielmehr können die Modi zum Anpassen der adaptiven Parameter jedwedem möglichen Grund von Zeitablaufereignissen oder doppelten Bestätigungsereignissen zugeordnet werden.
  • In der in 1 beschriebenen Ausführungsform wurde in dem Schritt S5 bestimmt, ob die Bestätigungsdateneinheit, die einer gegebenen Dateneinheit zugeordnet ist, die ursprüngliche Übertragung oder die erneute Übertragung der gegebenen Dateneinheit bestätigte. Gemäß einer ersten bevorzugten Ausführungsform zum Implementieren dieses Schritts hält der Sender eine Aufzeichnung der Rundlaufzeit RTT, die der Verbindung zwischen dem Sende- und dem Empfangs-Peer zugeordnet ist, und hält insbesondere eine Aufzeichnung der kürzesten RTT, die während der Verbindung oder der Sitzungseinrichtung bis zu dem betrachteten Zeitpunkt gefunden wird. Dann bestimmt, wenn eine Bestätigungsdateneinheit für eine erneute übertragene Dateneinheit innerhalb einer Zeitperiode empfangen wird, die kleiner als ein vorbestimmter Teil der kürzesten RTT ist, dann der Sender, dass diese Bestätigung zu der ursprünglichen Übertragung und nicht zu der erneuten Übertragung gehört. Dieser Teil kann auf einen festen Wert eingestellt werden, oder er kann selbst ein adaptiver Parameter sein. Natürlich ist es nicht notwendig, dass der Vergleichswert, der mit dem Teil multipliziert wird, die kürzeste gemessene RTT ist, vielmehr ist es auch möglich, dass der Sender einen mittleren RTT-Wert hält. In diesem Sinne ist der Vergleichswert, der mit dem Teil zu multiplizieren ist, allgemein eine Funktion eines oder mehrerer RTT-Werte, die in dem Verlauf der Verbindung gemessen werden (während der Sitzung).
  • Gemäß einer anderen bevorzugten Ausführungsform zum Implementieren des Schritts S5 addiert der Sender eine Markierung zu Dateneinheiten, die er sendet, wobei die Markierung auf eine derartige Weise definiert ist, dass sie es zulässt, zwischen einer ursprünglichen Übertragung und einer erneuten Übertragung zu unterscheiden. Dann kann der Empfänger entsprechend Bestätigungsdateneinheiten markieren, derart, dass der Sender in der Lage ist, zu identifizieren, ob sich eine Bestätigung auf die ursprüngliche Übertragung oder die erneute Übertragung bezieht.
  • Dieses Markieren von Dateneinheiten kann auf jedwede gewünschte Weise durchgeführt werden. Beispielsweise wäre es theoretisch möglich, einfach ein einzelnes Bit in den Dateneinheiten zu bezeichnen, wobei ein Wert von 0 eine ursprüngliche Übertragung und ein Wert von 1 eine erneute Übertragung kennzeichnen würde, oder umgekehrt. In einem allgemeinen Sinne kann eine Bitkette gewählt werden, die auch etwas mehr Information übertragen kann. Jedoch ist es in Verbindung mit Protokollen, die eine derartige Option bereitstellen, vorzuziehen, die Zeitstempeloption zu verwenden. Diese Option ist z.B. für TCP altbekannt, siehe das oben erwähnte Buch von W.R. Stevens. Mit anderen Worten ist es vorzuziehen, einen Zeitstempel in gesendeten Dateneinheiten einzuschließen, der anzeigt, wann die Dateneinheit gesendet wurde. Der Empfänger kann dann einfach den Zeitstempel in die Bestätigungsdateneinheit einschließen, so dass der Sender eine eindeutige Weise zum Identifizieren der Dateneinheiten hat, auf welche sich die Bestätigung bezieht.
  • Obwohl die vorliegende Erfindung in Verbindung mit bevorzugten Ausführungsformen beschrieben worden ist, beschränken diese den Umfang nicht, und sind nur vorgesehen, um ein besseres Verständnis der Erfindung zu vermitteln. Vielmehr ist der Umfang der Erfindung durch die angehängten Ansprüche bestimmt.

Claims (30)

  1. Verfahren zum Steuern einer Dateneinheit-orientierten Kommunikation zwischen einem Sender und einem Empfänger, die in Übereinstimmung mit einem vorbestimmten Kommunikationsprotokoll arbeiten, wobei der Sender eine Länge von zu sendenden Daten in eine oder mehrere Dateneinheiten teilt, die einen Aufbau aufweisen, der durch das Protokoll bestimmt ist, der Empfänger den korrekten Empfang der Dateneinheiten durch ein Zurückgeben von Bestätigungsdateneinheiten zu dem Sender bestätigt, die Dateneinheiten von dem Sender in Übereinstimmung mit einer Flusssteuerungsprozedur gesendet werden, die auf der Grundlage eines oder mehrerer adaptiver Parameter und der Bestätigungs-Dateneinheiten durchgeführt wird, und die Flusssteuerungsprozedur einen Datenverlust-Erfassungsmechanismus umfasst, der in der Lage ist, einen Datenverlust in der Kommunikation zu erfassen, wobei der Datenverlust-Erfassungsmechanismus getriggert wird, um den potentiellen Verlust von Daten durch ein oder mehrere vorbestimmte Ereignisse anzuzeigen, wobei im Ansprechen auf das Triggern des Datenverlust-Erfassungsmechanismus eine entsprechende Antwortprozedur (S1, S2, S3, S4, S5, S6, S7) durchgeführt wird, die die erneute Übertragung (S3) einer gegebenen Dateneinheit umfasst, dadurch gekennzeichnet, dass die Antwortprozedur (S1, S2, S3, S4, S5, S6, S7) zumindest zwei unterschiedliche Modi (S6, S7) zum Anpassen des einen oder der mehreren adaptiven Parameter umfasst, und eine Entscheidung (S5) umfasst, welcher der zumindest zwei Modi (S6, S7) zum Anpassen der adaptiven Parameter auszuwählen ist, wobei die Entscheidung (S5) auf der Grundlage einer oder mehrerer Bestätigungsdateneinheiten ausgeführt wird, die von dem Sender empfangen werden, nachdem die gegebene Dateneinheit erneut übertragen worden ist.
  2. Verfahren nach Anspruch 1, wobei der Datenverlust-Erfassungsmechanismus ein Zeitablaufmechanismus ist, derart, dass, nachdem eine gegebene Dateneinheit gesendet worden ist, der Sender eine Zeitablaufperiode überwacht, und wenn keine Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, empfangen wird, bevor die Zeitablaufperiode abläuft, der Zeitablaufmechanismus getriggert wird.
  3. Verfahren nach Anspruch 1, wobei der Datenverlust-Erfassungsmechanismus ein doppelter Bestätigungserfassungsmechanismus ist, derart, dass der Sender die empfangenen Bestätigungen überwacht, und wenn eine Dateneinheit eine vorbestimmte Anzahl von Malen bestätigt ist, der doppelte Bestätigungserfassungsmechanismus getriggert wird.
  4. Verfahren nach Anspruch 2, wobei die Zeitablaufperiode einer der adaptiven Parameter ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Flusssteuerungsprozedur Fenster-basiert ist und ein oder mehrere Flusssteuerfenster unter den adaptiven Parametern sind.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die zumindest zwei Modi aus einem ersten und einem zweiten Modus bestehen, wobei der erste Modus der Beurteilung zugeordnet ist, dass das Triggerereignis durch den Verlust der gegebenen Dateneinheit herbeigeführt wurde, und der zweite Modus der Beurteilung zugeordnet ist, dass die gegebene Dateneinheit oder die Bestätigungsdateneinheit für die gegebene Dateneinheit übermäßig verzögert worden ist.
  7. Verfahren nach Anspruch 6, wobei der Sender Dateneinheiten, die gesendet werden, derart markiert, dass eine ursprüngliche Übertragung von einer erneuten Übertragung unterschieden werden kann, und der Empfänger dementsprechend die Bestätigungsdateneinheiten markiert, derart, dass die Bestätigung einer ursprünglich gesendeten Dateneinheit von der Bestätigung der erneuten Übertragung der Dateneinheit unterschieden werden kann.
  8. Verfahren nach Anspruch 7, wobei der Sender Dateneinheiten markiert, indem ein Zeitstempel in jede gesendete Dateneinheit eingeschlossen wird, wobei der Zeitstempel die Zeit anzeigt, zu der die Dateneinheit gesendet wurde, und der Empfänger die Bestätigungsdateneinheit für eine empfangene Dateneinheit markiert, indem der Zeitstempel, der in der empfangenen Dateneinheit enthalten ist, in die Bestätigungsdateneinheit für die empfangene Dateneinheit eingeschlossen wird.
  9. Verfahren nach Anspruch 7, wobei der Sender Dateneinheiten markiert, indem eine Bitkette in jede gesendete Dateneinheit eingeschlossen wird, wobei die Bitkette zumindest zwei unterschiedliche Werte zum Unterscheiden zwischen einer ursprünglichen Übertragung und einer erneuten Übertragung aufweist, und der Empfänger die Bestätigungsdateneinheit für eine empfangene Dateneinheit markiert, indem die Bitkette, die in der empfangenen Dateneinheit enthalten ist, in die Bestätigungsdateneinheit für die empfangene Dateneinheit eingeschlossen wird.
  10. Verfahren nach Anspruch 9, wobei die Bitkette aus einem einzigen Bit besteht.
  11. Verfahren nach Anspruch 9, wobei die Bitkette aus einer Mehrzahl von Bits besteht, derart, dass die Bitkette in der Lage ist, zwischen unterschiedlichen erneuten Übertragungen zu unterscheiden.
  12. Verfahren nach einem der Ansprüche 9 bis 11, wobei der erste Modus gewählt wird, wenn die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, die empfangen wird, nachdem die gegebene Dateneinheit erneut übertragen worden ist, die erneute Übertragung der gegebenen Dateneinheit bestätigt, und der zweite Modus gewählt wird, wenn die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, die empfangen wird, nachdem die gegebene Dateneinheit erneut übertragen worden ist, die ursprüngliche Übertragung der gegebenen Dateneinheit bestätigt.
  13. Verfahren nach Anspruch 6, wobei der Sender die Rundlaufzeit misst, die der Verbindung zum Senden der Menge von Daten zugeordnet ist, die Zeit zwischen der erneuten Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, bestimmt und mit einem Wert verglichen wird, der von einer oder mehreren der Rundlaufzeit-Messungen abgeleitet wird, und der erste oder zweite Modus auf der Grundlage des Ergebnisses des Vergleichs gewählt wird.
  14. Verfahren nach Anspruch 13, wobei der Wert, der von den Rundlaufzeit-Messungen abgeleitet wird, die kürzeste Rundlaufzeit für die Verbindung ist, und der zweite Modus gewählt wird, wenn die Zeit zwischen der erneuten Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, kleiner als ein vorbestimmter Teil der kleinsten Rundlaufzeit ist.
  15. Verfahren nach einem der Ansprüche 6 bis 14, wobei der zweite Modus ein Anpassen der Zeitablaufperiode auf der Grundlage der Zeit umfasst, die zwischen der ursprünglichen Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, verstrichen ist.
  16. Verfahren nach einem der Ansprüche 6 bis 15, wobei die Flusssteuerungsprozedur Fenster-basiert ist und ein Besetzt-Fenster verwendet wird, wobei der Wert des Besetzt-Fensters zu der Zeit des Triggerereignisses gespeichert wird, nachdem das Trigger-Ereignis aufgetreten ist, und darauf der Wert des Besetzt-Fensters auf einen vorbestimmten Wert zurückgesetzt wird, und wenn der zweite Modus gewählt wird, nachdem die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, empfangen worden ist, der Wert des Besetzt-Fensters auf den Wert gesetzt wird, den er angenommen hätte, wenn die Antwortprozedur nicht stattgefunden hätte.
  17. Kommunikationsvorrichtung für eine Dateneinheitorientierte Kommunikation in Übereinstimmung mit einem vorbestimmten Kommunikationsprotokoll, wobei das Kommunikationsprotokoll vorschreibt, dass der Sender in einer Kommunikation eine Menge von zu sendenden Daten in eine oder mehrere Dateneinheiten teilt, die einen Aufbau aufweisen, der durch das Protokoll bestimmt ist, und der Empfänger in der Kommunikation den korrekten Empfang der Dateneinheiten durch ein Zurückgeben von Bestätigungsdateneinheiten zu dem Sender bestätigt, wobei die Kommunikationsvorrichtung umfasst: eine Einrichtung derart, dass, wenn die Kommunikationsvorrichtung als ein Sender wirkt, diese ausgelegt ist, Dateneinheiten in Übereinstimmung mit einer Flusssteuerungsprozedur zu senden, die auf der Grundlage eines oder mehrerer adaptiver Parameter und der Bestätigungsdateneinheiten durchgeführt wird, wobei die Flusssteuerungsprozedur einen Datenverlust-Erfassungsmechanismus umfasst, der in der Lage ist, einen Datenverlust in der Kommunikation zu erfassen, wobei der Datenverlust-Erfassungsmechanismus getriggert wird, um den potentiellen Verlust von Daten durch ein oder mehrere vorbestimmte Ereignisse anzuzeigen, wobei im Ansprechen auf das Triggern des Datenverlust-Erfassungsmechanismus eine entsprechende Antwortprozedur durchgeführt wird, die die erneute Übertragung einer gegebenen Dateneinheit umfasst, dadurch gekennzeichnet, dass die Kommunikationsvorrichtung derart ausgelegt ist, dass die Antwortprozedur (S1, S2, S3, S4, S5, S6, S7) zumindest zwei unterschiedliche Modi zum Anpassen des einen oder der mehreren adaptiven Parameter umfasst und eine Entscheidung (S5) umfasst, welcher der zumindest zwei Modi (S6, S7) zum Anpassen der adaptiven Parameter gewählt wird, wobei die Entscheidung (S5) auf der Grundlage der einen oder mehreren Bestätigungsdateneinheiten ausgeführt wird, die von dem Sender empfangen werden, nachdem die gegebene Dateneinheit erneut übertragen worden ist.
  18. Vorrichtung nach Anspruch 17, wobei der Datenverlust-Erfassungsmechanismus ein Zeitablaufmechanismus ist, derart, dass, nachdem eine gegebene Dateneinheit gesendet ist, der Sender ausgelegt ist, eine Zeitablaufperiode zu überwachen, und wenn keine Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, empfangen wird, bevor die Zeitablaufperiode verstreicht, der Zeitablaufmechanismus getriggert wird.
  19. Vorrichtung nach Anspruch 17, wobei der Datenverlust-Erfassungsmechanismus ein doppelter Bestätigungs-Erfassungsmechanismus ist, derart, dass der Sender ausgelegt ist, die empfangenen Bestätigungen zu überwachen, und wenn eine Dateneinheit eine vorbestimmte Anzahl von Malen bestätigt ist, der doppelte Bestätigungs-Erfassungsmechanismus getriggert wird.
  20. Vorrichtung nach Anspruch 18, wobei die Zeitablaufperiode einer der adaptiven Parameter ist.
  21. Vorrichtung nach einem der Ansprüche 17 bis 20, wobei die Flusssteuerungsprozedur Fenster-basiert ist, und ein oder mehrere Flusssteuerungsfenster unter den adaptiven Parametern sind.
  22. Vorrichtung nach einem der Ansprüche 17 bis 21, wobei die zumindest zwei Modi aus einem ersten und einem zweiten Modus bestehen, wobei der erste Modus der Beurteilung zugeordnet ist, dass das Triggerereignis durch den Verlust der gegebenen Dateneinheit herbeigeführt wurde, und der zweite Modus der Beurteilung zugeordnet ist, dass die gegebene Dateneinheit oder die Bestätigungsdateneinheit für die gegebene Dateneinheit übermäßig verzögert worden ist.
  23. Vorrichtung nach Anspruch 22, wobei die Vorrichtung, wenn sie als ein Sender wirkt, ausgelegt ist, Dateneinheiten, die gesendet werden, derart zu markieren, dass eine ursprüngliche Übertragung von einer erneuten Übertragung unterschieden werden kann, und die Vorrichtung, wenn sie als ein Empfänger wirkt, ausgelegt ist, die Bestätigungsdateneinheiten entsprechend zu markieren, derart, dass die Bestätigung einer ursprünglich gesendeten Dateneinheit von der Bestätigung der erneuten Übertragung der Dateneinheit unterschieden werden kann.
  24. Vorrichtung nach Anspruch 23, wobei die Vorrichtung, wenn sie als ein Sender wirkt, ausgelegt ist, Dateneinheiten zu markieren, indem ein Zeitstempel in jede gesendete Dateneinheit eingeschlossen wird, wobei der Zeitstempel die Zeit anzeigt, zu der die Dateneinheit gesendet wurde, und die Vorrichtung, wenn sie als ein Empfänger wirkt, ausgelegt ist, die Bestätigungsdateneinheit für eine empfangene Dateneinheit zu markieren, indem der Zeitstempel, der in der empfangenen Dateneinheit enthalten ist, in die Bestätigungsdateneinheit für die empfangene Dateneinheit eingeschlossen wird.
  25. Vorrichtung nach Anspruch 23, wobei die Vorrichtung, wenn sie als ein Sender wirkt, ausgelegt ist, Dateneinheiten zu markieren, indem eine Bitkette in jede gesendeten Dateneinheit eingeschlossen wird, wobei die Bitkette zumindest zwei unterschiedliche Werte zum Unterscheiden zwischen einer ursprünglichen Übertragung und einer erneuten Übertragung aufweist, und die Vorrichtung, wenn sie als ein Empfänger wirkt, ausgelegt ist, die Bestätigungsdateneinheit für eine empfangene Dateneinheit zu markieren, indem die Bitkette, die in der empfangenen Dateneinheit enthalten ist, in die Bestätigungsdateneinheit für die empfangene Dateneinheit eingeschlossen wird.
  26. Vorrichtung nach Anspruch 24 oder 25, derart ausgelegt, dass der erste Modus gewählt wird, wenn die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, die empfangen wird, nachdem die gegebene Dateneinheit erneut übertragen worden ist, die erneute Übertragung der gegebenen Dateneinheit bestätigt, und der zweite Modus gewählt wird, wenn die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, die empfangen wird, nachdem die gegebene Dateneinheit erneut übertragen worden ist, die ursprüngliche Übertragung der gegebenen Dateneinheit bestätigt.
  27. Vorrichtung nach Anspruch 22, wobei die Vorrichtung, wenn sie als ein Sender wirkt, ausgelegt ist, die Rundlaufzeit zu messen, die der Verbindung zum Senden der Menge von Daten zugeordnet ist, um die Zeit zwischen der erneuten Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, zu bestimmen und mit einem Wert zu vergleichen, der von einer oder mehreren der Rundlaufzeit-Messungen abgeleitet ist, und um den ersten oder zweiten Modus auf der Grundlage des Ergebnisses des Vergleichs zu wählen.
  28. Vorrichtung nach Anspruch 27, wobei der Wert, der von den Rundlaufzeit-Messungen abgeleitet wird, die kürzeste Rundlaufzeit für die Verbindung ist, und die Vorrichtung ausgelegt ist, den zweiten Modus zu wählen, wenn die Zeit zwischen der erneuten Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, kleiner als ein vorbestimmter Teil der kleinsten Rundlaufzeit ist.
  29. Vorrichtung nach einem der Ansprüche 22 bis 28, wobei der zweite Modus ein Anpassen der Zeitablaufperiode auf der Grundlage der Zeit umfasst, die zwischen der ursprünglichen Übertragung der gegebenen Dateneinheit und dem Empfang der ersten Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, verstrichen ist.
  30. Vorrichtung nach einem der Ansprüche 22 bis 29, wobei die Flusssteuerungsprozedur Fenster-basiert ist und ein Besetzt-Fenster verwendet wird, wobei der Wert des Besetzt-Fensters zu der Zeit des Trigger-Ereignisses gespeichert wird, nachdem das Trigger-Ereignis aufgetreten ist, und darauf der Wert des Besetzt-Fensters auf einen vorbestimmten Wert zurückgesetzt wird, und wenn der zweite Modus gewählt ist, nachdem die erste Bestätigungsdateneinheit, die der gegebenen Dateneinheit zugeordnet ist, empfangen worden ist, der Wert des Besetzt-Fensters auf den Wert gesetzt wird, den er angenommen hätte, wenn die Antwortprozedur nicht stattgefunden hätte.
DE69919027T 1999-01-08 1999-12-31 Kommunikationsendgerät und -verfahren Expired - Lifetime DE69919027T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99100274 1999-01-08
EP99100274A EP1018821A1 (de) 1999-01-08 1999-01-08 Kommunikationsendgerät und Verfahren
PCT/EP1999/010480 WO2000041362A1 (en) 1999-01-08 1999-12-31 Communication device and method

Publications (2)

Publication Number Publication Date
DE69919027D1 DE69919027D1 (de) 2004-09-02
DE69919027T2 true DE69919027T2 (de) 2005-08-11

Family

ID=8237320

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69921699T Expired - Lifetime DE69921699T2 (de) 1999-01-08 1999-12-31 Detektions-Verfahren und -Vorrichtung
DE69921512T Expired - Lifetime DE69921512T2 (de) 1999-01-08 1999-12-31 Kommunikationsverfahren
DE69919027T Expired - Lifetime DE69919027T2 (de) 1999-01-08 1999-12-31 Kommunikationsendgerät und -verfahren

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE69921699T Expired - Lifetime DE69921699T2 (de) 1999-01-08 1999-12-31 Detektions-Verfahren und -Vorrichtung
DE69921512T Expired - Lifetime DE69921512T2 (de) 1999-01-08 1999-12-31 Kommunikationsverfahren

Country Status (13)

Country Link
US (4) US6992982B1 (de)
EP (4) EP1018821A1 (de)
JP (4) JP4503186B2 (de)
KR (3) KR100789035B1 (de)
CN (4) CN100334825C (de)
AR (3) AR038753A1 (de)
AT (3) ATE281728T1 (de)
AU (1) AU766137B2 (de)
CA (3) CA2646512C (de)
DE (3) DE69921699T2 (de)
ES (1) ES2221473T3 (de)
NO (1) NO332553B1 (de)
WO (1) WO2000041362A1 (de)

Families Citing this family (58)

* 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
US6728809B1 (en) * 1999-09-09 2004-04-27 Matsushita Electric Industrial Co., Ltd. Time-out control apparatus, terminal unit, time-out control system and time-out procedure
US6757245B1 (en) * 2000-06-01 2004-06-29 Nokia Corporation Apparatus, and associated method, for communicating packet data in a network including a radio-link
US7529235B2 (en) * 2000-12-06 2009-05-05 Franklin Zhigang Zhang Internet based time distributed message network system and personal mobile access device
FI111421B (fi) * 2000-12-20 2003-07-15 Nokia Corp Tiedonsiirtomenetelmä ja radiojärjestelmä
DE60123577D1 (de) * 2001-01-09 2006-11-16 Mitsubishi Electric Corp Datenkommunikationssystem und drahtloses kommunikationsgerät
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
EP1263160A1 (de) * 2001-06-01 2002-12-04 Telefonaktiebolaget Lm Ericsson Verfahren und Empfänger zur leistungsfähigen Datenpaketübertragung in ein Übertragungsprotokoll mit Wiederholungsaufforderung
EP1263159A1 (de) * 2001-06-01 2002-12-04 Telefonaktiebolaget Lm Ericsson Verfahren und Empfänger zur verbesserten Datenpaketübertragung in ein Übertragungsprotokoll mit Wiederholungsaufforderung
US7180871B1 (en) * 2001-07-18 2007-02-20 Nortel Networks Limited Round trip timeout adjustment in a cellular wireless communication system
JP3590387B2 (ja) * 2001-11-01 2004-11-17 株式会社東芝 通信装置及びプログラム
US7283469B2 (en) * 2002-04-30 2007-10-16 Nokia Corporation Method and system for throughput and efficiency enhancement of a packet based protocol in a wireless network
CN100356750C (zh) * 2002-08-10 2007-12-19 华为技术有限公司 同步数字体系网络传输数据业务的流量控制方法
US7603464B2 (en) * 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
US7385923B2 (en) * 2003-08-14 2008-06-10 International Business Machines Corporation Method, system and article for improved TCP performance during packet reordering
US7321567B2 (en) * 2003-09-30 2008-01-22 Motorola, Inc. Method and apparatus for preventing a spurious retransmission after a planned interruption of communications
JP2005167353A (ja) 2003-11-28 2005-06-23 Ntt Docomo Inc 送信装置およびプログラム
US7290195B2 (en) * 2004-03-05 2007-10-30 Microsoft Corporation Adaptive acknowledgment delay
JP2006054853A (ja) * 2004-07-14 2006-02-23 Iwatsu Electric Co Ltd 無線lanにおけるパケット伝送方法及び装置
US20070280107A1 (en) * 2004-07-23 2007-12-06 Reiner Ludwig Data Unit Sender Control Method
KR100678943B1 (ko) * 2004-08-24 2007-02-07 삼성전자주식회사 블록 ack 프레임 전송방법 및 장치
US20060059256A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Signaling a state of a transmission link via a transport control protocol
KR100744116B1 (ko) * 2005-07-12 2007-08-01 삼성전자주식회사 멀티미디어 정보를 고속 시리얼로 전송하는 양방향 통신장치 및 방법
EP1753197A1 (de) * 2005-07-27 2007-02-14 Mitsubishi Electric Information Technology Centre Europe B.V. Verfahren zur Kontrolle der Bereitstellung eines Datenflusses zu mindestens einem Klienten eines Datenproviders
US20070058636A1 (en) * 2005-09-15 2007-03-15 Research In Motion Limited System and method for evaluating lower layer reliability using upper layer protocol functionality in a communications network
US8615003B1 (en) * 2005-10-28 2013-12-24 At&T Intellectual Property Ii, L.P. Method and apparatus for handling network element timeouts in a packet-switched communication network
US20070097903A1 (en) * 2005-11-03 2007-05-03 Interdigital Technology Corporation Method and apparatus of exchanging messages via a wireless distribution system between groups operating in different frequencies
KR100976732B1 (ko) * 2005-12-01 2010-08-18 삼성전자주식회사 다중 홉 방식의 네트워크에서 중계국을 이용한 재전송 장치및 방법
CN100366005C (zh) * 2005-12-21 2008-01-30 中国移动通信集团公司 Ip设备吞吐量的测试方法
US7827459B1 (en) * 2006-01-10 2010-11-02 University Of Maryland, College Park Communications protocol
US8115600B2 (en) * 2008-11-19 2012-02-14 Greatbatch Ltd. RFID detection and identification system including an RFID reader having a limited transmit time and a time-out period to protect a medical device against RFID-associated electromagnetic interference
WO2008044653A1 (fr) 2006-10-05 2008-04-17 Ntt Docomo, Inc. Système, périphérique et procédé de communication
US8355913B2 (en) * 2006-11-03 2013-01-15 Nokia Corporation Speech recognition with adjustable timeout period
ATE510387T1 (de) * 2007-11-01 2011-06-15 Ericsson Telefon Ab L M Effiziente flusssteuerung in einem funknetzwerksteuergerät (rnc)
KR100917158B1 (ko) * 2008-04-16 2009-09-16 이상휘 햇빛추적기
US8299899B2 (en) * 2008-11-19 2012-10-30 Greatbatch Ltd. AIMD external programmer incorporating a multifunction RFID reader having a limited transmit time and a time-out period
CN102217249B (zh) * 2008-12-05 2014-03-19 株式会社Ntt都科摩 通信装置和通信方法
CN101527928B (zh) * 2009-03-19 2011-05-25 中兴通讯股份有限公司 电路数据业务的传输系统及方法
US8093991B2 (en) * 2009-09-16 2012-01-10 Greatbatch Ltd. RFID detection and identification system for implantable medical devices
US8531987B2 (en) * 2009-12-29 2013-09-10 Telecom Italia S.P.A. Performing a time measurement in a communication network
JP6274113B2 (ja) 2012-12-19 2018-02-07 日本電気株式会社 データ送信装置、データ送信方法、及びそのプログラム
EP2952035B1 (de) * 2013-01-29 2022-01-12 Samsung Electronics Co., Ltd. Verfahren und vorrichtung zur übertragung von funkverbindungs-steuerungsstatusberichten in einem kommunikationssystem auf basis mehrerer funkzugangstechnologien
CN104104608B (zh) * 2013-04-15 2019-06-11 华为技术有限公司 接收报文的方法及装置
KR102198701B1 (ko) * 2014-07-03 2021-01-05 삼성전자주식회사 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
US10474823B2 (en) * 2016-02-16 2019-11-12 Atmel Corporation Controlled secure code authentication
US10482255B2 (en) 2016-02-16 2019-11-19 Atmel Corporation Controlled secure code authentication
US10553040B2 (en) * 2016-02-18 2020-02-04 Ford Global Technologies, Llc Method and apparatus for enhanced telematics security through secondary channel
US10616197B2 (en) 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
US20170324642A1 (en) * 2016-05-04 2017-11-09 Microsoft Technology Licensing, Llc Initial and periodic slowdowns for background connections
US10298504B2 (en) 2016-05-04 2019-05-21 Microsoft Technology Licensing, Llc Adaptive gain reduction for background connections
EP3785402A1 (de) * 2018-04-27 2021-03-03 Telecom Italia S.p.A. Ermöglichung einer leistungsmessung in einem paketvermittelten kommunikationsnetzwerk
US11088906B2 (en) * 2018-05-10 2021-08-10 International Business Machines Corporation Dependency determination in network environment
US11811525B2 (en) 2018-07-24 2023-11-07 Qualcomm Incorporated Techniques for rate adaptation under congestion and latency constraints
CN110601799A (zh) * 2019-09-12 2019-12-20 无锡江南计算技术研究所 一种基于双滑动窗口的链路重传方法及装置
CN113193944B (zh) * 2019-10-01 2024-02-23 柏思科技有限公司 发送和接收互联网协议分组上的传输控制协议段的改进方法和系统
CN111654523A (zh) * 2020-04-28 2020-09-11 珠海格力电器股份有限公司 一种数据处理方法、装置、存储介质及服务器
CN114760010A (zh) * 2022-04-02 2022-07-15 沈阳飞机设计研究所扬州协同创新研究院有限公司 一种可靠的串口数据传输方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55150690A (en) * 1979-05-11 1980-11-22 Nec Corp Information transfer control system
JPH077944B2 (ja) * 1986-10-17 1995-01-30 松下電器産業株式会社 信号伝送装置
JPS63314934A (ja) * 1987-06-17 1988-12-22 Fujitsu Ten Ltd デ−タ転送方式
JPH0761072B2 (ja) * 1993-02-26 1995-06-28 日本電気株式会社 衛星通信システム
JP2536385B2 (ja) * 1993-03-30 1996-09-18 日本電気株式会社 デ―タ通信方式
DE69525895T2 (de) * 1994-10-11 2002-09-05 Nippon Telegraph & Telephone System für Sendewiederholung in der Datenkommunikation
JP3284823B2 (ja) * 1995-04-21 2002-05-20 株式会社エフ・エフ・シー データ通信装置
US5684802A (en) * 1995-05-02 1997-11-04 Motorola, Inc. System and method for hybrid contention/polling protocol collison resolution used backoff timers with polling
FI98174C (fi) * 1995-05-09 1997-04-25 Nokia Telecommunications Oy Datansiirtojärjestelmä, jossa on liukuvaan ikkunaan perustuva datavuonohjaus
JP3476985B2 (ja) * 1995-12-28 2003-12-10 株式会社東芝 パケット通信システムおよびパケット通信制御方法
US5648970A (en) * 1996-03-04 1997-07-15 Motorola, Inc. Method and system for ordering out-of-sequence packets
JPH09305664A (ja) * 1996-05-10 1997-11-28 Kokusai Electric Co Ltd 情報表示システム及び情報端末
JP3560423B2 (ja) * 1996-09-17 2004-09-02 松下電器産業株式会社 パケット送受信装置及びパケット受信装置
KR100204583B1 (ko) * 1996-09-21 1999-06-15 정선종 전송 프로토콜의 다자간 흐름 제어 방법
GB9625208D0 (en) * 1996-12-04 1997-01-22 Olivetti Research Ltd Detection system for determining information about objects
JP2969559B2 (ja) * 1997-02-05 1999-11-02 株式会社超高速ネットワーク・コンピュータ技術研究所 データ転送フロー制御方式
JPH10224328A (ja) * 1997-02-06 1998-08-21 Sony Corp データ通信方法及びデータ通信機
US5974028A (en) * 1997-02-24 1999-10-26 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
JP3000546B2 (ja) * 1997-03-07 2000-01-17 株式会社超高速ネットワーク・コンピュータ技術研究所 輻輳制御方法
JPH10276241A (ja) * 1997-03-28 1998-10-13 Toshiba Corp データ通信方法及びそのシステム
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
US6119235A (en) * 1997-05-27 2000-09-12 Ukiah Software, Inc. Method and apparatus for quality of service management
US6011796A (en) * 1997-06-17 2000-01-04 Qualcomm Incorporated Extended range sequence numbering for selective repeat data transmission protocol
US6018516A (en) * 1997-11-14 2000-01-25 Packeteer, Inc. Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates
US6041352A (en) * 1998-01-23 2000-03-21 Hewlett-Packard Company Response time measuring system and method for determining and isolating time delays within a network
US6205120B1 (en) * 1998-03-13 2001-03-20 Packeteer, Inc. Method for transparently determining and setting an optimal minimum required TCP window size
US6247058B1 (en) * 1998-03-30 2001-06-12 Hewlett-Packard Company Method and apparatus for processing network packets using time stamps
US6392993B1 (en) * 1998-06-29 2002-05-21 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
EP0975123A1 (de) * 1998-07-15 2000-01-26 Telefonaktiebolaget L M Ericsson (Publ) Vorrichtung und Verfahren zur zuverlässichen Paketübertragung mit niedriger Verzögerung
US6389016B1 (en) * 1998-10-14 2002-05-14 Nortel Networks Limited Data communication system and method for transporting data
EP1127435A1 (de) * 1998-10-27 2001-08-29 Fujitsu Network Communications, Inc. Rahmenbasierte servicequalität
EP1018821A1 (de) * 1999-01-08 2000-07-12 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Kommunikationsendgerät und Verfahren
EP1077559A1 (de) * 1999-08-17 2001-02-21 Telefonaktiebolaget Lm Ericsson Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
ATE405066T1 (de) * 2001-04-04 2008-08-15 Ericsson Telefon Ab L M Verfahren zur datenflusssteuerung
US7385923B2 (en) * 2003-08-14 2008-06-10 International Business Machines Corporation Method, system and article for improved TCP performance during packet reordering

Also Published As

Publication number Publication date
ATE272281T1 (de) 2004-08-15
DE69919027D1 (de) 2004-09-02
KR20010102969A (ko) 2001-11-17
EP1195966B1 (de) 2004-10-27
CA2646512C (en) 2011-07-12
AR053570A2 (es) 2007-05-09
US20060050638A1 (en) 2006-03-09
EP1018821A1 (de) 2000-07-12
CA2646502A1 (en) 2000-07-13
AR038753A1 (es) 2005-01-26
EP1195966A2 (de) 2002-04-10
AR054023A2 (es) 2007-05-30
JP5153799B2 (ja) 2013-02-27
US6992982B1 (en) 2006-01-31
DE69921512T2 (de) 2006-02-02
CA2646502C (en) 2012-05-15
AU2104300A (en) 2000-07-24
JP2012227953A (ja) 2012-11-15
CN1645785A (zh) 2005-07-27
DE69921512D1 (de) 2004-12-02
CN101039272A (zh) 2007-09-19
EP1195966A3 (de) 2003-03-12
JP4794672B2 (ja) 2011-10-19
DE69921699T2 (de) 2005-10-27
CA2358396A1 (en) 2000-07-13
JP2010114938A (ja) 2010-05-20
NO332553B1 (no) 2012-10-22
KR100789035B1 (ko) 2007-12-26
CN101039272B (zh) 2010-06-23
EP1142226B1 (de) 2004-07-28
EP1263176B1 (de) 2004-11-03
US7515540B2 (en) 2009-04-07
US20050122995A1 (en) 2005-06-09
CN100334825C (zh) 2007-08-29
CN1201531C (zh) 2005-05-11
CA2358396C (en) 2009-09-22
EP1263176A2 (de) 2002-12-04
JP5694993B2 (ja) 2015-04-01
KR20050019821A (ko) 2005-03-03
US20070047440A1 (en) 2007-03-01
CN1645784A (zh) 2005-07-27
KR20050019822A (ko) 2005-03-03
JP4503186B2 (ja) 2010-07-14
NO20013361L (no) 2001-09-06
EP1263176A3 (de) 2003-03-12
CN1333965A (zh) 2002-01-30
KR100789034B1 (ko) 2007-12-26
EP1142226A1 (de) 2001-10-10
US7158544B2 (en) 2007-01-02
AU766137B2 (en) 2003-10-09
CN100338899C (zh) 2007-09-19
JP2010093862A (ja) 2010-04-22
EP1195966A9 (de) 2003-05-28
ES2221473T3 (es) 2004-12-16
CA2646512A1 (en) 2000-07-13
JP2002534907A (ja) 2002-10-15
US7599402B2 (en) 2009-10-06
ATE281036T1 (de) 2004-11-15
DE69921699D1 (de) 2004-12-09
ATE281728T1 (de) 2004-11-15
WO2000041362A1 (en) 2000-07-13
KR100860912B1 (ko) 2008-09-29
NO20013361D0 (no) 2001-07-06

Similar Documents

Publication Publication Date Title
DE69919027T2 (de) Kommunikationsendgerät und -verfahren
DE60223799T2 (de) Verfahren und sender für einen effizienten paketdatentransfer in einem übertragungsprotokoll mit wiederholungsanforderungen
DE60203285T2 (de) Verfahren und empfänger zur verbesserten datenpaketübertragung in ein übertragungsprotokoll
DE60109258T2 (de) Datenübertragungsverfahren und Einrichtung mit automatischer Wiederholungsaufforderung
DE69935554T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen
DE60212104T2 (de) Auf Empfänger basierte Umlaufzeitmessung in TCP
DE69932069T2 (de) Arq protokoll mit packetbasierter zuverlässigkeitseinstellung
DE60307032T2 (de) Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
DE10066507B3 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE69931215T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60022994T2 (de) Ein flexibles steuerprotokoll für funkverbindungen
DE60306433T2 (de) Verfahren zur Vermeidung der Blockierung mittels des Empfangenzustands der HARQ Prozesse
DE602006000721T2 (de) Verfahren zum Verhindern von Wiederübertragung wegen Verzögerung in einem Drahtlosnetzwerk
DE60313178T2 (de) Verfahren und einrichtung zur verminderung von übertragungsfehlern in einem zellularen system der dritte generation
DE60020413T2 (de) Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE69736684T2 (de) Kommunikationsanordnung und Übertragungsstation mit Fehlerdetektion und Wiederübertragung
DE60109959T2 (de) Verfahren um die effizienz eines datenstromes in einem kommunikationssystem zu erhöhen
DE602004004706T2 (de) Verfahren und System zur Kommunikationssteuerung
DE602004011453T2 (de) Sendegerät zur Steuerung der Datenübertragung
DE60115819T2 (de) Verfahren und Vorrichtung zum Steuern von Wiederübertragung
DE60313229T2 (de) Verfahren zur Anpassung einer Funkverbindung in einem Netzwerk mit auf Konkurrenzbetrieb basiertem Mediumzugriff
DE112009000414T5 (de) Datenübertragung
DE69917463T2 (de) Verfahren und vorrichtung zur übertragung von datenpaketen in einem kommunikationssystem
DE102012018614A1 (de) Steuern einer Datensendung
DE60113766T2 (de) System und Verfahren zur Datenübertragung in zwei Moden und entsprechender Sender und Empfänger

Legal Events

Date Code Title Description
8364 No opposition during term of opposition