DE102022203874A1 - Zeitstempel-konfidenzniveau - Google Patents

Zeitstempel-konfidenzniveau Download PDF

Info

Publication number
DE102022203874A1
DE102022203874A1 DE102022203874.6A DE102022203874A DE102022203874A1 DE 102022203874 A1 DE102022203874 A1 DE 102022203874A1 DE 102022203874 A DE102022203874 A DE 102022203874A DE 102022203874 A1 DE102022203874 A1 DE 102022203874A1
Authority
DE
Germany
Prior art keywords
event
data
clock synchronization
packet
data packet
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.)
Pending
Application number
DE102022203874.6A
Other languages
English (en)
Inventor
Dotan David Levi
Wojciech Wasko
Natan Manevich
Roee Moyal
Eliel Peretz
Eran Ben Elisha
Ariel Almog
Teferet Geula
Amit Mandelbaum
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.)
Mellanox Technologies Ltd
Original Assignee
Mellanox Technologies Ltd
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 Mellanox Technologies Ltd filed Critical Mellanox Technologies Ltd
Publication of DE102022203874A1 publication Critical patent/DE102022203874A1/de
Pending legal-status Critical Current

Links

Images

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
    • 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/0647Synchronisation among TDM nodes
    • H04J3/065Synchronisation among TDM nodes using timestamps
    • 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/0644External master-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
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/28Timers or timing mechanisms used in protocols

Abstract

