DE69919027T2 - Kommunikationsendgerät und -verfahren - Google Patents
Kommunikationsendgerät und -verfahren Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1628—List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1635—Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1803—Stop-and-wait protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/187—Details of sliding window management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5647—Cell loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5649—Cell 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 der2 sind dies die Daten bis zu 2.048 Bytes, d.h. die Segmente1 und2 . 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. Segmente3 und4 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 der2 die Segmente5 und6 noch gesendet werden, aber die Segmente7 und8 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 Segmente3 und4 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 Segment4 hin empfangen worden sind, dann das Segment4 bestätigt und der Empfangs-Peer erwartet, das Segment5 zu empfangen. Wenn er dann eine weitere Dateneinheit empfängt, die unterschiedlich von dem Segment5 ist (z.B. die Segmente6 ,7 und8 ) setzt er die Bestätigung für das Segment4 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 mit2 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 in1 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 der1 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 in3 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 in4 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 der4 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 mit1 beschrieben ist, auf das Problem in3 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)
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 2, wobei die Zeitablaufperiode einer der adaptiven Parameter ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 9, wobei die Bitkette aus einem einzigen Bit besteht.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Vorrichtung nach Anspruch 18, wobei die Zeitablaufperiode einer der adaptiven Parameter ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1999
- 1999-01-08 EP EP99100274A patent/EP1018821A1/de not_active Withdrawn
- 1999-12-31 AT AT02019795T patent/ATE281728T1/de not_active IP Right Cessation
- 1999-12-31 KR KR1020047021673A patent/KR100789035B1/ko active IP Right Grant
- 1999-12-31 CN CNB2005100517447A patent/CN100334825C/zh not_active Expired - Lifetime
- 1999-12-31 AT AT99965583T patent/ATE272281T1/de not_active IP Right Cessation
- 1999-12-31 JP JP2000592993A patent/JP4503186B2/ja not_active Expired - Lifetime
- 1999-12-31 WO PCT/EP1999/010480 patent/WO2000041362A1/en active IP Right Grant
- 1999-12-31 CN CNB998155004A patent/CN1201531C/zh not_active Expired - Lifetime
- 1999-12-31 DE DE69921699T patent/DE69921699T2/de not_active Expired - Lifetime
- 1999-12-31 CN CNB2005100517451A patent/CN100338899C/zh not_active Expired - Lifetime
- 1999-12-31 CA CA2646512A patent/CA2646512C/en not_active Expired - Lifetime
- 1999-12-31 KR KR1020047021672A patent/KR100789034B1/ko active IP Right Grant
- 1999-12-31 ES ES99965583T patent/ES2221473T3/es not_active Expired - Lifetime
- 1999-12-31 DE DE69921512T patent/DE69921512T2/de not_active Expired - Lifetime
- 1999-12-31 CN CN2007100881023A patent/CN101039272B/zh not_active Expired - Lifetime
- 1999-12-31 AT AT01127446T patent/ATE281036T1/de not_active IP Right Cessation
- 1999-12-31 CA CA002358396A patent/CA2358396C/en not_active Expired - Lifetime
- 1999-12-31 EP EP01127446A patent/EP1195966B1/de not_active Expired - Lifetime
- 1999-12-31 CA CA2646502A patent/CA2646502C/en not_active Expired - Lifetime
- 1999-12-31 EP EP02019795A patent/EP1263176B1/de not_active Expired - Lifetime
- 1999-12-31 KR KR1020017008526A patent/KR100860912B1/ko active IP Right Grant
- 1999-12-31 DE DE69919027T patent/DE69919027T2/de not_active Expired - Lifetime
- 1999-12-31 EP EP99965583A patent/EP1142226B1/de not_active Expired - Lifetime
- 1999-12-31 AU AU21043/00A patent/AU766137B2/en not_active Expired
-
2000
- 2000-01-05 US US09/478,168 patent/US6992982B1/en not_active Expired - Lifetime
- 2000-01-07 AR ARP000100071A patent/AR038753A1/es active IP Right Grant
-
2001
- 2001-07-06 NO NO20013361A patent/NO332553B1/no not_active IP Right Cessation
-
2005
- 2005-01-14 US US11/036,881 patent/US7158544B2/en active Active
- 2005-09-30 US US11/240,935 patent/US7515540B2/en not_active Expired - Fee Related
-
2006
- 2006-03-31 AR ARP060101286A patent/AR053570A2/es active IP Right Grant
- 2006-03-31 AR ARP060101287A patent/AR054023A2/es active IP Right Grant
- 2006-10-27 US US11/553,667 patent/US7599402B2/en not_active Expired - Lifetime
-
2010
- 2010-01-21 JP JP2010011304A patent/JP5153799B2/ja not_active Expired - Lifetime
- 2010-01-21 JP JP2010011286A patent/JP4794672B2/ja not_active Expired - Lifetime
-
2012
- 2012-07-11 JP JP2012155466A patent/JP5694993B2/ja not_active Expired - Lifetime
Also Published As
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 |