DE102005029438A1 - System und Verfahren zur stabilen Kommunikation über ein unzuverlässiges Protokoll - Google Patents

System und Verfahren zur stabilen Kommunikation über ein unzuverlässiges Protokoll Download PDF

Info

Publication number
DE102005029438A1
DE102005029438A1 DE102005029438A DE102005029438A DE102005029438A1 DE 102005029438 A1 DE102005029438 A1 DE 102005029438A1 DE 102005029438 A DE102005029438 A DE 102005029438A DE 102005029438 A DE102005029438 A DE 102005029438A DE 102005029438 A1 DE102005029438 A1 DE 102005029438A1
Authority
DE
Germany
Prior art keywords
data packet
udp
devices
time
communicating
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.)
Withdrawn
Application number
DE102005029438A
Other languages
English (en)
Inventor
Daniel L. Santa Rosa Pleasant
Gopalakrishnan Santa Rosa Kailasam
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102005029438A1 publication Critical patent/DE102005029438A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G15/00Time-pieces comprising means to be operated at preselected times or after preselected time intervals
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

Es sind ein System und ein Verfahren vorgesehen, die die Stabilität von unzuverlässigen Protokollen, wie beispielsweise UDP, verbessern. Wie es weiter unten beschrieben ist, ist gemäß zumindest einem Ausführungsbeispiel ein Verfahren zum Verbessern der Stabilität eines Verwendens unzuverlässiger Protokolle, wie beispielsweise UDP, bei Anwendungen vorgesehen, bei denen kleine Anzahlen von zeitkritischen Paketen übertragen werden. Zum Beispiel bei einem System zusammenwirkender Vorrichtungen in einem Netzwerk kann eine Vorrichtung in einem Netzwerk Informationen über sich selbst zu den anderen Vorrichtungen rundsenden. Gemäß verschiedenen Ausführungsbeispielen, die unten beschrieben sind, wird eine Kombination redundanter Wiederübertragungen von Unzuverlässig-Protokoll-Datenpaketen und ein Umfassen von Zeitstempeln in den Unzuverlässig-Protokoll-Datenpaketen verwendet, um die Stabilität von Anwendungen zu verbessern, die sich auf die Unzuverlässig-Protokoll-Datenpakete stützen.