In einer Ausführungsform umfasst ein Ereignisverarbeitungssystem eine Uhr, die so konfiguriert ist, dass sie Zeitwerte bereitstellt, und eine Ereignisverarbeitungsschaltung, die so konfiguriert ist, dass sie ein Konfidenzniveau erzeugt, der einen Grad des Vertrauens in die Genauigkeit eines Zeitstempels angibt, wobei der Zeitstempel für ein Ereignis in Reaktion auf einen Zeitwert erzeugt wird, der angibt, wann eine mit dem Ereignis verbundene Operation stattgefunden hat.

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf Computersysteme und insbesondere, aber nicht ausschließlich, auf Zeitstempel.
  • HINTERGRUND
  • Hardware-Zeitstempel werden in vielen Netzwerkanwendungen eingesetzt. Eine Anwendung von Hardware-Zeitstempeln in Netzgeräten ist die Messung der Eingangs- oder Ausgangszeit von Paketen. Die Zeitstempelinformationen können dann zur Synchronisierung der Uhr über mehrere Systeme hinweg verwendet werden, was eine Voraussetzung für viele moderne verteilte Systemanwendungen ist, einschließlich großer Rechenzentrumsanwendungen und Funkzugangsnetze für drahtlose Technologien wie 5G. Die Zeitstempelung kann auch verwendet werden, um externe Konsistenz, einheitliche Protokolle und Ereignisse über verschiedene Netzwerkknoten hinweg zu schaffen.
  • Das US-Patent 8.370.675 von Kagan beschreibt beispielsweise ein Verfahren zur Uhrsynchronisation, bei dem ein Offset-Wert zwischen einer lokalen Uhrzeit einer Echtzeit-Uhrschaltung und einer Referenz-Uhrzeit berechnet und der Offset-Wert in ein Register geladen wird, das mit der Echtzeit-Uhrschaltung verbunden ist. Die lokale Uhrzeit wird dann mit dem Wert im Register summiert, um einen angepassten Wert der lokalen Uhrzeit zu erhalten, der mit der Referenzuhr synchronisiert ist.
  • US 10320952 an Raveh, et al., beschreibt eine Netzwerkvorrichtung mit mehreren Ports zur Kommunikation über ein Kommunikationsnetzwerk und einer Paketverarbeitungsschaltung. Die Paketverarbeitungsschaltung ist so konfiguriert, dass sie über die Ports Pakete empfängt, die zu einer Vielzahl von Multicast-Strömen gehören, um für jeden der Multicast-Ströme (i) eine erste Konfiguration zu empfangen, die Clients spezifiziert, die den Multicast-Strom vor einer bestimmten Umschaltzeit empfangen sollen, und (ii) eine zweite Konfiguration, die die Clients spezifiziert, die den Multicast-Strom nach der bestimmten Umschaltzeit empfangen sollen, die Multicast-Ströme über die Ports in Übereinstimmung mit der ersten Konfiguration weiterzuleiten, aus einem Feld in mindestens einem der Pakete einen Wert zu extrahieren, der die Umschaltzeit anzeigt, und auf der Grundlage des extrahierten Wertes die Weiterleitung der Multicast-Ströme von der ersten Konfiguration zur zweiten Konfiguration gleichzeitig zur Umschaltzeit umzuschalten.
  • ZUSAMMENFASSUNG
  • Die Erfindung wird durch die Ansprüche definiert. Zur Veranschaulichung der Erfindung werden hier Aspekte und Ausführungsformen beschrieben, die in den Anwendungsbereich der Ansprüche fallen können oder auch nicht.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung wird ein Ereignisverarbeitungssystem bereitgestellt, das eine Uhr, die so konfiguriert ist, dass sie Zeitwerte bereitstellt, und eine Ereignisverarbeitungsschaltung umfasst, die so konfiguriert ist, dass sie ein Konfidenzniveau erzeugt, der einen Grad des Vertrauens in die Genauigkeit eines Zeitstempels angibt, wobei der Zeitstempel für ein Ereignis in Reaktion auf einen Zeitwert erzeugt wird, der angibt, wann eine mit dem Ereignis verbundene Operation stattgefunden hat.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist die Ereignisverarbeitungsschaltung so konfiguriert, dass sie das Auftreten des Ereignisses identifiziert und den Zeitstempel für das identifizierte Ereignis in Reaktion auf den Zeitwert erzeugt, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist die Ereignisverarbeitungsschaltung so konfiguriert, dass sie den Zeitstempel und das Konfidenzniveau zu einem Ereignisdatenelement hinzufügt.
  • Gemäß einer Ausführungsform der vorliegenden Offenlegung ist das Ereignisdatenelement außerdem eine Paketbenachrichtigung.
  • Darüber hinaus handelt es sich bei den Ereignisdaten gemäß einer Ausführungsform der vorliegenden Offenlegung um eine Uhrsynchronisationsnachricht.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist die Ereignisverarbeitungsschaltung so konfiguriert, dass sie das Konfidenzniveau als Reaktion auf einen oder mehrere Faktoren erzeugt, die aus einem Verkehrsmuster während des Auftretens des Ereignisses, einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses, einem Bandbreitenwert während des Auftretens des Ereignisses, einer während des Auftretens des Ereignisses verwendeten Steuerungsmaschine, einer die Hardware-Operation durchführenden Hardware, einem Uhrzustand, einer Warteschlangenbelegung oder einem zur Durchführung der Hardware-Operation verwendeten PHY-Protokoll ausgewählt sind.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das System eine Netzwerkschnittstelle, die so konfiguriert ist, dass sie ein Datenpaket über ein Paketdatennetzwerk empfängt, und eine Paketverarbeitungsschaltung, die so konfiguriert ist, dass sie das empfangene Datenpaket verarbeitet, und wobei das Ereignis das Datenpaket umfasst, das von der Paketverarbeitungsschaltung zu dem Zeitwert empfangen wird, und die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie den Zeitstempel und den Konfidenzgrad zu dem Datenpaket hinzufügt.
  • Darüber hinaus ist gemäß einer Ausführungsform der vorliegenden Offenbarung die Ereignisverarbeitungsschaltung so konfiguriert, dass sie das Konfidenzniveau in Reaktion auf einen oder mehrere Eingangsfaktoren erzeugt, die aus einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde, einem Verkehrsmuster während des Eingangs des Datenpakets, einer Leitungsgeschwindigkeit während des Eingangs des Datenpakets, einem Bandbreitenwert während des Eingangs des Datenpakets, einer Eingangswarteschlangenbelegung, einem Uhrstatus oder einer Steuerungsmaschine, die während des Eingangs des Datenpakets verwendet wurde, ausgewählt werden.
  • Darüber hinaus enthält das System gemäß einer Ausführungsform der vorliegenden Offenbarung eine Netzwerkschnittstelle, die so konfiguriert ist, dass sie ein Datenpaket über ein Paketdatennetzwerk sendet, und eine Paketverarbeitungsschaltung, die so konfiguriert ist, dass sie das Datenpaket zum Senden über die Netzwerkschnittstelle über das Paketdatennetzwerk verarbeitet, und wobei das Ereignis das Datenpaket enthält, das über das Paketdatennetzwerk zum Zeitwert gesendet wird, und die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie dem Datenpaket den Zeitstempel und das Konfidenzniveau hinzufügt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung enthält das System einen Ausgangspuffer, der so konfiguriert ist, dass er das Datenpaket vor dem Senden des Datenpakets über das Paketdatennetz speichert, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie das Konfidenzniveau in Reaktion auf ein Pufferniveau des Ausgangspuffers zu dem Zeitwert erzeugt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist die Ereignisverarbeitungsschaltung so konfiguriert, dass sie das Konfidenzniveau in Reaktion auf einen oder mehrere Ausgangsfaktoren erzeugt, die aus einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde, einem Verkehrsmuster während des Ausgangs des Datenpakets, einer Leitungsgeschwindigkeit während des Ausgangs des Datenpakets, einem Bandbreitenwert während des Ausgangs des Datenpakets, einer Ausgangswarteschlangenbelegung, einem Uhrstatus oder einer Steuerungsmaschine, die während des Ausgangs des Datenpakets verwendet wurde, ausgewählt werden.
  • Zusätzlich enthält das System gemäß einer Ausführungsform der vorliegenden Offenbarung einen Datenanalysator, der so konfiguriert ist, dass er einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus empfängt, den Datensatz reduziert, um einige der Ereignisdatenelemente aus dem Datensatz zu entfernen, die entsprechende der entsprechenden Konfidenzniveaus aufweisen, die niedriger sind als entsprechende der entsprechenden Konfidenzniveaus der verbleibenden Ereignisdatenelemente im Datensatz, und den reduzierten Datensatz analysiert.
  • Darüber hinaus enthält das System gemäß einer Ausführungsform der vorliegenden Offenbarung einen Datenanalysator, der so konfiguriert ist, dass er einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus empfängt, eines der Ereignisdatenelemente mit einem höchsten Konfidenzniveau der entsprechenden Konfidenzniveaus auswählt und das ausgewählte Ereignisdatenelement analysiert.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung enthält das System einen Datenanalysator, der so konfiguriert ist, dass er einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus empfängt, mindestens ein Verkehrsmuster identifiziert, das bewirkt, dass einige Ereignisdatenelemente der entsprechenden Ereignisdatenelemente entsprechende der entsprechenden Konfidenzniveaus unterhalb eines gegebenen Konfidenzniveaus aufweisen, und einen Befehl zur Anpassung des identifizierten mindestens einen Verkehrsmusters ausgibt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenlegung umfasst das System eine Transaktionsverarbeitungsvorrichtung, die so konfiguriert ist, dass sie Anfragen von mehreren anfragenden Stellen in Abhängigkeit von einer Zeitüberschreitung verarbeitet, die in Abhängigkeit von dem erzeugten Konfidenzniveau eingestellt wird.
  • Ferner, gemäß einer Ausführungsform der vorliegenden Offenbarung enthält das System einen ersten Netzwerkknoten und einen zweiten Netzwerkknoten, wobei der erste und der zweite Netzwerkknoten direkt durch ein Kabel verbunden sind, wobei der erste Netzwerkknoten eine erste Ereignisverarbeitungsschaltung enthält, die konfiguriert ist, um das Auftreten des Ereignisses zu identifizieren, und den Zeitstempel für das identifizierte Ereignis in Reaktion auf den Zeitwert zu erzeugen, der anzeigt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist, und der zweite Netzwerkknoten eine zweite Ereignisverarbeitungsschaltung enthält, die so konfiguriert ist, dass sie das Konfidenzniveau erzeugt, das den Grad des Vertrauens in die Genauigkeit des vom ersten Netzwerkknoten erzeugten Zeitstempels in Reaktion auf ein gemeinsames Verkehrsmuster zwischen dem ersten Netzwerkknoten und dem zweiten Netzwerkknoten anzeigt.
  • Darüber hinaus ist gemäß einer Ausführungsform der vorliegenden Offenbarung der erste Netzwerkknoten ein Master-Uhrsynchronisationsknoten, der zweite Netzwerkknoten ein Slave-Uhrsynchronisationsknoten, der Master-Uhrsynchronisationsknoten ist so konfiguriert, dass er eine Uhrsynchronisationsnachricht einschließlich des Zeitstempels an den Slave-Synchronisationsknoten sendet, und der Slave-Uhrsynchronisationsknoten ist so konfiguriert, dass er eine Uhrsynchronisation als Reaktion auf die empfangene Uhrsynchronisationsnachricht durchführt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung enthält das System eine Uhrsynchronisationsschaltung, die so konfiguriert ist, dass sie eine Vielzahl von Uhrsynchronisationsnachrichten empfängt, die jeweilige Zeitstempel enthalten, wobei die jeweiligen Zeitstempel zugehörige Konfidenzniveaus haben, die die jeweiligen Grade des Vertrauens der jeweiligen Genauigkeit der jeweiligen Zeitstempel angeben, mindestens einen der jeweiligen Zeitstempel in Reaktion auf die jeweiligen zugehörigen Konfidenzniveaus auswählt und eine Uhrsynchronisation in Reaktion auf den ausgewählten mindestens einen der jeweiligen Zeitstempel durchführt.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist die Uhrsynchronisationsschaltung so konfiguriert, dass sie die Uhrsynchronisation in Abhängigkeit von den jeweiligen Zeitstempeln durchführt und dabei dem ausgewählten mindestens einen der jeweiligen Zeitstempel ein höheres Gewicht zuweist.
  • Zusätzlich enthält das System gemäß einer Ausführungsform der vorliegenden Offenbarung einen Master-Uhrsynchronisationsknoten und einen Slave-Uhrsynchronisationsknoten, der die Uhrsynchronisationsschaltung enthält, wobei der Master- Uhrsynchronisationsknoten so konfiguriert ist, dass er die mehreren Uhrsynchronisationsnachrichten einschließlich der jeweiligen Zeitstempel und zugehörigen Konfidenzniveaus an den Slave-Uhrsynchronisationsknoten sendet.
  • In Übereinstimmung mit einer anderen Ausführungsform der vorliegenden Offenbarung wird auch ein Ereignisverarbeitungsverfahren bereitgestellt, das das Bereitstellen von Zeitwerten und das Erzeugen eines Konfidenzniveaus einschließt, das den Grad des Vertrauens in die Genauigkeit eines Zeitstempels angibt, wobei der Zeitstempel für ein Ereignis in Reaktion auf einen Zeitwert erzeugt wird, der angibt, wann eine mit dem Ereignis verbundene Operation stattgefunden hat.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenbarung das Identifizieren des Auftretens des Ereignisses und das Erzeugen des Zeitstempels für das identifizierte Ereignis in Reaktion auf den Zeitwert, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren das Hinzufügen des Zeitstempels und des Konfidenzniveaus zu einem Ereignisdatenelement.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung ist das Ereignisdatenelement eine Paketbenachrichtigung.
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung handelt es sich bei den Ereignisdaten außerdem um eine Uhrsynchronisationsnachricht.
  • Darüber hinaus wird gemäß einer Ausführungsform der vorliegenden Offenbarung das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Faktoren durchgeführt, die aus einem Verkehrsmuster während des Auftretens des Ereignisses, einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses, einem Bandbreitenwert während des Auftretens des Ereignisses, einer während des Auftretens des Ereignisses verwendeten Steuerungsmaschine, einer die Hardware-Operation durchführenden Hardware, einer Warteschlangenbelegung, einem Uhrzustand oder einem zur Durchführung der Hardware-Operation verwendeten PHY-Protokoll ausgewählt sind.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren den Empfang eines Datenpakets über ein Paketdatennetz, die Verarbeitung des empfangenen Datenpakets, wobei das Ereignis, zu dem das Datenpaket gehört, zu dem Zeitwert empfangen wird, und das Hinzufügen des Zeitstempels und des Konfidenzniveaus zu dem Datenpaket.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung wird das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Eingangsfaktoren durchgeführt, die aus einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde, einem Verkehrsmuster während des Eingangs des Datenpakets, einer Leitungsgeschwindigkeit während des Eingangs des Datenpakets, einem Bandbreitenwert während des Eingangs des Datenpakets, einer Eingangswarteschlangenbelegung, einem Uhrstatus oder einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wurde, ausgewählt werden.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenbarung das Senden eines Datenpakets über ein Datennetz, das Verarbeiten des Datenpakets zum Senden über das Datennetz, wobei das Ereignis das Senden des Datenpakets über das Datennetz zu dem Zeitwert umfasst, und das Hinzufügen des Zeitstempels und des Konfidenzniveaus zu dem Datenpaket.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenbarung das Speichern des Datenpakets in einem Ausgangspuffer vor dem Senden des Datenpakets über das Paketdatennetz, wobei das Erzeugen des Konfidenzniveaus als Reaktion auf ein Pufferniveau des Ausgangspuffers zu dem Zeitwert durchgeführt wird.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung wird das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Ausgangsfaktoren durchgeführt, die aus einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde, einem Verkehrsmuster während des Ausgangs des Datenpakets, einer Leitungsgeschwindigkeit während des Ausgangs des Datenpakets, einem Bandbreitenwert während des Ausgangs des Datenpakets, einer Ausgangswarteschlangenbelegung, einem Uhrstatus oder einer während des Ausgangs des Datenpakets verwendeten Steuerungsmaschine ausgewählt werden.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren das Empfangen eines Datensatzes, der Ereignisdatenelemente mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält, das Reduzieren des Datensatzes, um einige der Ereignisdatenelemente aus dem Datensatz zu entfernen, die entsprechende der entsprechenden Konfidenzniveaus aufweisen, die niedriger sind als entsprechende der entsprechenden Konfidenzniveaus der verbleibenden Ereignisdatenelemente in dem Datensatz, und das Analysieren des reduzierten Datensatzes.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenlegung den Empfang eines Datensatzes, der Ereignisdatenelemente mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält, die Auswahl eines der Ereignisdatenelemente mit dem höchsten Konfidenzniveau der entsprechenden Konfidenzniveaus und die Analyse des ausgewählten Ereignisdatenelements.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenlegung den Empfang eines Datensatzes, der Ereignisdatenelemente mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält, die Identifizierung mindestens eines Verkehrsmusters, das bewirkt, dass einige Ereignisdatenelemente der entsprechenden Ereignisdatenelemente entsprechende der entsprechenden Konfidenzniveaus unterhalb eines gegebenen Konfidenzniveaus aufweisen, und die Ausgabe eines Befehls zur Anpassung des identifizierten mindestens einen Verkehrsmusters.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren die Verarbeitung von Anfragen von mehreren anfragenden Stellen in Abhängigkeit von einer Zeitüberschreitung, die in Abhängigkeit von der erzeugten Konfidenzniveau eingestellt wird.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren das Identifizieren des Auftretens des Ereignisses in einem ersten Netzwerkknoten, das Erzeugen des Zeitstempels für das identifizierte Ereignis in dem ersten Netzwerkknoten als Reaktion auf den Zeitwert, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist, und das Erzeugen des Konfidenzniveaus in einem zweiten Netzwerkknoten, der direkt über ein Kabel mit dem ersten Netzwerkknoten verbunden ist, das den Grad des Vertrauens in die Genauigkeit des Zeitstempels angibt, der von dem ersten Netzwerkknoten als Reaktion auf ein gemeinsames Verkehrsmuster zwischen dem ersten Netzwerkknoten und dem zweiten Netzwerkknoten erzeugt wurde.
  • Zusätzlich ist gemäß einer Ausführungsform der vorliegenden Offenbarung der erste Netzwerkknoten ein Master-Uhrsynchronisationsknoten, der zweite Netzwerkknoten ist ein Slave-Uhrsynchronisationsknoten, und das Verfahren umfasst ferner, dass der Master-Uhrsynchronisationsknoten eine Uhrsynchronisationsnachricht einschließlich des Zeitstempels an den Slave-Synchronisationsknoten sendet und der Slave-Synchronisationsknoten eine Uhrsynchronisation als Reaktion auf die empfangene Uhrsynchronisationsnachricht durchführt.
  • Darüber hinaus umfasst das Verfahren gemäß einer Ausführungsform der vorliegenden Offenbarung den Empfang einer Vielzahl von Uhrsynchronisationsnachrichten, die jeweilige Zeitstempel enthalten, wobei die jeweiligen Zeitstempel zugehörige Konfidenzniveaus aufweisen, die die jeweiligen Grade des Vertrauens in die Genauigkeit der jeweiligen Zeitstempel anzeigen, die Auswahl von mindestens einem der jeweiligen Zeitstempel in Reaktion auf die jeweiligen zugehörigen Konfidenzniveaus und die Durchführung einer Uhrsynchronisation in Reaktion auf den ausgewählten mindestens einen der jeweiligen Zeitstempel.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst die Durchführung der Uhrsynchronisation die Durchführung der Uhrsynchronisation in Reaktion auf die jeweiligen Zeitstempel, wobei dem ausgewählten mindestens einen der jeweiligen Zeitstempel ein höheres Gewicht zugewiesen wird.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung umfasst das Verfahren einen Master-Uhrsynchronisationsknoten, der die mehreren Uhrsynchronisationsnachrichten mit den jeweiligen Zeitstempeln und zugehörigen Konfidenzniveaus an einen Slave-Uhrsynchronisationsknoten sendet, wobei die Uhrsynchronisation durch den Slave-Uhrsynchronisationsknoten durchgeführt wird.
  • Jedes Merkmal eines Aspekts oder einer Ausführungsform kann auf andere Aspekte oder Ausführungsformen angewandt werden, und zwar in jeder geeigneten Kombination. Insbesondere kann jedes Merkmal eines Verfahrensaspekts oder einer -ausführungsform auf einen Geräteaspekt oder eine - ausführungsform angewandt werden und umgekehrt.
  • Figurenliste
  • Die vorliegende Erfindung wird aus der folgenden detaillierten Beschreibung in Verbindung mit den Zeichnungen verständlich, wobei:
    • 1 ist eine teils bildliche, teils als Blockdiagramm dargestellte Ansicht eines Ereignisverarbeitungssystems, das gemäß einer Ausführungsform der vorliegenden Erfindung aufgebaut ist und funktioniert;
    • 2 ist ein Flussdiagramm mit Verfahrensschritten zur Verarbeitung eines Ereignisdatenelements im System von 1;
    • 3 ist ein Flussdiagramm mit Schritten eines Verfahrens zur Verarbeitung des Eingangs eines Datenpakets in dem System von 1;
    • 4 ist ein Flussdiagramm mit den Schritten eines Verfahrens zur Verarbeitung des Ausgangs eines Datenpakets im System von 1;
    • 5 ist ein Flussdiagramm, das die Schritte eines Verfahrens zur Reduzierung eines Datensatzes und zur Analyse des reduzierten Datensatzes im System von 1 zeigt;
    • 6 ist ein Flussdiagramm, das die Schritte eines Verfahrens zur Auswahl und Analyse eines Ereignisdatenelements im System von 1 zeigt;
    • 7 ist ein Flussdiagramm mit Schritten eines Verfahrens zur Identifizierung und Anpassung eines Verkehrsmusters im System von 1;
    • 8 ist eine schematische Darstellung eines Bursty-Traffic-Musters;
    • 9 ist eine schematische Darstellung eines schrittweisen Verkehrsmusters;
    • 10 ist eine schematische Ansicht der Ereignisverarbeitungsschaltung und der Paketverarbeitungsschaltung im System von 1;
    • 11 ist eine schematische Darstellung der Transaktionsverarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 12 ist eine schematische Darstellung eines Uhrsynchronisationssystems gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 13 ist ein Flussdiagramm, das die Schritte eines Verfahrens zum Betrieb des Uhrsynchronisationssystems von 12 zeigt;
    • 14 ist eine schematische Darstellung von unmittelbaren Verbindungspartnerknoten gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 15 ist eine schematische Ansicht eines Uhrsynchronisationssystems gemäß einer alternativen Ausführungsform der vorliegenden Erfindung; und
    • 16 ist ein Flussdiagramm, das die Schritte eines Verfahrens zum Betrieb des Uhrsynchronisationssystems von 15 zeigt.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • ÜBERSICHT
  • Bei Hardware-Zeitstempel-Implementierungen stimmt die gemeldete Zeit, Treported,\ nicht genau mit der Zeit überein, zu der das Ereignis stattgefunden hat, Tevent. Vielmehr gibt es eine gewisse Differenz ΔT zwischen den beiden Zeiten, so dass: Treported = Tevent + ΔT.
  • Die Zeitdifferenz ΔT kann viele Ursachen haben, die mit den Besonderheiten der Zeitstempel-Implementierung und dem Zustand des Geräts (z. B. Auslastung und Belegung der Warteschlange) und/oder mit der Art des Netzmusters zusammenhängen. Die Zeitdifferenz ist in der Regel nicht direkt messbar. In einigen Fällen kann sie durch Ableitung aus den beobachtbaren Parametern des Gerätezustands, z. B. der Belegung der Warteschlange, geschätzt werden.
  • Verschiedene Hardware-Ereignisse können mit unterschiedlicher Logik abgetastet werden, die eine unterschiedliche Genauigkeit aufweisen. Bei einigen Ereignissen kann eine Genauigkeit erforderlich sein, die in der gleichen oder einer höheren Größenordnung liegt als die des Messsystems selbst.
  • Darüber hinaus fehlt es den Anwendungen an Informationen, um die relative Größe von ΔT zu bestimmen, so dass die Anwendungen nicht über die notwendigen Informationen verfügen, um bestimmten Zeitstempeln mehr und anderen weniger Bedeutung beizumessen und sie möglicherweise sogar zu vernachlässigen.
  • Ausführungsformen der vorliegenden Erfindung lösen die oben genannten Probleme, indem sie einen Zeitstempel für ein Ereignis (z. B. ein empfangenes oder gesendetes Datenpaket oder einen überlaufenden Puffer usw.) und ein Konfidenzniveau erzeugen, das den Grad des Vertrauens in die Genauigkeit des erzeugten Zeitstempels angibt. Der Zeitstempel und das entsprechende Konfidenzniveau können einem Ereignisdatenelement hinzugefügt werden, wie z. B. einem Datenpaket (z. B. einer Uhrsynchronisationsnachricht) oder einem Protokolldatenelement (z. B. einer Paketabschlussmeldung). In einigen Ausführungsformen kann der Zeitstempel zu einer Datenstruktur (z. B. einem Datenpaket oder einer anderen geeigneten Datenstruktur) und das Konfidenzniveau zu einer anderen Datenstruktur hinzugefügt werden. Zusätzlich oder alternativ kann der Zeitstempel und/oder das Konfidenzniveau zur Verarbeitung an eine Verarbeitungseinheit (z. B. eine lokale oder entfernte CPU einer Einheit, die das Ereignisdatenelement erzeugt hat) gesendet werden. Der Zeitstempel kann einen Zeitwert angeben, wann ein mit dem Ereignis verbundener Hardware-Vorgang stattgefunden hat.
  • Das Konfidenzniveau hat normalerweise keine Maßeinheit (z. B. in Sekunden). Das Konfidenzniveau ist in der Regel eine relative Metrik, bei der das Konfidenzniveau mit einem anderen Konfidenzniveau verglichen werden kann, um festzustellen, welcher zugehörige Zeitstempel als genauer erachtet wird. Der Einfachheit halber wird ein Konfidenzniveau mit einem höheren Wert als genauer erachtet und umgekehrt. Die Konfidenzniveaus könnten jedoch auch anders definiert werden, so dass ein Konfidenzniveau mit einem niedrigeren Wert als genauer angesehen wird. In einem solchen Schema würde das höchste Konfidenzniveau eines Datensatzes den niedrigsten Wert haben. In einigen Ausführungsformen müssen die Konfidenzniveaus zwischen verschiedenen Hardware-Geräten oder zwischen verschiedenen Generationen von Hardware-Geräten möglicherweise anhand einer Skala oder eines Umrechnungsfaktors angepasst werden, um verschiedene Konfidenzniveaus sinnvoll vergleichen zu können.
  • Der Konfidenzgrad kann als Reaktion auf einen oder mehrere Faktoren erzeugt werden, die ausgewählt werden aus: einem Verkehrsmuster während des Auftretens des Ereignisses; einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses; einem Bandbreitenwert während des Auftretens des Ereignisses; einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wird; einer Hardware, die die Hardware-Operation durchführt; einer Warteschlangenbelegung; einem Uhrstatus (z. B. ob die Uhr gesperrt oder entsperrt ist); oder einem PHY-Protokoll, das zur Durchführung der Hardware-Operation verwendet wird.
  • Das Konfidenzniveau eines Eingangszeitstempels (z. B. für ein Datenpaket) kann von einem oder mehreren Faktoren abhängen, z. B. von einem oder mehreren der folgenden Faktoren: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Eingangszeitstempel erzeugt wurde (z. B. in der PHY-Schicht, der MAC-Schicht, der Kern-/Pufferschicht oder der Softwareschicht); ein Verkehrsmuster während des Eingangs des Datenpakets; eine Leitungsgeschwindigkeit während des Eingangs des Datenpakets; ein Bandbreitenwert während des Eingangs des Datenpakets; eine Belegung der Eingangswarteschlange; ein Uhrstatus (z. B. ob die Uhr gesperrt oder entsperrt ist); oder eine während des Eingangs des Datenpakets verwendete Steuerungsmaschine.
  • Der Konfidenzgrad eines Ausgangszeitstempels (z. B. für ein Datenpaket) kann von einem oder mehreren Faktoren abhängen, z. B. von einem Pufferniveau eines Ausgangspuffers, in dem das Datenpaket zum Zeitpunkt der Zuweisung des Ausgangszeitstempels gespeichert ist.
  • Das Konfidenzniveau eines Ausgangszeitstempels (z. B. für ein Datenpaket) kann von einem oder mehreren Faktoren abhängen, z. B. von einem oder mehreren der folgenden Faktoren: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Ausgangszeitstempel erzeugt wurde (z. B., in der PHY-Schicht, der MAC-Schicht, der Kern-/Pufferschicht oder der Softwareschicht); ein Verkehrsmuster während des Ausgangs des Datenpakets; eine Leitungsgeschwindigkeit während des Ausgangs des Datenpakets; ein Bandbreitenwert während des Ausgangs des Datenpakets; eine Ausgangswarteschlangenbelegung; ein Uhrstatus (z. B. ob die Uhr gesperrt oder entsperrt ist); oder eine Steuerungsmaschine, die während des Ausgangs des Datenpakets verwendet wird.
  • Die Angabe eines Konfidenzniveaus für jeden Zeitstempel kann Anwendungen in die Lage versetzen, die Zeitstempeldaten entsprechend den mit den Zeitstempeln verbundenen Konfidenzniveaus zu verarbeiten. Beispielsweise kann eine Anwendung bei wiederkehrenden Ereignissen desselben Typs den Zeitstempel mit dem höchsten Konfidenzniveau oder 30 % der Zeitstempel mit den höchsten Konfidenzniveaus oder Zeitstempel mit Konfidenzniveaus oberhalb eines bestimmten Konfidenzniveaus auswählen. Ein weiteres Beispiel ist, dass ein oder mehrere Verkehrsmuster, die mit Zeitstempeln mit einem niedrigeren Konfidenzniveau verbunden sind, identifiziert werden können, so dass das/die Verkehrsmuster in Zukunft vermieden werden können.
  • Ein weiteres Beispiel ist die Identifizierung von Uhrsynchronisationsnachrichten mit höherem Konfidenzniveau, so dass die Uhrsynchronisation auf der Grundlage der Zeitstempel mit höherem Vertrauen durchgeführt werden kann.
  • Ein Transaktionsverarbeitungsgerät kann Anfragen von verschiedenen Stellen entsprechend dem Zeitpunkt verarbeiten, zu dem die Anfragen von den anfragenden Stellen gestellt werden. Daher kann das Transaktionsverarbeitungsgerät eine bestimmte Zeitspanne abwarten, bevor es die Anfragen verarbeitet, um sicherzustellen, dass die Anfragen entsprechend dem Zeitpunkt der Ausstellung der Anfragen verarbeitet werden. In einigen Ausführungsformen kann das Transaktionsverarbeitungsgerät die Zeitüberschreitung entsprechend den Konfidenzniveau anpassen, die mit den Zeitstempeln der empfangenen Anfragen verbunden sind. Wenn beispielsweise das Konfidenzniveau hoch ist (z. B. über einem bestimmten Niveau), kann die Zeitüberschreitung verringert werden, und/oder wenn das Konfidenzniveau niedrig ist (z. B. unter einem bestimmten Niveau), kann die Zeitüberschreitung erhöht werden.
  • In einigen Ausführungsformen können zwei unmittelbare Verbindungspartner (z. B. zwei Netzwerkknoten, die direkt über ein Kabel ohne dazwischenliegende Knoten verbunden sind) Konfidenzniveaus implementieren, selbst wenn einer der Verbindungspartner keine Schaltungen oder Software zur Erzeugung von Konfidenzniveaus enthält. Die unmittelbaren Verbindungspartner haben das gleiche Verkehrsmuster, da sie den gleichen Bandbreitenschwankungen, der gleichen Belastung und der gleichen Verbindungsgeschwindigkeit ausgesetzt sind, da sie das gleiche Kabel benutzen. Wenn ein erster der unmittelbaren Verbindungspartner ein Ereignisdatenelement mit einem Ausgangszeitstempel an einen zweiten der unmittelbaren Verbindungspartner sendet, kann der zweite unmittelbare Verbindungspartner den Konfidenzgrad des Ausgangszeitstempels (der von dem ersten unmittelbaren Verbindungspartner erzeugt wurde) auf der Grundlage des bekannten Verkehrsmusters zwischen den unmittelbaren Verbindungspartnern erzeugen. Die obigen Ausführungen können in vielen Szenarien nützlich sein, einschließlich der Uhrsynchronisation. Zum Beispiel kann ein Master-Uhrsynchronisationsknoten Uhrsynchronisationsnachrichten an einen Slave-Uhrsynchronisationsknoten senden. Wenn der Master-Uhrsynchronisationsknoten nicht in der Lage ist, Konfidenzniveaus zu erzeugen, kann der Slave-Uhrsynchronisationsknoten die Konfidenzniveaus für die Zeitstempel der empfangenen Uhrsynchronisationsnachrichten erzeugen. Der Slave-Uhrsynchronisationsknoten kann dann die Uhrzeitsynchronisationsnachrichten mit den höchsten Konfidenzniveaus zur Verwendung bei der Uhrzeitsynchronisation auswählen.
  • SYSTEMBESCHREIBUNG
  • Es wird nun auf 1 verwiesen, die eine teils bildliche, teils als Blockdiagramm dargestellte Ansicht eines Ereignisverarbeitungssystems 10 zeigt, das gemäß einer Ausführungsform der vorliegenden Erfindung aufgebaut ist und funktioniert.
  • Das Ereignisverarbeitungssystem 10 umfasst eine Datenkommunikationsvorrichtung 12. Die in 1 gezeigte Datenkommunikationsvorrichtung 12 ist ein Netzwerk-Switch. In einigen Ausführungsformen kann die Datenkommunikationsvorrichtung 12 ein Router oder ein Netzwerkschnittstellen-Controller (NIC) oder eine andere geeignete Netzwerkvorrichtung oder eine andere Verarbeitungsvorrichtung sein, die Ereignisse, die in dieser Vorrichtung auftreten, mit einem Zeitstempel versieht.
  • Das Ereignisverarbeitungssystem 10 umfasst auch einen Datenanalysator 14. Der Datenanalysator 14 wird im Folgenden unter Bezugnahme auf die 5-7 näher beschrieben. Der Datenanalysator 14 kann in der Datenkommunikationsvorrichtung 12 oder in einer anderen Verarbeitungsvorrichtung im Ereignisverarbeitungssystem 10 angeordnet sein. 1 zeigt den Datenanalysator 14 und die Datenkommunikationsvorrichtung 12, die über ein Paketdatennetzwerk 16 verbunden sind. Das Paketdatennetzwerk 16 kann ein beliebiges geeignetes Netzwerk umfassen, z. B. ein drahtgebundenes Netz, ein drahtloses Netz und/oder ein optisch geschaltetes Netz.
  • Die Datenkommunikationsvorrichtung 12 umfasst eine Netzwerkschnittstelle 18, eine Paketverarbeitungsschaltung 20, eine Ereignisverarbeitungsschaltung 22, eine Uhr 24 und einen Ausgangspuffer 26. Die Ereignisverarbeitungsschaltung 22 kann auch eine Zeitstempeleinheit 28 enthalten.
  • Die Netzwerkschnittstelle 18 ist in 1 mit zwei Abschnitten dargestellt, einer Eingangsschnittstelle 30 und einer Ausgangsschnittstelle 32. Der Einfachheit halber sind die Eingangsschnittstelle 30 und die Ausgangsschnittstelle 32 getrennt dargestellt. In der Praxis kann jedoch jeder Anschluss der Netzwerkschnittstelle 18 wahlweise als Ausgangsanschluss oder als Eingangsanschluss fungieren. Die Netzwerkschnittstelle 18 kann aus einer einzigen Einheit oder aus mehreren Einheiten bestehen. Die Netzwerkschnittstelle 18 ist so konfiguriert, dass sie Datenpakete aus dem Paketdatennetzwerk 16 empfängt und Datenpakete über das Paketdatennetzwerk 16 sendet. Der Ausgangspuffer 26 ist so konfiguriert, dass er Datenpakete (in der Warteschlange für den Ausgang) vor dem Senden der Datenpakete über das Paketdatennetzwerk 16 speichert.
  • Die Paketverarbeitungsschaltung 20 ist so konfiguriert, dass sie empfangene Pakete aus dem Paketdatennetzwerk 16 verarbeitet und Pakete zum Senden über das Paketdatennetzwerk 16 verarbeitet. Die Paketverarbeitungsschaltung 20 kann jede geeignete Hardware und/oder Software enthalten, z. B. einen oder mehrere PHY-Chips und einen oder mehrere MAC-Chips.
  • Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie Ereignisse identifiziert (z. B. Empfang eines Pakets, Senden eines Pakets, ein Logger-Ereignis wie Pufferüberlauf usw.) und Zeitstempel und entsprechende Konfidenzniveaus für die identifizierten Ereignisse erzeugt, wie in den 2 bis 4 näher beschrieben. Die Uhr 24 ist so konfiguriert, dass sie Zeitwerte liefert. Die Zeitstempeleinheit 28 kann so konfiguriert sein, dass sie die Zeitstempel in Abhängigkeit von den von der Uhr 24 gelieferten Zeitwerten erzeugt.
  • In der Praxis können einige oder alle Funktionen der Ereignisverarbeitungsschaltung 22 in einer einzigen physischen Komponente kombiniert oder alternativ mit mehreren physischen Komponenten implementiert werden. Bei diesen physischen Komponenten kann es sich um fest verdrahtete oder programmierbare Vorrichtungen oder eine Kombination aus beidem handeln. In einigen Ausführungsformen können zumindest einige der Funktionen der Ereignisverarbeitungsschaltungen 22 von einem programmierbaren Prozessor unter der Kontrolle einer geeigneten Software ausgeführt werden. Diese Software kann in elektronischer Form auf ein Gerät heruntergeladen werden, z. B. über ein Netzwerk. Alternativ oder zusätzlich kann die Software in greifbaren, nicht übertragbaren, computerlesbaren Speichermedien, wie optischen, magnetischen oder elektronischen Speichern, gespeichert sein.
  • Die Bereitstellung eines Konfidenzniveaus für jeden Zeitstempel kann es dem Datenanalysator 14 (z. B. einer auf dem Datenanalysator 14 laufenden Anwendung) ermöglichen, die Zeitstempeldaten entsprechend den mit den Zeitstempeln verbundenen Konfidenzniveaus zu verarbeiten. Beispielsweise kann die Anwendung den Zeitstempel mit dem höchsten Konfidenzniveau oder 30 % der Zeitstempel mit den höchsten Konfidenzniveaus oder Zeitstempel mit Konfidenzniveaus oberhalb eines bestimmten Konfidenzniveaus auswählen, wie unter Bezugnahme auf die 5 und 6 näher beschrieben. Als weiteres Beispiel können ein oder mehrere Verkehrsmuster identifiziert werden, die mit Zeitstempeln mit niedrigeren Konfidenzniveaus verbunden sind, so dass das/die identifizierte(n) Verkehrsmuster in Zukunft vermieden werden können, wie in 7 näher beschrieben.
  • Es wird nun auf 2 verwiesen, die ein Flussdiagramm 200 mit Verfahrensschritten zur Verarbeitung eines Ereignisdatenelements (z. B. eines Datenpakets 34 (1)) im System 10 von 1 darstellt. Es wird auch auf 1 verwiesen. Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie das Auftreten eines Ereignisses identifiziert (Block 202), z. B. den Empfang des Datenpakets 34 oder das Senden des Datenpakets 34 oder den Überlauf eines Puffers oder jedes andere geeignete Ereignis. Die Zeitstempeleinheit 28 der Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie einen Zeitstempel für das identifizierte Ereignis in Reaktion auf einen (von der Uhr 24 bereitgestellten) Zeitwert erzeugt (Block 204), der angibt, wann ein mit dem Ereignis verbundener Hardwarevorgang bzw. eine Hardware-Operation stattgefunden hat. Die Zeitstempeleinheit 28 ist so konfiguriert, dass sie (Block 206) ein Konfidenzniveau erzeugt, das einen Grad des Vertrauens in die Genauigkeit des erzeugten Zeitstempels angibt. Die Ereignisverarbeitungsschaltung ist so konfiguriert, dass sie das Konfidenzniveau als Reaktion auf einen oder mehrere Faktoren erzeugt, die ausgewählt werden aus: einem Verkehrsmuster während des Auftretens des Ereignisses; einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses; einem Bandbreitenwert während des Auftretens des Ereignisses; einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wird; einer Hardware, die die Hardware-Operation durchführt; einer Warteschlangenbelegung; einem Uhrstatus (z. B. ob die Uhr gesperrt oder entsperrt ist); oder einem PHY-Protokoll (z. B. 10 G oder 25 G), das zur Durchführung der Hardware-Operation verwendet wird. Wenn zum Beispiel die Hardware, die die Zeitstempelung durchführt, auf etwa 1 Millisekunde genau ist, kann den von der Hardware erzeugten Zeitstempeln ein bestimmtes Konfidenzniveau zugewiesen werden. Verbessert sich die Genauigkeit der Hardware auf etwa 1 Mikrosekunde, so kann den von der verbesserten Hardware erzeugten Zeitstempeln ein höheres Konfidenzniveau zugewiesen werden.
  • Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie den erzeugten Zeitstempel und das Konfidenzniveau zu einem Ereignisdatenelement hinzufügt (Block 208) (z. B. enthält das im unteren Abschnitt von 1 gezeigte Datenpaket 34 einen Zeitstempel und das entsprechende Konfidenzniveau). In einigen Ausführungsformen kann das Ereignisdatenelement eine Uhrsynchronisationsnachricht enthalten, die weiter unten unter Bezugnahme auf die 12, 13, 15 und 16 näher beschrieben wird. In einigen Ausführungsformen kann das Ereignisdatenelement eine Paketabschlussbenachrichtigung enthalten, die sich auf das Datenpaket 34 bezieht und nach dem Datenpaket 34 gesendet wird.
  • Wie bereits erwähnt, stimmt bei Hardware-Zeitstempel-Implementierungen die gemeldete (Engl. reported) Zeit, Treported, nicht genau mit der Zeit überein, zu der das Ereignis (Engl. event) stattgefunden hat, Tevent . Vielmehr gibt es eine gewisse Differenz ΔT zwischen den beiden Zeiten, so dass: Treported = Tevent + ΔT. Das Konfidenzniveau hat normalerweise keine Maßeinheit (z. B. in Sekunden). Die Konfidenzniveaus können eine lineare Beziehung zu ΔT haben, müssen es aber nicht. Das Konfidenzniveau ist in der Regel eine relative Metrik, bei der das Konfidenzniveau mit einem anderen Konfidenzniveau verglichen werden kann, um festzustellen, welcher zugehörige Zeitstempel als genauer erachtet wird. So haben zum Beispiel zwei Zeitstempel T1 und T2 die entsprechenden Konfidenzniveaus C1 und C2. Wenn C1 größer als C2 ist, kann davon ausgegangen werden, dass ΔT für den Zeitstempel T1 kleiner ist als ΔT für den Zeitstempel T2.
  • Der Einfachheit halber wird ein Konfidenzniveau mit einem höheren Wert als genauer erachtet, und umgekehrt. Ein Konfidenzniveau kann zum Beispiel eine 8-Bit-Ganzzahl ohne Vorzeichen sein, wobei 0 dem niedrigsten Konfidenzniveau und 255 dem höchsten Konfidenzniveau entspricht. Die Konfidenzniveaus könnten jedoch auch anders definiert werden, so dass ein Konfidenzniveau mit einem niedrigeren Wert als genauer angesehen wird. In einem solchen Schema würde das höchste Konfidenzniveau eines Datensatzes den niedrigsten Wert haben.
  • Konfidenzniveaus können vom Ereignistyp abhängig sein, so dass ein für einen Ereignistyp erzeugtes Konfidenzniveau nicht mit einem Konfidenzniveau für einen anderen Ereignistyp vergleichbar sein kann. So können beispielsweise Konfidenzniveaus für Paket-Eingangszeitstempel mit Konfidenzniveaus für Ausgangszeitstempel vergleichbar sein oder auch nicht. Ebenso sind die Konfidenzniveaus für Paket-Eingangs-/Ausgangszeitstempel möglicherweise nicht mit den Zeitstempeln von Logger-Ereignissen vergleichbar (z. B. wenn ein Puffer überläuft).
  • Es wird nun auf 3 verwiesen, die ein Flussdiagramm 300 mit den Schritten eines Verfahrens zur Verarbeitung des Eingangs des Datenpakets 34 in das System 10 von 1 darstellt. Es wird auch auf 1 verwiesen.
  • Die Eingangsschnittstelle 30 der Netzwerkschnittstelle 18 ist für den Empfang (Block 302) des Datenpakets 34 über das Paketdatennetzwerk 16 konfiguriert. Die Paketverarbeitungsschaltung 20 ist zum Verarbeiten (Block 304) des empfangenen Datenpakets 34 konfiguriert. Die Zeitstempeleinheit 28 der Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie als Reaktion auf einen von der Uhr 24 bereitgestellten Zeitwert einen Eingangszeitstempel für das Datenpaket 34 erzeugt (Block 306). Das Datenpaket 34, das von der Paketverarbeitungsschaltung 22 empfangen wird, ist ein Ereignis, das zu dem von der Uhr 24 vorgegebenen Zeitwert auftritt. Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie ein Konfidenzniveau für den erzeugten Eingangszeitstempel erzeugt (Block 308).
  • In einigen Ausführungsformen ist die Ereignisverarbeitungsschaltung 22 so konfiguriert, dass sie das Konfidenzniveau in Abhängigkeit von der Position des Datenpakets 34 in einer Paketverarbeitungspipeline erzeugt, wenn der Eingangszeitstempel erzeugt wurde. Zum Beispiel kann der Eingangszeitstempel erzeugt werden, wenn sich das Datenpaket 34 in einer PHY-Schicht, in einer MAC-Schicht, in einer Kern-/Pufferschicht oder in einer Softwareschicht befindet. Ein in der PHY-Schicht zugewiesener Zeitstempel kann ein höheres Konfidenzniveau haben als ein in der MAC-Schicht zugewiesener Zeitstempel. Ein in der MAC-Schicht zugewiesener Zeitstempel kann ein höheres Konfidenzniveau haben als ein in der Kern-/Pufferschicht zugewiesener Zeitstempel. Ein in der Kern-/Pufferschicht zugewiesener Zeitstempel kann ein höheres Konfidenzniveau haben als ein in der Softwareschicht zugewiesener Zeitstempel.
  • In einigen Ausführungsformen ist die Ereignisverarbeitungsschaltung 22 so konfiguriert, dass sie das Konfidenzniveau des Eingangszeitstempels in Abhängigkeit von einem oder mehreren Eingangsfaktoren erzeugt, die ausgewählt werden aus: einem Verkehrsmuster während des Eingangs des Datenpakets 34; einer Leitungsgeschwindigkeit während des Eingangs des Datenpakets 34; einem Bandbreitenwert während des Eingangs des Datenpakets 34; einer Belegung der Eingangswarteschlange; einem Uhrstatus (z. B. ob die Uhr gesperrt oder entsperrt ist); oder einer Steuerungsmaschine, die während des Eingangs des Datenpakets 34 verwendet wird. So kann beispielsweise ein Zeitstempel, der während eines dynamisch schwankenden eingehenden Datenverkehrs zugewiesen wird, einen geringeren Zuverlässigkeitsgrad haben als ein Paket, das während eines konstanten Datenverkehrs oder bei niedriger Bandbreite ankommt.
  • Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie dem Datenpaket 34 den Zeitstempel und das Konfidenzniveau hinzufügt (Block 310).
  • In einigen Ausführungsformen können der Eingangszeitstempel und das entsprechende Konfidenzniveau zusätzlich oder anstelle des Datenpakets 34 zu jeder geeigneten Datenstruktur hinzugefügt werden. In einigen Ausführungsformen wird der Eingangszeitstempel dem Datenpaket 34 hinzugefügt und das entsprechende Konfidenzniveau einer anderen Datenstruktur oder umgekehrt. Zusätzlich oder alternativ kann der Eingangszeitstempel und/oder das Konfidenznieau zur Verarbeitung an eine Verarbeitungseinheit (z. B. eine lokale CPU wie eine CPU des Datenkommunikationsgeräts 12 oder eine entfernte CPU einer Einheit, die das Datenpaket 34 erzeugt hat) gesendet werden.
  • Es wird nun auf 4 verwiesen, die ein Flussdiagramm 400 darstellt, das die Schritte eines Verfahrens zur Verarbeitung der Ausgabe des Datenpakets 34 im System 10 von 1 enthält.
  • Die Paketverarbeitungsschaltung 20 ist so konfiguriert, dass sie das Datenpaket 46 (z. B. in einem SX-Pipe-Block) zum Senden über die Ausgangsschnittstelle 32 der Netzwerkschnittstelle 18 über das Paketdatennetzwerk 16 verarbeitet (Block 402). Die Paketverarbeitungsschaltung 20 ist so konfiguriert, dass sie das Datenpaket 34 für den Ausgang in die Warteschlange stellt (Block 404) und das Datenpaket 34 im Wesentlichen gleichzeitig für die Zeitstempelung in die Warteschlange stellt. Der Ausgangspuffer 26 ist so konfiguriert, dass er das Datenpaket 34 vor dem Senden des Datenpakets 34 über das Paketdatennetzwerk 16 speichert.
  • Die Zeitstempeleinheit 28 der Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie in Reaktion auf einen von der Uhr 24 gelieferten Zeitwert einen Ausgangszeitstempel für das in die Warteschlange gestellte Datenpaket 34 erzeugt (Block 406). Das Datenpaket 36, das über das Paketdatennetz 16 gesendet wird, ist ein Ereignis, das zu dem von der Uhr 24 angegebenen Zeitwert eintritt.
  • Die Verzögerung zwischen dem Datenpaket 34, das die Datenübertragungsvorrichtung 12 verlässt, und der Erzeugung des Zeitstempels kann variabel sein und wirkt sich auf die Relevanz des gemeldeten Zeitstempels aus. Das Konfidenzniveau kann in Abhängigkeit von der Hardware-Implementierung sowie von dynamischen Gerätezustandsparametern wie Warteschlangenbelegung, Hardware-Parametern, installierter Firmware oder Gerätetreibertyp erzeugt werden. In einigen Ausführungsformen ist die Ereignisverarbeitungsschaltung 22 so konfiguriert, dass sie (Block 408) ein Konfidenzniveau in Abhängigkeit von einem Pufferpegel des Ausgangspuffers zu dem Zeitpunkt (d. h. Zeitwert) erzeugt, zu dem der Ausgangszeitstempel erzeugt wurde.
  • In einigen Ausführungsformen ist die Ereignisverarbeitungsschaltung 22 so konfiguriert, dass sie das Konfidenzniveau des Ausgangszeitstempels in Reaktion auf einen oder mehrere Ausgangsfaktoren erzeugt, die ausgewählt sind aus: einer Position des Datenpakets 34 in einer Paketverarbeitungspipeline, als der Ausgangszeitstempel erzeugt wurde; einem Verkehrsmuster während des Ausgangs des Datenpakets 34; einer Leitungsgeschwindigkeit während des Ausgangs des Datenpakets 34; einem Bandbreitenwert während des Ausgangs des Datenpakets 34; einer Ausgangswarteschlangenbelegung; einem Uhrstatus (z. B., ob die Uhr gesperrt oder entsperrt ist); oder eine Steuerungsmaschine, die während des Austritts des Datenpakets 34 verwendet wird.
  • Die Ereignisverarbeitungsschaltung 22 ist so konfiguriert, dass sie dem Datenpaket 34 den Austrittszeitstempel und das entsprechende Konfidenzniveau hinzufügt (Block 410). In einigen Ausführungsformen können der Austrittszeitstempel und das entsprechende Konfidenzniveau zusätzlich oder anstelle des Hinzufügens zu dem Datenpaket 34 zu jeder geeigneten Datenstruktur hinzugefügt werden. In einigen Ausführungsformen wird der Ausgangszeitstempel dem Datenpaket 34 hinzugefügt und das entsprechende Konfidenzniveau einer anderen Datenstruktur oder umgekehrt. Zusätzlich oder alternativ kann der Austrittszeitstempel und/oder das Konfidenzniveau zur Verarbeitung an eine Verarbeitungseinheit (z. B. eine lokale CPU wie eine CPU des Datenkommunikationsgeräts 12 oder eine entfernte CPU einer Einheit, die das Datenpaket 34 erzeugt hat) gesendet werden.
  • Die Ausgangsschnittstelle 32 der Netzwerkschnittstelle 18 ist so konfiguriert, dass sie das Datenpaket 34 über das Paketdatennetzwerk 16 sendet (Block 412).
  • Es wird nun auf 5 verwiesen, die ein Flussdiagramm 500 mit Schritten eines Verfahrens zur Reduzierung eines Datensatzes und zur Analyse des reduzierten Datensatzes im System 10 von 1 darstellt. Es wird auch auf 1 verwiesen. Um die Genauigkeit zu verbessern, kann das Ereignisverarbeitungssystem 10 zu viele Stichproben nehmen und der Datenanalysator 14 Ausreißer aus den Stichproben entfernen. Die Verwendung von Konfidenzniveaus bietet eine effektive Möglichkeit, Ausreißer zu entfernen, indem Ausreißer mit niedrigeren Konfidenzniveaus in Verbindung mit den Zeitstempeln der Ausreißer entfernt werden. Wenn der Datenanalysator 14 beispielsweise so konfiguriert ist, dass er 30 % der Stichproben verwirft, dann kann der Datenanalysator 14 so konfiguriert werden, dass er 30 % der Ereignisdatenelemente mit dem niedrigsten Konfidenzniveau (z. B. nach Ereignistyp) entfernt.
  • Daher ist der Datenanalysator 14 in einigen Ausführungsformen so konfiguriert, dass er: einen Datensatz empfängt (Block 502), der Ereignisdatenelemente mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält; den Datensatz reduziert (Block 504), um Ereignisdatenelemente (z. B. einen bestimmten Prozentsatz von Ereignisdatenelementen) aus dem Datensatz zu entfernen, die entsprechende Konfidenzniveaus aufweisen, die niedriger sind als die entsprechenden Konfidenzniveaus der im Datensatz verbleibenden Ereignisdatenelemente; und den reduzierten Datensatz analysiert.
  • Es wird nun auf 6 verwiesen, die ein Flussdiagramm 600 mit den Schritten eines Verfahrens zur Auswahl und Analyse eines Ereignisdatenelements im System 10 von 1 darstellt. Es wird auch auf 1 verwiesen. Um die Genauigkeit zu verbessern, kann das Ereignisverarbeitungssystem 10 viele Ereignisse erfassen und nur eines der Ereignisdatenelemente kann vom Datenanalysator 14 zur Analyse ausgewählt werden. Die Verwendung von Konfidenzniveaus bietet eine effektive Möglichkeit, das Ereignisdatenelement auszuwählen. Daher ist der Datenanalysator 14 in einigen Ausführungsformen so konfiguriert, dass er: einen Datensatz empfängt (Block 602), der Ereignisdatenelemente mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält; eines der Ereignisdatenelemente mit dem höchsten Konfidenzniveau der entsprechenden Konfidenzniveaus auswählt (Block 604); und das ausgewählte Ereignisdatenelement analysiert (Block 606).
  • Es wird nun auf 7 verwiesen, die ein Flussdiagramm 700 mit den Schritten eines Verfahrens zur Identifizierung und Anpassung eines Verkehrsmusters im System 10 von 1 darstellt.
  • Der Datenanalysator 14 kann feststellen, was die Ursache für ein niedriges Konfidenzniveau ist. Beispielsweise kann der Datenanalysator 14 feststellen, dass ein bestimmtes Verkehrsmuster niedrige Konfidenzniveaus für generierte Zeitstempel verursacht, und kann daher das Verkehrsmuster anpassen. Ein Beispiel für ein Verkehrsmuster, das mit niedrigen Konfidenzniveaus verbunden sein kann, ist in 8 dargestellt. 8 zeigt Burst-Verkehr mit geringer Bandbreite 800. Jede vertikale Linie in 8 stellt ein Paket dar, das verarbeitet wird. Der Verkehr 800 kann eine durchschnittliche Bandbreite haben, die im Vergleich zur Verbindungsgeschwindigkeit niedrig ist, aber die Pakete sind in Bursts 802 gruppiert, wobei die Bursts 802 durch Leerlaufzeiten getrennt sind. Daher ist der Datenanalysator 14 in einigen Ausführungsformen so konfiguriert, dass er: einen Datensatz empfängt (Block 702), der Ereignisdatenelemente (z. B. Datenpakete) mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus enthält; mindestens ein Verkehrsmuster (z. B. den Verkehr 800) identifiziert (Block 704), das bewirkt, dass einige der Ereignisdatenelemente entsprechende Konfidenzniveaus unterhalb eines gegebenen Konfidenzniveaus aufweisen; und einen Befehl ausgibt (Block 706), um das/die identifizierte(n) Verkehrsmuster anzupassen. Ein Beispiel für ein angepasstes Verkehrsmuster 900 ist in 9 dargestellt. 9 zeigt, dass die Pakete (vertikale Linien in 9) im Wesentlichen gleichmäßig über die Zeit verteilt sind. Das angepasste Verkehrsmuster 900 kann unter Verwendung einer Schrittsteuerung innerhalb der Datenkommunikationsvorrichtung 12 implementiert werden, um die Rate des Sendens von Paketen über das Paketdatennetzwerk 16 zu beschleunigen.
  • In der Praxis können einige oder alle Funktionen des Datenanalysators 14 in einer einzigen physikalischen Komponente kombiniert oder alternativ mit mehreren physikalischen Komponenten realisiert werden. Bei diesen physischen Komponenten kann es sich um fest verdrahtete oder programmierbare Geräte oder eine Kombination aus beidem handeln. In einigen Ausführungsformen können zumindest einige der Funktionen des Datenanalysators 14 von einem programmierbaren Prozessor unter der Kontrolle einer geeigneten Software ausgeführt werden. Diese Software kann in elektronischer Form auf ein Gerät heruntergeladen werden, z. B. über ein Netzwerk. Alternativ oder zusätzlich kann die Software in greifbaren, nicht übertragbaren, computerlesbaren Speichermedien, wie optischen, magnetischen oder elektronischen Speichern, gespeichert sein.
  • Es wird nun auf 10 verwiesen, die eine schematische Ansicht der Ereignisverarbeitungsschaltungen 22 und der Paketverarbeitungsschaltungen 20 im System 10 von 1 zeigt. Wie bereits erwähnt, können Zeitstempel an verschiedenen Stellen in der Paketverarbeitungsschaltung 20 oder der Paketverarbeitungspipeline erzeugt werden. Die paketverarbeitende Schaltung 20 kann einen PHY 36, einen MAC 38, einen Kern 40 oder einen Softwareabschnitt 42 umfassen, in dem Zeitstempel erzeugt werden. Entsprechend den verschiedenen Abschnitten 36-42 der Paketverarbeitungsschaltung 20, in denen Zeitstempel erzeugt werden können, enthält die Ereignisverarbeitungsschaltung 22 entsprechende Schaltkreise, um die jeweiligen Konfidenzniveaus der Zeitstempel zu erzeugen. So kann die Ereignisverarbeitungsschaltung 22 beispielsweise Schaltungen in einem oder mehreren der folgenden Bereiche enthalten: PHY 36, MAC 38, Kern 40 und/oder Softwarebereich 42.
  • Es wird nun auf 11 verwiesen, die eine schematische Darstellung der Transaktionsverarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • Ein Transaktionsverarbeitungsgerät 50 kann Anfragen 54 von verschiedenen anfragenden Einheiten 52 entsprechend dem Zeitpunkt verarbeiten, zu dem die Anfragen 54 von den anfragenden Einheiten 52 gestellt werden. Daher kann das Transaktionsverarbeitungsgerät 50 eine bestimmte Zeitspanne (Timeout 56) abwarten, bevor es die Anfragen 54 verarbeitet, um sicherzustellen, dass die Anfragen 54 entsprechend dem Zeitpunkt, zu dem sie gestellt wurden, verarbeitet werden.
  • In einigen Ausführungsformen enthält jede Anfrage 54 einen entsprechenden Zeitstempel 58 und ein Konfidenzniveau 60. Das Transaktionsverarbeitungsgerät 50 kann die Zeitüberschreitung 56 entsprechend der Konfidenzniveaus 60 anpassen, die mit den Zeitstempeln 58 der empfangenen Anfragen 54 verbunden sind. Wenn beispielsweise das Konfidenzniveau 60 hoch ist (z.B. über einem bestimmten Niveau), kann die Zeitüberschreitung 56 reduziert werden und/oder wenn das Konfidenzniveau 60 niedrig ist (z.B. unter einem bestimmten Niveau), kann die Zeitüberschreitung 56 erhöht werden. Das Transaktionsverarbeitungsgerät 50 ist so konfiguriert, dass sie die Anfragen 54 von den mehreren anfragenden Einheiten 52 in Abhängigkeit von der Zeitüberschreitung 56 verarbeitet, die in Abhängigkeit von den erzeugten Vertrauenswerten 60 eingestellt wird.
  • Es wird nun auf die 12 und 13 verwiesen. 12 ist eine schematische Ansicht eines Uhrsynchronisationssystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung. 13 ist ein Flussdiagramm mit Schritten in einem Betriebsverfahren des Uhrsynchronisationssystems 100 von 12. Konfidenzniveaus können mit Uhrsynchronisationsnachrichten verwendet werden, so dass Uhrsynchronisationsnachrichten mit höheren Konfidenzniveaus identifiziert werden können, so dass die Uhrsynchronisation auf der Grundlage von Zeitstempeln mit höherer Konfidenz durchgeführt werden kann und dadurch eine genauere Uhrsynchronisation erfolgt. Konfidenzniveaus können mit jedem geeigneten Uhrsynchronisationsprotokoll verwendet werden, zum Beispiel, aber nicht beschränkt auf, Precision Time Protocol (PTP), ein Protokoll, das zur Synchronisierung von Uhren in einem Computernetzwerk verwendet wird. Der Begriff „Uhrzeitsynchronisationsnachricht“, wie er in der Beschreibung und den Ansprüchen verwendet wird, wird hier als jede Nachricht definiert, die zwischen zwei Netzwerkknoten zur Verwendung bei der Uhrzeitsynchronisation übertragen wird. Beispiele für Uhrsynchronisationsnachrichten in PTP sind: Sync, Follow Up, Delay_Req und Delay_Resp.
  • Das Uhrsynchronisationssystem 100 umfasst einen Master-Uhrsynchronisationsknoten 102 und einen Slave-Uhrsynchronisationsknoten 104. Der Master-Uhrsynchronisationsknoten 102 umfasst eine Uhrsynchronisationsschaltung 106 und eine Ereignisverarbeitungsschaltung 108, due so konfiguriert ist, dass sie das Auftreten von Ereignissen identifiziert, Zeitstempel und entsprechende Konfidenzniveaus erzeugt. Der Slave-Uhrsynchronisationsknoten 104 umfasst eine Uhrsynchronisationsschaltung 110. Der in 12 gezeigte Slave-Uhrsynchronisationsknoten 104 enthält keine Schaltungen zur Ereignisverarbeitung. In einigen Ausführungsformen kann der Slave-Uhrsynchronisationsknoten 104 eine Ereignisverarbeitungsschaltung enthalten, um Konfidenzniveaus für entsprechende Zeitstempel zu erzeugen.
  • Der Master-Uhrsynchronisationsknoten 102 ist so konfiguriert, dass er Uhrsynchronisationsnachrichten 112 mit entsprechenden Zeitstempeln und zugehörigen Konfidenzniveaus an den Slave-Uhrsynchronisationsknoten 104 sendet. 12 enthält Linien 126. Die linke Linie 126 steht für den Master-Uhrsynchronisationsknoten 102 und die rechte Linie 126 für den Slave-Uhrsynchronisationsknoten 104. Die Linien 126 stellen auch Zeitlinien dar, wann Nachrichten vom Master-Uhrsynchronisationsknoten 102 und vom Slave-Uhrsynchronisationsknoten 104 gesendet und empfangen werden, wobei die Zeit in absteigender Richtung zunimmt.
  • 12 zeigt, wie der Master-Uhrsynchronisationsknoten 102 Sync-Nachrichten 114 mit Ausgangszeitstempeln TSE1 und TSE2 sendet, die vom Slave-Uhrsynchronisationsknoten 104 empfangen und mit Eingangszeitstempeln TSI1 bzw. TSI2 versehen werden. 12 zeigt, wie der Slave-Uhrsynchronisationsknoten 104 eine Verzögerungsanforderungsnachricht 116 mit einem Ausgangszeitstempel TDE1 sendet, die vom Master-Uhrsynchronisationsknoten 102 empfangen und ihm ein Eingangszeitstempel TDI1 zugewiesen wird. Daraufhin sendet der Hauptuhrsynchronisationsknoten 102 eine Verzögerungsanforderungsantwort 118 mit dem Zeitstempel TDI1 und einem entsprechenden Konfidenzniveau des Zeitstempels TDI1.
  • Der Uhrsynchronisationsschaltkreis 110 ist so konfiguriert, dass er Uhrsynchronisationsnachrichten mit entsprechenden Zeitstempeln (und Vertrauenswerten) empfängt (Block 120). Den jeweiligen Zeitstempeln sind Konfidenzniveaus zugeordnet, die den jeweiligen Grad des Vertrauens in die jeweilige Genauigkeit der jeweiligen Zeitstempel angeben. Die Uhrsynchronisationsschaltung 110 ist so konfiguriert, dass sie mindestens einen der jeweiligen Zeitstempel in Abhängigkeit von den jeweiligen zugehörigen Konfidenzniveaus auswählt (Block 122). Beispielsweise wählt die Uhrsynchronisationsschaltung 110 die Zeitstempel aus, die mit den höchsten Konfidenzniveaus oder mit Konfidenzniveaus oberhalb eines bestimmten Wertes verbunden sind. Der Uhrsynchronisationsschaltkreis 110 ist so konfiguriert, dass er eine Uhrsynchronisation in Abhängigkeit von dem/den ausgewählten Zeitstempel(n) durchführt (Block 124).
  • In einigen Ausführungsformen ist die Uhrsynchronisationsschaltung 110 so konfiguriert, dass sie die Uhrsynchronisation als Reaktion auf (einige oder alle) der empfangenen jeweiligen Zeitstempel durchführt, wobei sie dem/den ausgewählten Zeitstempel(n) ein höheres Gewicht beimisst.
  • In einigen Ausführungsformen ist die Uhrsynchronisationsschaltung 110 so konfiguriert, dass sie die Uhrsynchronisation als Reaktion auf die jeweils empfangenen Zeitstempel durchführt, während sie eine Gewichtung auf (einige oder alle) der empfangenen Zeitstempel gemäß den jeweiligen Konfidenzniveaus der (einige oder alle) der empfangenen Zeitstempel anwendet.
  • Es wird nun auf 14 verwiesen, die eine schematische Ansicht der unmittelbaren Verbindungs-Partner-Knoten 128 (einschließlich der Knoten 128-1 und 128-2) gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. In einigen Ausführungsformen können unmittelbare Verbindungs-Partner-Knoten 128 (z. B. zwei Netzwerkknoten, die direkt über ein Kabel 130 ohne dazwischenliegende Knoten verbunden sind) Konfidenzniveaus implementieren, selbst wenn einer der Verbindungs-Partner-Knoten 128 keine Schaltungen oder Software zur Erzeugung von Konfidenzniveaus enthält. Die unmittelbaren Verbindungs-Partner-Knoten 128 teilen sich das gleiche Verkehrsmuster, da sie den gleichen Bandbreitenschwankungen, der gleichen Last und der gleichen Verbindungsgeschwindigkeit unterliegen, da sie das gleiche Kabel 130 nutzen. Wenn der Verbindungs-Partner-Knoten 1281 ein Ereignisdatenelement mit einem Ausgangszeitstempel 132 an den Verbindungspartnerknoten 1282 sendet, kann der Verbindungs-Partner-Knoten 1282 das Konfidenzniveau (Block 134) des Ausgangszeitstempels 132 (der vom Verbindungs-Partner-Knoten 1281 erzeugt wurde) auf der Grundlage des bekannten Verkehrsmusters zwischen den unmittelbaren Verbindungs-Partner-Knoten 128 generieren. Zusätzlich oder alternativ kann der Verbindungs-Partner-Knoten 128-2 das Konfidenzniveau seiner eigenen Eingangszeitstempel einschließlich des Eingangszeitstempels des Ereignisdatenelements erzeugen, wenn er vom Verbindungs-Partner-Knoten 128-2 empfangen wird.
  • Der Knoten 1281 umfasst eine Ereignisverarbeitungsschaltung 22-1, die so konfiguriert ist, dass sie das Auftreten eines Ereignisses identifiziert und den Zeitstempel 132 für das identifizierte Ereignis in Reaktion auf einen Zeitwert erzeugt, der angibt, wann ein mit dem Ereignis verbundener Hardwarevorgang aufgetreten ist. Der Knoten 1282 umfasst eine Ereignisverarbeitungsschaltung 22-2, die so konfiguriert ist, dass sie in Reaktion auf ein gemeinsames Verkehrsmuster zwischen dem Knoten 128-1 und dem Knoten 1282 das Konfidenzniveau erzeugt, das den Grad des Vertrauens in die Genauigkeit des Zeitstempels 132 angibt, der von dem Knoten 1281 erzeugt wurde.
  • Die obigen Ausführungen können in vielen Szenarien nützlich sein, einschließlich der Uhr(en)synchronisation. Zum Beispiel kann ein Master-Uhrsynchronisationsknoten Uhrsynchronisationsnachrichten an einen Slave-Uhrsynchronisationsknoten senden. Wenn der Master-Uhrsynchronisationsknoten nicht in der Lage ist, Konfidenzniveaus zu erzeugen, kann der Slave-Uhrsynchronisationsknoten die Konfidenzniveaus für die Ausgangszeitstempel (die vom Master-Uhrsynchronisationsknoten erzeugt werden) und die Eingangszeitstempel (die vom Slave-Uhrsynchronisationsknoten beim Empfang der Uhrsynchronisationsnachrichten vom Master-Uhrsynchronisationsknoten erzeugt werden) der empfangenen Uhrsynchronisationsnachrichten erzeugen, wie in den 15 und 16 näher beschrieben.
  • Es wird nun auf die 15 und 16 verwiesen. 15 ist eine schematische Ansicht eines Uhrsynchronisationssystems 150 gemäß einer alternativen Ausführungsform der vorliegenden Erfindung. 16 ist ein Flussdiagramm, das die Schritte eines Verfahrens zum Betrieb des Uhrsynchronisationssystems 150 von 15 zeigt. Das Uhrsynchronisationssystem 150 ist im Wesentlichen dasselbe wie das Uhrsynchronisationssystem 100 von 12, außer dass der Master-Uhrsynchronisationsknoten 102 des Uhrsynchronisationssystems 150 nicht die Fähigkeit hat, Konfidenzniveaus zu erzeugen, wohingegen der Slave-Uhrsynchronisationsknoten 104 eine Ereignisverarbeitungsschaltung 152 enthält, die Konfidenzniveaus für (im Slave-Uhrsynchronisationsknoten 104 erzeugte oder) vom Master-Uhrsynchronisationsknoten 102 empfangene Zeitstempel auf der Grundlage des gemeinsamen Verkehrsmusters zwischen dem Master-Uhrsynchronisationsknoten 102 und dem Slave-Uhrsynchronisationsknoten 104 erzeugen kann. Dies liegt daran, dass in dem Uhrsynchronisationssystem 150 der Master-Uhrsynchronisationsknoten 102 und der Slave-Uhrsynchronisationsknoten 104 über ein direktes Kabel wie das Kabel 130 von 14 verbunden sind und daher ein gemeinsames Verkehrsmuster zwischen dem Master-Uhrsynchronisationsknoten 102 und dem Slave-Uhrsynchronisationsknoten 104 aufweisen.
  • Der Master-Uhrsynchronisationsknoten 102 ist so konfiguriert, dass er Uhrsynchronisationsnachrichten 112, 114 (z. B. Sync-Nachrichten) mit entsprechenden Ausgangszeitstempeln (z. B. TSE1, TSE2) an den Slave-Synchronisationsknoten 104 sendet, jedoch ohne Konfidenzniveaus. 15 zeigt, wie der Slave-Uhrsynchronisationsknoten 104 eine Verzögerungsanforderungsnachricht 116 mit einem Ausgangszeitstempel TDE1 sendet, die vom Master-Uhrsynchronisationsknoten 102 empfangen wird und dem ein Eingangszeitstempel TDI1 vom Master-Uhrsynchronisationsknoten 102 zugeordnet wird. Daraufhin sendet der Master-Uhrsynchronisationsknoten 102 eine Verzögerungsanforderungsantwort 118 mit dem Zeitstempel TDI1.
  • Die Uhrsynchronisationsschaltung 110 ist so konfiguriert, dass sie Uhrsynchronisationsnachrichten mit entsprechenden Zeitstempeln empfängt (Block 154). Die Ereignisverarbeitungsschaltung 152 des Slave-Uhrsynchronisationsknotens 104 ist so konfiguriert, dass sie (Block 156) Konfidenzniveaus für die Zuordnung zu den jeweiligen empfangenen Zeitstempeln erzeugt, wobei die Konfidenzniveaus die jeweiligen Grade des Vertrauens in die jeweilige Genauigkeit der jeweiligen empfangenen Zeitstempel angeben. Die Uhrsynchronisationsschaltung 110 ist so konfiguriert, dass sie mindestens einen der jeweiligen Zeitstempel in Abhängigkeit von den jeweiligen zugehörigen Konfidenzniveaus auswählt (Block 158). Beispielsweise wählt die Uhrsynchronisationsschaltung 110 die Zeitstempel aus, die mit den höchsten Konfidenzniveaus oder mit Konfidenzniveaus oberhalb eines bestimmten Wertes verbunden sind. Die Uhrsynchronisationsschaltung 110 des untergeordneten Uhrsynchronisationsknotens 104 ist so konfiguriert, dass sie eine Uhrsynchronisation in Abhängigkeit von dem/den ausgewählten Zeitstempel(n) durchführt (Block 160).
  • Verschiedene Merkmale der Erfindung, die der Übersichtlichkeit halber im Zusammenhang mit einzelnen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzigen Ausführungsform vorgesehen sein. Umgekehrt können verschiedene Merkmale der Erfindung, die der Kürze halber im Zusammenhang mit einer einzigen Ausführungsform beschrieben werden, auch getrennt oder in jeder geeigneten Unterkombination bereitgestellt werden.
  • Die oben beschriebenen Ausfürungsformen sind als Beispiele angeführt, und die vorliegende Erfindung ist nicht auf das beschränkt, was hierin besonders gezeigt und beschrieben wurde. Vielmehr umfasst der Umfang der Erfindung sowohl Kombinationen und Unterkombinationen der verschiedenen hierin beschriebenen Merkmale als auch Variationen und Modifikationen davon, die dem Fachmann beim Lesen der vorstehenden Beschreibung einfallen würden und die im Stand der Technik nicht offenbart sind.
  • Es versteht sich, dass die oben beschriebenen Aspekte und Ausführungsformen nur beispielhaft sind und dass im Rahmen der Ansprüche Änderungen im Detail vorgenommen werden können.
  • Jedes Gerät, Verfahren und Merkmal, das in der Beschreibung und (gegebenenfalls) in den Ansprüchen und Zeichnungen offenbart wird, kann unabhängig oder in jeder geeigneten Kombination bereitgestellt werden.
  • Die in den Ansprüchen enthaltenen Bezugszeichen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 8370675 [0003]
    • US 10320952 [0004]

