DE60023169T2 - Datenübertragung mittels einer unzuverlässigen und einer zuverlässigen Transportvorrichtung - Google Patents
Datenübertragung mittels einer unzuverlässigen und einer zuverlässigen Transportvorrichtung Download PDFInfo
- Publication number
- DE60023169T2 DE60023169T2 DE60023169T DE60023169T DE60023169T2 DE 60023169 T2 DE60023169 T2 DE 60023169T2 DE 60023169 T DE60023169 T DE 60023169T DE 60023169 T DE60023169 T DE 60023169T DE 60023169 T2 DE60023169 T2 DE 60023169T2
- Authority
- DE
- Germany
- Prior art keywords
- application messages
- transport mechanism
- recipient
- transmitting
- message
- 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
- 230000005540 biological transmission Effects 0.000 title claims description 17
- 230000007723 transport mechanism Effects 0.000 claims abstract description 116
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012795 verification Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 28
- 238000012546 transfer Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims 2
- 230000007246 mechanism Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 16
- 239000000872 buffer Substances 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000012958 reprocessing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- XAEWZDYWZHIUCT-UHFFFAOYSA-N desipramine hydrochloride Chemical compound [H+].[Cl-].C1CC2=CC=CC=C2N(CCCNC)C2=CC=CC=C21 XAEWZDYWZHIUCT-UHFFFAOYSA-N 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- 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
-
- 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/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- 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/1848—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- 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/164—Adaptation or special uses of UDP protocol
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Controlling Sheets Or Webs (AREA)
- Computer And Data Communications (AREA)
- Pinball Game Machines (AREA)
- Inspection Of Paper Currency And Valuable Securities (AREA)
- Radar Systems Or Details Thereof (AREA)
Description
- GEBIET DER ERFINDUNG
- Die Erfindung betrifft die Übermittlung von Daten und insbesondere die effiziente Übermittlung von Daten in einer Weise, die den Empfang garantiert.
- HINTERGRUND DER ERFINDUNG
- Eine kritische Funktion, die von einem Computersystem durchgeführt wird, ist das Übermitteln von Daten zwischen Prozessen, die auf dem gleichen oder auf unterschiedlichen Computersystemen liegen können. Zum Übermitteln von Daten zwischen Prozessen verwenden die Prozesse einen Transport-Mechanismus. Ein Transport-Mechanismus ist eine Software- und Hardware-Kombination, die zum Transportieren von Daten zwischen Prozessen verwendet wird. Ein Transport-Mechanismus kann eine Kombination von, zum Beispiel, einem Netzwerk, einer Netzwerkkarte und einer Schnittstellensoftware aufweisen, die einem Prozess erlaubt, Daten über das Netzwerk zu übermitteln. Oft wird durch die Verwendung von Dienstprogrammen, die von einem Betriebssystem bereitgestellt sind, wie zum Beispiel Sockets, die in UNIX verfügbar sind, auf Transport-Mechanismen zugegriffen. Zum Übermitteln von Daten ruft ein Prozess ein Betriebssystem-Dienstprogramm auf, das im Gegenzug zum Übermitteln von Daten über ein Netzwerk an einen anderen Computer mit der Hardware des Computersystems kommuniziert.
- Transport-Mechanismen folgen einem Protokoll, wenn Daten übermittelt werden. Ein Protokoll ist ein Satz von Regeln, Prozeduren und Konventionen, die den Prozess des Übermitteln von Daten regeln. Beispiel von herkömmlichen Protokollen sind das Transmission Control Protocol (TCP) und das User Datagram Protocol (UDP). Protokolle weisen einen Kompromiss zwischen zwei konkurrierenden Transport- Mechanismus-Kenngrößen – Zuverlässigkeit und Geschwindigkeit auf.
- Zuverlässigkeit bezieht sich auf eine Fähigkeit eines Transport-Mechanismus, die Lieferung von Daten, die von einem Sender zu einem Empfänger übermittelt werden, zu garantieren. Ein Sender ist ein Prozess, der einen Transport-Mechanismus aufruft zum Übermitteln von Daten an einen anderen Prozess, der als der Empfänger bezeichnet wird. Ein zuverlässiger Transport-Mechanismus garantiert die Lieferung von Daten, die von einem Sender an einen Empfänger übermittelt werden. Transport-Mechanismen, die TCP verwenden, sind Beispiele zuverlässiger Transport-Mechanismen. Ein unzuverlässiger Transport-Mechanismus garantiert die Lieferung von Daten nicht. Transport-Mechanismen, die UDP verwendent, sind Beispiele unzuverlässiger Transport-Mechanismen.
- Im Allgemeinen sind zuverlässige Transport-Mechanismen nicht so schnell wie unzuverlässige Transport-Mechanismen. Zuverlässige Transport-Mechanismen rufen Prozeduren auf, wie zum Beispiel Handshaking-Algorithmen, die sicherstellen, dass ein übermittelter Datenwert geliefert wird. Diese Prozeduren verursachen einen größeren Overhead und eine größere Latenz, während sie die Lieferung sicherstellen. Zum Beispiel wird ein zuverlässiger Transport-Mechanismus zum Übermitteln eines Datenwerts über ein Netzwerk von einem Sendeknoten an einen Empfangsknoten verwendet. Ein Datenwert, der über das Netzwerk an den Empfangsknoten übermittelt wird, wird in Puffern gespeichert. Wenn der Empfangsknoten den Datenwert empfängt, übermittelt er eine Bestätigung an den Sendeknoten. Wenn der Sendeknoten die Bestätigung empfängt, gibt er die Puffer frei, so dass ihnen ermöglicht wird, für andere Zwecke verwendet zu werden. Falls der Sendeknoten keine Bestätigung von dem Empfangsknoten nach einer Zeitspanne empfängt, dann übermittelt der Sendeknoten den Datenwert wieder an den Empfangsknoten.
- Auf der Basis des vorangegangenen ist es klar wünschenswert, ein Verfahren und einen Mechanismus zum zuverlässigen Transportieren eines Datenwerts zu schaffen, ohne den Overhead zu übernehmen, der von herkömmlichen zuverlässigen Transport-Mechanismen übernommen wird.
- Die Implementierung eines Client/Server-Systems für die Echtzeit-Lieferung von MPFG-2-kodierten Audio/Video-Strömen über die IP-Netzwerke auf der Basis des Echtzeit-Transport-Protokolls (RTP, real-time transport protocol) sind in dem Artikel von Basso A. et. al.: „Real-time MPEG-2 delivery based on TRP: Implementation Issues" in Signal Processing: Image Communications, Vol. 15, pp. 165–178, 1999 beschrieben.
- In dem Internet-Artikel von Parnes P.: „RTP extension for Scalable Reliable Multicast" vom 20. November 1996 (online empfangen aus dem Internet am 4. Dezember 2001, URL: http://www.cdt.luth.se/~peppar/docs/rtp_srm/draft-parnes-rtp-ext-srm-01.txt) ist beschrieben, wie das Echtzeit-Transport-Protokoll (RTP) erweitert werden könnte, um Unterstützung für Teile des Rahmens, der Skalierbarer zuverlässiger Multicast (Scalable Reliable Multicast) genannt wird, aufzuweisen.
- In dem Internet-Artikel von Petrack S.: „SISP – Simple Internet Signalling Protocol" vom 13. Juni 1996 (online empfangen aus dem Internet am 4. Dezember 2001, URL: http://www.watersprings.org/pub/id/draft-petrack-sisp-oo.txt) ist beschrieben, dass das Einfache Internetsignalprotokoll (SISP, Simple Internet Signalling Protocol) ein Signalisieren von Echtzeit-Datenströmen über IP-Netzwerke durchführt.
- Eine Anleitung über Transportschicht-Konzepte und -Terminologie und eine Untersuchung über Transportschicht-Dienste und -Protokolle ist in dem Artikel von Iren S. et. al.: „The Transport Layer: Tutorial and Survey" in ACM Computing Surveys, Vol. 31, Nr. 4, pp. 360–405, 1999 gegeben.
- Eine Beschreibung des Medienstromprotokolls (MSP, Media Stream Protocol), das zum Versenden von Audio und Video als Stream über das Internet entwickelt ist und das in seinem Verbrauch von Netzwerk-Bandbreite angemessen ist, ist in der Master-Arbeit von Hess C.K.: „Media Streaming Protocol: An Adaptive Protocol For The Delivery Of Audio And Video Over The Internet", University of Illinois at Urbana-Champaign, 1998 (online empfangen aus dem Internet am 28. May 2003, URL: http://choices.cs.uiuc.edu/Papers/Theses/MS.MediaStremingProtocol.pdf) gegeben.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Ein Verfahren und ein Mechanismus ist in den unabhängigen Patentansprüchen 1, 10, 12 und 16 zum zuverlässigen Übermitteln von Nachrichten über einen unzuverlässigen Transport-Mechanismus beschrieben. Bevorzugte Ausführungsbeispiele sind in den abhängigen Patentansprüchen 2 bis 9, 11, 13 bis 14 und 17 bis 26 beschrieben.
- Gemäß einem Aspekt der Erfindung übermittelt ein Sender eine erste Nachricht über einen unzuverlässigen Mechanismus an einen Empfänger und eine zweite Nachricht, die die erste identifiziert, wird über einen zuverlässigen Transport-Mechanismus zu dem Empfänger transportiert. Wenn der Empfänger die zweite Nachricht empfängt, bestimmt der Empfänger, ob er die erste Nachricht empfangen hat. Falls nicht, fordert der Empfänger die Wieder-Übermittlung der ersten Nachricht an.
- KURZBESCHREIBUNG DER ZEICHNUNG
- Die Erfindung ist mittels Beispielen dargestellt und nicht mittels Begrenzung in den Figuren der begleitenden Zeichnung und in der gleiche Bezugszeichen sich auf ähnliche Elemente beziehen, und in der:
-
1 ein Blockdiagramm eines beispielhaften Nachrichten-Übermittlungssystems ist, aufgrund dessen ein Ausführungsbeispiel der Erfindung implementiert sein kann; -
2 ein Flussdiagramm ist, das einen Prozess zum zuverlässigen Übermitteln von Daten über einen unzuverlässigen Transport-Mechanismus abbildet; und -
3 ein beispielhaftes Computersystem ist, aufgrund dessen ein Ausführungsbeispiel der Erfindung implementiert sein kann. - DETAILLIERTE BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
- Ein Verfahren und eine Vorrichtung zum Übermitteln von Daten ist beschrieben. In der folgenden Beschreibung sind zum Zwecke der Erklärung zahlreiche spezifische Details erklärt, um ein gründliches Verständnis der Erfindung zu schaffen. Es ist jedoch für einen Fachmann offensichtlich, dass die Erfindung ohne diese spezifischen Details ausgeführt werden kann. Bei anderen Gelegenheiten sind bekannte Strukturen und Vorrichtungen in Blockdiagramm-Form gezeigt, um ein unnötiges Verschleiern der Erfindung zu vermeiden.
- BEISPIELHAFTES NACHRICHTEN-ÜBERMITTLUNGSSYSTEM
-
1 zeigt ein beispielhaftes Nachrichten-Übermittlungssystem100 gemäß einem Ausführungsbeispiel der Erfindung. Ein Empfänger190 und ein Sender180 sind Prozesse, die jeweils auf Knoten102 bzw.104 liegen. Der Sender180 übermittelt über einen unzuverlässigen Transport-Mechanismus150 und einen zuverlässigen Transport-Mechanismus160 Nachrichten an den Empfänger190 . Eine Nachricht ist ein identifizierbarer Datensatz, der von einem Prozess an einen anderen Prozess übermittelt wird. - Insbesondere übermittelt der Sender
180 Applikations-Nachrichten, wie zum Beispiel Applikations-Nachrichten120 , über den unzuverlässigen Transport-Mechanismus150 an den Empfänger190 und übermittelt Verifikations-Nachrichten, wie zum Beispiel Verifikations-Nachrichten124 , über den zuverlässigen Transport-Mechanismus160 . Eine Verifikations-Nachricht ist eine Nachricht, die über einen Transport-Mechanismus transportiert wird, die dem Empfänger der Nachricht eine andere Nachricht identifiziert, die von dem Empfänger über einen anderen Transport-Mechanismus empfangen werden sollte. Eine Applikations-Nachricht ist eine Nachricht, die von einer Verifikations-Nachricht identifiziert wird. - Zum Beispiel können der Empfänger
190 und der Sender180 Prozesse sein, die von einem Datenbanksystem gesteuert werden. Der Sender180 sendet über den unzuverlässigen Transport-Mechanismus Datenblöcke150 in der Form von Applikations-Nachrichten120 an den Empfänger190 . Um dem Empfänger190 anzuzeigen, dass die Applikations-Nachrichten120 gesendet wurden, übermittelt der Sender180 Verifikations-Nachrichten124 , um Applikations-Nachrichten120 zu identifizieren. Verifikations-Nachrichten124-1 ,124-2 und124-3 identifizieren jeweils Applikations-Nachrichten120-1 ,120-2 ,120-3 . - Typischerweise ist die Datenmenge, die zum Identifizieren einer Applikations-Nachricht benötigt wird, viel kleiner als die Datenmenge in der Applikations-Nachricht. Folglich ist die Verifikations-Nachricht kleiner als die Applikations-Nachricht, die sie identifiziert. Zusätzlich kann eine Verifikations-Nachricht mehr als eine Applikations-Nachricht identifizieren.
- Die Zeitspanne, die zum Übermitteln einer Nachricht von einem Sender an einen Empfänger benötigt wird, wird hierin als Latenz bezeichnet. Obwohl eine Applikations-Nachricht größer ist, ist unter normalen Betriebsbedingungen die Latenz zum Übermitteln einer Applikations-Nachricht über einen unzuverlässigen Transport-Mechanismus, wegen des Overheads, der dem zuverlässigen Transport-Mechanismus zugeordnet ist, kleiner als die Latenz zum Übermitteln einer Verifikations-Nachricht.
- Der unzuverlässige Transport-Mechanismus
150 und der zuverlässige Transport-Mechanismus160 können Daten über die gleiche oder verschiedene Netzwerkverbindungen übermitteln. Zum Beispiel können sie, während der unzuverlässige Transport-Mechanismus150 und der zuverlässige Transport-Mechanismus160 Daten über das gleiche LAN übermitteln können, Daten unter Verwendung unterschiedlicher Protokolle übermitteln. Zusätzlich können die verwendeten Netzwerkverbindungen Paket-basiert sein. Folglich kann die Nachricht als eine oder eine Mehrzahl kleiner Nachrichten in der Form von Paketen übermittelt werden, wenn der unzuverlässige Transport-Mechanismus150 und der zuverlässige Transport-Mechanismus160 eine Applikations-Nachricht oder eine Verifikations-Nachricht übermitteln. - Eine empfangene Nachrichtenliste, wie zum Beispiel die empfangene Nachrichtenliste
110 weist Applikations-Nachrichten auf, die von dem Empfänger190 empfangen wurden, die Teil einer Menge von als einer Einheit zu empfangenden Nachrichten sind. Wenn ein Element der Menge empfangen wird, wird sie zu der Liste hinzugefügt. Die Applikations-Nachricht wird dann von dem Empfänger zu dem Zwecke verarbeitet, dass die Nachricht übermittelt wurde. Wie in größerem Detail erklärt werden soll, verwendet der Empfänger190 die empfangene Nachrichtenliste110 zum Zurückverfolgen, welche Elemente einer Menge von Applikations-Nachrichten empfangen wurden. Die empfangene Nachrichtenliste110 weist die Applikations-Nachrichten120-1 ,120-2 und120-3 auf. - VERWENDUNG VON PUFFERN DURCH DIE TRANSPORT-MECHANISMEN
- R_Puffer
187 werden von dem zuverlässigen Transport-Mechanismus160 zum Speichern von Kopien von Verifikations-Nachrichten verwenden, die er von einem Knoten104 über die Netzwerkverbindung, die von dem zuverlässigen Transport-Mechanismus160 verwendet wird, an einen Knoten102 übermittelt. Der zuverlässige Transport-Mechanismus160 speichert eine Kopie einer Verifikations-Nachricht, die er über die Netzwerkverbindung übermittelt, bis der zuverlässige Transport-Mechanismus160 bestimmt, ob die Verifikations-Nachricht von dem Knoten102 erfolgreich empfangen wurde oder nicht. Falls der zuverlässige Transport-Mechanismus160 bestimmt, dass die Verifikations-Nachricht nicht erfolgreich empfangen wurde, bekommt der zuverlässige Transport-Mechanismus160 die Nachricht von dem R_Puffer187 , der eine Kopie der Verifikations-Nachricht aufweist, und übermittelt sie erneut über die Netzwerkverbindung. Falls der zuverlässige Transport-Mechanismus160 bestimmt, dass die Verifikations-Nachricht erfolgreich empfangen wurde, dann wird der R_Puffer187 , der eine Kopie der übermittelten Verifikations-Nachricht aufweist, freigegeben, um für andere Zwecke verwendet zu werden. - Andererseits speichert der unzuverlässige Transport-Mechanismus
150 eine Kopie einer Applikations-Nachricht nach dem Übermitteln derselben zu der Netzwerkverbindung, die von der unzuverlässigen Transport-Mechanismus150 verwendet wird, nicht. - ÜBERMITTELN VON NACHRICHTEN
-
2 ist ein Flussdiagramm, das einen Prozess zum zuverlässigen Übermitteln von Nachrichten über einen unzuverlässigen Transport-Mechanismus zeigt, Die Schritte sind unter Verwendung eines beispielhaften Nachrichten-Übermittlungssystems100 dargestellt. - Bei Schritt
210 übermittelt der Sender180 die Applikations-Nachricht120-1 über den unzuverlässigen Transport-Mechanismus150 an den Empfänger190 . - Bei Schritt
216 übermittelt der Sender180 eine Verifikations-Nachricht, die die Applikations-Nachricht120-1 identifiziert. Insbesondere übermittelt der Sender180 die Verifikations-Nachricht124-1 über den zuverlässigen Transport-Mechanismus160 an den Empfänger190 . - Typischerweise wird eine Applikations-Nachricht vor der entsprechenden Verifikations-Nachricht ankommen, obwohl die Verifikations-Nachricht kleiner ist, da die Applikations-Nachricht über den viel schnelleren unzuverlässigen Transport-Mechanismus
150 transportiert wird. Wenn die Applikations-Nachricht120 von dem Empfänger190 über den unzuverlässigen Transport-Mechanismus150 empfangen wird, wird sie der empfangenen Nachrichtenliste110 hinzugefügt. - In Schritt
250 empfängt der Empfänger190 die Verifikations-Nachricht124-1 . In Schritt254 wird bestimmt, ob die Applikations-Nachricht, die von der verifikations-Nachricht124-1 identifiziert wird (d.h, die Applikations-Nachricht120-1 ), in der empfangenen Nachrichtenliste110 ist. Da die Applikations-Nachricht120-1 in der empfangenen Nachrichtenliste110 ist, geht die Steuerung auf Schritt262 über, wo die Applikations-Nachricht120-1 aus der empfangenen Nachrichtenliste110 gelöscht wird. - Falls, andererseits, der Empfänger
190 die Applikations-Nachricht120-1 nicht empfangen hat und sie in die empfangene Nachrichtenliste110 eingefügt hat, dann würde in Schritt250 bestimmt, dass die Applikations-Nachricht120-1 nicht in der empfangenen Nachrichtenliste110 ist. In diesem Fall, geht die Steuerung auf den Schritt258 über. - In Schritt
258 übermittelt der Empfänger190 eine Anforderung an den Sender180 zum erneuten Übermitteln der Applikations-Nachricht, die von der Verifikations-Nachricht124-1 identifiziert wird. In Schritt220 wird die Anforderung zur erneuten Übermittlung der Applikations-Nachricht von dem Sender180 empfangen. Die Steuerung geht auf Schritt210 über, wo die Applikations-Nachricht erneut übermittelt wird, und dann auf Schritt216 , wo ein andere Verifikations-Nachricht für die Applikations-Nachricht erneut übermittelt wird. - Der in
2 dargestellte Prozess weist verschiedene Vorteile auf. Erstens, eine Übermittlung einer Applikations-Nachricht ist garantiert, obwohl die Applikations-Nachricht über einen unzuverlässigen Transport-Mechanismus übermittelt wird. Insbesondere wird eine Verifikations-Nachricht zuverlässig zu dem Empfänger übermittelt, was garantiert, dass der Empfänger, zumindest, informiert wird, dass eine Applikations-Nachricht übermittelt wurde. Falls der Empfänger bestimmt, dass er die Applikations-Nachricht nicht empfangen hat, dann fordert der Empfänger eine erneute Übermittlung der Applikations-Nachricht an. Das Empfangen von Verifikations-Nachricht und das Anfordern einer erneuten Übermittlung, wenn der Empfänger bestimmt, dass er die Applikations-Nachricht nicht empfangen hat, ist ein Prozess, der wiederholt wird, bis der Empfänger bestimmt, dass er die Applikations-Nachricht empfangen hat. - Ferner wird die Übermittlung der Applikations-Nachricht garantiert, während die Kosten des Übermittelns der Applikations-Nachricht über einen zuverlässigen Transport vermieden werden, Obwohl eine Verifikations-Nachricht, die der Applikations-Nachricht entspricht, erzeugt und über einen zuverlässigen Transport-Mechanismus übermittelt wird, ist die Verifikations-Nachricht kleiner als ihre jeweilige Applikations-Nachricht. Folglich werden weniger Daten über einen zuverlässigen Transport-Mechanismus übermittelt. Handshaking, die Verwendung von Puffern zum Speichern von Kopien von Nachrichten bis ihre Lieferung verifiziert wird, und andere Formen von Overhead, der mit dem zuverlässigen Transport von Daten einhergeht, werden reduziert.
- TOLERANZ VON APPLIKATIONS-NACHRICHTEN, DIE WÄHREND DER ÜBERMITTLUNG VERLOREN GEHEN
- Der unzuverlässige Transport-Mechanismus
150 speichert eine Kopie einer Applikations-Nachricht nicht, nachdem sie zu der Netzwerkverbindung, die von dem unzuverlässigen Transport-Mechanismus150 verwendet wird, übermittelt wurde. Folglich muss eine Applikation fähig sein, den Verlust einer Applikations-Nachricht während der Übermittlung zu tolerieren, solange die Applikation von dem Verlust informiert ist. - Zum Beispiel kann eine Applikation den Verlust einer Applikations-Nachricht tolerieren, die wiederholbar ist. Der Begriff wiederholbar bezieht sich auf Daten, die erneut erzeugt werden können, ohne unerwünschte Nebenwirkungen zu verursachen. Zum Darstellen einer wiederholbaren Nachricht, wird das folgende Beispiel gegeben. Ein Nachrichten-Übermittlungssystem kann zum Transportieren von Nachrichten in einen Banksystem verwendet werden. Die Applikations-Nachrichten weisen Nachrichten auf, die Abhebungen bestätigen und Nachrichten, die eine Liste von während einer Zeitspanne aufgezeichneten Transaktionen spezifizieren. Eine Nachricht, die Abhebungen bestätigt, kann nur erneut erzeugt werden, indem eine andere Abhebung bewirkt wird – eine unerwünschte Nebenwirkung. Daher sind Nachrichten, die Abhebungen bestätigen nicht wiederholbar. Andererseits bewirkt die Erzeugung von Nachrichten, die Transaktionen auflisten, die für eine gegebene Zeitspanne aufgezeichnet wurden, keine Nebenwirkungen und sind daher wiederholbar.
- Die Erfindung ist nicht auf den Gebrauch von wiederholbaren Applikations-Nachrichten beschränkt. Die hierin offenbarten Techniken zum Übermitteln von Daten können zum Übermitteln irgendeiner Applikations-Nachricht verwendet werden, deren Verlust während der Übermittlung von einer Applikation, die von dem Verlust informiert ist, toleriert werden kann. Folglich ist es zu verstehen, dass die Erfindung nicht auf Applikations-Nachrichten, die wiederholbar sind, beschränkt ist.
- Eine Verifikations-Nachricht kann Informationen aufweisen, die von einer Applikation zum erneuten Verarbeiten von Applikations-Nachrichten („wiederverarbeiten-Informationen") verwendet werden. Der Begriff erneutes Verarbeiten bezieht sich auf Vorgänge, die von einer Applikation zum erneuten Übermitteln einer Nachricht durchgeführt werden, und weist Vorgänge zum erneuten Erzeugen einer Applikations-Nachricht, Vorbereiten einer Applikations-Nachricht zum erneuten Übermitteln an den Sender, und erneutes Übermitteln der Nachricht an den Sender auf. Wenn ein Empfänger eine erneute Übermittlung einer Applikations-Nachricht anfordert, übermittelt der Empfänger die Wiederverarbeiten-Information an den Empfänger. In dem Beispiel über Applikations-Nachrichten, die Transaktionen spezifizieren, die für eine Zeitspanne aufgezeichnet wurden, kann die Wiederverarbeiten-Information Daten aufweisen, die eine Zeitspanne, ein Konto und den Sender spezifizieren.
- VERIFIKATIONS-NACHRICHTEN, DIE FRÜH ANKOMMEN
- In einigen Vorgangskontexten kann eine Verifikations-Nachricht über einen zuverlässigen Transport-Mechanismus transportiert werden, verglichen mit dem unzuverlässigen Transport-Mechanismus der relativ schnell ist. Der Unterschied in der Latenz zwischen dem zuverlässigen und dem unzuverlässigen Transport-Mechanismus kann relativ klein sein. Zum Beispiel kann ein unzuverlässiger Transport-Mechanismus
150 ein Allzweck-LAN verwenden. Der zuverlässige Transport-Mechanismus160 kann andererseits eine Spezialzweck-Netzwerkverbindung verwenden, die zum zuverlässigen Übermitteln von Daten mit größeren Geschwindigkeiten fähig ist. - Unter solchen Umständen wird es für eine Verifikations-Nachricht nicht unüblich sein, vor der entsprechenden Applikations-Nachricht anzukommen, obwohl keine Probleme bei dem Transport der Applikations-Nachricht über den unzuverlässigen Transport-Mechanismus
150 aufgetreten sind. Wenn eine Verifikations-Nachricht vor der Applikations-Nachricht ankommt und in die empfangene Nachrichtenliste110 eingefügt wird, kann der Empfänger190 eine erneute Übermittlung der Applikations-Nachricht anfordern, owohl kein Problem während seiner Übermittlung auftrat. Das Erzeugen von Anforderungen für und die erneute Übermittlung von Applikations-Nachrichten kann mit einer unerwünscht hohen Frequenz auftreten. - Zum Reduzieren der Frequenz der erneuten Übermittlung von Applikations-Nachrichten kann ein Auszeit-Mechanismus verwendet werden. Insbesondere wartet der Empfänger
190 eine Zeitspanne, nachdem der Empfänger190 bestimmt, dass eine Applikations-Nachricht, die von einer verifikations-Nachricht identifiziert wird, nicht in der empfangenen Nachrichtenliste110 ist. Nachdem die Zeitspanne abgelaufen ist, bestimmt der Empfänger190 dann, ob die empfangene Nachrichtenliste110 jetzt die Applikations-Nachricht aufweist, und geht wie vorher beschrieben weiter. - Alternativ stellt der Sender
180 nach dem Übermitteln einer Applikations-Nachricht das Übermitteln der entsprechenden Verifikations-Nachricht zurück. Das zurückstellen stellt sicher, dass die Applikations-Nachricht vor der Verifikations-Nachricht ankommt. - Die Erfindung ist nicht auf den Gebrauch von Transport-Mechanismen beschränkt, die Daten über Netzwerke oder jedes bestimmte Medium zum Transport von Daten übermitteln, beschränkt. Zum Beispiel können der Sender und der Empfänger Prozesse sein, die auf demselben Computer ausgeführt werden. Die hierin beschriebenen Techniken können zum zuverlässigen Übermitteln von Daten zwischen Prozessen über einen Bus verwendet werden. Alternativ können die Techniken zum Übermitteln von Daten zwischen Prozessen verwendet werden, die Daten über ein Modem übermitteln.
- HARDWARE-ÜBERSICHT
-
3 ist ein Blockdiagramm, das ein Computersystem300 darstellt, auf dem ein Ausführungsbeispiel der Erfindung implementiert sein kann. Das Computersystem300 weist einen Bus302 oder andere Kommunikationsmechanismen zum Kommunizieren von Informationen und einen Prozessor304 zum Verarbeiten von Informationen, der mit dem Bus302 gekoppelt ist, auf. Das Computersystem300 weist auch einen Hauptspeicher306 , wie zum Beispiel einen Speicher mit wahlfreiem Zugriff (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus302 gekoppelt ist, zum Speichern von Informationen und Befehlen, die von dem Prozessor304 auszuführen sind, auf. Der Hauptspeicher306 kann auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Befehlen, die von dem Prozessor304 auszuführen sind, verwendet werden. Das Computersystem300 weist ferner einen Nur-Lese-Speicher (ROM)308 oder eine andere statische Speichervorrichtung, die mit dem Bus302 gekoppelt ist, zum Speichern statischer Informationen und Befehle für den Prozessor304 auf. Eine Speichervorrichtung310 , wie zum Beispiel eine magnetische Disk oder eine optische Disk ist vorgesehen und zum Speichern von Informationen und Befehlen mit dem Bus302 gekoppelt. - Das Computersystem
300 kann mittels eines Busses302 mit einer Anzeige312 , wie zum Beispiel einer Kathodenstrahlröhre (CRT) gekoppelt sein, um einem Computerbenutzer Informationen anzuzeigen. Eine Eingabevorrichtung314 , einschließlich alphanumerischer und anderer Tasten, ist mittels des Busses302 zum Kommunizieren von Informationen und einer Befehlsauswahl mit dem Prozessor304 gekoppelt. Ein anderer Typ von Benutzer-Eingabevorrichtung weist eine Cursorsteuerung316 , wie zum Beispiel eine Maus, einen Trackball oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und einer Befehlsauswahl mit dem Prozessor304 und zum Steuern einer Cursorbewegung auf der Anzeige312 auf. Diese Eingabevorrichtung weist typischerweise zwei Freiheitsgrade in zwei Achsen auf, eine erste Achse (z.B. x) und eine zweite Achse (z.B. y), die es der Vorrichtung ermöglichen, Positionen in einer Ebene anzugeben. - Die Erfindung betrifft den Gebrauch des Computersystems
300 zum Implementieren der hierin beschriebenen Techniken. Gemäß einem Ausführungsbeispiel der Erfindung sind diese Techniken durch das Computersystem300 in Antwort auf den Prozessor304 implementiert, der eine oder eine Mehrzahl von Sequenzen einer oder einer Mehrzahl von Befehlen ausführt, die in dem Hauptspeicher306 enthalten sind. Solche Befehle können von einem anderen computerlesbaren Medium, wie zum Beispiel der Speichervorrichtung310 in den Hauptspeicher306 eingelesen werden. Die Ausführung der Befehlssequenzen, die in dem Hauptspeicher306 enthalten sind, bewirkt, dass der Prozessor304 die hierin beschriebenen Prozessschritte durchführt. In alternativen Ausführungsbeispielen kann zum Implementieren der Erfindung ein festverdrahteter Schaltkreis anstelle von oder in Kombination mit Softwarebefehlen verwendet werden. Folglich sind Ausführungsbeispiele der Erfindung nicht auf eine spezifische Kombination von Hardware-Schaltkreisen und Software beschränkt. - Der Begriff "computerlesbares Medium", wie er hierin verwendet wird, bezeichnet jedes Medium, dass beim Bereitstellen von Befehlen für den Prozessor
304 zur Ausführung teilnimmt. Solch ein Medium kann viele Formen annehmen, einschließlich nicht-flüchtiger Medien, flüchtiger Medien und Übermittlungsmedien aber nicht darauf beschränkt. Nicht-flüchtige Medien weisen zum Beispiel optische oder magnetische Discs, wie die Speichervorrichtung310 auf. - Flüchtige Medien weisen dynamischen Speicher, wie zum Beispiel den Hauptspeicher
306 auf. Übermittlungsmedien umfassen Koaxialkabel, Kupferdrähte und Lichtwellenleiter, einschließlich der Drähte, die den Bus302 aufweisen. Übermittlungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie zum Beispiel jenen, die während Hochfrequenzwellen- und Infrarot-Datenkommunikationen erzeugt werden. - Übliche Formen von computerlesbaren Medien weisen zum Beispiel eine Floppy Disk, eine flexible Disk, eine Festplatte, ein Magnetband oder jedes andere magnetische Medium, eine CD-ROM, jedes andere optische Medium, Lochkarten, Papierbänder, jedes andere physikalische Medium mit Lochmustern, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, jeden anderen Speicherchip oder -Cartridge, eine Trägerwelle, wie nachstehend beschrieben, oder jedes andere Medium auf, von dem ein Computer lesen kann.
- Verschiedene Formen von computerlesbaren Medien können beim Tragen einer oder einer Mehrzahl von Sequenzen von einer oder einer Mehrzahl von Befehlen zu dem Prozessor
304 zur Ausführung enthalten sein. Zum Beispiel können die Befehle ursprünglich auf einer magnetischen Scheibe eines entfernten Computers getragen werden. Der entfernte Computer kann die Befehle in seinen dynamischen Speicher laden und die Befehle unter Verwendung eines Modems über eine Telefonleitung senden. Ein Modem, das zu dem Computersystem300 lokal ist, kann die Daten auf der Telefonleitung empfangen und einen Infrarot-Transmitter zum Umwandeln der Daten in ein Infrarotsignal verwenden. Ein Infrarot-Detektor kann die in dem Infrarot-Signal getragenen Daten empfangen, und ein geeigneter Schaltkreis kann die Daten auf dem Bus302 platzieren. Der Bus302 trägt die Daten zu dem Hauptspeicher306 , von dem der Prozessor304 die Befehle wieder holt und ausführt. Die Befehle, die vom Hauptspeicher306 empfangen werden, können wahlweise auf der Speichervorrichtung310 entweder vor oder nach der Ausführung durch den Prozessor304 gespeichert werden. - Das Computersystem
300 weist auch eine Kommunikationsschnittstelle318 auf, die mit dem Bus302 gekoppelt ist. Die Kommunikationsschnittstelle318 stellt eine Zweiwege-Datenkommunikation bereit, die mit einer Netzwerkverbindung320 koppelt, die mit einem lokalen Netzwerk322 verbunden ist. Zum Beispiel kann die Kommunikationsschnittstelle318 eine ISDN (integrated services digital network)-Karte oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung zu einer Telefonleitung des entsprechenden Typs sein. Als ein anderes Beispiel kann die Kommunikationsschnittstelle318 eine LAN (local area network)-Karte zum Bereitstellen einer Datenkommunikationsverbindung zu einem kompatiblen LAN sein. Drahtlose Verbindungen können auch implementiert sein. In jeder solchen Implementierung sendet und empfängt die Kommunikationsschnittstelle318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen, die verschiedene Informationsarten darstellen. - Die Netzwerkverbindung
320 stellt typischerweise durch eine oder eine Mehrzahl von Netzwerken eine Datenverbindung zu anderen Datenvorrichtungen bereit. Zum Beispiel kann die Netzwerkverbindung320 eine Verbindung durch ein lokales Netzwerk322 zu einem Host-Computer324 oder zu einer Datenausrüstung, die von einem Internet-Dienstanbieter (ISP)326 betrieben wird, bereitstellen. Der ISP326 stellt im Gegenzug Datenkommunikationsdienste durch das weltweite Paket-Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das "Internet"328 bezeichnet wird. Sowohl das lokale Netzwerk322 als auch das Internet328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen. Die Signale durch die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung320 und durch die Kommunikationsschnittstelle318 , die die digitalen Daten zu und von dem Computersystem300 tragen, sind beispielhafte Formen von Trägerwellen, die die Informationen transportieren. - Das Computersystem
300 kann Nachrichten senden und Daten, einschließlich Programmkode, durch das/die Netzwerk(e), die Netzwerkverbindung320 und die Kommunikationsschnittstelle318 empfangen. In dem Internet-Beispiel kann ein Server-Rechner330 einen angeforderten Kode für ein Applikationsprogramm durch das Internet328 , den ISP326 , das lokale Netzwerk322 und die Kommunikationsschnittstelle318 übermitteln. Gemäß der Erfindung implementiert eine solche heruntergeladene Applikation die hierin beschriebenen Techniken. - Der empfangene Kode kann von dem Prozessor
304 ausgeführt werden, wenn er empfangen wird, und/oder zur späteren Ausführung in der Speichervorrichtung310 oder einem anderen nicht-flüchtigen Speicher gespeichert werden. Auf diese Weise kann das Computersystem300 einen Applikationskode in der Form einer Trägerwelle erhalten. - In der vorangegangenen Beschreibung wurde die Erfindung mit Bezugnahme auf spezifische Ausführungsbeispiele davon beschrieben. Es wird jedoch offensichtlich sein, dass verschiedne Modifikationen und Änderungen daran gemacht werden können, ohne vom Umfang der Erfindung abzuweichen. Die Beschreibung und die Zeichnungen sind folglich eher in einem beschreibenden als in einem beschränkenden Sinn zu betrachten.
Claims (42)
- Verfahren zum Übermitteln einer oder mehrerer Applikations-Nachrichten (
120 ) von einem Sender (180 ) zu einem Empfänger (190 ), welches Verfahren die Schritte aufweist: Übermitteln (210 ) der ein oder mehreren Applikations-Nachrichten (120 ) zu dem Empfänger (190 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ), wobei der unzuverlässige Transport-Mechanismus (150 ) nicht die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) übermittelt werden, garantieren kann; Übermitteln (216 ) einer Verifikations-Nachricht (124 ) an den Empfänger (190 ) mittels eines zuverlässigen Transport-Mechanismus (160 ), die die eine oder mehreren Applikations-Nachrichten (120 ) identifiziert, um anzuzeigen, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen soll, wobei der zuverlässige Transport-Mechanismus (160 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) übermittelt werden, garantieren kann; Empfangen (220 ) einer Antwort von dem Empfänger (190 ), die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ), die von der Verifikations-Nachricht (124 ) identifiziert werden, nicht von dem Empfänger (190 ) empfangen worden sind; und als Antwort auf das Empfangen der Nachricht, erneutes Übermitteln der einen oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - Verfahren gemäß Anspruch 1, ferner aufweisend die Schritte: als Antwort auf das Empfangen der Antwort, erneutes Erzeugen von Daten, die die eine oder mehreren Applikations-Nachrichten (
120 ) aufweisen, und erneutes Übermitteln der Daten als die eine oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - verfahren gemäß Anspruch 1, wobei die Verifikations-Nachricht (
124 ) Daten aufweist, die von dem Sender (180 ) verwendet werden, um mindestens eine Applikations-Nachricht der einen oder mehreren Applikations-Nachrichten (120 ) als Reaktion darauf, dass der Sender (180 ) eine Anforderung von dem Empfänger (190 ) empfängt, die mindestens eine Applikations-Nachricht erneut zu übermitteln, erneut zu verarbeiten. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) das Übermitteln mittels eines Netzwerks aufweist. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) das Übermitteln mittels eines Netzwerks aufweist. - verfahren gemäß Anspruch 1, wobei die Schritte: Übermitteln (
2i0 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) das Übermitteln unter Verwendung eines Protokolls aufweist, welches Protokoll unzuverlässigen Datentransport bereitstellt; und Übermitteln (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) das Übermitteln unter Verwendung eines Protokolls aufweist, welches Protokoll zuverlässigen Datentransport bereitstellt. - Verfahren gemäß Anspruch 1, wobei das Durchführen des Schritts des Übermittelns (
216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) für eine Zeitspanne nach dem Übermitteln (210 ) der ein oder mehreren Applikations-Nachrichten (120 ) mittels des unzuverlässigen Transport-Mechanismus (150 ) verzögert wird. - Verfahren gemäß Anspruch 1, wobei die Schritte: Übermitteln (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) aufweist, dass ein erster Prozess mittels eines unzuverlässigen Transport-Mechanismus (150 ) eine oder mehrere Applikations-Nachrichten (120 ) an einen Empfänger, der ein zweiter Prozess ist, übermittelt, wobei der erste Prozess von einem Betriebssystem eines Computers gesteuert wird und der zweite Prozess von dem Betriebssystem gesteuert wird; und Übermitteln (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) aufweist, dass der erste Prozess mittels des zuverlässigen Transport-Mechanismus (160 ) die Verifikations-Nachricht (124 ) an den zweiten Prozess übermittelt. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) einer oder mehreren Applikations-Nachrichten (120 ) das Übermitteln einer oder mehrere Applikations-Nachrichten (120 ), die jeweils eine oder mehrere Daten-Pakete aufweisen, aufweist. - Verfahren zum Empfangen einer oder mehrerer Applikations-Nachrichten (
120 ), die von einem Sender (180 ) an einen Empfänger (190 ) gesendet werden, wobei das Verfahren die Schritte aufweist: Empfangen mittels eines zuverlässigen Transport-Mechanismus (160 ) einer Verifikations-Nachricht (124 ) von dem Sender (180 ), die die eine oder mehreren Applikations-Nachrichten (120 ) für den Empfänger (190 ) identifiziert, um dem Empfänger (190 ) anzuzeigen, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) empfangen soll, wobei der zuverlässige Transport-Mechanismus (160 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) gesendet werden, garantieren kann, und wobei der unzuverlässige Transport-Mechanismus (150 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) gesendet werden, nicht garantieren kann; und als Reaktion auf Empfangen der Verifikations-Nachricht (124 ), Sicherstellen durch den Empfänger (190 ), dass die eine oder mehreren Applikations-Nachrichten (120 ), die durch die Identifikations-Nachricht (124 ) identifiziert werden, empfangen werden, aufweisend: Bestimmen, ob die eine oder mehreren Applikations-Nachrichten (120 ) empfangen worden sind; und wenn die einen oder mehreren Applikations-Nachrichten (120 ) nicht empfangen worden sind, dann Übermitteln einer Anforderung an den Sender (180 ), die eine oder mehreren Applikations-Nachrichten (120 ) erneut zu übermitteln. - Verfahren gemäß Anspruch 10, wobei der Schritt des Übermittelns einer Anforderung an den Sender (
180 ) durchgeführt wird, wenn die eine oder mehreren Applikations-Nachrichten (120 ) nicht für eine Zeitspanne nach dem Empfangen der Verifikations-Nachricht (124 ) empfangen worden sind. - Computerlesbares Speichermedium, das eine oder mehrere Folgen von ein oder mehreren Instruktionen trägt zum Übermitteln einer oder mehrerer Applikations-Nachrichten (
120 ) von einem Sender (180 ) zu einem Empfänger (190 ), wobei die ein oder mehreren Folgen von Instruktionen Instruktionen aufweisen, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Schritte durchzuführen: Übermitteln (210 ) der ein oder mehreren Applikations-Nachrichten (120 ) zu dem Empfänger (190 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ), wobei der unzuverlässige Transport-Mechanismus (150 ) nicht die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) übermittelt werden, garantieren kann; Übermitteln (216 ) einer Verifikations-Nachricht (124 ) an den Empfänger (190 ) mittels eines zuverlässigen Transport-Mechanismus (160 ), die die eine oder mehreren Applikations-Nachrichten (120 ) identifiziert, um anzuzeigen, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen soll, wobei der zuverlässige Transport-Mechanismus (160 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) übermittelt werden, garantieren kann; Empfangen (220 ) einer Antwort von dem Empfänger (190 ), die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ), die von der Verifikations-Nachricht (124 ) identifiziert werden, nicht von dem Empfänger (190 ) empfangen worden sind; und als Antwort auf das Empfangen der Nachricht, erneutes Übermitteln der einen oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - Das computerlesbare Speichermedium gemäß Anspruch 12, ferner aufweisend die Schritte: als Antwort auf das Empfangen der Antwort, erneutes Erzeugen von Daten, die die eine oder mehreren Applikations-Nachrichten (
120 ) aufweisen, und erneutes Übermitteln der Daten als die eine oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Verifikations-Nachricht (
124 ) Daten aufweist, die von dem Sender (180 ) verwendet werden, um mindestens eine Applikations-Nachricht der einen oder mehreren Applikations-Nachrichten (120 ) als Reaktion darauf, dass der Sender (180 ) eine Anforderung von dem Empfänger (190 ) empfängt, die mindestens eine Applikations-Nachricht erneut zu übermitteln, erneut zu verarbeiten. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) das Übermitteln mittels eines Netzwerks aufweist. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) das Übermitteln mittels eines Netzwerks aufweist. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Schritte: Übermitteln (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) das Übermitteln unter Verwendung eines Protokolls aufweist, welches Protokoll unzuverlässigen Datentransport bereitstellt; und Übermitteln (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) das Übermitteln unter Verwendung eines Protokolls aufweist, welches Protokoll zuverlässigen Datentransport bereitstellt. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei das Durchführen des Schritts des Übermittelns (
216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) für eine Zeitspanne nach dem Übermitteln (210 ) der ein oder mehreren Applikations-Nachrichten (120 ) mittels des unzuverlässigen Transport-Mechanismus (150 ) verzögert wird. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Schritte: Übermitteln (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) aufweist, dass ein erster Prozess mittels eines unzuverlässigen Transport-Mechanismus (150 ) eine oder mehrere Applikations-Nachrichten (120 ) an einen Empfänger, der ein zweiter Prozess ist, übermittelt, wobei der erste Prozess von einem Betriebssystem eines Computers gesteuert wird und der zweite Prozess von dem Betriebssystem gesteuert wird; und Übermitteln (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) aufweist, dass der erste Prozess mittels des zuverlässigen Transport-Mechanismus (160 ) die Verifikations-Nachricht (124 ) an den zweiten Prozess übermittelt. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) einer oder mehreren Applikations-Nachrichten (120 ) das Übermitteln einer oder mehrere Applikations-Nachrichten (120 ), die jeweils eine oder mehrere Daten-Pakete aufweisen, aufweist. - Computerlesbares Speichermedium, das eine oder mehrere Folgen von ein oder mehreren Instruktionen trägt zum Empfangen einer oder mehrerer Applikations-Nachrichten (
120 ), die von einem Sender (180 ) an einen Empfänger (190 ) gesendet werden, wobei die ein oder mehreren Folgen von Instruktionen Instruktionen aufweisen, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, die Schritte durchzuführen: Empfangen mittels eines zuverlässigen Transport-Mechanismus (160 ) einer Verifikations-Nachricht (124 ) von dem Sender (180 ), die die eine oder mehreren Applikations-Nachrichten (120 ) für den Empfänger (190 ) identifiziert, um dem Empfänger (190 ) anzuzeigen, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) empfangen soll, wobei der zuverlässige Transport-Mechanismus (160 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) gesendet werden, garantieren kann, und wobei der unzuverlässige Transport-Mechanismus (150 ) die Zustellung von Daten, die von dem Sender (180 ) zu dem Empfänger (190 ) gesendet werden, nicht garantieren kann; und als Reaktion auf Empfangen der Verifikations-Nachricht (124 ), Sicherstellen durch den Empfänger (190 ), dass die eine oder mehreren Applikations-Nachrichten (120 ), die durch die Identifikations-Nachricht (124 ) identifiziert werden, empfangen werden, aufweisend: Bestimmen, ob die eine oder mehreren Applikations-Nachrichten (120 ) empfangen worden sind; und wenn die einen oder mehreren Applikations-Nachrichten (120 ) nicht empfangen worden sind, dann Übermitteln einer Anforderung an den Sender (180 ), die eine oder mehreren Applikations-Nachrichten (120 ) erneut zu übermitteln. - Das computerlesbare Speichermedium gemäß Anspruch 21, wobei der Schritt des Übermittelns einer Anforderung an den Sender (
180 ) durchgeführt wird, wenn die eine oder mehreren Applikations-Nachrichten (120 ) nicht für eine Zeitspanne nach dem Empfangen der Verifikations-Nachricht (124 ) empfangen worden sind. - Verfahren gemäß Anspruch 1, wobei die Schritte ferner aufweisen: Speichern einer Kopie der einen oder mehreren Applikations-Nachrichten (
120 ); Empfangen einer Antwort-Nachricht, die anzeigt, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen hat; und als Reaktion auf das Empfangen der Antwort-Nachricht, die anzeigt, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen hat, Beenden des Speicherns der Kopie der einen oder mehreren Applikations-Nachrichten (120 ). - Verfahren gemäß Anspruch 23, wobei der Sender (
180 ) die Schritte des Speicherns einer Kopie und des Beendens des Speicherns durchführt. - Verfahren gemäß Anspruch 1, wobei die Schritte ferner aufweisen: Speichern einer Kopie der einen oder mehreren Applikations-Nachrichten (
120 ); und nach Durchführen des Schrittes des Übermittelns (210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) der einen oder mehreren Applikations-Nachrichten (120 ), erneutes Übermitteln einer oder mehrerer Applikations-Nachrichten (120 ) an den Empfänger (190 ), basierend auf der Kopie. - Verfahren gemäß Anspruch 25, wobei der Schritt des erneuten Übermittelns als Reaktion auf das Empfangen einer Antwort-Nachricht von dem Empfänger (
190 ) durchgeführt wird, die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ) nicht von dem Empfänger (190 ) empfangen worden sind. - Verfahren gemäß Anspruch 25, wobei der Schritt des erneuten Übermittelns als Reaktion auf den Ablauf einer Time-Out-Zeitspanne in dem Empfänger (
190 ) durchgeführt wird. - Verfahren gemäß Anspruch 1, wobei die Schritte ferner aufweisen: Empfangen einer Antwort von dem Empfänger (
190 ), die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ) nicht von dem Empfänger (190 ) empfangen worden sind; und als Reaktion auf das Empfangen der Nachricht; erneutes erzeugen der einen oder mehreren Applikations-Nachrichten (120 ), und erneutes Übermitteln der einen oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - Verfahren gemäß Anspruch 1, wobei: der Sender (
180 ) die eine oder mehreren Applikations-Nachrichten (120 ) übermittelt; und der Sender (180 ) die eine oder mehreren Applikations-Nachrichten (120 ) nicht erneut übermittelt, falls der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) nicht empfängt, und falls die eine oder mehreren Applikations-Nachrichten (120 ) wiederholbar sind. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) gestartet wird, nachdem der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) durchgeführt wurde. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) gestartet wird, bevor der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) durchgeführt wird. - Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) und der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) synchron durchgeführt werden. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Schritte ferner aufweisen: Speichern einer Kopie der einen oder mehreren Applikations-Nachrichten (
120 ); Empfangen einer Antwort-Nachricht, die anzeigt, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen hat; und als Reaktion auf das Empfangen der Antwort-Nachricht, die anzeigt, dass der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) empfangen hat, Beenden des Speicherns der Kopie der einen oder mehreren Applikations-Nachrichten (120 ). - Das computerlesbare Speichermedium gemäß Anspruch 33, wobei der Sender (
180 ) die Schritte des Speicherns einer Kopie und des Beendens des Speicherns durchführt. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Schritte ferner aufweisen: Speichern einer Kopie der einen oder mehreren Applikations-Nachrichten (
120 ); und nach Durchführen des Schrittes des Übermittelns (210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) der einen oder mehreren Applikations-Nachrichten (120 ), erneutes Übermitteln einer oder mehrerer Applikations-Nachrichten (120 ) an den Empfänger (190 ), basierend auf der Kopie. - Das computerlesbare Speichermedium gemäß Anspruch 35, wobei der Schritt des erneuten Übermittelns als Reaktion auf das Empfangen einer Antwort-Nachricht von dem Empfänger (
190 ) durchgeführt wird, die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ) nicht von dem Empfänger (190 ) empfangen worden sind. - Das computerlesbare Speichermedium gemäß Anspruch 35, wobei der Schritt des erneuten Übermittelns als Reaktion auf den Ablauf einer Time-Out-Zeitspanne in dem Empfänger (
190 ) durchgeführt wird. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei die Schritte ferner aufweisen: Empfangen einer Antwort von dem Empfänger (
190 ), die anzeigt, dass die eine oder mehreren Applikations-Nachrichten (120 ) nicht von dem Empfänger (190 ) empfangen worden sind; und als Reaktion auf das Empfangen der Nachricht: erneutes Erzeugen der einen oder mehreren Applikations-Nachrichten (120 ), und erneutes Übermitteln der einen oder mehreren Applikations-Nachrichten (120 ) an den Empfänger (190 ). - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei: der Sender (
180 ) die eine oder mehreren Applikations-Nachrichten (120 ) übermittelt; und der Sender (180 ) die eine oder mehreren Applikations-Nachrichten (120 ) nicht erneut übermittelt, falls der Empfänger (190 ) die eine oder mehreren Applikations-Nachrichten (120 ) nicht empfängt, und falls die eine oder mehreren Applikations-Nachrichten (120 ) wiederholbar sind. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) gestartet wird, nachdem der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) durchgeführt wurde. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) gestartet wird, bevor der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) durchgeführt wird. - Das computerlesbare Speichermedium gemäß Anspruch 12, wobei der Schritt des Übermittelns (
210 ) mittels eines unzuverlässigen Transport-Mechanismus (150 ) und der Schritt des Übermittelns (216 ) mittels eines zuverlässigen Transport-Mechanismus (160 ) synchron durchgeführt werden.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US428295 | 1999-10-27 | ||
US09/428,295 US6543005B1 (en) | 1999-10-27 | 1999-10-27 | Transmitting data reliably and efficiently |
PCT/US2000/028970 WO2001031884A2 (en) | 1999-10-27 | 2000-10-18 | Data transmission by means of an unreliable and a reliable transport mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60023169D1 DE60023169D1 (de) | 2006-02-23 |
DE60023169T2 true DE60023169T2 (de) | 2006-07-13 |
Family
ID=23698290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60023169T Expired - Lifetime DE60023169T2 (de) | 1999-10-27 | 2000-10-18 | Datenübertragung mittels einer unzuverlässigen und einer zuverlässigen Transportvorrichtung |
Country Status (9)
Country | Link |
---|---|
US (2) | US6543005B1 (de) |
EP (1) | EP1228618B1 (de) |
JP (1) | JP4008707B2 (de) |
AT (1) | ATE306773T1 (de) |
AU (1) | AU775880B2 (de) |
CA (1) | CA2387913C (de) |
DE (1) | DE60023169T2 (de) |
HK (1) | HK1046340A1 (de) |
WO (1) | WO2001031884A2 (de) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6543005B1 (en) * | 1999-10-27 | 2003-04-01 | Oracle Corporation | Transmitting data reliably and efficiently |
SE0000897D0 (sv) * | 2000-03-17 | 2000-03-17 | Ericsson Telefon Ab L M | Methods in a communication system |
US20030018793A1 (en) * | 2001-07-19 | 2003-01-23 | Oscar Mora | Reliable transport layer protocol in low performance 8-bit microcontrollers |
US9420072B2 (en) | 2003-04-25 | 2016-08-16 | Z124 | Smartphone databoost |
FI118619B (fi) * | 2003-05-16 | 2008-01-15 | Jarmo Talvitie | Menetelmä ja järjestelmä tiedon salaamiseksi ja tallentamiseksi |
US7174479B2 (en) * | 2003-09-10 | 2007-02-06 | Microsoft Corporation | Method and system for rollback-free failure recovery of multi-step procedures |
US7647595B2 (en) * | 2003-10-29 | 2010-01-12 | Oracle International Corporation | Efficient event notification in clustered computing environments |
US7561598B2 (en) | 2004-09-13 | 2009-07-14 | Agilent Technologies, Inc. | Add-on module for synchronizing operations of a plurality of devices |
US7940875B2 (en) | 2004-09-13 | 2011-05-10 | Agilent Technologies, Inc. | System and method for coordinating the actions of a plurality of devices via scheduling the actions based on synchronized local clocks |
CN1798322B (zh) * | 2004-12-20 | 2010-09-08 | 松下电器产业株式会社 | 数据传输系统及方法 |
US7359919B2 (en) * | 2005-03-08 | 2008-04-15 | Microsoft Corporation | Reliable request-response messaging over a request-response transport |
US8041832B2 (en) * | 2005-05-05 | 2011-10-18 | Verizon Services Corp. | Network data distribution system and method |
US7716731B2 (en) * | 2005-10-24 | 2010-05-11 | Cisco Technology, Inc. | Method for dynamically tunneling over an unreliable protocol or a reliable protocol, based on network conditions |
US20070130303A1 (en) * | 2005-11-17 | 2007-06-07 | Gary Anna | Apparatus, system, and method for recovering messages from a failed node |
US20090158298A1 (en) * | 2007-12-12 | 2009-06-18 | Abhishek Saxena | Database system and eventing infrastructure |
US8751682B2 (en) | 2010-09-27 | 2014-06-10 | Z124 | Data transfer using high speed connection, high integrity connection, and descriptor |
US8788576B2 (en) * | 2010-09-27 | 2014-07-22 | Z124 | High speed parallel data exchange with receiver side data handling |
US8627449B2 (en) | 2011-03-03 | 2014-01-07 | Cisco Technology, Inc. | Dynamic tunneling over virtual private network connections based on network conditions |
US8499051B2 (en) | 2011-07-21 | 2013-07-30 | Z124 | Multiple messaging communication optimization |
US9774721B2 (en) | 2011-09-27 | 2017-09-26 | Z124 | LTE upgrade module |
US20130076654A1 (en) | 2011-09-27 | 2013-03-28 | Imerj LLC | Handset states and state diagrams: open, closed transitional and easel |
CN113794539B (zh) * | 2021-06-08 | 2024-03-22 | 龙迅半导体(合肥)股份有限公司 | 一种双向通信控制方法和装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5319641A (en) * | 1990-12-03 | 1994-06-07 | Echelon Systems Corp. | Multiaccess carrier sensing network communication protocol with priority messages |
KR19990072122A (ko) | 1995-12-12 | 1999-09-27 | 바자니 크레이그 에스 | 실시간 영상 전송 방법 및 장치 |
US5870406A (en) * | 1997-02-19 | 1999-02-09 | Ericsson Inc. | Automatic repeat request(ARQ) data communications method and apparatus |
US5931915A (en) * | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6014710A (en) * | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | System and method for message transmission between network nodes using remote wires |
US6128283A (en) * | 1997-12-03 | 2000-10-03 | Nortel Networks Corporation | Method and apparatus for data transmission using a positive group acknowledgement protocol |
US6275471B1 (en) * | 1998-05-12 | 2001-08-14 | Panasonic Technologies, Inc. | Method for reliable real-time multimedia streaming |
US6112323A (en) * | 1998-06-29 | 2000-08-29 | 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 |
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 |
US6381215B1 (en) * | 1998-06-29 | 2002-04-30 | 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 |
US6111892A (en) * | 1998-07-29 | 2000-08-29 | Motorola, Inc. | Method and apparatus for conveying data packets in a communication system without using communication device timers to trigger data retransmission |
US6269080B1 (en) * | 1999-04-13 | 2001-07-31 | Glenayre Electronics, Inc. | Method of multicast file distribution and synchronization |
US6543005B1 (en) * | 1999-10-27 | 2003-04-01 | Oracle Corporation | Transmitting data reliably and efficiently |
US6629285B1 (en) * | 2000-01-04 | 2003-09-30 | Nokia Corporation | Data transmission |
US8051212B2 (en) * | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
-
1999
- 1999-10-27 US US09/428,295 patent/US6543005B1/en not_active Expired - Lifetime
-
2000
- 2000-10-18 DE DE60023169T patent/DE60023169T2/de not_active Expired - Lifetime
- 2000-10-18 WO PCT/US2000/028970 patent/WO2001031884A2/en active IP Right Grant
- 2000-10-18 JP JP2001533717A patent/JP4008707B2/ja not_active Expired - Lifetime
- 2000-10-18 AU AU80299/00A patent/AU775880B2/en not_active Expired
- 2000-10-18 EP EP00970997A patent/EP1228618B1/de not_active Expired - Lifetime
- 2000-10-18 CA CA2387913A patent/CA2387913C/en not_active Expired - Lifetime
- 2000-10-18 AT AT00970997T patent/ATE306773T1/de not_active IP Right Cessation
-
2002
- 2002-10-16 HK HK02107522A patent/HK1046340A1/xx not_active IP Right Cessation
-
2003
- 2003-01-21 US US10/348,673 patent/US7178060B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU775880B2 (en) | 2004-08-19 |
ATE306773T1 (de) | 2005-10-15 |
US7178060B2 (en) | 2007-02-13 |
JP2003513523A (ja) | 2003-04-08 |
WO2001031884A2 (en) | 2001-05-03 |
AU8029900A (en) | 2001-05-08 |
WO2001031884A3 (en) | 2001-11-22 |
EP1228618B1 (de) | 2005-10-12 |
EP1228618A2 (de) | 2002-08-07 |
DE60023169D1 (de) | 2006-02-23 |
CA2387913C (en) | 2012-05-01 |
US20030115501A1 (en) | 2003-06-19 |
CA2387913A1 (en) | 2001-05-03 |
JP4008707B2 (ja) | 2007-11-14 |
HK1046340A1 (en) | 2003-01-03 |
US6543005B1 (en) | 2003-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60023169T2 (de) | Datenübertragung mittels einer unzuverlässigen und einer zuverlässigen Transportvorrichtung | |
DE60111551T2 (de) | Mechanismus zur vervollständigung von nachrichten im speicher | |
DE69931215T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen | |
DE69935554T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und zuverlässigen Übertragen von kleinen Datennachrichten von einem Sendesystem zu einer grossen Anzahl von Empfangssystemen | |
DE69636029T2 (de) | Verfahren und Vorrichtung zur Datenübertragung | |
DE69930992T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen | |
DE69826930T2 (de) | System und Verfahren zur wirksamen Fernplatte Ein-/Ausgabe | |
DE69735866T2 (de) | Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten | |
DE60027404T2 (de) | Kreditbasiertes flusskontrollverfahren | |
DE3689990T2 (de) | Flexible Datenübertragung für nachrichtenorientierte Protokolle. | |
DE69836778T2 (de) | Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten | |
DE10107207B4 (de) | Verfahren und Vorrichtung zur Kommunikation zwischen Anwendungen in drahtlosen Netzen | |
DE69108662T2 (de) | Dezentrales informationssystem mit automatischem aufruf eines schlüsselverwaltungsprotokolls und diesbezügliches verfahren. | |
DE19924922A1 (de) | System und Verfahren für Nachrichtenübermittlung zwisfchen Netzwerkknoten, die durch parallele Verbindungen verbunden sind | |
DE112011106016T5 (de) | Gemeinsame Sendeschlange | |
DE112015003004B4 (de) | Hybrider Ansatz für leistungssteigernde Proxies | |
DE602005005727T2 (de) | Verfahren und Vorrichtung zur Verbindung von Knoten mit heterogenen Kommunikationsprotokollen | |
DE602004011453T2 (de) | Sendegerät zur Steuerung der Datenübertragung | |
DE102018124173A1 (de) | Verfahren und Vorrichtungen zum Erweitern von USB-3.0-Konformer Kommunikation über ein Erweiterungsmedium | |
EP1466425A1 (de) | Verfahren zur reduzierung der latenzzeit bei der interaktiven datenkommunikation über ein satellitennetzwerk | |
DE60020475T2 (de) | Übertragungsverfahren zwischen einem Peripheriegerät und einem Kunden in einem Rechnernetzwerk | |
DE202019005789U1 (de) | Bereitstellung von Ereignisinhalten | |
DE112013000812T5 (de) | Variable Bestätigungsrate zum Verringern von Buskonflikt in Gegenwart von Datenübertragungsfehlern | |
DE602004002603T2 (de) | Empfangsbestätigung für einen Inhalt zu einer HTTP/TCP Vorrichtung | |
DE102017222299A1 (de) | Kommunikation mit geringer latenz |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8327 | Change in the person/name/address of the patent owner |
Owner name: ORACLE INTERNATIONAL CORP., REDWOOD SHORES, CALIF. |
|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DENDORFER & HERRMANN PATENTANWAELTE PARTNERSCHAFT, |