Description

  • Bei Kommunikationsnetzwerken, die Internet Protocol (IP) verwenden, werden viele Daten unter Verwendung eines zuverlässigen Kommunikationsprotokolls übertragen, wie beispielsweise dem Transmission Control Protocol (TCP). TCP wird als ein „zuverlässiges" Protokoll dahingehend betrachtet, dass garantiert ist, dass Datenpakete schließlich den Bestimmungsort derselben erreichen. Falls ein Paket verloren wird, bevor dasselbe den Bestimmungsort desselben erreicht, wird der Verlust des Pakets durch den Bestimmungsknoten (als ein Ergebnis eines Quittungsaustauschs bzw. Handshakings zwischen dem Sender und dem Bestimmungsort) erfasst und somit kann der Bestimmungsknoten anfordern, dass das verlorene Paket wieder übertragen wird. Somit sind in TCP die Pakete nummeriert und sequenziert, wenn dieselben zuerst übertragen werden, so dass auf einen Neuversuch oder eine Wiederübertragung hin, die Pakete korrekt sortiert werden können. TCP wird normalerweise für einen binären Textdateitransfer und zum Übertragen anderer Typen von Daten, die keinen Echtzeittransfer benötigen, verwendet. Wenn eine Datei über TCP übertragen wird, werden alle Pakete der Datei bei dem Bestimmungsort empfangen und wieder zu der Datei zusammengefügt, bevor der Bestimmungsknoten eine Präsentation der Datei für einen Benutzer (oder für eine Bestimmungsanwendung) beginnt.
  • Für Hochgeschwindigkeitsanwendungen, wie beispielsweise Echtzeitanwendungen, die eine Kommunikation von Audio- und/oder Video-Daten (A/V-Daten) empfangen (z.B. Voice-Over-IP, Bewegtbilder, Musik und andere Typen von Streaming-Daten), werden die Daten typischerweise über das Kommunikationsnetzwerk unter Verwendung eines unzuverlässigen Protokolls übertragen, wie beispielsweise das User- Datagramm-Protokoll (UDP). UDP wird als ein „unzuverlässiges" Protokoll bezeichnet, weil Datenpakete (auch als „Datagramme" bezeichnet), die während einer Übertragung verloren werden, wiederholt oder wieder übertragen werden. Genauer gesagt bezieht sich ein unzuverlässiges Protokoll, wie dasselbe hierin verwendet wird, auf ein Protokoll, bei dem kein Quittungsaustausch zwischen dem Sender und dem Bestimmungsort durchgeführt wird, um zu erfassen, ob Pakete verloren sind. Bei UDP wird kein Quittungsaustausch durchgeführt und verlorene Pakete (die den Bestimmungsort derselben nicht erreichen) werden nicht später wieder übertragen. Folglich ist UDP ein Beispiel eines unzuverlässigen Protokolls. Bei den meisten Streaming-Media-Anwendungen, bei denen UDP verwendet wird, kann, falls verlorene UDP-Datenpakete zu einem späteren Zeitpunkt wiederübertragen würden, die resultierende Datenwiedergabe durch den Empfänger mit durcheinander geratenen Rahmen von Video oder Audio in Unordnung gebracht werden.
  • Allgemein ist UDP ein Kommunikationsprotokoll, das eine begrenzte Größe eines Dienstes bietet, wenn Nachrichten bzw. Meldungen zwischen Computern in einem IP-Netzwerk ausgetauscht werden. Wie TCP verwendet UDP das Internet Protocol, um tatsächlich ein Datenpaket von einem Computer zu einem anderen zu bekommen. Ungleich TCP liefert UDP jedoch nicht den Dienst eines Teilens einer Nachricht in Pakete und eines Wiederzusammenfügens derselben an dem anderen Ende. Genau gesagt liefert UDP kein Sequenzieren der Pakete, in denen die Daten ankommen. UDP wird typischerweise verwendet, wenn eine Große Menge von Daten zu einem Bestimmungsort übertragen werden soll und eine Anwendung an dem Bestimmungsort wünscht, eine Wiedergabe der Daten zu beginnen, bevor alle derartigen Daten empfangen sind. UDP wird ferner häufig verwendet, wenn gewünscht wird, dass Daten über ein Kommunikationsnetzwerk rundgesendet bzw. übertragen werden sollen.
  • Ein zunehmend beliebter Typ einer Technologie zum Liefern von Informationen zu Klienten ist als „Streaming-Media" bekannt. Streaming-Media ist eine Anwendung, bei der ein unzuverlässiges Protokoll, wie beispielsweise UDP, allgemein zum Übertragen der Datenpakete verwendet wird. Streaming-Media ist eine gut bekannte Technologie auf den Computergebieten. Im Allgemeinen präsentiert Streaming-Media Daten (z.B. typischerweise Audio und/oder Video) einem Klienten in einer strömenden (streaming) oder kontinuierlichen Weise. Das heißt bei Streaming-Media muss ein Klient nicht alle der Informationen, die präsentiert werden sollen, empfangen, bevor die Präsentation beginnt. Eine Präsentation von Informationen bei einer Streaming-Media-Datei kann vielmehr beginnen, bevor die ganze Datei durch den Klienten empfangen ist, und wenn der empfangene Abschnitt der Datei präsentiert wird, werden weiterhin weitere Abschnitte der Datei durch den Klienten für eine spätere Präsentation empfangen. Somit betrifft Streaming-Media Medien (z.B. typischerweise Audio und/oder Video), die von einem Server (einem Medienserver) zu einem Klienten übertragen werden und auf dem Klienten ein Abspielen beginnen, bevor dieselben vollständig heruntergeladen sind.
  • Streaming-Media ist eine besonders beliebte Technik zum Kommunizieren von Audio- und/oder Video-Dateien von einem Server zu einem Klienten. Audio- und Video-Dateien neigen dazu, ziemlich groß zu sein, sogar nachdem dieselben komprimiert sind. Falls Streaming-Media nicht verwendet wird, muss allgemein eine gesamte Datei (z.B. über TCP) zu einem Klienten heruntergeladen werden, bevor der Klient beginnen kann, die Datei abzuspielen. Ein derartiges Herunterladen kann eine unerwünscht lange Verzögerung benötigen, bevor der Klient ein Abspielen der Datei beginnen kann. Bei Streaming-Media (z.B. Streaming-Audio oder Streaming-Video) muss ein Klient nicht warten, bis die gesamte Datei heruntergeladen ist, um dieselbe abzuspielen. Anstelle dessen kann der Klient ein Abspielen der Datei (z.B. ein Präsen tieren von Video und/oder Audio einem Benutzer) beginnen, während dieselbe zu dem Klienten herunterlädt.
  • Streaming-Media-Anwendungen verwenden gewöhnlich UDP zum Kommunizieren der Ströme von Datenpaketen. Wie es oben erwähnt ist, sendet UDP Pakete nicht immer wieder, falls dieselben fehlplatziert sind oder andere Probleme auftreten, wie es TCP macht, was für die meisten Streaming-Media-Technologien bevorzugt ist. UDP wird häufig für eine Rundsendeübertragung von Daten verwendet, wie beispielsweise ein Übertragen von Programmen von bestehenden Fernseh- und Radiostationen über ein IP-Netzwerk.
  • Wie es oben erwähnt ist, ist UDP ein unzuverlässiges Protokoll und somit ist ungleich TCP nicht garantiert, dass UDP-Pakete, die über ein Kommunikationsnetzwerk übertragen werden, bei dem Bestimmungsort derselben ankommen. Da eine beabsichtigte Verwendung von UDP typischerweise darin besteht, große Anzahlen von Paketen durch das Netzwerk bei einer hohen Geschwindigkeit zu streamen, ist die Unzuverlässigkeit (Fehlen eines Quittungsaustauschs) desselben allgemein kein Problem bei den beabsichtigten Anwendungen desselben. Die Empfangseinheit kann häufig durch Signalverarbeitungstricks (wie bei Voice-Over-IP) irgendwelche Informationen „einfüllen". Es wurden bestimmte Techniken zum Verbessern der Zuverlässigkeit von UDP-Kommunikationen durch ein Einschließen einer Sequenznummer in jedem Paket vorgeschlagen. Wenn folglich der Bestimmungsknoten beginnt, die Pakete zu empfangen, kann derselbe die Sequenznummern verwenden, um zu bestimmen, ob ein bestimmtes Paket nicht empfangen wurde, und kann durch eine Sequenznummer eine Wiederübertragung irgendwelcher verlorener Pakete anfordern.
  • Die obigen Techniken arbeiten jedoch nicht in Situationen, bei denen wenige Pakete übertragen werden. Falls zum Beispiel lediglich ein einziges UDP-Paket übertragen wird, kann der beabsichtigte Empfänger nicht wissen, wann zu er warten ist, dass das Paket ankommt, oder sogar ob überhaupt ein Paket erwartet werden sollte. Und da UDP-Paket-Verluste dazu neigen, auf Grund von Pufferüberlaufproblemen „stoßmäßig" zu sein, gilt das Gleiche für kleine Anzahlen von UDP-Paketen.
  • Eventuell wünschen bestimmte Anwendungen, auf Grund der Hochgeschwindigkeitsfähigkeit, die durch UDP geboten wird, UDP für eine Datenkommunikation zu verwenden, aber die Anwendungen kommunizieren eventuell weniger Pakete. Angesichts des Obigen besteht ein Wunsch nach einer Technik zum Verbessern der Stabilität bzw. Robustheit einer Kommunikation über UDP, wobei die Technik eine verbesserte Stabilität selbst in Situationen ermöglicht, in denen lediglich wenige Pakete kommuniziert werden.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, Anspruch 9 und Anspruch 18 und ein System gemäß Anspruch 21 gelöst.
  • Die vorliegende Erfindung ist auf ein System und ein Verfahren gerichtet, die die Stabilität bzw. Robustheit von Anwendungen verbessern, die sich auf unzuverlässige Protokolle stützen, wie beispielsweise UDP. Wie es weiter unten beschrieben ist, ist gemäß einem Ausführungsbeispiel ein Verfahren zum Verbessern der Stabilität eines Verwendens unzuverlässiger Protokolle, wie beispielsweise UDP, in Anwendungen vorgesehen, in denen kleine Anzahlen von zeitkritischen Paketen übertragen werden. Zum Beispiel bei einem System zusammenwirkender Vorrichtungen in einem Netzwerk kann eine Vorrichtung in einem Netzwerk Informationen über sich selbst zu den anderen Vorrichtungen rundsenden bzw. übertragen. Die empfangenen Vorrichtungen können ansprechend auf einen Empfang der rundgesendeten Informationen eine zeitkritische Handlung unternehmen. Somit kann man sich auf die Kommunikation von UDP-Nachrichten, die jeweils in wenigen Paketen verkapselt sein können, zu einem Koordinieren/Synchronisieren von Handlungen verschiedener Vorrichtungen stützen. Gemäß verschiedenen Ausführungsbeispielen, die unten beschrieben sind, wird eine Kombination von redundanten Wiederübertragungen von Unzuverlässig-Protokoll-Datenpaketen und einem Umfassen von Zeitstempeln in den Unzuverlässig-Protokoll-Datenpaketen verwendet, um die Stabilität von Anwendungen zu verbessern, die sich auf die Unzuverlässig-Protokoll-Datenpakete stützen.
  • Bei einem exemplarischen Ausführungsbeispiel ist eine Mehrzahl von Vorrichtungen kommunikativ mit einem Kommunikationsnetzwerk gekoppelt. Jede der Vorrichtungen weist einen lokalen Takt auf und die lokalen Takte sind synchronisiert. Eine erste der Vorrichtungen kommuniziert ein UDP-Datenpaket über das Kommunikationsnetzwerk eine Mehrzahl von Malen getrennt durch zumindest eine definierte Zeitverzögerung, wobei ein erster Zeitstempel in dem UDP-Datenpaket jede der Anzahl von Malen enthalten ist, die das UDP-Datenpaket übertragen wird. Somit wird eine redundante Wiederübertragung des UDP-Datenpakets verwendet, wobei das UDP-Datenpaket ein erstes Mal übertragen wird und dann zumindest ein zusätzliches Mal nach einer gegebenen Verzögerung wieder übertragen wird.
  • Jede Übertragung des UDP-Datenpakets umfasst einen Zeitstempel, der zum Beispiel der Zeit entsprechen kann, zu der die erste Übertragung des UDP-Datenpakets auftrat, basierend auf dem lokalen Takt der sendenden Vorrichtung. Die Empfängervorrichtung(en) empfängt (empfangen) das UDP-Datenpaket zumindest einmal und die Empfängervorrichtung(en) wertet (werten) den Zeitstempel aus, um zu bestimmen, ob dieselbe eine zeitempfindliche Handlung ansprechend auf das empfangene UDP-Datenpaket durchführen kann.
  • Gemäß zumindest einem Ausführungsbeispiel ist ein Verfahren vorgesehen, das ein Synchronisieren lokaler Takte einer Mehrzahl von Vorrichtungen aufweist, die kommunikativ mit einem Kommunikationsnetzwerk gekoppelt sind. Das Verfahren weist ferner ein Kommunizieren zumindest eines Datenpakets von einer der Mehrzahl von Vorrichtungen über ein unzuverlässiges Protokoll über das Kommunikationsnetzwerk auf, wobei das zumindest eine Datenpaket einen Zeitstempel in demselben umfasst, der auf dem lokalen Takt der Vorrichtung basiert, von der das zumindest eine Paket kommuniziert wird. Das Verfahren weist ferner ein Wiederkommunizieren des zumindest einen Datenpakets über das unzuverlässige Protokoll über das Kommunikationsnetzwerk nach einer definierten Verzögerung auf, wobei das zumindest eine Datenpaket wieder den Zeitstempel umfasst.
  • Das Vorhergehende hat ziemlich allgemein die Merkmale und technischen Vorteile der vorliegenden Erfindung umrissen, damit die detaillierte Beschreibung der Erfindung, die folgt, besser verstanden werden kann. Zusätzliche Merkmale und Vorteile der Erfindung werden hierin im Folgenden beschrieben, die den Gegenstand der Ansprüche der Erfindung bilden. Es ist klar, dass die Konzeption und ein spezifisches Ausführungsbeispiel, die offenbart sind, ohne weiteres als eine Grundlage zum Modifizieren oder Entwerfen anderer Strukturen zum Ausführen der gleichen Zwecke der vorliegenden Erfindung verwendet werden können. Es ist ferner zu erkennen, dass derartige äquivalente Konstruktionen nicht von der Erfindung abweichen, wie dieselbe in den beigefügten Ansprüchen dargelegt ist. Die neuartigen Merkmale, die für charakteristisch für die Erfindung gehalten werden, sowohl hinsichtlich der Organisation als auch des Betriebsverfahrens derselben, zusammen mit anderen Aufgaben und Vorteilen werden aus der folgenden Beschreibung in Verbindung mit den zugehörigen Zeichnungen besser ersichtlich. Es wird ausdrücklich darauf hingewiesen, dass jedoch jede der Figuren lediglich für den Zweck einer Darstellung und Be schreibung vorgesehen ist und nicht als eine Definition der Grenzen der vorliegenden Erfindung beabsichtigt ist.
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung wird nun Bezug auf die folgenden Beschreibungen in Verbindung mit den zugehörigen Zeichnungen genommen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein beispielhaftes System gemäß einem Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls;
  • 2 ein beispielhaftes System gemäß einem anderen Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls;
  • 3 ein beispielhaftes System, bei dem eine empfangende Vorrichtung Daten empfängt, die über das unzuverlässige Protokoll übertragen werden, gemäß 1 oder 2;
  • 4 einen beispielhaften Betriebsfluss für ein Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls; und
  • 5 einen beispielhaften Betriebsfluss für ein anderes Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls.
  • Wie es oben beschrieben ist, wünschen bestimmte Anwendungen eventuell, ein unzuverlässiges Protokoll, wie beispielsweise UDP, für eine Datenkommunikation auf Grund der Hochgeschwindigkeits- und/oder Rundsendefähigkeit zu verwenden, die durch das unzuverlässige Protokoll geboten wird. Ferner kommunizieren einige Anwendungen eventuell wenige Pakete in einer gegebenen UDP-Nachricht bzw. -Meldung. Messungssysteme zum Beispiel erfordern häufig, dass der Betrieb mehrerer Instrumente in einer geeigneten Weise synchronisiert (oder koordiniert) wird, um zu ermöglichen, dass genaue Messungen erhalten werden. Ein Spektrumanalysator zum Beispiel sollte koordiniert sein, um die Messungen desselben vorzunehmen, nachdem eine Signalquelle eine ausreichende Gelegenheit hatte, sich bei der Ausgangsfrequenz derselben einzuschwingen. Wie es ferner in der gleichzeitig eingereichten und gemeinschaftlich zugewiesenen Deutschen Patentanmeldung Anwaltsaktenzeichen AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" beschrieben ist, deren Offenbarung hierdurch durch Bezugnahme hierin aufgenommen ist, können Nachrichten zwischen verschiedenen Instrumenten eines Messungssystems unter Verwendung von UDP über ein Kommunikationsnetzwerk kommuniziert werden, um die jeweiligen Operationen der Instrumente zu synchronisieren. Jede der Nachrichten, die für eine Synchronisation verwendet werden, kann in lediglich wenigen Paketen (und bei einigen Implementierungen in lediglich einem Paket) übertragen werden. Weil die Nachrichten bei der obigen Anwendung von Synchronisierungsoperationen verschiedener Instrumente zeitkritisch sind, ist UDP ein attraktives Protokoll. Wie es ferner in der Deutschen Patentanmeldung Anwaltsaktenzeichen AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" in bestimmten Ausführungsbeispielen beschrieben ist, werden die Nachrichten zu einer Mehrzahl von Instrumenten in dem Kommunikationsnetzwerk rundgesendet bzw. übertragen und UDP ist attraktiv, weil dasselbe zum Rundsenden von Nachrichten verwendet werden kann. Es ist jedoch erwünscht, die Stabilität von UDP zu verbessern, weil die Synchronisation verschiedener Instrumente von dem Empfang der UDP-Nachrichten abhängig ist.
  • Verfahren zum Verbessern der Stabilität von Anwendungen, die sich auf unzuverlässige Protokolle, wie beispielsweise UDP, stützen, sind hierin vorgesehen. Wie es unten weiter beschrieben ist, liefern bestimmte hierin offenbarte Ausführungsbeispiele eine verbesserte Zuverlässigkeit in einigen Fällen. Ferner liefern die Ausführungsbeispiele auch eine Fehlererfassung, um zu ermöglichen, dass ein beabsichtigter Empfänger in einer ausreichenden Zeit erfasst, wenn derselbe ein Paket nicht empfangen hat, um eine zeitempfindliche Verarbeitung durchzuführen, die durch das Paket ausgelöst werden sollte. Somit liefert die verbesserte Zuverlässigkeit und Fehlererfassung eine stabile Lösung.
  • Während bekannte Techniken, die versucht haben, die Zuverlässigkeit von UDP zu verbessern, auf UDP-Übertragungen großer Anzahlen von Paketen gerichtet sind, wie dieselben bei Video- oder Sprachanwendungen verwendet werden, sind die hierin offenbarten Verfahren für Anwendungen wirksam, bei denen UDP-Übertragungen lediglich wenige Pakete aufweisen. Natürlich können die hierin vorgesehenen Verfahren zum Verbessern der Stabilität von UDP-Übertragungen großer Anzahlen von Paketen ebenfalls verwendet werden. Die hierin beschriebenen Verfahren weisen einen speziellen Nutzen zum Verbessern der Stabilität von UDP auf, wenn dieselben zum Übertragen von Nachrichten zum Synchronisieren von Operationen von Instrumenten verwendet werden, wie es beispielsweise in der Deutschen Patentanmeldung Anwaltsaktenzeichen AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" offenbart ist. Die hierin beschriebenen Verfahren zum Verbessern der Stabilität von UDP können jedoch gleichermaßen auf irgendwelche anderen Anwendungen angewendet werden, bei denen UDP zum Übertragen von Daten gewünscht ist. Während UDP bei den spezifischen exemplarischen Ausführungsbeispielen, die hierin beschrieben sind, verwendet wird, können die vorgesehenen Verfahren ferner ohne weiteres auf andere unzuverlässige Protokolle erweitert werden, die keinen Quittungsaustausch bzw. kein Handshaking zum Erfassen verlorener Pakete vorsehen.
  • Wie es unten weiter beschrieben ist, ist gemäß zumindest einem Ausführungsbeispiel ein Verfahren zum Verbessern der Stabilität von UDP bei Anwendungen vorgesehen, bei denen kleine Anzahlen von zeitkritischen Paketen übertragen werden. Zum Beispiel bei einem System zusammenwirkender Vorrichtungen in einem Netzwerk kann eine Vorrichtung in dem Netzwerk Informationen über sich selbst zu den anderen Vorrichtungen rundsenden. Diese Informationen können zeitkritisch sein. Das UDP-Protokoll ist eine gute Wahl für diesen Zweck, weil dasselbe verwendet werden kann, um Informationen in dem Netzwerk effizient rundzusenden (im Gegensatz zu Punkt-Zu-Punkt-Kanälen wie TCP). Die empfangenden Vorrichtungen müssen die Informationen zuverlässig empfangen und dieselben müssen dieselben schnell empfangen. In dem Fall, dass alle der Pakete verloren werden, muss (müssen) die beabsichtigte(n) Empfängervorrichtung(en) ferner diesen Fehler erfassen. Da die Anzahl von übertragenen Paketen klein ist, funktionieren die oben beschriebenen bekannten Verfahren nicht, die für große Anzahlen von Paketen gut funktionieren. Somit ist ein Verfahren zum Verbessern der Stabilität einer Kommunikation über UDP vorgesehen, das eine verbesserte Zuverlässigkeit und/oder eine Fehlererfassung selbst in Situationen ermöglicht, in denen lediglich wenige Pakete kommuniziert werden.
  • Gemäß verschiedenen unten beschriebenen Ausführungsbeispielen wird eine Kombination von redundanten Wiederübertragungen von UDP-Datenpaketen und ein Umfassen von Zeitstempeln in den UDP-Datenpaketen verwendet, um die Stabilität von UDP zu verbessern. Bei einem exemplarischen Ausführungsbeispiel ist eine Mehrzahl von Vorrichtungen kommunikativ mit einem Kommunikationsnetzwerk gekoppelt. Jede der Vorrichtungen weist einen lokalen Takt auf und die lokalen Takte sind synchronisiert. Eine erste der Vorrichtungen kommuniziert ein UDP-Datenpaket über das Kommunikationsnetzwerk eine Mehrzahl von Malen getrennt durch zumindest eine definierte Zeitverzögerung, wobei ein erster Zeitstempel jedes der Mehrzahl von Malen, die das UDP-Datenpaket übertragen wird, in dem UDP-Datenpaket enthalten ist. Somit wird eine redundante Wiederübertragung des UDP-Datenpakets verwendet, wobei das UDP-Datenpaket ein erstes Mal übertragen wird und dann zumindest ein zusätzliches Mal nach einer gegebenen Verzögerung wiederübertragen wird. Das UDP-Datenpaket kann beispielsweise ein erstes Mal übertragen werden, dann ein zweites Mal nach einer Millisekunde (msec) Verzögerung wieder übertragen werden und dann ein drittes Mal nach einer Verzögerung von 10 msec wieder übertragen werden.
  • Jede Übertragung des UDP-Datenpakets umfasst einen Zeitstempel, der der Zeit entsprechen kann, zu der die erste Übertragung des UDP-Datenpakets auftrat, basierend auf dem lokalen Takt der sendenden Vorrichtung. Die Empfängervorrichtung(en) empfängt (empfangen) das UDP-Datenpaket zumindest einmal und die Empfängervorrichtung(en) wertet (werten) den Zeitstempel aus, um zu bestimmen, ob dieselbe eine zeitempfindliche Handlung ansprechend auf das empfangene UDP-Datenpaket durchführen kann. Man nehme zum Beispiel an, das UDP-Datenpaket soll auslösen, dass der Empfänger desselben 10 msec nach dem Zeitstempel, der in dem UDP-Datenpaket enthalten ist, eine Messung vornimmt. Es ist zu beachten, dass der Empfänger und der Sender bei diesem Beispiel synchronisierte lokale Takte aufweisen. Falls somit die erste Übertragung des UDP-Datenpakets beispielsweise 1 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger diese zeitempfindliche Messung durchführen. Falls die erste Übertragung des UDP-Datenpakets nicht empfangen wird, aber anstelle dessen die zweite Übertragung des UDP-Datenpakets beispielsweise 2 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger immer noch diese zeitempfindliche Messung durchführen. Somit ist die Zuverlässigkeit verbessert. Falls ferner weder die erste noch die zweite Übertragung des UDP-Datenpakets empfangen wird, aber anstelle dessen die dritte Übertragung des UDP-Datenpakets beispielsweise 11 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger die Messung desselben nicht 10 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, auslösen. Der Empfänger kann jedoch in diesem Fall einen Fehler auslösen, anstatt sich nicht dessen bewusst zu sein, dass eine Messung angefordert war. Somit ist eine Fehlererfassung für diese Verwendung einer kleinen Anzahl von Paketen (z.B. ein Paket) verbessert.
  • Unter Bezugnahme auf 1 ist ein beispielhaftes System 10 gemäß einem Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls gezeigt, was bei diesem Beispiel UDP ist. Das beispielhafte System 10 umfasst eine erste Vorrichtung 11 (Vorrichtung A) und eine zweite Vorrichtung 12 (Vorrichtung B), die kommunikativ über ein Kommunikationsnetzwerk 13 gekoppelt sind, das ein lokales Netz (LAN = local area network), das Internet oder ein anderes weites Netz (WAN = wide area network), ein öffentliches Telefonwählnetz (PSTN = public switched telephony network), ein drahtloses Netzwerk, irgendeine Kombination des vorhergehenden und/oder irgendein anderes Netzwerk sein kann, das nun bekannt ist oder später zum Kommunizieren von Informationen von zumindest einer Vorrichtung zu zumindest einer anderen Vorrichtung entwickelt wird.
  • Die erste Vorrichtung 11 und die zweite Vorrichtung 12 können jeweils eine zentrale Verarbeitungseinheit (CPU = central processing unit) (nicht gezeigt) umfassen. Ferner umfassen die erste Vorrichtung 11 und die zweite Vorrichtung 12 jeweils lokale Takte, die bei diesem Beispiel synchronisiert sind. Verschiedene Techniken sind zum Synchronisieren der Takte vernetzter Vorrichtungen mit einem hohen Maß an Präzision bekannt. Als ein Beispiel ist NTP (Network Time Protocol) ein Protokoll, das verwendet wird, um Computertaktzeiten in einem Netzwerk von Computern zu synchronisieren. In Gemeinsamkeit mit ähnlichen Protokollen verwendet NTP Standardweltzeit (UTC = Coordinated Universal Time), um Computertaktzeiten bis auf eine Millisekunde genau und manchmal bis auf einen Bruchteil einer Millisekunde genau zu synchronisieren. Als ein anderes Beispiel hat die IEEE-SA (Institute of Electrical and Electronics Engineers Standards Association) einen neuen Standard zum Beibehalten der Synchronität zwischen Takten in einem Netzwerk genehmigt, der als der IEEE 1588 „Standard für ein Präzisionssynchronisationsprotokoll für vernetzte Messungs- und Steuersysteme" bezeichnet wird. Im Allgemeinen definiert dieser IEEE-1588-Standard Nachrichten, die verwendet werden können, um Zeitsteuerungsinformationen zwischen den vernetzten Vorrichtungen auszutauschen, um die Takte derselben synchronisiert zu halten. Der IEEE-1588-Standard ermöglicht sogar noch einen größeren Grad an Genauigkeit (z.B. bis zu einer Mikrosekunde) einer Taktsynchronisation als dieselbe, die durch NTP geliefert wird. Bei einem Verwenden derartiger Techniken wie NTP oder IEEE 1588 werden die lokalen Takte von Vorrichtungen als „aktiv synchronisiert" bezeichnet, weil die Vorrichtungen miteinander in Wechselwirkung treten, um die jeweiligen lokalen Takte gemäß der speziellen verwendeten Synchronisationstechnik synchronisiert zu halten. Andere Techniken (z.B. passive Techniken) können bei alternativen Ausführungsbeispielen zum Synchronisieren der lokalen Takte unter Verwendung von GPS-Empfängern (GPS = global positioning system), etc. verwendet werden.
  • Bei dem spezifischen Beispiel von 1 wird IEEE 1588 verwendet, wobei die erste Vorrichtung 11 einen IEEE-1588-Takt 101A implementiert und die zweite Vorrichtung 12 einen IEEE-1588-Takt 101B implementiert. Natürlich können bei anderen Implementierungen andere Techniken zum aktiven Synchronisieren der lokalen Takte, wie beispielsweise unter Verwendung von NTP (Network Timing Protocol), oder andere Techniken zum passiven Synchronisieren der lokalen Takte (z.B. GPS) verwendet werden. Somit sind die lokalen Takte 101A und 101B der ersten Vorrichtung 11 und der zweiten Vorrichtung 12 bis zu einem hohen Grad an Genauigkeit syn chronisiert, derart, dass dieselben einen gemeinsamen Zeitsinn aufweisen.
  • Bei diesem Beispiel wird eine Nachricht von der ersten Vorrichtung 11 über das Kommunikationsnetzwerk 13 unter Verwendung eines unzuverlässigen Protokolls 14 kommuniziert, das bei diesem Beispiel UDP ist. Bei diesem Beispiel ist die Nachricht durch eine kleine Anzahl von UDP-Paketen gebildet, wie beispielsweise zwei UDP-Paketen. Bei bestimmten Implementierungen kann die Nachricht durch ein einziges UDP-Paket gebildet sein. Bei dieser exemplarischen Übertragungstechnik wird ein erstes UDP-Paket (UDP-Paket1) 102A zuerst übertragen und umfasst einen Zeitstempel A. Der Zeitstempel A basiert auf dem lokalen Takt 101A der ersten Vorrichtung 11 und kann zum Beispiel die Zeit sein, zu der das UDP-Paket 102A übertragen wird. Danach wird eine erste Verzögerung (Verzögerung A) 104A angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerungszeit lang wartet, bevor dieselbe das erste UDP-Paket wieder überträgt. UDP-Paketverluste neigen dazu, in Bündeln vorzukommen, so dass mehrere Pakete alle verloren würden, falls dieselben zeitlich zu eng beabstandet gesendet würden. Folglich ist die Zeitverzögerung A 104A zwischen die erste Übertragung 102A des UDP-Pakets1 und die zweite Übertragung 102B des UDP-Pakets1 eingefügt.
  • Nach der Verzögerung A 104A wird das UDP-Paket1 wieder übertragen, als Paket 102B gezeigt, das wieder den Zeitstempel A umfasst. Es ist zu beachten, dass der gleiche Zeitstempel (Zeitstempel A) sowohl bei der ersten Übertragung 102A des UDP-Pakets1 als auch bei der zweiten Übertragung 102B des UDP-Pakets1 enthalten ist. Danach wird eine zweite Verzögerung (Verzögerung B) 104B angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerungszeit lang wartet, bevor dieselbe das erste UDP-Paket ein drittes Mal wieder überträgt. Die Verzögerung B 104B kann die gleiche Größe einer Verzögerung wie die Verzögerung A 104A betragen oder dieselbe kann als eine unterschiedliche Größe einer Verzögerung definiert sein. Während das UDP-Paket1 insgesamt drei (3) Mal bei diesem Beispiel übertragen wird, ist ferner die Anzahl von Malen, die ein UDP-Paket redundant übertragen wird, nicht auf dieses spezifische Beispiel begrenzt. Anstelle dessen kann bei alternativen Implementierungen das UDP-Paket1 zwei oder mehr Mal mit einer Verzögerung zwischen jeder Übertragung übertragen werden.
  • Bei dem spezifischen Beispiel von 1 wird das UDP-Paket1 nach der Verzögerung B 104B wiederübertragen, gezeigt als ein Paket 102C, das wieder den Zeitstempel A umfasst. Es ist zu beachten, dass der gleiche Zeitstempel (Zeitstempel A) in allen der Übertragungen 102A-102C des UDP-Pakets1 enthalten ist. Danach wird ein zweites UDP-Paket (UDP-Paket2) 103A erstmals übertragen und umfasst einen Zeitstempel B. Der Zeitstempel B basiert auf dem lokalen Takt 101A der ersten Vorrichtung 11 und kann zum Beispiel die Zeit sein, zu der das UDP-Paket 103A übertragen wird. Bei bestimmten Implementierungen kann sich der Zeitstempel B von dem Zeitstempel A unterscheiden, während bei anderen Implementierungen die Zeitstempel A und B die gleichen sein können. Der Zeitstempel B kann zum Beispiel die Zeit sein, zu der das erste UDP-Paket (UDP-Paket1) anfänglich übertragen wurde. Danach wird eine erste Verzögerung (Verzögerung A) 105A angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerungszeit lang wartet, bevor dieselbe das zweite UDP-Paket wieder überträgt. Obwohl es nicht in 1 gezeigt ist, kann das zweite UDP-Paket einmal oder mehrmals wiederübertragen werden, wie es für das erste UDP-Paket spezifisch gezeigt und beschrieben ist.
  • Bei bestimmten Implementierungen müssen nicht alle der Wiederübertragungen des ersten UDP-Datenpakets durchgeführt werden, bevor das zweite UDP-Datenpaket anfänglich übertragen wird. 2 zeigt zum Beispiel ein beispielhaftes System 10A gemäß einem Ausführungsbeispiel für eine stabile Verwendung eines unzuverlässigen Protokolls, was bei diesem Beispiel UDP ist. Das beispielhafte System 10A umfasst wie der die erste Vorrichtung 11 und die zweite Vorrichtung 12, die kommunikativ über das Kommunikationsnetzwerk 13 gekoppelt sind und die IEEE-1588-synchronisierte Takte 101A bzw. 101B implementieren.
  • Bei diesem Beispiel von 2 wird eine Nachricht von der ersten Vorrichtung 11 über das Kommunikationsnetzwerk 13 unter Verwendung eines unzuverlässigen Protokolls 14 kommuniziert, was bei diesem Beispiel UDP ist. Bei diesem Beispiel ist die Nachricht durch zwei UDP-Pakete gebildet. Bei der exemplarischen Übertragungstechnik von 2 wird ein erstes UDP-Paket (UDP-Paket1) 102A erstmals übertragen und umfasst einen Zeitstempel A. Der Zeitstempel A basiert auf dem lokalen Takt 101A der ersten Vorrichtung 11 und kann zum Beispiel die Zeit sein, zu der das UDP-Paket 102A übertragen wird. Danach wird eine erste Verzögerung (Verzögerung A) 104A angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerung lang wartet, bevor dieselbe das erste UDP-Paket wieder überträgt. Wie es oben erwähnt ist, neigen UDP-Paketverluste dazu, in Bündeln vorzukommen, so dass mehrere Pakete alle verloren würden, falls dieselben zeitlich zu eng beabstandet gesendet würden. Folglich ist die Zeitverzögerung A 104A zwischen die erste Übertragung 102A des UDP-Pakets1 und die zweite Übertragung 102B des UDP-Pakets1 eingefügt.
  • Nach der Verzögerung A 104A wird das UDP-Paket1 wiederübertragen, als Paket 102B gezeigt, das wieder den Zeitstempel A umfasst. Es ist zu beachten, dass der gleiche Zeitstempel (Zeitstempel A) sowohl bei der ersten Übertragung 102A des UDP-Pakets1 als auch bei der zweiten Übertragung 102B des UDP-Pakets1 enthalten ist. Danach wird eine zweite Verzögerung (Verzögerung B) 104B angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerungszeit lang wartet, bevor dieselbe das erste UDP-Paket ein drittes Mal wieder überträgt. Die Verzögerung B 104B kann die gleiche Größe einer Verzögerung wie die Verzögerung A 104A betragen oder dieselbe kann als eine unterschiedliche Größe einer Verzö gerung definiert sein. Während der Verzögerung B 104B wird bei diesem Beispiel das zweite UDP-Paket (UDP-Paket2) 103A erstmals übertragen und umfasst einen Zeitstempel B. Der Zeitstempel B basiert auf dem lokalen Takt 101A der ersten Vorrichtung 11 und kann zum Beispiel die Zeit sein, zu der das UDP-Paket 103A übertragen wird. Bei bestimmten Implementierungen kann sich der Zeitstempel B von dem Zeitstempel A unterscheiden, während bei anderen Implementierungen die Zeitstempel A und B die gleichen sein können. Zum Beispiel kann der Zeitstempel B die Zeit sein, zu der das erste UDP-Paket (UDP-Paket1) anfänglich übertragen wurde. Danach wird eine erste Verzögerung (Verzögerung A) 105A angetroffen, wobei die erste Vorrichtung 11 eine derartige Verzögerungszeit lang wartet, bevor dieselbe das zweite UDP-Paket wieder überträgt.
  • Während der Verzögerung A 105A wird das UDP-Paket1 wieder übertragen, als Paket 102C gezeigt, das wieder den Zeitstempel A umfasst. Es ist zu beachten, dass der gleiche Zeitstempel (Zeitstempel A) in allen der Übertragungen 102A-102C des UDP-Pakets1 enthalten ist. Danach wird das zweite UDP-Paket (UDP-Paket2) wieder übertragen, als Paket 103B gezeigt, das wieder den Zeitstempel B umfasst (der bei bestimmten Implementierungen der gleiche wie der Zeitstempel A sein kann). Obwohl in 2 nicht gezeigt, kann das zweite UDP-Paket einmal oder mehrmals wieder übertragen werden, wie es für das erste UDP-Paket spezifisch gezeigt und beschrieben ist.
  • Unter jetziger Bezugnahme auf 3 ist das System 10 erneut gezeigt (das das System 10 von 1 oder das System 10A von 2 sein kann) , wobei die zweite Vorrichtung 12 eines oder mehrere des redundant übertragenen ersten UDP-Pakets (UDP-Paket1) empfängt. Falls ein zweites UDP-Paket kommuniziert wird, wie beispielsweise bei den obigen Beispielen von 1 und 2, werden natürlich eines oder mehrere dieser zweiten UDP-Pakete gleichermaßen durch die Vorrichtung 12 empfangen. Die Vorrichtung 12 umfasst eine UDP- Paketverwaltungseinrichtung 301, die auf ein Empfangen eines Pakets hin den Zeitstempel, der in dem Paket enthalten ist, mit der lokalen Zeit vergleicht (wie aus dem IEEE-1588-Takt 101B bestimmt). Dies resultiert in einem sehr hochgenauen Schätzwert der Menge an Zeit, die das Paket benötigte, um anzukommen. Die UDP-Paketverwaltungseinrichtung 301 kann mit einem „Zeitablauf" für jedes Paket vorprogrammiert sein. Die Zeitablaufperiode kann abhängig von den anderen Inhalten des Pakets variieren, wie beispielsweise einem Ereignis, das durch das Paket identifiziert ist. Falls die gemessene Zeit die Zeitablaufperiode überschreitet, kann die UDP-Paketverwaltungseinrichtung 301 dasselbe als einen Fehler betrachten und eine geeignete Handlung unternehmen. Wenn eines der übertragenen ersten UDP-Pakete einmal empfangen ist, ist die UDP-Paketverwaltungseinrichtung 301 zum Ignorieren eines Empfangs späterer, redundanter eines derartigen ersten UDP-Pakets in der Lage.
  • Das beispielhafte Verfahren von 1-3 stützt sich sowohl auf eine redundante Übertragung als auch eine Zeitstempelung zum Verbessern der Stabilität von Anwendungen, die sich auf Unzuverlässig-Protokoll-Kommunikationen stützen. Für ein Zeitstempeln ist IEEE 1588 oder ein ähnliches Taktsynchronisationsschema mit großer Genauigkeit an den vernetzten Vorrichtungen implementiert.
  • Da es keinen Weg gibt, um verlorene UDP-Pakete direkt zu erfassen oder wiederzugewinnen, wird jedes UDP-Paket mehrere Male übertragen. Eine Wiederübertragung geschieht jedoch bei den obigen Beispielen nicht unmittelbar, weil UDP-Paketverluste dazu neigen, in Bündeln vorzukommen, so dass mehrere Pakete alle verloren würden, falls dieselben zeitlich zu eng beabstandet gesendet würden. Anstelle dessen ist eine Zeitverzögerung zwischen jede Paketübertragung eingefügt. Die Zeitverzögerung, die geeignet ist, hängt von der Anwendung ab, genauso wie die Anzahl von Wiederübertragungen, die auftreten. Zum Beispiel können UDP-Pakete nach 1 msec wieder übertragen werden und erneut nach 10 msec.
  • Mehr Wiederübertragungen können in Fällen notwendig sein, in denen die Menge an Verkehr in dem Kommunikationsnetzwerk hoch ist. Es ist zu beachten, dass die empfangende(n) Vorrichtung(en) zum Ignorieren von Paketen, die mehrere Male ankommen, in der Lage ist (sind); aber UDP-Pakete, besonders bei einem Sammelsenden (Multicasting), können häufig über mehrere unterschiedliche Routen bei einer empfangenen Vorrichtung ankommen, so dass Empfänger von UDP-Paketen typischerweise ohnehin diese Fähigkeit aufweisen.
  • Jedes Paket trägt einen Zeitstempel. Das IEEE-1588-Protokoll wird bei den obigen Beispielen verwendet, um alle Takte in einem System zu synchronisieren und ferner um einen Zeitstempel für jedes UDP-Paket zu erzeugen. Auf ein Empfangen eines Pakets hin vergleicht die empfangende Vorrichtungseinheit den Zeitstempel, der in dem Paket enthalten ist, mit der lokalen Zeit (wie aus dem IEEE-1588-Takt der empfangenden Vorrichtung bestimmt). Dies resultiert in einem sehr hochgenauen Schätzwert der Menge an Zeit, die das Paket benötigte, um anzukommen. Die empfangende Einheit kann mit einem „Zeitablauf" für jedes Paket vorprogrammiert sein. (Die Zeitablaufperiode kann abhängig von den anderen Inhalten des Pakets variieren.) Falls die gemessene Zeit die Zeitablaufperiode überschreitet, kann der Empfänger dasselbe als einen Fehler betrachten und eine geeignete Handlung unternehmen.
  • Man betrachte das folgende Beispiel, bei dem eine Quelle die Frequenz derselben verändert und eine Nachricht zu einem Empfänger kommuniziert, um auszulösen, dass der Empfänger 10 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, eine Messung vornimmt. Genauer gesagt kann nach einem Verändern der Frequenz derselben die Quellvorrichtung eine Nachricht senden, die einen Zeitstempel dessen umfasst, wann die Frequenz derselben verändert wurde. Die Nachricht umfasst ferner eine Identifikation eines Ereignisses Nr. 1. Der Empfänger ist programmiert, derart, dass ansprechend auf einen Empfang einer Nachricht, die das Er eignis Nr. 1 identifiziert, eine Messung des Signals der Quelle 10 msec nach dem Zeitstempel, der in einer derartigen Nachricht enthalten ist, vorgenommen wird (so dass die Messung durchgeführt wird, nachdem sich die veränderte Frequenz eingeschwungen hat). Man nehme ferner an, dass die Quelle die Nachricht, die das Ereignis Nr. 1 identifiziert und den Zeitstempel, bei dem dieselbe die Frequenz derselben veränderte, in einem einzigen UDP-Paket sendet.
  • Bei diesem Beispiel wird das UDP-Datenpaket durch die Quelle ein erstes Mal übertragen, dann ein zweites Mal nach einer Verzögerung von 1 Millisekunde (msec) wieder übertragen und dann ein drittes Mal nach einer Verzögerung von 10 msec wieder übertragen. Jede Übertragung des UDP-Datenpakets umfasst den Zeitstempel, bei dem die Quelle die Frequenz derselben veränderte, basierend auf dem lokalen Takt der Quelle. Der Empfänger empfängt das UDP-Datenpaket zumindest einmal und auf den ersten Empfang dieses UDP-Datenpakets hin wertet der Empfänger (z.B. die UDP-Paketverwaltungseinrichtung desselben) den Zeitstempel desselben aus, um zu bestimmen, ob derselbe die zeitempfindliche Messung entsprechend auf das empfangene UDP-Datenpaket durchführen kann. Falls somit die erste Übertragung des UDP-Datenpakets beispielsweise 1 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger die Messung durchführen, die derselbe 10 msec nach dem Zeitstempel in der Nachricht durchführen soll. Falls die erste Übertragung des UDP-Datenpakets nicht empfangen wird, aber anstelle dessen die zweite Übertragung des UDP-Datenpakets beispielsweise 2 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger immer noch diese zeitempfindliche Messung durchführen. Falls jedoch weder die erste noch die zweite Übertragung des UDP-Datenpakets empfangen wird, aber anstelle dessen die dritte Übertragung des UDP-Datenpakets beispielsweise 11 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, empfangen wird, kann der Empfänger die Messung desselben nicht 10 msec nach dem Zeitstempel, der in der Nachricht enthalten ist, auslösen. Der Empfänger kann jedoch in diesem Fall einen Fehler auslösen, im Gegensatz dazu, sich nicht dessen bewusst zu sein, dass eine Messung angefordert war. Falls der Empfänger implementiert wäre, das Signal kontinuierlich zu messen und die Ergebnisse desselben in einem Ringpuffer zu puffern, kann der Empfänger natürlich in der Lage sein, die Messung, die der Zeit 10 msec nach dem Zeitstempel in der Nachricht entspricht, wiederzuerlangen, obwohl die Nachricht erst 11 msec nach dem Zeitstempel in der Nachricht empfangen wird. In diesem Fall kann der Empfänger einen Fehler erzeugen, falls die Messung für die gewünschte Zeit (z.B. 10 msec nach dem Zeitstempel) nicht mehr in dem Puffer des Empfängers ist.
  • Mit Bezug auf 4 ist ein beispielhafter Betriebsfluss für ein Ausführungsbeispiel gezeigt. Bei einem Betriebsblock 41 werden lokale Takte einer Mehrzahl von Vorrichtungen, die kommunikativ mit einem Kommunikationsnetzwerk gekoppelt sind, synchronisiert. Eine aktive Synchronisationstechnik, wie beispielsweise IEEE 1588 oder NTP kann zum Synchronisieren der lokalen Takte bei bestimmten Ausführungsbeispielen verwendet werden, wie es oben beschrieben ist. Bei einem Block 42 wird zumindest ein UDP-Datenpaket von einer der Mehrzahl von Vorrichtungen über das Kommunikationsnetzwerk kommuniziert. Das (die) UDP-Datenpaket(e) wird (werden) über das Kommunikationsnetzwerk bei bestimmten Ausführungsbeispielen rundgesendet. Das (die) UDP-Datenpaket(e) umfasst (umfassen) einen Zeitstempel in demselben (denselben), basierend auf dem lokalen Takt der sendenden Vorrichtung. Dann wird bei einem Block 43 nach einer definierten Verzögerung das UDP-Datenpaket wieder über das Kommunikationsnetzwerk kommuniziert und umfasst wieder den Zeitstempel.
  • Unter Bezugnahme auf 5 ist ein anderer beispielhafter Betriebsfluss für ein Ausführungsbeispiel gezeigt. Bei einem Betriebsblock 51 werden lokale Takte einer Mehrzahl von Vorrichtungen, die kommunikativ mit einem Kommunikationsnetzwerk gekoppelt sind, synchronisiert. Wieder kann eine aktive Synchronisationstechnik, wie beispielsweise IEEE 1588 oder NTP bei bestimmten Ausführungsbeispielen zum Synchronisieren der lokalen Takte verwendet werden. Bei einem Betriebsblock 52 wird ein UDP-Datenpaket von einer ersten der Mehrzahl von Vorrichtungen über das Kommunikationsnetzwerk eine Mehrzahl von Malen durch zumindest eine definierte Zeitverzögerung getrennt übertragen. Bei bestimmten Ausführungsbeispielen wird das UDP-Paket über das Kommunikationsnetzwerk rundgesendet. Ein erster Zeitstempel ist in dem UDP-Paket bei jedem der Mehrzahl von Malen enthalten, die das UDP-Paket übertragen wird. Ein derartiger Zeitstempel kann zum Beispiel der Zeit an dem lokalen Takt der ersten Vorrichtung entsprechen, wenn das UDP-Datenpaket anfänglich übertragen wird. Bei einem Betriebsblock 53 empfängt zumindest eine der Mehrzahl von Vorrichtungen das UDP-Datenpaket zumindest einmal. Die empfangene Vorrichtung wertet den Zeitstempel aus, um zu bestimmen, ob dieselbe eine zeitempfindliche Handlung ansprechend auf das empfangene UDP-Datenpaket durchführen kann. Wie es oben erwähnt ist, kann der Empfänger eine geeignete Handlung unternehmen, wie beispielsweise einen Fehler erzeugen, falls bestimmt wird, dass das empfangene UDP-Datenpaket zu spät ist, um zu ermöglichen, dass der Empfänger eine zeitempfindliche Handlung durchführt.
  • Während die obigen Beispiele oben für das UDP-Protokoll beschrieben sind, ist klar, dass die Techniken ohne weiteres für eine Verwendung mit anderen unzuverlässigen Protokollen erweitert werden können, um die Stabilität eines Verwendens dieser Protokolle zu verbessern. Während die hierin beschriebenen Verfahren einen speziellen Nutzen zum Verbessern der Stabilität unzuverlässiger Protokolle aufweisen, wenn dieselben zum Übertragen von Nachrichten zum Synchronisieren von Operationen von Instrumenten verwendet werden, wie es beispielsweise in der Deutschen Patentanmeldung Anwaltsaktenzeichen AG050617PDE mit dem Titel „SYSTEM UND VERFAHREN ZUM SYNCHRONISIEREN VON OPERATIONEN EINER MEHRZAHL VON VORRICHTUNGEN ÜBER MELDUNGEN ÜBER EIN KOMMUNIKATIONSNETZWERK" offenbart ist, können die hierin beschriebenen Verfahren ferner gleichermaßen auf irgendwelche anderen Anwendungen angewendet werden, bei denen ein unzuverlässiges Protokoll zum Übertragen von Daten gewünscht ist, insbesondere Anwendungen, bei denen lediglich wenige Datenpakete übertragen werden.
  • Obwohl die vorliegende Erfindung und die Vorteile derselben detailliert beschrieben wurden, ist klar, dass verschiedene Änderungen, Substitutionen und Veränderungen hierin vorgenommen werden können, ohne von der Erfindung abzuweichen, wie dieselbe durch die beigefügten Ansprüche definiert ist. Außerdem soll der Schutzbereich der vorliegenden Anmeldung nicht auf die speziellen Ausführungsbeispiele des Prozesses, der Maschine, der Herstellung, der Materialzusammensetzung, der Einrichtung, von Verfahren und Schritten begrenzt sein, die in der Beschreibung beschrieben sind. Wie ohne weiteres aus der Offenbarung ersichtlich wird, können Prozesse, Maschinen, eine Herstellung, Materialzusammensetzungen, eine Einrichtung, Verfahren oder Schritte verwendet werden, die gegenwärtig existieren oder später entwickelt werden und die im Wesentlichen die gleiche Funktion durchführen oder im Wesentlichen das gleiche Ergebnis erzielen wie die entsprechenden Ausführungsbeispiele, die hierin beschrieben sind. Folglich sollen die beigefügten Ansprüche in dem Schutzbereich derselben derartige Prozesse, Maschinen, eine Herstellung, Materialzusammensetzungen, eine Einrichtung, Verfahren oder Schritte umfassen.

