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 PDF

Info

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
Application number
DE60023169T
Other languages
English (en)
Other versions
DE60023169D1 (de
Inventor
Roger Bamford
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of DE60023169D1 publication Critical patent/DE60023169D1/de
Application granted granted Critical
Publication of DE60023169T2 publication Critical patent/DE60023169T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • 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-Übermittlungssystem 100 gemäß einem Ausführungsbeispiel der Erfindung. Ein Empfänger 190 und ein Sender 180 sind Prozesse, die jeweils auf Knoten 102 bzw. 104 liegen. Der Sender 180 übermittelt über einen unzuverlässigen Transport-Mechanismus 150 und einen zuverlässigen Transport-Mechanismus 160 Nachrichten an den Empfänger 190. 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-Nachrichten 120, über den unzuverlässigen Transport-Mechanismus 150 an den Empfänger 190 und übermittelt Verifikations-Nachrichten, wie zum Beispiel Verifikations-Nachrichten 124, über den zuverlässigen Transport-Mechanismus 160. 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 Sender 180 Prozesse sein, die von einem Datenbanksystem gesteuert werden. Der Sender 180 sendet über den unzuverlässigen Transport-Mechanismus Datenblöcke 150 in der Form von Applikations-Nachrichten 120 an den Empfänger 190. Um dem Empfänger 190 anzuzeigen, dass die Applikations-Nachrichten 120 gesendet wurden, übermittelt der Sender 180 Verifikations-Nachrichten 124, um Applikations-Nachrichten 120 zu identifizieren. Verifikations-Nachrichten 124-1, 124-2 und 124-3 identifizieren jeweils Applikations-Nachrichten 120-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-Mechanismus 160 können Daten über die gleiche oder verschiedene Netzwerkverbindungen übermitteln. Zum Beispiel können sie, während der unzuverlässige Transport-Mechanismus 150 und der zuverlässige Transport-Mechanismus 160 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-Mechanismus 150 und der zuverlässige Transport-Mechanismus 160 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änger 190 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änger 190 die empfangene Nachrichtenliste 110 zum Zurückverfolgen, welche Elemente einer Menge von Applikations-Nachrichten empfangen wurden. Die empfangene Nachrichtenliste 110 weist die Applikations-Nachrichten 120-1, 120-2 und 120-3 auf.
  • VERWENDUNG VON PUFFERN DURCH DIE TRANSPORT-MECHANISMEN
  • R_Puffer 187 werden von dem zuverlässigen Transport-Mechanismus 160 zum Speichern von Kopien von Verifikations-Nachrichten verwenden, die er von einem Knoten 104 über die Netzwerkverbindung, die von dem zuverlässigen Transport-Mechanismus 160 verwendet wird, an einen Knoten 102 übermittelt. Der zuverlässige Transport-Mechanismus 160 speichert eine Kopie einer Verifikations-Nachricht, die er über die Netzwerkverbindung übermittelt, bis der zuverlässige Transport-Mechanismus 160 bestimmt, ob die Verifikations-Nachricht von dem Knoten 102 erfolgreich empfangen wurde oder nicht. Falls der zuverlässige Transport-Mechanismus 160 bestimmt, dass die Verifikations-Nachricht nicht erfolgreich empfangen wurde, bekommt der zuverlässige Transport-Mechanismus 160 die Nachricht von dem R_Puffer 187, der eine Kopie der Verifikations-Nachricht aufweist, und übermittelt sie erneut über die Netzwerkverbindung. Falls der zuverlässige Transport-Mechanismus 160 bestimmt, dass die Verifikations-Nachricht erfolgreich empfangen wurde, dann wird der R_Puffer 187, 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-Mechanismus 150 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-Übermittlungssystems 100 dargestellt.
  • Bei Schritt 210 übermittelt der Sender 180 die Applikations-Nachricht 120-1 über den unzuverlässigen Transport-Mechanismus 150 an den Empfänger 190.
  • Bei Schritt 216 übermittelt der Sender 180 eine Verifikations-Nachricht, die die Applikations-Nachricht 120-1 identifiziert. Insbesondere übermittelt der Sender 180 die Verifikations-Nachricht 124-1 über den zuverlässigen Transport-Mechanismus 160 an den Empfänger 190.
  • 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-Nachricht 120 von dem Empfänger 190 über den unzuverlässigen Transport-Mechanismus 150 empfangen wird, wird sie der empfangenen Nachrichtenliste 110 hinzugefügt.
  • In Schritt 250 empfängt der Empfänger 190 die Verifikations-Nachricht 124-1. In Schritt 254 wird bestimmt, ob die Applikations-Nachricht, die von der verifikations-Nachricht 124-1 identifiziert wird (d.h, die Applikations-Nachricht 120-1), in der empfangenen Nachrichtenliste 110 ist. Da die Applikations-Nachricht 120-1 in der empfangenen Nachrichtenliste 110 ist, geht die Steuerung auf Schritt 262 über, wo die Applikations-Nachricht 120-1 aus der empfangenen Nachrichtenliste 110 gelöscht wird.
  • Falls, andererseits, der Empfänger 190 die Applikations-Nachricht 120-1 nicht empfangen hat und sie in die empfangene Nachrichtenliste 110 eingefügt hat, dann würde in Schritt 250 bestimmt, dass die Applikations-Nachricht 120-1 nicht in der empfangenen Nachrichtenliste 110 ist. In diesem Fall, geht die Steuerung auf den Schritt 258 über.
  • In Schritt 258 übermittelt der Empfänger 190 eine Anforderung an den Sender 180 zum erneuten Übermitteln der Applikations-Nachricht, die von der Verifikations-Nachricht 124-1 identifiziert wird. In Schritt 220 wird die Anforderung zur erneuten Übermittlung der Applikations-Nachricht von dem Sender 180 empfangen. Die Steuerung geht auf Schritt 210 über, wo die Applikations-Nachricht erneut übermittelt wird, und dann auf Schritt 216, 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-Mechanismus 150 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-Mechanismus 160 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 Nachrichtenliste 110 eingefügt wird, kann der Empfänger 190 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änger 190 bestimmt, dass eine Applikations-Nachricht, die von einer verifikations-Nachricht identifiziert wird, nicht in der empfangenen Nachrichtenliste 110 ist. Nachdem die Zeitspanne abgelaufen ist, bestimmt der Empfänger 190 dann, ob die empfangene Nachrichtenliste 110 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 Computersystem 300 darstellt, auf dem ein Ausführungsbeispiel der Erfindung implementiert sein kann. Das Computersystem 300 weist einen Bus 302 oder andere Kommunikationsmechanismen zum Kommunizieren von Informationen und einen Prozessor 304 zum Verarbeiten von Informationen, der mit dem Bus 302 gekoppelt ist, auf. Das Computersystem 300 weist auch einen Hauptspeicher 306, wie zum Beispiel einen Speicher mit wahlfreiem Zugriff (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und Befehlen, die von dem Prozessor 304 auszuführen sind, auf. Der Hauptspeicher 306 kann auch zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Befehlen, die von dem Prozessor 304 auszuführen sind, verwendet werden. Das Computersystem 300 weist ferner einen Nur-Lese-Speicher (ROM) 308 oder eine andere statische Speichervorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern statischer Informationen und Befehle für den Prozessor 304 auf. Eine Speichervorrichtung 310, wie zum Beispiel eine magnetische Disk oder eine optische Disk ist vorgesehen und zum Speichern von Informationen und Befehlen mit dem Bus 302 gekoppelt.
  • Das Computersystem 300 kann mittels eines Busses 302 mit einer Anzeige 312, wie zum Beispiel einer Kathodenstrahlröhre (CRT) gekoppelt sein, um einem Computerbenutzer Informationen anzuzeigen. Eine Eingabevorrichtung 314, einschließlich alphanumerischer und anderer Tasten, ist mittels des Busses 302 zum Kommunizieren von Informationen und einer Befehlsauswahl mit dem Prozessor 304 gekoppelt. Ein anderer Typ von Benutzer-Eingabevorrichtung weist eine Cursorsteuerung 316, wie zum Beispiel eine Maus, einen Trackball oder Cursor-Richtungstasten zum Kommunizieren von Richtungsinformationen und einer Befehlsauswahl mit dem Prozessor 304 und zum Steuern einer Cursorbewegung auf der Anzeige 312 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 Computersystem 300 in Antwort auf den Prozessor 304 implementiert, der eine oder eine Mehrzahl von Sequenzen einer oder einer Mehrzahl von Befehlen ausführt, die in dem Hauptspeicher 306 enthalten sind. Solche Befehle können von einem anderen computerlesbaren Medium, wie zum Beispiel der Speichervorrichtung 310 in den Hauptspeicher 306 eingelesen werden. Die Ausführung der Befehlssequenzen, die in dem Hauptspeicher 306 enthalten sind, bewirkt, dass der Prozessor 304 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 Speichervorrichtung 310 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 Bus 302 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 Computersystem 300 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 Bus 302 platzieren. Der Bus 302 trägt die Daten zu dem Hauptspeicher 306, von dem der Prozessor 304 die Befehle wieder holt und ausführt. Die Befehle, die vom Hauptspeicher 306 empfangen werden, können wahlweise auf der Speichervorrichtung 310 entweder vor oder nach der Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 weist auch eine Kommunikationsschnittstelle 318 auf, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikation bereit, die mit einer Netzwerkverbindung 320 koppelt, die mit einem lokalen Netzwerk 322 verbunden ist. Zum Beispiel kann die Kommunikationsschnittstelle 318 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 Kommunikationsschnittstelle 318 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 Kommunikationsschnittstelle 318 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 Netzwerkverbindung 320 eine Verbindung durch ein lokales Netzwerk 322 zu einem Host-Computer 324 oder zu einer Datenausrüstung, die von einem Internet-Dienstanbieter (ISP) 326 betrieben wird, bereitstellen. Der ISP 326 stellt im Gegenzug Datenkommunikationsdienste durch das weltweite Paket-Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das "Internet" 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen. Die Signale durch die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 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 Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318 empfangen. In dem Internet-Beispiel kann ein Server-Rechner 330 einen angeforderten Kode für ein Applikationsprogramm durch das Internet 328, den ISP 326, das lokale Netzwerk 322 und die Kommunikationsschnittstelle 318 ü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 Speichervorrichtung 310 oder einem anderen nicht-flüchtigen Speicher gespeichert werden. Auf diese Weise kann das Computersystem 300 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)

  1. 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).
  2. 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).
  3. 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.
  4. Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (210) mittels eines unzuverlässigen Transport-Mechanismus (150) das Übermitteln mittels eines Netzwerks aufweist.
  5. Verfahren gemäß Anspruch 1, wobei der Schritt des Übermittelns (216) mittels eines zuverlässigen Transport-Mechanismus (160) das Übermitteln mittels eines Netzwerks aufweist.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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).
  13. 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).
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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).
  24. Verfahren gemäß Anspruch 23, wobei der Sender (180) die Schritte des Speicherns einer Kopie und des Beendens des Speicherns durchführt.
  25. 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.
  26. 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.
  27. 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.
  28. 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).
  29. 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.
  30. 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.
  31. 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.
  32. 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.
  33. 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).
  34. Das computerlesbare Speichermedium gemäß Anspruch 33, wobei der Sender (180) die Schritte des Speicherns einer Kopie und des Beendens des Speicherns durchführt.
  35. 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.
  36. 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.
  37. 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.
  38. 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).
  39. 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.
  40. 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.
  41. 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.
  42. 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.
DE60023169T 1999-10-27 2000-10-18 Datenübertragung mittels einer unzuverlässigen und einer zuverlässigen Transportvorrichtung Expired - Lifetime DE60023169T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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,