Claims (40)

  1. Ereignisverarbeitungssystem, umfassend: eine Uhr, die so konfiguriert ist, dass sie Zeitwerte liefert; und eine Ereignisverarbeitungsschaltung, die so konfiguriert ist, dass sie ein Konfidenzniveau erzeugt, das einen Grad des Vertrauens in die Genauigkeit eines Zeitstempels angibt, wobei der Zeitstempel für ein Ereignis in Reaktion auf einen Zeitwert erzeugt wird, der angibt, wann eine mit dem Ereignis verbundene Operation stattgefunden hat.
  2. System nach Anspruch 1, wobei die Ereignisverarbeitungsschaltung konfiguriert ist, um: das Auftreten des Ereignisses zu identifizieren; und den Zeitstempel für das identifizierte Ereignis als Reaktion auf den Zeitwert zu identifizieren, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation stattgefunden hat.
  3. System nach Anspruch 1 oder 2, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie den Zeitstempel und das Konfidenzniveau zu einem Ereignisdatenelement hinzufügt.
  4. System nach Anspruch 3, wobei das Ereignisdatenelement eine Paketbenachrichtigungsnachricht ist.
  5. System nach Anspruch 3, wobei das Ereignisdatenelement eine Uhrsynchronisationsnachricht ist.
  6. System nach einem der vorhergehenden Ansprüche, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie das Konfidenzniveau als Reaktion auf einen oder mehrere Faktoren erzeugt, die ausgewählt sind aus: einem Verkehrsmuster während des Auftretens des Ereignisses; einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses; einem Bandbreitenwert während des Auftretens des Ereignisses; einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wird; Hardware, die die Hardware-Operation durchführt; einem Uhrstatus; einer Warteschlangenbelegung; oder einem PHY-Protokoll, das zur Durchführung der Hardware-Operation verwendet wird.
  7. System nach einem der Ansprüche 1 bis 6, ferner umfassend: eine Netzwerkschnittstelle, die so konfiguriert ist, dass sie ein Datenpaket über ein Paketdatennetzwerk empfängt; und eine Paketverarbeitungsschaltung, die so konfiguriert ist, dass sie das empfangene Datenpaket verarbeitet, und wobei: das Ereignis das Datenpaket einschließt, das von der Paketverarbeitungsschaltung zu dem Zeitwert empfangen wird; und die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie den Zeitstempel und das Konfidenzniveau zu dem Datenpaket hinzufügt.
  8. System nach Anspruch 7, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie das Konfidenzniveau in Reaktion auf einen oder mehrere Eingangsfaktoren erzeugt, die ausgewählt sind aus: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde; einem Verkehrsmuster während des Eingangs des Datenpakets; einer Leitungsgeschwindigkeit während des Eingangs des Datenpakets; einem Bandbreitenwert während des Eingangs des Datenpakets; einer Eingangswarteschlangenbelegung; einem Uhrstatus; oder einer Steuerungsmaschine, die während des Eingangs des Datenpakets verwendet wird.
  9. System nach einem der Ansprüche 1 bis 6, ferner umfassend: eine Netzwerkschnittstelle, die zum Senden eines Datenpakets über ein Paketdatennetzwerk konfiguriert ist; und eine Paketverarbeitungsschaltung, die so konfiguriert ist, dass sie das Datenpaket zum Senden über die Netzwerkschnittstelle über das Paketdatennetzwerk verarbeitet, und wobei: das Ereignis das Datenpaket einschließt, das über das Paketdatennetzwerk zum Zeitwert gesendet wird; und die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie dem Datenpaket den Zeitstempel und das Konfidenzniveau hinzufügt.
  10. System nach Anspruch 9, ferner umfassend einen Ausgangspuffer, der konfiguriert ist zum Speichern des Datenpakets vor dem Senden des Datenpakets über das Paketdatennetzwerk, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie das Konfidenzniveau in Reaktion auf ein Pufferniveau des Ausgangspuffers zu dem Zeitwert erzeugt.
  11. System nach Anspruch 9 oder 10, wobei die Ereignisverarbeitungsschaltung so konfiguriert ist, dass sie das Konfidenzniveau in Reaktion auf einen oder mehrere Ausgangsfaktoren erzeugt, die ausgewählt sind aus: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde; einem Verkehrsmuster während des Ausgangs des Datenpakets; einer Leitungsgeschwindigkeit während des Ausgangs des Datenpakets; einem Bandbreitenwert während des Ausgangs des Datenpakets; einer Ausgangswarteschlangenbelegung; einem Uhrstatus; oder einer Steuerungsmaschine, die während des Ausgangs des Datenpakets verwendet wird.
  12. System nach einem der vorhergehenden Ansprüche, ferner umfassend einen Datenanalysator, der konfiguriert ist, um: einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus zu empfangen; den Datensatz zu reduzieren, um einige der Ereignisdatenelemente aus dem Datensatz zu entfernen, die jeweilige der jeweiligen Konfidenzniveaus aufweisen, die niedriger sind als jeweilige der jeweiligen Konfidenzniveaus der verbleibenden der Ereignisdatenelemente in dem Datensatz; und den reduzierten Datensatz zu analysieren.
  13. System nach einem der Ansprüche 1 bis 11, das außerdem einen Datenanalysator umfasst, der konfiguriert ist, um: einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus zu empfangen; eines der Ereignisdatenelemente mit dem höchsten Konfidenzniveau der jeweiligen Konfidenzniveaus auszuwählen; und das ausgewählte Ereignisdatenelement zu analysieren.
  14. System nach einem der Ansprüche 1 bis 11, das außerdem einen Datenanalysator umfasst, der konfiguriert ist, um: einen Datensatz mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus zu empfangen; mindestens ein Verkehrsmuster zu identifizieren, das bewirkt, dass einige Ereignisdatenelemente der jeweiligen Ereignisdatenelemente jeweilige der jeweiligen Konfidenzniveaus unterhalb eines gegebenen Konfidenzniveaus aufweisen; und einen Befehl zur Anpassung des mindestens einen identifizierten Verkehrsmusters zu erteilen.
  15. System nach einem der vorhergehenden Ansprüche, ferner umfassend eine Transaktionsverarbeitungsvorrichtung, die so konfiguriert ist, dass sie Anfragen von mehreren anfragenden Stellen in Abhängigkeit von einer Zeitüberschreitung verarbeitet, die in Abhängigkeit von dem erzeugten Konfidenzniveau eingestellt wird.
  16. System nach einem der vorhergehenden Ansprüche, das ferner einen ersten Netzwerkknoten und einen zweiten Netzwerkknoten umfasst, wobei der erste und der zweite Netzwerkknoten direkt durch ein Kabel verbunden sind, wobei: der erste Netzwerkknoten eine erste Ereignisverarbeitungsschaltung umfasst, die konfiguriert ist, um: das Auftreten des Ereignisses zu identifizieren; und den Zeitstempel für das identifizierte Ereignis in Reaktion auf den Zeitwert zu erzeugen, der anzeigt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist; und der zweite Netzwerkknoten eine zweite Ereignisverarbeitungsschaltung umfasst, die so konfiguriert ist, dass sie das Konfidenzniveau erzeugt, die den Grad des Vertrauens in die Genauigkeit des Zeitstempels angibt, der von dem ersten Netzwerkknoten in Reaktion auf ein gemeinsames Verkehrsmuster zwischen dem ersten Netzwerkknoten und dem zweiten Netzwerkknoten erzeugt wird.
  17. System nach Anspruch 16, wobei: der erste Netzwerkknoten ein Knoten zur Synchronisierung einer Master-Uhr ist; der zweite Netzwerkknoten ein Slave-Uhrsynchronisationsknoten ist; der Master-Uhrsynchronisationsknoten so konfiguriert ist, dass er eine Uhrsynchronisationsnachricht, die den Zeitstempel enthält, an den Slave-Synchronisationsknoten sendet; und der Slave-Uhrsynchronisationsknoten so konfiguriert ist, dass er als Reaktion auf die empfangene Uhrsynchronisationsnachricht eine Uhrsynchronisation durchführt.
  18. System nach einem der vorhergehenden Ansprüche umfasst ferner eine Uhrsynchronisationsschaltung, die konfiguriert ist, um: eine Vielzahl von Uhrsynchronisationsnachrichten zu empfangen, die entsprechende Zeitstempel enthalten, wobei die entsprechenden Zeitstempel zugehörige Konfidenzniveaus haben, die die entsprechenden Konfidenzniveaus der jeweiligen Genauigkeit der entsprechenden Zeitstempel anzeigen; mindestens einen der jeweiligen Zeitstempel in Abhängigkeit von den jeweiligen zugehörigen Vertrauenswerten auszuwählen; und eine Uhrsynchronisation in Reaktion auf den ausgewählten mindestens einen der jeweiligen Zeitstempel durchführen.
  19. System nach Anspruch 18, wobei die Uhrsynchronisationsschaltung so konfiguriert ist, dass sie die Uhrsynchronisation in Reaktion auf die jeweiligen Zeitstempel durchführt, während sie dem ausgewählten mindestens einen der jeweiligen Zeitstempel ein höheres Gewicht zuweist.
  20. System nach Anspruch 18 oder 19, das ferner einen Master-Uhrsynchronisationsknoten und einen Slave-Uhrsynchronisationsknoten umfasst, der die Uhrsynchronisationsschaltung enthält, wobei der Master-Uhrsynchronisationsknoten so konfiguriert ist, dass er die mehreren Uhrsynchronisationsnachrichten, die entsprechende Zeitstempel und zugehörige Konfidenzniveaus enthalten, an den Slave-Uhrsynchronisationsknoten sendet.
  21. Ereignisverarbeitungsverfahren, umfassend: Bereitstellen von Zeitwerten; und Erzeugen eines Konfidenzniveaus, das den Grad des Vertrauens in die Genauigkeit eines Zeitstempels angibt, wobei der Zeitstempel für ein Ereignis in Abhängigkeit von einem Zeitwert erzeugt wird, der angibt, wann eine mit dem Ereignis verbundene Operation stattgefunden hat.
  22. Verfahren nach Anspruch 21, ferner umfassend: Identifizieren des Auftretens des Ereignisses; und Erzeugen des Zeitstempels für das identifizierte Ereignis in Reaktion auf den Zeitwert, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation stattgefunden hat.
  23. Verfahren nach Anspruch 21 oder 22, das ferner das Hinzufügen des Zeitstempels und des Konfidenzniveaus zu einem Ereignisdatenelement umfasst.
  24. Verfahren nach Anspruch 23, wobei das Ereignisdatenelement eine Paketbenachrichtigungsnachricht ist.
  25. Verfahren nach Anspruch 23, wobei das Ereignisdatenelement eine Uhrsynchronisationsnachricht ist.
  26. Verfahren nach einem der Ansprüche 21 bis 25, wobei das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Faktoren durchgeführt wird, die ausgewählt sind aus: einem Verkehrsmuster während des Auftretens des Ereignisses; einer Leitungsgeschwindigkeit während des Auftretens des Ereignisses; einem Bandbreitenwert während des Auftretens des Ereignisses; einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wird; Hardware, die die Hardware-Operation durchführt; einer Warteschlangenbelegung; einem Uhrstatus; oder einem PHY-Protokoll, das zur Durchführung der Hardware-Operation verwendet wird.
  27. Verfahren nach einem der Ansprüche 21 bis 25, ferner umfassend: Empfangen eines Datenpakets über ein Paketdatennetz; Verarbeiten des empfangenen Datenpakets, wobei das Ereignis den Empfang des Datenpakets zum Zeitwert einschließt; und Hinzufügen des Zeitstempels und des Konfidenzniveaus zu den Datenpaketen.
  28. Verfahren nach Anspruch 27, wobei das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Eingangsfaktoren durchgeführt wird, die ausgewählt sind aus: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde; einem Verkehrsmuster während des Eingangs des Datenpakets; einer Leitungsgeschwindigkeit während des Eingangs des Datenpakets; einem Bandbreitenwert während des Eingangs des Datenpakets; einer Eingangswarteschlangenbelegung; einem Uhrstatus; oder einer Steuerungsmaschine, die während des Auftretens des Ereignisses verwendet wurde.
  29. Verfahren nach einem der Ansprüche 21 bis 25, ferner umfassend: Senden eines Datenpakets über ein Paketdatennetz; Verarbeiten des Datenpakets zum Senden über das Paketdatennetz, wobei das Ereignis das Senden des Datenpakets über das Paketdatennetz zu dem Zeitwert beinhaltet; und Hinzufügen des Zeitstempels und des Konfidenzniveaus zu den Datenpaketen.
  30. Verfahren nach Anspruch 29 wobei das Erzeugen des Konfidenzniveaus in Reaktion auf ein Pufferniveau des Ausgangspuffers zu dem Zeitwert durchgeführt wird, wobei das Verfahren ferner das Speichern des Datenpakets in einem Ausgangspuffer vor dem Senden des Datenpakets über das Paketdatennetz umfasst.
  31. Verfahren nach Anspruch 29 oder 30, wobei das Erzeugen des Konfidenzniveaus als Reaktion auf einen oder mehrere Ausgangsfaktoren durchgeführt wird, die ausgewählt sind aus: einer Position des Datenpakets in einer Paketverarbeitungspipeline, als der Zeitstempel erzeugt wurde; einem Verkehrsmuster während des Ausgangs des Datenpakets; einer Leitungsgeschwindigkeit während des Ausgangs des Datenpakets; einem Bandbreitenwert während des Ausgangs des Datenpakets; einer Ausgangswarteschlangenbelegung; einem Uhrstatus; oder einer Steuerungsmaschine, die während des Ausgangs des Datenpakets verwendet wird.
  32. Verfahren nach einem der Ansprüche 21 bis 31, ferner umfassend: Empfangen eines Datensatzes mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus; Reduzieren des Datensatzes, um einige der Ereignisdatenelemente aus dem Datensatz zu entfernen, die entsprechende der entsprechenden Konfidenzniveaus aufweisen, die niedriger sind als entsprechende der entsprechenden Konfidenzniveaus der verbleibenden Ereignisdatenelemente in dem Datensatz; und Analysieren des reduzierten Datensatzes.
  33. Verfahren nach einem der Ansprüche 21 bis 31, ferner umfassend: Empfangen eines Datensatzes mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus; Auswählen eines der Ereignisdatenelemente mit dem höchsten Konfidenzniveau der jeweiligen Konfidenzniveaus; und Analysieren des ausgewählten Ereignisdatenelements.
  34. Verfahren nach einem der Ansprüche 21 bis 31, ferner umfassend: Empfangen eines Datensatzes mit Ereignisdatenelementen mit entsprechenden Zeitstempeln und entsprechenden Konfidenzniveaus; Identifizieren mindestens eines Verkehrsmusters, das bewirkt, dass einige Ereignisdatenelemente der jeweiligen Ereignisdatenelemente jeweilige der jeweiligen Konfidenzniveaus unterhalb eines gegebenen Konfidenzniveaus aufweisen; und Erteilen eines Befehls zur Anpassung des mindestens einen identifizierten Verkehrsmusters.
  35. Verfahren nach einem der Ansprüche 21 bis 34, das ferner das Verarbeiten von Anfragen von mehreren anfragenden Stellen in Abhängigkeit von einer Zeitüberschreitung umfasst, die in Abhängigkeit von dem erzeugten Konfidenzniveau eingestellt wird.
  36. Verfahren nach einem der Ansprüche 21 bis 35, ferner umfassend: Identifizieren des Auftretens des Ereignisses in einem ersten Netzwerkknoten; Erzeugen des Zeitstempels für das identifizierte Ereignis in dem ersten Netzwerkknoten als Reaktion auf den Zeitwert, der angibt, wann eine mit dem Ereignis verbundene Hardware-Operation aufgetreten ist; und Erzeugen in einem zweiten Netzwerkknoten, der direkt durch ein Kabel mit dem ersten Netzwerkknoten verbunden ist, das Konfidenzniveau, das den Grad des Vertrauens in die Genauigkeit des Zeitstempels angibt, der von dem ersten Netzwerkknoten als Reaktion auf ein gemeinsames Verkehrsmuster zwischen dem ersten Netzwerkknoten und dem zweiten Netzwerkknoten erzeugt wird.
  37. Verfahren nach Anspruch 36, wobei: der erste Netzwerkknoten ein Knoten zur Synchronisierung der Master-Uhr ist; der zweite Netzwerkknoten ein Slave-Uhrsynchronisationsknoten ist; und das Verfahren ferner umfasst: der Master- Uhrsynchronisationsknoten sendet eine Uhrsynchronisationsnachricht, die den Zeitstempel enthält, an den Slave-Synchronisationsknoten; und der Slave-Synchronisationsknoten führt eine Uhrsynchronisation in Reaktion auf die empfangene Uhrsynchronisationsnachricht durch.
  38. Verfahren nach einem der Ansprüche 21 bis 37, ferner umfassend: Empfangen einer Vielzahl von Uhrsynchronisationsnachrichten, die jeweilige Zeitstempel enthalten, wobei die jeweiligen Zeitstempel zugehörige Konfidenzniveaus haben, die den jeweiligen Grad des Vertrauens in die Genauigkeit der jeweiligen Zeitstempel anzeigen; Auswahl von mindestens einem der jeweiligen Zeitstempel in Abhängigkeit von den jeweiligen zugehörigen Vertrauenswerten; und Durchführen einer Uhrsynchronisation in Reaktion auf den ausgewählten mindestens einen der jeweiligen Zeitstempel.
  39. Verfahren nach Anspruch 38, wobei das Durchführen der Uhrsynchronisation das Durchführen der Uhrsynchronisation als Reaktion auf die jeweiligen Zeitstempel beinhaltet, während eine höhere Gewichtung auf den ausgewählten mindestens einen der jeweiligen Zeitstempel angewendet wird.
  40. Verfahren nach Anspruch 38 oder 39, ferner umfassend einen Master-Uhrsynchronisationsknoten, der die Mehrzahl von Uhrsynchronisationsnachrichten einschließlich entsprechender Zeitstempel und zugehöriger Konfidenzniveaus an einen Slave-Uhrsynchronisationsknoten sendet, wobei die Uhrsynchronisation durch den Slave-Uhrsynchronisationsknoten durchgeführt wird.