Claims (25)

  1. Verfahren, das folgende Schritte aufweist: Synchronisieren (41) lokaler Takte (101A, 101B) einer Mehrzahl von Vorrichtungen (11, 12), die kommunikativ mit einem Kommunikationsnetzwerk (13) gekoppelt sind; Kommunizieren (42) zumindest eines Datenpakets von einer der Mehrzahl von Vorrichtungen (11, 12) über ein unzuverlässiges Protokoll über das Kommunikationsnetzwerk (13), wobei das zumindest eine Datenpaket einen Zeitstempel in demselben umfasst, der auf dem lokalen Takt der Vorrichtung basiert, von der das zumindest eine Paket kommuniziert wird; und Wiederkommunizieren (43) des zumindest einen Datenpakets über das unzuverlässige Protokoll über das Kommunikationsnetzwerk (13) nach einer definierten Verzögerung, wobei das zumindest eine Datenpaket wieder den Zeitstempel umfasst.
  2. Verfahren gemäß Anspruch 1, bei dem das unzuverlässige Protokoll ein User-Datagram-Protocol (UDP) ist.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem das Kommunizieren (42) ein Rundsenden des zumindest einen Datenpakets über das Kommunikationsnetzwerk (13) aufweist.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, das ferner folgenden Schritt aufweist: Wiederkommunizieren des zumindest einen Datenpakets über das unzuverlässige Protokoll über das Kommunikationsnetzwerk (13) nach einer anderen definierten Verzögerung, wobei das zumindest eine Datenpaket wieder den Zeitstempel umfasst.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem das Synchronisieren (41) eines verwendet, das aus der Gruppe ausgewählt ist, die aus Folgendem besteht: IEEE 1588, Network-Time-Protocol (NTP) und Global Positioning System (GPS).
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem das Synchronisieren (41) folgenden Schritt aufweist: in Wechselwirkung Treten der Mehrzahl von Vorrichtungen (11, 12), um die lokalen Takte 101A, 101B derselben aktiv zu synchronisieren.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, das ferner folgenden Schritt aufweist: Empfangen des zumindest einen Datenpakets zumindest einmal durch zumindest eine der Mehrzahl von Vorrichtungen (11, 12) von dem Kommunizieren und dem Wiederkommunizieren.
  8. Verfahren gemäß Anspruch 7, das ferner folgenden Schritt aufweist: Empfangen des zumindest einen Datenpakets durch die zumindest eine der Mehrzahl von Vorrichtungen (11, 12) und Bestimmen, ob dieselbe eine zeitempfindliche Operation relativ zu dem Zeitstempel durchführen kann, der in dem zumindest einen Datenpaket enthalten ist.
  9. Verfahren, das folgende Schritte aufweist: Synchronisieren (41) lokaler Takte (101A, 101B) einer Mehrzahl von Vorrichtungen (11, 12), die kommunikativ mit einem Kommunikationsnetzwerk (13) gekoppelt sind; Bilden eines ersten Datenpakets eines unzuverlässigen Protokolls, wobei das erste Datenpaket einen ersten Zeitstempel in demselben umfasst, der auf dem lokalen Takt einer ersten der Mehrzahl von Vorrichtungen (11, 12) basiert; Kommunizieren (42) des ersten Datenpakets über das Kommunikationsnetzwerk (13) von der ersten der Mehrzahl von Vorrichtungen (11, 12) über das unzuverlässige Protokoll; und Wiederkommunizieren (43) des ersten Datenpakets über das Kommunikationsnetzwerk (13) zumindest einmal nach zumindest einer definierten Zeitverzögerung über das unzuverlässige Protokoll.
  10. Verfahren gemäß Anspruch 9, bei dem das erste Datenpaket ein UDP-Datenpaket (UDP = User Datagram Protocol) ist.
  11. Verfahren gemäß Anspruch 9 oder 10, bei dem das Kommunizieren (42) ein Rundsenden des ersten Datenpakets über das Kommunikationsnetzwerk (13) aufweist.
  12. Verfahren gemäß einem der Ansprüche 9 bis 11, bei dem das Wiederkommunizieren (43) folgenden Schritt aufweist: Wiederkommunizieren des ersten Datenpakets eine Mehrzahl von Malen, wobei jedes der Mehrzahl von Malen durch eine Zeitverzögerung getrennt ist.
  13. Verfahren gemäß einem der Ansprüche 9 bis 12, bei dem das erste Datenpaket den ersten Zeitstempel umfasst, wenn dasselbe bei dem Wiederkommunizierschritt wiederkommuniziert wird.
  14. Verfahren gemäß einem der Ansprüche 9 bis 13, bei dem das Synchronisieren (41) eines verwendet, das aus der Gruppe ausgewählt ist, das aus Folgendem besteht: IEEE 1588, Network-Time-Protocol (NTP) und Global Positioning System (GPS).
  15. Verfahren gemäß einem der Ansprüche 9 bis 14, das ferner folgenden Schritt aufweist: Empfangen des ersten Datenpakets zumindest einmal durch zumindest eine der Mehrzahl von Vorrichtungen (11, 12) als ein Ergebnis des Kommunizierens (42) und des Wiederkommunizierens (43).
  16. Verfahren gemäß Anspruch 15, das ferner folgenden Schritt aufweist: Empfangen des ersten Datenpakets durch die zumindest eine der Mehrzahl von Vorrichtungen (11, 12) und Bestimmen, ob dieselbe eine zeitempfindliche Operation relativ zu dem Zeitstempel durchführen kann, der in dem zumindest einen Datenpaket enthalten ist.
  17. Verfahren gemäß Anspruch 16, bei dem das erste Datenpaket ferner Informationen umfasst, die ein Ereignis identifizieren, und wobei das Bestimmen, ob dieselbe eine zeitempfindliche Operation durchführen kann, ein Bestimmen einer zeitempfindlichen Operation aufweist, die ansprechend auf das identifizierte Ereignis durchzuführen ist.
  18. Verfahren, das folgende Schritte aufweist: Synchronisieren (51) lokaler Takte (101A, 101B) einer Mehrzahl von Vorrichtungen (11, 12), die kommunikativ mit einem Kommunikationsnetzwerk (13) gekoppelt sind; Übertragen (52) eines UDP-Datenpakets (UDP = User Datagram Protocol) eine Mehrzahl von Malen, die durch zumindest eine definierte Zeitverzögerung getrennt sind, über das Kommunikationsnetzwerk (13) von einer ersten der Mehrzahl von Vorrichtungen (11, 12), wobei ein erster Zeitstempel bei jedem Mal der Mehrzahl von Malen, die das UDP-Datenpaket übertragen wird, in dem UDP-Datenpaket enthalten ist; und Empfangen (53) des UDP-Datenpakets zumindest einmal durch zumindest eine zweite der Mehrzahl von Vorrichtungen (11, 12), wobei die zumindest eine zweite der Mehrzahl von Vorrichtungen (11, 12) den Zeitstempel auswertet, um zu bestimmen, ob dieselbe eine zeitempfindliche Handlung ansprechend auf das empfangene UDP-Datenpaket durchführen kann.
  19. Verfahren gemäß Anspruch 18, bei dem das Übertragen (52) ein Rundsenden des UDP-Datenpakets über das Kommunikationsnetzwerk (13) aufweist.
  20. Verfahren gemäß Anspruch 18 oder 19, bei dem das Synchronisieren (51) eines verwendet, das aus der Gruppe ausgewählt ist, das aus Folgendem besteht: IEEE 1588, Network-Time-Protocol (NTP) und Global Positioning System (GPS).
  21. System, das folgende Merkmale aufweist: eine Mehrzahl von Vorrichtungen (11, 12), die kommunikativ mit einem Kommunikationsnetzwerk (13) gekoppelt sind; wobei jede der Mehrzahl von Vorrichtungen einen lokalen Takt (101A, 101B) umfasst, wobei die lokalen Takte aktiv synchronisiert sind; wobei zumindest eine erste der Mehrzahl von Vorrichtungen (11, 12) eine Nachricht erzeugt, die über das Kommunikationsnetzwerk (13) zu zumindest einer zweiten der Mehrzahl von Vorrichtungen (11, 12) kommuniziert werden soll, wobei die zumindest eine zweite der Mehr zahl von Vorrichtungen (11, 12) eine Anwendung (301) umfasst, die wirksam ist, um die Nachricht zu empfangen und ansprechend auf die Nachricht eine zeitempfindliche Handlung durchzuführen; wobei die zumindest eine erste der Mehrzahl von Vorrichtungen (11, 12) die erzeugte Nachricht zu zumindest einem Unzuverlässig-Protokoll-Datenpaket bildet, das einen Zeitstempel umfasst, der auf dem lokalen Takt der zumindest einen ersten der Mehrzahl von Vorrichtungen (11, 12) basiert, und wobei die zumindest eine erste der Mehrzahl von Vorrichtungen (11, 12) das zumindest eine Unzuverlässig-Protokoll-Datenpaket eine Mehrzahl von Malen kommuniziert, die durch zumindest eine definierte Zeitverzögerung getrennt sind.
  22. System gemäß Anspruch 21, bei dem das zumindest eine Unzuverlässig-Protokoll-Datenpaket ein UDP-Datenpaket (UDP = User Datagram Protocol) ist.
  23. System gemäß Anspruch 21 oder 22, bei dem die zeitempfindliche Handlung ein Vornehmen einer Messung aufweist.
  24. System gemäß Anspruch 23, bei dem das Vornehmen einer Messung ein Vornehmen einer Messung eines Signals aufweist, das durch die zumindest eine erste der Mehrzahl von Vorrichtungen (11, 12) ausgegeben wird.
  25. System gemäß einem der Ansprüche 21 bis 24, bei dem die Nachricht ein Ereignis identifiziert und wobei die zumindest eine zweite der Mehrzahl von Vorrichtungen (11, 12) konfiguriert ist, um die zeitempfindliche Handlung zu bestimmen, die dieselbe ansprechend auf das identifizierte Ereignis durchführen soll.
