-
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]