DE102022203874.6A 2021-05-03 2022-04-20 Zeitstempel-konfidenzniveau Pending DE102022203874A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/246,730 US11641245B2 (en) 2021-05-03 2021-05-03 Timestamp confidence level
US17/246,730 2021-05-03

Publications (1)

Publication Number Publication Date
DE102022203874A1 true DE102022203874A1 (de) 2022-11-03

Family

ID=83601003

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022203874.6A Pending DE102022203874A1 (de) 2021-05-03 2022-04-20 Zeitstempel-konfidenzniveau

Country Status (3)

Country Link
US (1) US11641245B2 (de)
CN (1) CN115296764A (de)
DE (1) DE102022203874A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB202110155D0 (en) * 2021-07-14 2021-08-25 Graphcore Ltd GSP trace unit
US11835999B2 (en) 2022-01-18 2023-12-05 Mellanox Technologies, Ltd. Controller which adjusts clock frequency based on received symbol rate

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370675B2 (en) 2009-01-28 2013-02-05 Mellanox Technologies Ltd. Precise clock synchronization
US10320952B2 (en) 2016-05-16 2019-06-11 Mellanox Technologies Tlv Ltd. System-wide synchronized switch-over of multicast flows

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080160B2 (en) 2000-04-27 2006-07-18 Qosmetrics, Inc. Method for creating accurate time-stamped frames sent between computers via a network
US9031071B2 (en) 2005-08-26 2015-05-12 Alcatel Lucent Header elimination for real time internet applications
FR2926937A1 (fr) * 2008-01-24 2009-07-31 Canon Kk Procedes de synchronisation d'horloges applicatives dans un reseau de communication synchrone, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants.
US8665724B2 (en) 2009-06-12 2014-03-04 Cygnus Broadband, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
WO2011025746A1 (en) * 2009-08-25 2011-03-03 Semtech Corporation Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time
US8898317B1 (en) 2009-12-02 2014-11-25 Adtran, Inc. Communications system and related method of distributing media
US8446896B2 (en) 2010-04-21 2013-05-21 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
US8976778B2 (en) 2010-04-21 2015-03-10 Lsi Corporation Time synchronization using packet-layer and physical-layer protocols
WO2012104981A1 (ja) 2011-01-31 2012-08-09 富士通株式会社 トラフィックデータ統合方法および装置
US8719452B1 (en) * 2011-07-29 2014-05-06 Google Inc. Correction of client-assigned timestamps
JP5768624B2 (ja) 2011-09-26 2015-08-26 富士通株式会社 中継装置及び中継方法
US9226252B2 (en) 2013-06-03 2015-12-29 King Fahd University Of Petroleum And Minerals Recursive time synchronization protocol method for wireless sensor networks
US9077667B2 (en) 2013-06-18 2015-07-07 Genband Us Llc Computing latency introduced by media transcoding operations
BR112017019464A2 (pt) 2015-03-12 2018-07-03 Huawei Technologies Co., Ltd. método e aparelho de transmissão de pacote de protocolo de transporte em tempo real rtp
US10908941B2 (en) 2016-03-11 2021-02-02 Tektronix Texas, Llc Timestamping data received by monitoring system in NFV
US10523352B2 (en) 2017-02-06 2019-12-31 Valens Semiconductor Ltd. Forward error correction for incomplete blocks
US11405319B2 (en) 2017-11-08 2022-08-02 Gigamon Inc. Tool port throttling at a network visibility node
US10433270B1 (en) * 2018-06-13 2019-10-01 Verizon Patent And Licensing Inc. Synchronization for battery powered IoT networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370675B2 (en) 2009-01-28 2013-02-05 Mellanox Technologies Ltd. Precise clock synchronization
US10320952B2 (en) 2016-05-16 2019-06-11 Mellanox Technologies Tlv Ltd. System-wide synchronized switch-over of multicast flows