DE102005029438A 2004-09-13 2005-06-24 System und Verfahren zur stabilen Kommunikation über ein unzuverlässiges Protokoll Withdrawn DE102005029438A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/939,921 US20060056403A1 (en) 2004-09-13 2004-09-13 System and method for robust communication via a non-reliable protocol
US10/939,921 2004-09-13

Publications (1)

Publication Number Publication Date
DE102005029438A1 true DE102005029438A1 (de) 2006-03-30

Family

ID=35221292

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005029438A Withdrawn DE102005029438A1 (de) 2004-09-13 2005-06-24 System und Verfahren zur stabilen Kommunikation über ein unzuverlässiges Protokoll

Country Status (4)

Country Link
US (1) US20060056403A1 (de)
JP (1) JP2006081193A (de)
DE (1) DE102005029438A1 (de)
GB (1) GB2418115A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983276B2 (en) 2006-03-21 2011-07-19 Zarlink Semiconductor Limited Timing source

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006165643A (ja) * 2004-12-02 2006-06-22 Kddi Corp 通信システム、遅延挿入サーバ、バックアップサーバおよび通信制御装置
US7468981B2 (en) * 2005-02-15 2008-12-23 Cisco Technology, Inc. Clock-based replay protection
US7174474B1 (en) * 2005-10-12 2007-02-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Distributed autonomous control system for multi-axis motion control
US8914885B2 (en) * 2006-11-03 2014-12-16 Alcatel Lucent Methods and apparatus for delivering control messages during a malicious attack in one or more packet networks
US8027359B2 (en) * 2007-03-26 2011-09-27 Sony Corporation Extended serial communication protocols
US8219686B2 (en) 2007-09-17 2012-07-10 Mcafee, Inc. Method and computer program product utilizing multiple UDP data packets to transfer a quantity of data otherwise in excess of a single UDP packet
FI120378B (fi) * 2007-10-24 2009-09-30 Tellabs Oy Menetelmä ja järjestely kellonaika-arvon siirtämiseksi verkkoelementtien välillä
KR101200070B1 (ko) * 2008-11-28 2012-11-12 한국전자통신연구원 네트워크 시간표시정보를 삽입하거나 추출하기 위한 장치 및 방법
CN102550020B (zh) 2009-10-02 2017-10-24 瑞典爱立信有限公司 使用用于识别已丢失数据分组的校验和的重传的方法
US8745157B2 (en) * 2011-09-02 2014-06-03 Trading Technologies International, Inc. Order feed message stream integrity
CN104094249B (zh) 2012-04-25 2018-09-28 企业服务发展公司有限责任合伙企业 使用xml的文件传输
US10320520B2 (en) * 2013-11-15 2019-06-11 Hitachi, Ltd. Communication device, system and method
CN105879391B (zh) * 2016-04-08 2019-04-02 腾讯科技(深圳)有限公司 一种游戏中角色的移动控制方法和服务器以及客户端
EP3358789B1 (de) * 2017-02-03 2024-08-28 MARICI Holdings The Netherlands B.V. Verfahren zur erkennung des kommunikationsprotokolls von datenpaketen, die über einen kommunikationsbus geleitet werden
US11503005B2 (en) * 2018-11-09 2022-11-15 Ge Aviation Systems Limited Tool verification system and method of verifying an unqualified component
CN112910727B (zh) * 2021-01-20 2022-07-05 中国电子技术标准化研究院 Tsn网络丢包率计算装置、系统及方法
US11405881B1 (en) * 2021-03-10 2022-08-02 Landis+Gyr Innovations, Inc. Clock synchronization in mesh networks

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887029A (en) * 1994-05-31 1999-03-23 Allen-Bradley Company, Llc Method of scheduling spatially separated control events with an industrial controller
US6826590B1 (en) * 1996-08-23 2004-11-30 Fieldbus Foundation Block-oriented control system on high speed ethernet
US5987022A (en) * 1996-12-27 1999-11-16 Motorola, Inc. Method for transmitting multiple-protocol packetized data
US6771594B1 (en) * 1997-03-31 2004-08-03 Intel Corporation Reliable/non-reliable transmission of voice using TCP/UDP based on network quality of service
US6161123A (en) * 1997-05-06 2000-12-12 Intermec Ip Corporation Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session
US6006254A (en) * 1997-08-29 1999-12-21 Mitsubishi Electric Information Technology Center America, Inc. System for the reliable, fast, low-latency communication of object state updates over a computer network by combining lossy and lossless communications
JP2002510081A (ja) * 1998-03-27 2002-04-02 シーメンス アクチエンゲゼルシヤフト 中央のタイムベースにローカルのタイムベースを同期化するための方法ならびに本方法を実施するための装置およびその使用方法
US6327274B1 (en) * 1998-09-15 2001-12-04 Nokia Telecommunications, Inc. Method for estimating relative skew between clocks in packet networks
US6952727B1 (en) * 1999-12-07 2005-10-04 Schneider Automation Inc. Method for adapting a computer-to-computer communication protocol for use in an industrial control system
US6512990B1 (en) * 2000-01-05 2003-01-28 Agilent Technologies, Inc. Distributed trigger node
JP3579826B2 (ja) * 2000-08-09 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システム、データロギングシステム、システムパフォーマンスの測定方法、および、記録媒体
JP4314733B2 (ja) * 2000-08-22 2009-08-19 沖電気工業株式会社 通信接続装置およびデータ出力制御方法
JP4168582B2 (ja) * 2000-08-31 2008-10-22 沖電気工業株式会社 通信接続装置およびデータ出力制御方法
US6839754B2 (en) * 2000-09-15 2005-01-04 Wm. Marsh Rice University Network tomography using closely-spaced unicast packets
US7054399B1 (en) * 2000-09-29 2006-05-30 Rockwell Automation Technologies, Inc. Low overhead synchronized activation of functional modules
US7035246B2 (en) * 2001-03-13 2006-04-25 Pulse-Link, Inc. Maintaining a global time reference among a group of networked devices
DE10113261C2 (de) * 2001-03-16 2003-07-10 Siemens Ag Synchrones, getaktetes Kommunikationssystem mit dezentralen Ein-/Ausgabe-Baugruppen und Verfahren zur Einbindung dezentraler Ein-/Ausgabe-Baugruppen in ein solches System
US6996624B1 (en) * 2001-09-27 2006-02-07 Apple Computer, Inc. Reliable real-time transport protocol
US7054902B2 (en) * 2001-10-23 2006-05-30 Packeteer, Inc. Multicast delivery systems and methods
KR100431003B1 (ko) * 2001-10-31 2004-05-12 삼성전자주식회사 데이터 송수신 시스템 및 방법
US6498968B1 (en) * 2001-11-27 2002-12-24 Lockheed Martin Corporation Optimistic distributed simulation for a UAV flight control system
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
GB2385499A (en) * 2002-02-18 2003-08-20 Venation Ltd Network transport protocol
GB2386982A (en) * 2002-03-28 2003-10-01 Sony Uk Ltd Data network with outputs delays to give constant time between input and output
US7313098B2 (en) * 2002-09-30 2007-12-25 Avaya Technology Corp. Communication system endpoint device with integrated call synthesis capability
US20050144309A1 (en) * 2003-12-16 2005-06-30 Intel Corporation, A Delaware Corporation Systems and methods for controlling congestion using a time-stamp
WO2005077063A2 (en) * 2004-02-09 2005-08-25 Semtech Corporation Method and apparatus for aligning time references when separated by an unreliable data packet network
US7701884B2 (en) * 2004-04-19 2010-04-20 Insors Integrated Communications Network communications bandwidth control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983276B2 (en) 2006-03-21 2011-07-19 Zarlink Semiconductor Limited Timing source

Also Published As

Publication number Publication date
JP2006081193A (ja) 2006-03-23
US20060056403A1 (en) 2006-03-16
GB0518524D0 (en) 2005-10-19
GB2418115A (en) 2006-03-15

Similar Documents

Publication Publication Date Title
DE102005029438A1 (de) System und Verfahren zur stabilen Kommunikation über ein unzuverlässiges Protokoll
EP2523397B1 (de) Verfahren und Vorrichtung zum Betrieb von Windpark-Verbundnetzen mit verbessertem Daten-Übertragungsprotokoll
DE69915201T2 (de) Technik zum Dejittern und zur Taktrückgewinnung für audiovisuelle Echtzeitnetzanwendungen
DE60133324T2 (de) Schubsdatenpaket zur Minimierung von Datenpufferungsverzögerung
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE10066507B3 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE60022082T2 (de) Synchronisierter transport durch nichtsynchrone netzwerke
DE69328578T2 (de) Leistungsfähiges und betriebssicheres Übertragungsverfahren und System für grosse Datenmengen
DE602005000779T2 (de) Kommunikationsvorrichtung and Verfahren um Musiksoundkontrolldaten über das Internet zu erhalten und zu übertragen.
DE60130319T2 (de) Mehrtor-brücke zur lieferung von netzwerkverbindungen
EP1265124A1 (de) Verfahren zum Übermitteln von Zeitinformation über ein Datenpaketnetz
DE102006012466A1 (de) Systeme und Verfahren zum Synchronisieren einer Zeit über Netze hinweg
DE112016006755B4 (de) Netzwerksystem und Kommunikationsverfahren
DE102007044470A1 (de) Mechanismus, um eine Verzögerung von Netzwerkelementen transparent für IEEE-1588-Protokolle zu machen
DE60221178T2 (de) Verfahren und Gerät zur Einbindung von Fast Ethernet Paketen in SONET-Container über ein Funksystem
DE102006027378A1 (de) Kommunikationssystem
EP1440543A1 (de) Verfahren, empfangseinrichtung und sendeeinrichtung zur bestimmung des schnellsten nachrichtenpfades ohne uhrensynchronisation
DE602004011484T2 (de) Verfahren und Vorrichtung zum Synchronisieren von Uhren von Netzknoten
DE602005000096T2 (de) Verfahren und System zur Bearbeitung einer Sequenz von Datenpaketen in einem Empfänger
WO2019016003A1 (de) Summenstreams für istzustände und steuersignale eines verteilten steuerungssystems
DE60108472T2 (de) Datenvorrichtung und datenempfangsvorrichtung
WO2011117239A1 (de) Verfahren und vorrichtung zur verarbeitung von daten in einem netzwerk eines fahrzeugs
DE60301873T2 (de) Internes zeichengabeverfahren zur unterstützung der taktsynchronisation von über ein drahtloses lokales netzwerk verbundenen knoten
DE60210918T2 (de) Verfahren zur Überlastdetektion von IP-Flows über ein drahtloses Netzwerk
DE60038589T2 (de) Verfahren und Einrichtung zur Steuerung der Synchronisation zwischen zwei seriellen Kommunikationsbussen eines Netzes

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8139 Disposal/non-payment of the annual fee