Also Published As

Publication number Publication date
US20220352998A1 (en) 2022-11-03
US11641245B2 (en) 2023-05-02
CN115296764A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
DE102022203874A1 (de) Zeitstempel-konfidenzniveau
DE112018005252T5 (de) System und verfahren zum klassifizieren und zeitstempeln von paketen
DE102018132290A1 (de) Fahrzeuginternes System, Gateway, Relais, nichttransitorisches computerlesbares Medium zum Speichern eines Programms, Informationsverarbeitungsverfahren, Informationsverarbeitungssystem und Fahrzeug
DE102018109689A1 (de) Verfahren, Systeme und computerlesbare Medien zum Testen von Time-Sensitive-Network(TSN)-Elementen.
DE102007037092A1 (de) Zeitsynchronisation für netzwerkbewusste Vorrichtungen
DE102021205793A1 (de) Genauigkeit des zeitstempels auf der empfangsseite
AT512290B1 (de) Verfahren zur zeitrichtigen beobachtung von ttethernet nachrichten
DE60310749T2 (de) Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz
DE112019002984T5 (de) Durchführung von phy-level-hardware-zeitstempelung und zeitsynchronisierung in kostenoptimierten umgebungen
DE60318374T2 (de) Dezentralisierte SLS Überwachung in einer differenzierten Dienstumgebung
DE112010004237B4 (de) Techniken zur verbesserten Messung von Taktverschiebungen
DE10361178B4 (de) Datenalterungsüberwachungsvorrichtung für Sicherheitsnetzwerke
DE4219918A1 (de) Datenkommunikationssystem
DE102021201747A1 (de) PHC Verkettung
DE10306293B4 (de) Verfahren zur Übertragungsbandbreitenzuteilung in einer paketorientierten Kommunikationseinrichtung
EP1039660A2 (de) Drahtloses Netzwerk mit einer Anwendertaktsynchronisation
DE102021200076A1 (de) Verfahren, systeme und computerlesbare medien zum messen einer zeitplan-aktualisierungszeit für eine time-aware-shaper-implementierung
DE102010003248B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Daten in einem Netzwerk eines Fahrzeugs
DE112010004514B4 (de) Verfahren,System und Computerprogrammprodukt zum Messen einer Datenübertragung von einem ersten Gerät zu einem zweiten Gerät
DE102014105211A1 (de) Verfahren zum Betreiben eines Teilnehmers eines Kommunikationsnetzwerks
DE112015006604T5 (de) Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren
DE102019219475B4 (de) Verfahren zur Optimierung der Zeitsynchronisation zwischen über ein Kommunikationsnetzwerk verbundenen Netzwerkgeräten
DE102022204535A1 (de) Genaue zeitstempelkorrektur
DE112018007743T5 (de) Kommunikationsgerät, Kommunikationssystem und Synchronisationssteuerungsverfahren
DE102013200845A1 (de) Verfahren und System zur Zeitsynchronisierung in einem ad-hoc-Netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed