DE102023206312A1 - Begleitende metadaten für eine präzisions-zeit-protokoll (ptp) hardware-uhr - Google Patents

Begleitende metadaten für eine präzisions-zeit-protokoll (ptp) hardware-uhr Download PDF

Info

Publication number
DE102023206312A1
DE102023206312A1 DE102023206312.3A DE102023206312A DE102023206312A1 DE 102023206312 A1 DE102023206312 A1 DE 102023206312A1 DE 102023206312 A DE102023206312 A DE 102023206312A DE 102023206312 A1 DE102023206312 A1 DE 102023206312A1
Authority
DE
Germany
Prior art keywords
phc
contextual metadata
network device
application
time information
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
DE102023206312.3A
Other languages
English (en)
Inventor
Thomas Kernen
Dotan David Levi
Bar Or Shapira
Georgi Mihaylov Chalakov
Aviad Itzhak Raveh
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 DE102023206312A1 publication Critical patent/DE102023206312A1/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/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

Es werden Systeme, Verfahren und Vorrichtungen zum Austausch von Zeitinformationen zwischen Maschinen bereitgestellt. In einem Beispiel umfasst ein System eine Präzisions-Zeit-Protokoll (PTP) Hardware-Uhr (PHC) und eine Anwendung. Die Anwendung empfängt Zeitinformationen von der PHC zusammen mit kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, analysiert die kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, und bestimmt einen Kontext, in dem die PHC diszipliniert ist. Der Kontext, in dem die PHC diszipliniert wird, kann die Art und Weise steuern, in der die Anwendung die Zeitinformationen verwendet.

Description

  • BEREICH DER ERFINDUNG
  • Die vorliegende Offenlegung bezieht sich im Allgemeinen auf Netzwerke und insbesondere auf die Netzwerksynchronisation und den Verbrauch von Zeitinformationen, die zwischen netzwerkverbundenen Vorrichtungen ausgetauscht werden.
  • HINTERGRUND
  • Standardprotokolle wie das Präzisions-Zeit-Protokoll (PTP, Engl. „Precision Time Protocol“) oder IEEE 1588 wurden entwickelt, um die gemeinsame Nutzung von Zeit-/Synchronisations-Informationen über ein paketvermitteltes Netzwerk zu erleichtern. PTP hat sich als primäres Protokoll für den Austausch von Präzisionszeit-, Phasen- und Frequenzinformationen mit Paketen entwickelt.
  • Anwendungen in Computervorrichtungen verbrauchen in der Regel Zeitinformationen, die von einer disziplinierten PTP-Hardware-Uhr (PHC) abgeleitet sind. Die Zeitinformationen werden normalerweise über die disziplinierte Echtzeituhr des Hosts aus der PHC oder durch direktes Lesen aus einer PHC bezogen. Ungenauigkeiten in den Zeitinformationen, die von der Anwendung genutzt werden, können zu einer schlechten Anwendungsleistung oder unerwünschten Folgen führen.
  • KURZE 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.
  • Ausführungsformen der vorliegenden Offenbarung zielen darauf ab, die Anwendungsleistung zu verbessern, indem Anwendungen in die Lage versetzt werden, auf kontextbezogene Informationen höherer Ordnung zuzugreifen, die mit den zwischen Netzwerkvorrichtungen ausgetauschten Zeitinformationen verbunden sind. Die Anwendung kann in die Lage versetzt werden, einige kontextbezogene Informationen zu empfangen, die mit der im PTP-Stack verwendeten Zeit verbunden sind. Beispielsweise kann die Anwendung so konfiguriert werden, dass sie auf einen PTP-Datensatz zugreift, der gerade verwendet wird und der eine Kontextinformation erster Ordnung liefert. Leider bietet diese erste Ordnung von Kontextinformationen keinen vollständigen Überblick darüber, wie die PHC diszipliniert wird. Zum Beispiel können Umgebungsänderungen, wie Schwankungen der Oszillatortemperatur, oder betriebliche Änderungen, wie der Zeitpunkt der letzten Disziplinierung der PHC, nicht in der ersten Ordnung der Kontextinformationen erfasst werden. Ausführungsformen der vorliegenden Offenbarung ermöglichen es einer Anwendung, auf detaillierte Kontextinformationen zuzugreifen, die der Anwendung helfen, den wahren Kontext zu bestimmen, in dem die PHC diszipliniert wird. Ohne ein tieferes Verständnis des Kontextes, in dem die PHC diszipliniert wurde, muss die Anwendung davon ausgehen, dass die Zeitinformationen gut genug sind, ohne selbst eine solche Bewertung vorzunehmen. Diese Art von Annahme kann zu einer schlechten Anwendungsleistung oder unerwünschten Folgen führen.
  • Es werden Systeme, Verfahren und Vorrichtungen zum Austausch von Zeitinformationen zwischen Maschinen bereitgestellt. In einem Beispiel enthält ein System eine PTP-Hardware-Uhr (Precision Time Protocol) und eine Anwendung. Die Anwendung empfängt Zeitinformationen von der PHC zusammen mit kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, analysiert die kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, und bestimmt einen Kontext, in dem die PHC diszipliniert ist. Der Kontext, in dem die PHC diszipliniert ist, kann die Art und Weise steuern, in der die Anwendung die Zeitinformationen verwendet.
  • Beispielhaft und ohne Einschränkung wird hierin eine Computervorrichtung offenbart, die Folgendes umfasst: eine Schnittstelle, die Zeitinformationen von einer Precision Time Protocol (PTP)-Hardware-Uhr (PHC) einer Netzwerkvorrichtung zusammen mit kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, empfängt; einen Prozessor; und einen mit dem Prozessor gekoppelten Speicher, wobei der Speicher mindestens eine Anwendung enthält, die von dem Prozessor ausgeführt werden kann und bei Ausführung durch den Prozessor: die kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, analysiert; und einen Kontext bestimmt, in dem die PHC diszipliniert ist.
  • In einigen Ausführungsformen bestimmt die Anwendung bei der Ausführung durch den Prozessor eine Zuverlässigkeit der PHC auf der Grundlage des Kontexts, in dem die PHC diszipliniert ist.
  • In einigen Ausführungsformen verwirft die Anwendung bei der Ausführung durch den Prozessor die Zeitinformationen, wenn sie feststellt, dass die Zuverlässigkeit der PHC nicht mindestens einem vorgegebenen Zuverlässigkeits-Schwellenwert entspricht.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten eine Betriebsänderung der Netzwerkvorrichtung.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten eine Oszillatortemperatur-Schwankung der Netzwerkvorrichtung.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten die verstrichene Zeit, seit die PHC der Netzwerkvorrichtung diszipliniert wurde.
  • In einigen Ausführungsformen werden die kontextbezogenen Metadaten in einem Paket empfangen, das auch die Zeitinformationen enthält.
  • In einigen Ausführungsformen werden die kontextbezogenen Metadaten in einem ersten Paket empfangen, und die Zeitinformationen werden in einem zweiten Paket empfangen.
  • In einigen Ausführungsformen trifft die Anwendung bei der Ausführung durch den Prozessor eine Routing-Entscheidung auf der Grundlage der Zeitinformationen und auf der Grundlage des Kontexts, in dem die PHC diszipliniert wird, der mindestens ein kontextbezogenes Kriterium erfüllt.
  • In einigen Ausführungsformen beschreibt die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase.
  • In einem anderen Beispiel wird eine Netzwerkvorrichtung beschrieben, die Folgendes umfasst: eine Hardware-Uhr (PHC) mit Präzisionszeitprotokoll (PTP); und eine Schnittstelle, die Zeitinformationen, die von der PHC abgeleitet sind, zusammen mit kontextbezogenen Metadaten, die es einer Anwendung der Computervorrichtung ermöglichen, einen Kontext zu bestimmen, in dem die PHC diszipliniert ist, an eine Computervorrichtung überträgt.
  • In einigen Ausführungsformen werden die Zeitinformationen und die kontextbezogenen Metadaten gemeinsam kodiert.
  • In einigen Ausführungsformen werden die Zeitinformationen und die kontextbezogenen Metadaten über die Schnittstelle mittels eines gemeinsamen Pakets übertragen.
  • In einigen Ausführungsformen wird die Zeitinformation über ein erstes Paket und die kontextbezogenen Metadaten über ein zweites Paket übertragen.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten eine Betriebsänderung der Netzwerkvorrichtung.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten eine Oszillatortemperatur-Schwankung.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten die Zeit, die seit der Disziplinierung der PHC verstrichen ist.
  • In einigen Ausführungsformen beschreibt die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase.
  • In einem anderen Beispiel wird ein System offenbart, das Folgendes umfasst: eine Hardware-Uhr (PHC) mit Präzisionszeitprotokoll (PTP); und eine Anwendung, die Zeitinformationen von der PHC zusammen mit kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, empfängt, die kontextbezogenen Metadaten, die mit den Zeitinformationen verbunden sind, analysiert und einen Kontext bestimmt, in dem die PHC diszipliniert ist.
  • In einigen Ausführungsformen werden die Zeitinformationen und die kontextbezogenen Metadaten in einem gemeinsamen Paket von der Anwendung empfangen.
  • In einigen Ausführungsformen gehört die PHC zu einer Netzwerkvorrichtung, und die Anwendung gehört zu einer Computervorrichtung, die mit der Netzwerkvorrichtung über ein Kommunikations-Netzwerk kommuniziert.
  • In einigen Ausführungsformen beschreiben die kontextbezogenen Metadaten mindestens eines der folgenden Elemente: eine Betriebsänderung der Netzwerkvorrichtung, eine Oszillatortemperatur-Schwankung und eine verstrichene Zeit seit der Disziplinierung der PHC.
  • In einigen Ausführungsformen beschreibt die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase.
  • 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 Vorrichtungsaspekt oder eine Ausführungsform angewandt werden und umgekehrt.
  • Weitere Merkmale und Vorteile werden hier beschrieben und sind aus der folgenden Beschreibung und den Abbildungen ersichtlich.
  • KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Die vorliegende Offenbarung wird in Verbindung mit den beigefügten Abbildungen beschrieben, die nicht unbedingt maßstabsgetreu gezeichnet sind:
    • 1 ist ein Blockdiagramm, das ein Computersystem in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt;
    • 2 ist ein Flussdiagramm, das ein Verfahren zur Erzeugung und Weitergabe von Zeitinformationen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht; und
    • ist ein Flussdiagramm, das ein Verfahren zum Konsumieren und Verarbeiten von Zeitinformationen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende Beschreibung enthält lediglich Ausführungsbeispiele und soll den Umfang, die Anwendbarkeit oder die Ausgestaltung der Ansprüche nicht einschränken. Vielmehr soll die nachfolgende Beschreibung dem Fachmann eine Anleitung zur Umsetzung der beschriebenen Ausführungsformen geben. Es versteht sich, dass verschiedene Änderungen in der Funktion und Anordnung der Elemente vorgenommen werden können, ohne vom Geist und Umfang der beigefügten Ansprüche abzuweichen.
  • Aus der folgenden Beschreibung und aus Gründen der Recheneffizienz wird deutlich, dass die Komponenten des Systems an jedem geeigneten Ort innerhalb eines verteilten Netzwerks von Komponenten angeordnet werden können, ohne dass dies Auswirkungen auf den Betrieb des Systems hat.
  • Darüber hinaus kann es sich bei den verschiedenen Verbindungen, welche die Elemente miteinander verbinden, um Kabel, Leiterbahnen oder drahtlose Verbindungen oder eine beliebige Kombination davon oder um jedes andere geeignete bekannte oder später entwickelte Element handeln, das in der Lage ist, Daten an die und von den verbundenen Elementen zu liefern und/oder zu übermitteln. Als Übertragungsmedien können beispielsweise alle geeigneten Träger für elektrische Signale verwendet werden, einschließlich Koaxialkabel, Kupferdraht und Glasfasern, elektrische Leiterbahnen auf einer gedruckten Schaltung (PCB) oder dergleichen.
  • Die hier verwendeten Ausdrücke „mindestens eines“, „eines oder mehrere“, „oder“ und „und/oder“ sind unbestimmte Ausdrücke, die sowohl konjunktiv als auch disjunktiv verwendet werden können. Zum Beispiel bedeutet jeder der Ausdrücke „mindestens eines von A, B und C“, „mindestens eines von A, B oder C“, „eines oder mehrere von A, B und C“, „eines oder mehrere von A, B oder C“, „A, B und/oder C“ und „A, B oder C“: A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen, oder A, B und C zusammen.
  • Der Begriff „automatisch“ und Variationen davon, wie er hier verwendet wird, bezieht sich auf jeden geeigneten Prozess oder Vorgang, der ohne wesentliche menschliche Eingaben durchgeführt wird, wenn der Prozess oder Vorgang ausgeführt wird. Ein Prozess oder Vorgang kann jedoch automatisch sein, auch wenn die Durchführung des Prozesses oder Vorgangs materielle oder immaterielle menschliche Eingaben erfordert, wenn die Eingaben vor der Durchführung des Prozesses oder Vorgangs eingehen. Menschliche Eingaben gelten als wesentlich, wenn sie die Durchführung des Prozesses oder Vorgangs beeinflussen. Menschlicher Input, der der Durchführung des Verfahrens oder Vorgangs zustimmt, gilt nicht als „wesentlich“.
  • Die Begriffe „ermitteln“, „kalkulieren“ und „berechnen“ sowie deren Abwandlungen werden hier austauschbar verwendet und schließen jede geeignete Art von Methodik, Prozess, Vorgang oder Technik ein.
  • Verschiedene Aspekte der vorliegenden Offenbarung werden hier unter Bezugnahme auf Zeichnungen beschrieben, die schematische Darstellungen von idealisierten Konfigurationen sind.
  • Sofern nicht anders definiert, haben alle hier verwendeten Begriffe (einschließlich technischer und wissenschaftlicher Begriffe) die gleiche Bedeutung, wie sie von einem Fachmann auf dem Gebiet, zu dem diese Offenbarung gehört, allgemein verstanden wird. Es versteht sich ferner, dass Begriffe, wie sie in allgemein gebräuchlichen Wörterbüchern definiert sind, so ausgelegt werden sollten, dass sie eine Bedeutung haben, die mit ihrer Bedeutung im Zusammenhang mit dem relevanten Stand der Technik und dieser Offenbarung übereinstimmt.
  • Die hier verwendeten Singularformen „ein/es“, „eine/r“ und „die“ schließen auch die Pluralformen ein, sofern aus dem Kontext nicht eindeutig etwas anderes hervorgeht. Es versteht sich ferner, dass die Begriffe „umfassen“, „umfasst“ und/oder „enthaltend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein bestimmter Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, aber das Vorhandensein oder Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen. Der Begriff „und/oder“ schließt alle Kombinationen von einem oder mehreren der aufgeführten Punkte ein.
  • Unter Bezugnahme auf die 1-3 werden nun verschiedene Systeme und Verfahren zur Verarbeitung von Zeitinformationen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Wie hierin ausführlicher beschrieben wird, können Netzwerkvorrichtungen, die Uhren miteinander synchronisieren, Zeitinformationen zusammen mit kontextbezogenen Metadaten austauschen. Durch die Einbeziehung eines kontextbezogenen Metadatenkanals neben dem Auslesen einer PHC werden einer Anwendung einer Computervorrichtung detailliertere Kontextinformationen bezüglich der PHC bereitgestellt. Die zusätzlichen Kontextinformationen ermöglichen es der Anwendung, den Kontext zu bestimmen, in dem die PHC diszipliniert wurde, und somit die allgemeine Zuverlässigkeit der Zeitübertragung besser zu verstehen.
  • Zunächst wird in 1 ein Computersystem 100 gezeigt, bei dem eine Netzwerkvorrichtung 104 so konfiguriert ist, dass es mit einer Computervorrichtung 108 kommuniziert. Obwohl sie als unterschiedliche Vorrichtungs-Typen dargestellt sind, kann es sich bei der Netzwerkvorrichtung 104 und der Computervorrichtung 108 um denselben oder einen ähnlichen Vorrichtungs-Typ handeln. Beispielsweise können die Vorrichtungen 104, 108 beide Netzwerkvorrichtungen entsprechen (z. B. Vorrichtungen, die in einem Kommunikations-Netzwerk 112 verwendet werden), um Pakete zwischen Maschinen, die mit dem Kommunikations-Netzwerk 112 verbunden sind, weiterzuleiten. Alternativ dazu können die Vorrichtungen 104, 108 auch beide Computervorrichtungen sein, die eine oder mehrere Anwendungen 148 enthalten, die Zeitinformationen verbrauchen. Es sollte auch verstanden werden, dass eine Vorrichtung sich wie eine Netzwerkvorrichtung 104 und eine Computervorrichtung 108 verhalten oder als solche betrachtet werden kann, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht. Die getrennte Kennzeichnung einer Netzwerkvorrichtung 104 und einer Computervorrichtung 108 soll dazu beitragen, die hier offengelegten Merkmale klar zu veranschaulichen.
  • Obwohl nur eine einzige Computervorrichtung 108 abgebildet ist, kann das System 100 durchaus mehrere Computervorrichtungen 108 umfassen. Ebenso kann die Anzahl der Netzwerkvorrichtungen 104 im System 100 größer oder kleiner sein als die Anzahl der dargestellten Netzwerkvorrichtungen 104.
  • Die Netzwerkvorrichtung 104 kann jede Art von Vorrichtung umfassen, das zur Erleichterung der Maschine-zu-Maschine-Kommunikation verwendet wird. Die Netzwerkvorrichtung 104 kann einen oder mehrere Switches (De. Schalter), einen Server, eine Netzwerk-Schnittstellen-Steuerung (NIC, Engl. „Network Interface Controller“), einen Netzwerkadapter, eine Ethernet-Karte, eine Erweiterungskarte, einen lokales-Netzwerk-(LAN)-Adapter, eine physische Netzwerkschnittstelle, einen drahtlosen Router, eine Netzwerkgrenzvorrichtung oder Ähnliches umfassen. Alternativ oder zusätzlich kann die Netzwerkvorrichtung 104 auch als Datenübertragungs-Vorrichtung bezeichnet werden und in einigen Ausführungsformen einer Vorrichtung entsprechen, das das Kommunikations-Netzwerk 112 bildet.
  • Die Netzwerkvorrichtung 104 ist mit einer PHC 120 und einem oder mehreren Sensoren 124 dargestellt. Wie hier beschrieben wird, kann die Netzwerkvorrichtung 104 so konfiguriert sein, dass es seine PHC 120 mit den PHCs 120 anderer Vorrichtungen 104, 108 synchronisiert, die mit dem Kommunikations-Netzwerk 112 verbunden sind. Insbesondere kann die Netzwerkvorrichtung 104 einen Synchronisations-/Syntonisations-Prozess verwenden, wie er beispielsweise in IEEE 1588 beschrieben ist, um die Uhren anderer Vorrichtungen 104, 108, die mit dem Kommunikations-Netzwerkwerk 112 verbunden sind, zu koordinieren.
  • In einigen Ausführungsformen kann die Netzwerkvorrichtung 104 auch einen oder mehrere Sensoren 124 enthalten, welche die Umwelt- und/oder Betriebsbedingungen in der Umgebung der Netzwerkvorrichtung 104 und die Bedingungen überwachen, die einen Kontext beschreiben können, in dem die PHC 120 diszipliniert ist. Der/die Sensor(en) 124 kann/können Temperatursensoren, Drucksensoren, Luftgeschwindigkeitssensoren, Staubsensoren, Vibrationssensoren, Beschleunigungsmesser, Dehnungsmessstreifen, optische Sensoren, Näherungssensoren, Infrarot (IR)-Sensoren usw. umfassen. Der/die Sensor(en) 124, der/die zur Ermittlung von Kontextinformationen verwendet wird/werden, kann/können variieren und sollte/können nicht auf einen bestimmten Sensor oder Sensortyp beschränkt werden.
  • Wie hier noch näher beschrieben wird, kann die Netzwerkvorrichtung 104 bei der Weitergabe von Zeitinformationen an andere Vorrichtungen 104, 108, die mit dem Kommunikations-Netzwerk 112 verbunden sind, die Zeitinformationen, Frequenzinformationen und/oder Phaseninformationen zusammen mit kontextbezogenen Metadaten 152 weitergeben, die mit den Zeit-/Frequenz-/Phaseninformationen verbunden sind. Die kontextbezogenen Metadaten 152 können einen Kontext beschreiben, in dem die PHC 120 diszipliniert wurde. Wenn andere Vorrichtungen 104, 108 die Zeit-/Frequenz-/Phaseninformationen von einer Netzwerkvorrichtung 104 empfangen, können die anderen Vorrichtungen die Zeit-/Frequenz-/Phaseninformationen zusammen mit den kontextbezogenen Metadaten 152 speichern. Wenn also andere Vorrichtungen 104, 108 ihre Uhren synchronisieren/einstellen, können die kontextbezogenen Metadaten 152, die mit den für eine solche Synchronisierung verwendeten Zeit-/Frequenz-/Phaseninformationen verbunden sind, für eine spätere Bezugnahme gespeichert werden. Zur Vereinfachung der Diskussion und des Verständnisses wird der Begriff Zeitinformation hier für jede Kombination von Zeit-, Frequenz- und Phaseninformation verwendet.
  • In einigen Ausführungsformen können die PHCs 120 vieler Vorrichtungen 104, 108 synchronisiert werden, und der mit den Zeitinformationen verbundene Kontext kann den Kontext für eine, einige oder alle an der Synchronisierung beteiligten Maschinen enthalten. In einigen Ausführungsformen können die kontextbezogenen Metadaten 152 Umgebungs- und/oder Betriebsumstände beschreiben, welche die Vorrichtung 104, 108 umgeben, die als Master-Controller fungiert, von dem aus andere Vorrichtungen 104, 108 ihre PHCs 120 synchronisieren. Alternativ oder zusätzlich können die kontextbezogenen Metadaten 152 die Umgebungs- und/oder Betriebsbedingungen in der Umgebung der Vorrichtung beschreiben, in dem die PHC 120 untergebracht ist, von der die Zeitinformationen gelesen werden. Zum Beispiel kann eine Computervorrichtung 108 ihre PHC 120 mit der PHC 120 der Netzwerkvorrichtung 104 synchronisieren, wenn die Netzwerkvorrichtung 104 als Master-Controller fungiert. Wenn eine Anwendung 148 der Computervorrichtung 108 Zeitinformationen aus der PHC 120 liest, kann die Computervorrichtung 108 auch kontextbezogene Metadaten 152 erhalten, die mit der Disziplinierung der PHC 120 verbunden sind. Die von der Anwendung 148 erhaltenen kontextbezogenen Metadaten 152 können alle kontextbezogenen Metadaten enthalten, die den Kontext beschreiben, in dem die PHC 120 diszipliniert wurde, was von einem Sensor 124 der Computervorrichtung 108 gelesene Informationen, von einem Sensor 124 der Netzwerkvorrichtung 104 gelesene Informationen, Informationen, die einen letzten Zeitpunkt beschreiben, zu dem die PHC 120 der Computervorrichtung 108 diszipliniert wurde, enthalten kann, Informationen, die eine verstrichene Zeit beschreiben, seit die PHC 120 der Computervorrichtung 108 diszipliniert wurde, Informationen, die eine letzte Zeit beschreiben, seit die PHC 120 der Netzwerkvorrichtung 104 diszipliniert wurde, Informationen, die eine verstrichene Zeit beschreiben, seit die PHC 120 der Netzwerkvorrichtung 104 diszipliniert wurde, Informationen, die ein Verstreichen einer Schaltsekunde beschreiben, Kombinationen davon und dergleichen. In Bezug auf das Verstreichen einer Schaltsekunde fügen einige Implementierungen die Sekunde bei Bedarf hinzu, während andere aufgrund betrieblicher Auswirkungen die Hinzufügung (oder Entfernung) der Schaltsekunde über einen bestimmten Zeitraum (z. B. +/-12h ab dem Ereignis selbst) tatsächlich verstreichen. Für die Vorrichtung, welche die Zeit von der PHC 120 abruft, kann es von Vorteil sein, zu wissen, ob die Schaltsekunde(n) verstrichen werden (oder nicht). Daher können solche Informationen, die beschreiben, ob Schaltsekunden verstrichen werden (oder nicht), als Teil der kontextbezogenen Metadaten 152 bereitgestellt werden.
  • Die kontextbezogenen Metadaten 152 sind zwar im Speicher 136 der Computervorrichtung 108 gespeichert, es ist jedoch zu beachten, dass auch die Netzwerkvorrichtung(en) 104 eine Version der kontextbezogenen Metadaten 152 speichern können. Kontextbezogene Metadaten 152 können zwischen den Vorrichtungen 104, 108 zusammen mit Zeitinformationen ausgetauscht werden (z. B. kodiert in Paketen, die auch die Zeitinformationen enthalten). Alternativ können kontextbezogene Metadaten 152 zwischen den Vorrichtungen 104, 108 außerhalb der Zeitinformationen ausgetauscht werden (z. B. kodiert in anderen Paketen als den Paketen mit den Zeitinformationen). Die kontextbezogenen Metadaten 152 können mit den Zeitinformationen verbunden werden, so dass, wenn die Zeitinformationen zusammen mit den kontextbezogenen Metadaten 152 erhalten werden, die kontextbezogenen Metadaten 152 analysiert werden können, um einen Kontext zu bestimmen, in dem die PHC 120 diszipliniert ist. Wie im Folgenden näher beschrieben wird, kann in einigen Ausführungsformen eine Anwendung 148 einer Computervorrichtung 108 Zeitinformationen von der PHC 120 der Computervorrichtung 108 abrufen. Wenn die Zeitinformationen von der Anwendung 148 abgerufen werden, kann die Anwendung 148 auch die kontextbezogenen Metadaten 152 abrufen, die mit den Zeitinformationen verbunden sind. Die Anwendung 148 kann dann die kontextbezogenen Metadaten 152 analysieren, um einen Kontext zu bestimmen, in dem die PHC 120 diszipliniert wurde. In einigen Ausführungsformen kann die Anwendung 148 entscheiden, die Zeitinformationen in Abhängigkeit von dem Kontext, in dem die PHC 120 diszipliniert wurde, zu verwenden, zu behalten oder zu verwerfen. Beispielsweise kann die Anwendung 148 eine Zuverlässigkeit der PHC 120 auf der Grundlage des Kontexts, in dem die PHC 120 diszipliniert wurde, basierend auf der Analyse der kontextbezogenen Metadaten 152 bestimmen.
  • In einigen Ausführungsformen ist die Netzwerkvorrichtung 104 und/oder die Computervorrichtung 108 mit einer Verarbeitungseinheit (PU, Engl. „Processing Unit“) 128 ausgestattet, die so konfiguriert ist, dass sie Datenverarbeitungsfunktionen innerhalb der Vorrichtung 104, 108 ausführt. Beispielsweise kann die Netzwerkvorrichtung 104 eine Verarbeitungseinheit 128 in Form einer Zentraleinheit (CPU), einer Grafikverarbeitungseinheit (GPU) oder einer Datenverarbeitungseinheit (DPU) enthalten, die es der Netzwerkvorrichtung 104 ermöglichen kann, Datenübertragungsfunktionen, Paketweiterleitungsfunktionen usw. durchzuführen. Als weiteres Beispiel kann die Computervorrichtung 108 eine Verarbeitungseinheit 128 in Form einer CPU, GPU, DPU oder ähnlichem enthalten, die es der Computervorrichtung 108 ermöglichen kann, Datenverarbeitungsfunktionen, Paket-Routing-Funktionen usw. auszuführen.
  • Die Netzwerkvorrichtung 104 und die Computervorrichtung 108 können jeweils über eine Vorrichtungsschnittstelle 116 mit dem Kommunikations-Netzwerk 112 verbunden sein. Die Vorrichtungsschnittstelle 116 kann die Kommunikation zwischen der Vorrichtung 104, 108 und dem Kommunikations-Netzwerk 112 über eine Kommunikationsverbindung 160 ermöglichen. Die Kommunikationsverbindung 160 kann eine verdrahtete Verbindung, eine drahtlose Verbindung, eine elektrische Verbindung usw. umfassen. In einigen Ausführungsformen kann die Kommunikationsverbindung 160 die Übertragung von Datenpaketen zwischen der Netzwerkvorrichtung 104 und der Computervorrichtung 108 über ein oder mehrere elektrische Signale, optische Signale, Kombinationen davon und Ähnliches ermöglichen. Es sollte gewürdigt werden, dass die Kommunikationsverbindung 160 ohne Einschränkung eine PCIe-Verbindung, eine Compute Express Link (CXL)-Verbindung, eine direkte Hochgeschwindigkeits-GPU-zu-GPU-Verbindung (z. B. ein NVlink) usw. umfassen kann.
  • Die Computervorrichtung 108 kann jedem geeigneten Vorrichtungs-Typ entsprechen, der für den Empfang und die Verarbeitung von Daten innerhalb des Computersystems 100 verwendet wird. Zu den nicht einschränkenden Beispielen für eine Computervorrichtung 108 gehören ein Personal Computer (PC), ein Smartphone, eine Host-Vorrichtung, ein Switch, ein Server, ein NIC, ein Netzwerkadapter, eine Ethernet-Karte, eine Erweiterungskarte, ein LAN-Adapter, eine physische Netzwerkschnittstelle, ein drahtloser Router, eine Netzwerkgrenzvorrichtung oder Ähnliches.
  • Wie oben erwähnt, kann die Computervorrichtung 108 eine Verarbeitungseinheit 128 enthalten, die mit der Schnittstelle 116 und mit einem oder mehreren Sensoren 124 der Computervorrichtung 108 verbunden ist. Zu den Komponenten, die als Teil der Verarbeitungseinheit 128 enthalten sein können, gehören unter anderem ein Prozessor/Controller 132, ein Speicher 136, ein lokaler Oszillator 140 und/oder eine oder mehrere andere Schaltungen 144.
  • Der Speicher 136 kann Anweisungen für die Ausführung durch den Prozessor 132 enthalten, die, wenn sie von dem Prozessor 132 ausgeführt werden, die Verarbeitungseinheit 128 in die Lage versetzen, eine beliebige Anzahl von Aufgaben (z. B. Datenweiterleitungsaufgaben, Datenverarbeitungsaufgaben usw.) durchzuführen. In einigen Ausführungsformen kann der Speicher 136 eine oder mehrere Anwendungen 148a-N enthalten, die von dem Prozessor 132 ausgeführt werden können. Die Anzahl der im Speicher 136 bereitgestellten Anwendungen 148 kann zwischen 1 und N liegen, wobei N einem ganzzahligen Wert entspricht. Die Anwendungen 148a-N können Zeitinformationen von der PHC 120 anfordern und nutzen. In einigen Ausführungsformen kann die Anforderung von Zeitinformationen auch dazu führen, dass die Anwendung kontextbezogene Metadaten 152 erhält, die einen Kontext beschreiben, in dem die PHC 120 diszipliniert wurde.
  • Obwohl sie als separate Komponenten dargestellt sind, können die kontextbezogenen Metadaten 152, die PHC 120 und andere Komponenten als Teil eines PTP-Stacks bereitgestellt werden. Beispielsweise kann ein PTP-Stack im Speicher 136 bereitgestellt werden, der die PHC 120 (oder ein PHC-System), einen oder mehrere Takttreiber 156, einen SyncE-Controller, Zeitstempel und andere bekannte Elemente eines PTP-Stacks enthält. Die Zeitinformationen für die PHC 120 können zumindest teilweise auf der Grundlage des lokalen Oszillators 140 und der von anderen Netzwerkvorrichtungen 104 empfangenen Synchronisationssignale abgeleitet werden. In einigen Ausführungsformen kann die Computervorrichtung 108 seine PHC 120 synchronisieren (z. B. Zeit und Frequenz einstellen), und zwar in Reaktion auf Signale, die von der Netzwerkvorrichtung 104 empfangen werden. In einigen Ausführungsformen kann die Computervorrichtung 108 die von der Netzwerkvorrichtung 104 empfangenen kontextbezogenen Metadaten 152 speichern. Die Computervorrichtung 108 kann ferner seine eigenen kontextbezogenen Metadaten 152 erstellen und speichern, welche die Umgebungs- und/oder Betriebsbedingungen beschreiben, welche die Art und Weise umgeben, in der die PHC 120 der Computervorrichtung 108 diszipliniert wurde.
  • Als ein nicht einschränkendes Beispiel können die kontextbezogenen Metadaten 152 eine Betriebsänderung der Netzwerkvorrichtung 108 beschreiben (z. B. eine Änderung der Betriebsgeschwindigkeit, eine Änderung der Frequenz, eine Änderung der Verkehrsströme, eine Änderung des Stromverbrauchs usw.). Alternativ oder zusätzlich können die kontextbezogenen Metadaten 152 eine Betriebsänderung der Computervorrichtung 108 beschreiben (z. B. eine Änderung der Betriebsgeschwindigkeit, eine Änderung der Frequenz, eine Änderung der Verkehrsströme (Engl. „Traffic Flows“), eine Änderung des Stromverbrauchs usw.). Alternativ oder zusätzlich können die kontextbezogenen Metadaten 152 eine Temperatur des lokalen Oszillators 140 und/oder eine Temperatur eines Oszillators in der Netzwerkvorrichtung 104 beschreiben. Solche Temperaturinformationen können von dem einen oder den mehreren Sensoren 124 erfasst werden. Alternativ oder zusätzlich können die kontextbezogenen Metadaten 152 eine verstrichene Zeit beschreiben, seit die PHC 120 der Netzwerkvorrichtung 104 und/oder der Computervorrichtung 108 diszipliniert wurde. Alternativ oder zusätzlich können die kontextbezogenen Metadaten 152 eine Kombination der oben beschriebenen Umgebungs- und/oder Betriebsänderungen beschreiben.
  • Soweit die kontextbezogenen Metadaten 152 zumindest einigen von der Netzwerkvorrichtung 104 empfangenen kontextbezogenen Metadaten entsprechen, können die kontextbezogenen Metadaten 152 in einem Paket übertragen werden, das auch die zugehörigen Zeitinformationen enthält. Es ist auch möglich, die kontextbezogenen Metadaten in einem anderen Paket als dem für die Zeitinformationen verwendeten zu übertragen. Wenn eine Anwendung 148 eine „get_time“-Anforderung an die PHC 120 sendet, kann die Anwendung 148 außerdem (z. B. gleichzeitig) kontextbezogene Metadaten 152 von der PHC 120 anfordern. Die PHC 120 kann die angeforderten Zeitinformationen zusammen mit den kontextbezogenen Metadaten 152 bereitstellen.
  • Wie man sich denken kann, können verschiedene Anwendungen 148 unterschiedliche Standards für Zeitinformationen haben. In einigen Ausführungsformen kann eine erste Anwendung (z. B. Anwendung 148a) einen ersten Zuverlässigkeits-Schwellenwert haben, den sie anwendet, um zu bestimmen, ob die Zeitinformationen von der ersten Anwendung verwendet werden können (z. B. ausreichend zuverlässig/genau). Eine andere Anwendung (z. B. Anwendung 148N) kann einen zweiten Zuverlässigkeits-Schwellenwert (der sich vom ersten unterscheidet) haben, den sie anwendet, um zu bestimmen, ob die Zeitinformationen von der anderen Anwendung verwendet werden können (z. B. ausreichend zuverlässig/genau). Anders ausgedrückt: Jede Anwendung kann ihre eigene Zuverlässigkeitsanalyse auf die Zeitinformationen und die damit verbundenen kontextbezogenen Metadaten 152 anwenden, um festzustellen, ob die Art und Weise, in der die PHC 120 diszipliniert wurde, zuverlässig genug ist, um die Zeitinformationen zu verwenden. Die Anwendungen 148a-N können die gleichen Schwellenwerte oder andere Schwellenwerte anwenden, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht. Wie man sich vorstellen kann, kann die Art und Weise, wie Zeitinformationen von einer Anwendung 148a-N verwendet werden, von der Art der Anwendung selbst abhängen. Zum Beispiel kann eine Paket-Routing-Anwendung 148 die kontextbezogenen Metadaten 152 analysieren und entscheiden, ob die von der PHC 120 erhaltenen Zeitinformationen als Teil einer Paket-Routing-Entscheidung verwendet werden sollen oder nicht, basierend auf der mit den Zeitinformationen verbundenen Zuverlässigkeit. Als weiteres Beispiel kann eine Datenverarbeitungs-Anwendung 148 die kontextbezogenen Metadaten 152 analysieren und entscheiden, ob die von der PHC 120 erhaltenen Zeitinformationen als Teil der Datenverarbeitung oder der Durchführung von Operationen mit dem Prozessor 132 verwendet werden sollen oder nicht. Für den Fall, dass neu angeforderte Zeitinformationen von einer Anwendung 148a-N festgestellt werden, dass sie einen Zuverlässigkeitsschwellenwert nicht erfüllen (z. B. dass die Zeitinformationen für die Standards der Anwendung nicht zuverlässig genug sind), kann die Anwendung 148a-N die neu angeforderten Zeitinformationen verwerfen und entweder: (1) die Aufgabe nicht ausführen, bis zuverlässige Zeitinformationen erhalten werden, oder (2) neue Zeitinformationen von der PHC 120 oder von einer anderen PHC 120 anfordern. Wie hier dargestellt und beschrieben, kann das System 100 eine, zwei, drei, ... oder mehrere PHCs 120 umfassen, und es kann Fälle geben, in denen es mehrere Takttreiber 156 gibt.
  • Die eine oder mehreren Schaltungen 144 können als Teil des Prozessors 132 bereitgestellt werden oder spezifisch konfiguriert sein, um eine Funktion des Prozessors 132 auszuführen, ohne notwendigerweise auf Anweisungen im Speicher 136 zu verweisen. Die Schaltung(en) 144 kann (können) beispielsweise digitale Schaltungskomponenten, analoge Schaltungskomponenten, aktive Schaltungskomponenten, passive Schaltungskomponenten oder Ähnliches umfassen, die speziell für die Durchführung einer bestimmten Datenkürzungsoperation und/oder eines bestimmten Übertragungsprozesses konfiguriert sind. Die Schaltung(en) 144 kann (können) alternativ oder zusätzlich Schalt-Hardware enthalten, die so konfiguriert werden kann, dass sie selektiv eine Vorrichtungsschnittstelle 116 mit einer anderen Vorrichtungsschnittstelle 116 verbindet (z. B. wenn die Computervorrichtung 108 einen Switch oder eine Komponente eines Switches enthält). Dementsprechend kann (können) die Schaltung(en) 144 elektrische und/oder optische Komponenten enthalten, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht.
  • Der Prozessor 132 und/oder die Schaltung(en) 144 können einen oder mehrere IC-Chips (Integrated Circuit, De. „integrierte Schaltungen“), Mikroprozessoren, Leiterplatten, einfache analoge Schaltungskomponenten (z. B. Widerstände, Kondensatoren, Induktoren usw.), digitale Schaltungskomponenten (z. B. Transistoren, Logikgatter usw.), Register, feldprogrammierbare Gate-Arrays (FPGAs, Engl. „Field Programmable Gate Arrays“), anwendungsspezifische integrierte Schaltungen (ASICs, Engl. „Application Specific Integrated Circuits“), Kombinationen davon und Ähnliches umfassen. Es sollte verstanden werden, dass der Prozessor 132 einer optionalen Komponente der Verarbeitungseinheit 128 entsprechen kann, insbesondere in Fällen, in denen die Schaltung(en) 144 eine ausreichende Funktionalität zur Unterstützung der hier beschriebenen Operationen der Verarbeitungseinheit 128 bieten. Wie oben erwähnt, kann die Verarbeitungseinheit 128 einer CPU, GPU, DPU, Kombinationen davon und dergleichen entsprechen. Obwohl nur eine einzige Verarbeitungseinheit 128 in der Computervorrichtung 108 dargestellt ist, kann die Computervorrichtung 108 mehrere Verarbeitungseinheiten 128 enthalten, ohne dass dies vom Anwendungsbereich der vorliegenden Offenbarung abweicht.
  • Der Speicher 136 kann eine beliebige Anzahl von Speichervorrichtungen enthalten. Beispielsweise kann der Speicher 136 einen Direktzugriffsspeicher (RAM, Engl. „Random Access Memory“), einen Festwertspeicher (ROM, Engl. „Read Only Memory“), einen Flash-Speicher, einen elektronisch abrufbaren programmierbaren ROM (EEPROM, Engl. „Electronically-Erasable Programmable ROM“), einen dynamischen RAM (DRAM), einen Pufferspeicher, Kombinationen davon und Ähnliches umfassen.
  • Unter Bezugnahme auf die 2 und 3 werden nun weitere Einzelheiten zu den Funktionen der Komponenten des Systems 100 beschrieben. Während bestimmte Schritte der Verfahren als in einer bestimmten Reihenfolge und von einer bestimmten Komponente ausgeführt beschrieben werden, ist zu beachten, dass die Ausführungsformen der vorliegenden Offenbarung nicht so beschränkt sind. Insbesondere kann die Reihenfolge der Vorgänge in den verschiedenen Verfahren geändert werden, und jede Komponente oder Kombination von Komponenten im System 100 kann so konfiguriert werden, dass sie einige oder alle der hier dargestellten und beschriebenen Verfahrensschritte ausführt.
  • Unter Bezugnahme auf 2 wird ein Flussdiagramm beschrieben, das ein Verfahren 200 zur Erzeugung und Weitergabe von Zeitinformationen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Das Verfahren 200 beginnt, wenn eine Vorrichtung Zeitinformationen von seiner PHC 120 ableitet (Schritt 204). Die Vorrichtung kann einer Netzwerkvorrichtung 104 oder einer Computervorrichtung 108 entsprechen. Die Zeitinformationen können abgeleitet oder erhalten werden, indem eine Anforderung an die PHC 120 oder einen PTP-Stapel, der die PHC 120 enthält, übermittelt wird. Die an die PHC 120 oder den PTP-Stapel übermittelte Anforderung kann in Form eines „get_time“-Befehls oder einer anderen geeigneten Anforderung/Nachricht/Befehl erfolgen, die zum Abrufen von Zeitinformationen von einer Netzwerkeinheit oder einem Rechnerknoten verwendet wird.
  • Das Verfahren 200 fährt fort mit der Bestimmung eines Kontexts, der mit der Disziplinierung der PHC 120 verbunden ist (Schritt 208). Die Bestimmung des Kontexts kann auf der Grundlage des Erhalts von Messwerten von einem oder mehreren Sensoren 124 im Wesentlichen zur gleichen Zeit wie die Ableitung/Bereitstellung der Zeitinformationen erfolgen. Die Bestimmung des Kontexts kann auf der Grundlage einer Analyse der letzten Zeit oder der verstrichenen Zeit seit der Disziplinierung der PHC 120 erfolgen. Die in diesem Schritt gewonnenen Kontextinformationen können verwendet werden, um kontextbezogene Metadaten 152 zu erstellen, die mit den Zeitinformationen verknüpft sind. Die Verbindung zwischen den kontextbezogenen Metadaten 152 und den Zeitinformationen kann einem Nutzer der Zeitinformationen und der kontextbezogenen Metadaten 152 helfen, einen Kontext zu bestimmen, in dem die PHC 120 diszipliniert wird.
  • Das Verfahren 200 fährt fort mit der Erzeugung eines oder mehrerer Pakete, welche die Zeitinformationen und die zugehörigen kontextbezogenen Metadaten 152 enthalten (Schritt 212). In einigen Ausführungsformen können die Pakete für die Übertragung über ein Kommunikations-Netzwerk formatiert und sowohl mit Zeitinformationen als auch mit kontextbezogenen Metadaten 152 codiert werden. In einigen Ausführungsformen können die Pakete für die Übertragung innerhalb einer Computervorrichtung 108 oder einer Netzwerkvorrichtung 104 formatiert werden, können aber dennoch sowohl mit Zeitinformationen als auch mit kontextbezogenen Metadaten 152 kodiert werden. In einigen Ausführungsformen können die Zeitinformationen über einen anderen Kommunikationskanal (z. B. durch Verwendung anderer Pakete) als die zugehörigen kontextbezogenen Metadaten 152 übertragen werden. In jedem Fall wird das Verfahren 200 fortgesetzt, indem die Zeitinformationen und die zugehörigen kontextbezogenen Metadaten 152 über ein oder mehrere Pakete an die Computervorrichtung 108 übertragen werden. Wie oben erwähnt, kann eine Anwendung 148 innerhalb der Computervorrichtung 108 der Entität entsprechen, welche die Zeitinformationen angefordert hat, und die Anforderung kann an eine PHC 120 übermittelt worden sein, der zusammen mit der Anwendung 148 auf der Computervorrichtung 108 residiert. Die kontextbezogenen Metadaten 152, die mit den Zeitinformationen verbunden sind, können einen Umgebungs- und/oder Betriebskontext beschreiben, der mit der Computervorrichtung 108 verbunden ist, oder sie können einen Umgebungs- und/oder Betriebskontext beschreiben, der mit einer Netzwerkvorrichtung 104 verbunden ist, die ihre PHC 120 mit der PHC 120 der Computervorrichtung 108 synchronisiert.
  • 3 ist ein Flussdiagramm, das ein Verfahren 300 zum Konsumieren und Verarbeiten von Zeitinformationen in Übereinstimmung mit zumindest einigen Ausführungsformen der vorliegenden Offenbarung zeigt. Das Verfahren 300 beginnt, wenn ein oder mehrere Pakete an einer Computervorrichtung 108 empfangen werden (Schritt 304). Die Computervorrichtung 108 kann ihre PHC 120 auf der Grundlage von Anweisungen oder Zeitinformationen disziplinieren, die von einer Netzvorrichtung 104 empfangen werden, die über ein oder mehrere Pakete über das Kommunikations-Netzwerk 112 übertragen werden. In anderen Ausführungsformen kann das Verfahren 300 damit beginnen, dass eine Anwendung 148 Zeitinformationen und zugehörige kontextbezogene Metadaten 152 von einer lokalen PHC 120 oder einem PTP-Stapel, der die PHC 120 enthält, empfängt. In diesem Fall müssen die Zeitinformationen nicht unbedingt zunächst über ein Kommunikations-Netzwerk 112 empfangen werden.
  • Das Verfahren 300 fährt damit fort, dass die Computervorrichtung 108 Zeitinformationen und zugehörige kontextbezogene Metadaten erhält (Schritt 308). In einigen Ausführungsformen beinhaltet dieser Schritt das Parsen/Analysieren eines oder mehrerer von einer Netzwerkvorrichtung 104 empfangener Pakete, um Zeitinformationen und zugehörige kontextbezogene Metadaten 152 zu extrahieren. Die Zeitinformationen können als Teil der Disziplinierung der PHC 120 der Computervorrichtung 108 verwendet werden, können aber auch von einer Anwendung 148 der Computervorrichtung 108 genutzt werden. Die kontextbezogenen Metadaten 152 können im Speicher 136 gespeichert oder von der Anwendung 148, welche die Zeitinformationen verwenden will, unmittelbar genutzt werden.
  • Das Verfahren 300 wird fortgesetzt, indem die Anwendung 148 die kontextbezogenen Metadaten 152 analysiert (Schritt 312). Auch hier können die kontextbezogenen Metadaten 152, die in diesem Schritt analysiert werden, von der PHC 120 als Teil einer „get_time“-Anforderung abgerufen worden sein, sie können aus dem Speicher 136 abgerufen worden sein oder sie können in einem oder mehreren Paketen enthalten gewesen sein, die auch die Zeitinformationen an die Anwendung 148 geliefert haben.
  • Auf der Grundlage der Analyse der kontextbezogenen Metadaten 152 kann die Anwendung 148 einen Kontext bestimmen, in dem die PHC 120 diszipliniert wurde (Schritt 316). Insbesondere kann die Anwendung 148 einen Kontext bestimmen, in dem die PHC 120 der Computervorrichtung 108 und/oder der Netzwerkvorrichtung 104 diszipliniert wurde. Der ermittelte Kontext kann dann von der Anwendung 148 verwendet werden, um eine Zuverlässigkeit der PHC 120 und die von der PHC 120 erhaltenen Zeitinformationen zu bestimmen (Schritt 320). Genauer gesagt kann die Anwendung 148 eine Zuverlässigkeitsbewertung für die PHC 120 und die Zeitinformationen, die von der PHC 120 geteilt werden, auf der Grundlage der mit den Zeitinformationen verbundenen kontextbezogenen Metadaten 152 bestimmen.
  • In spezifischeren, aber nicht einschränkenden Beispielen kann die Anwendung 148 bei der Analyse der kontextbezogenen Metadaten 152 eines oder mehrere der folgenden Elemente bestimmen:
    • • Art der auf den PHC 120 angewandten Korrektur (set_time\adjust_time\adjust_frequency).
      • ◯ Zeitpunkt, zu dem die Korrektur vorgenommen wurde
      • ◯ Wert der Korrektur
      • ◯ Standardabweichung (pro Typ, pro Korrektur)
      • ◯ Verstrichene Schaltsekunde(n)
    • • Überschreiten eines bestimmten Schwellenwerts (max/min, außerhalb des Bereichs)
      • ◯ Kann auf eine Manipulation der Vorrichtung oder auf Umgebungsänderungen (Temperatur, Feuchtigkeit, Spannung usw.) zurückzuführen sein.
      • ◯ Veränderungen in der Langzeitstabilität des Oszillators 140
      • ◯ Änderungen der Aktualisierungsrate der Korrektur
    • • Quelle für die Disziplinierung der PHC 120
      • ◯ Geben Sie die derzeitige Quelle der Disziplinierung der PHC 120 an.
      • ◯ Besseres Verständnis dafür, ob eine Vorrichtung von einer primären oder sekundären Quelle diszipliniert wird oder sich in einer Warteschleife befindet
    • • Vorrichtungenbezogene Informationen
      • ◯ Alter der Komponenten (Oszillator 140, usw.)
      • ◯ Vom Hersteller angegebene Max/Min-Toleranzbereiche für verschiedene Werte bei bestimmten Modellen/Revisionen
        • • Max/min Drift
        • • Max/min Betriebstemperaturbereich
        • • Max/Min-Frequenz-Stabilität
        • • Max/min-Freilaufgenauigkeit
        • • Langfristige Stabilität
        • • Kurzfristige Stabilität
  • Die ermittelte Zuverlässigkeit kann mit einem Zuverlässigkeits-Schwellenwert verglichen werden (Schritt 324), um festzustellen, ob die Zuverlässigkeitsanforderungen (z. B. Schwellenwert) für die Anwendung 148 erfüllt sind oder nicht (Schritt 328). Wie oben erwähnt, können unterschiedliche Anwendungen 148 unterschiedliche Zuverlässigkeitsanforderungen haben und daher unterschiedliche Zuverlässigkeits-Schwellenwerte anwenden, um zu bestimmen, ob die Zeitinformationen für die Verwendung durch die Anwendung 148 ausreichend zuverlässig sind. Wenn die Anwendung 148 feststellt, dass die Zuverlässigkeit nicht dem Zuverlässigkeits-Schwellenwert entspricht, können die zugehörigen Zeitinformationen verworfen werden (Schritt 332). Wenn beispielsweise die PHC 120 bei zu heißen oder zu kalten Temperaturen diszipliniert wurde, können die von der PHC 120 erhaltenen Zeitinformationen verworfen oder ein Korrekturfaktor angewendet werden. Ein weiteres Beispiel: Wenn die PHC 120 nicht innerhalb einer vorgegebenen Zeitspanne (z. B. innerhalb der letzten X Sekunden oder Y Millisekunden) diszipliniert wurde, können die Zeitinformationen verworfen werden.
  • Andererseits kann die Anwendung 148, wenn der/die Zuverlässigkeits-Schwellenwert(e) erfüllt ist/sind, die Zeitinformationen behalten (Schritt 336) und die Zeitinformationen innerhalb der Anwendung 148 verwenden (Schritt 340). Zum Beispiel kann die Anwendung 148 die Zeitinformationen aufbewahren und eine oder mehrere Routing-Entscheidungen auf der Grundlage der Zeitinformationen treffen. Ein weiteres Beispiel ist, dass die Anwendung 148 eine oder mehrere Berechnungsaufgaben unter Verwendung der Zeitinformationen nur dann durchführen kann, wenn die Zeitinformationen als ausreichend zuverlässig eingestuft werden.
  • In der Beschreibung wurden spezifische Details angegeben, um ein gründliches Verständnis der Ausführungsformen zu ermöglichen. Einem Fachmann wird jedoch klar sein, dass die Ausführungsformen auch ohne diese spezifischen Details praktiziert werden können. In anderen Fällen können bekannte Schaltungen, Prozesse, Algorithmen, Strukturen und Techniken ohne unnötige Details dargestellt werden, um die Ausführungsformen nicht zu verdecken.
  • Während illustrative Ausführungsformen der Offenbarung hier im Detail beschrieben wurden, ist es zu verstehen, dass die erfinderischen Konzepte auf andere Weise verkörpert und verwendet werden können, und dass die beigefügten Ansprüche so ausgelegt werden sollen, dass sie solche Variationen einschließen, sofern sie nicht durch den Stand der Technik eingeschränkt 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.
  • Jede(s) Vorrichtung, Verfahren und Merkmal, die/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 Bezugszahlen dienen nur der Veranschaulichung und haben keine einschränkende Wirkung auf den Umfang der Ansprüche.

Claims (23)

  1. Computervorrichtung, Folgendes umfassend: eine Schnittstelle, die Zeitinformationen von einer Präzisions-Zeit-Protokoll (PTP) Hardware-Uhr (PHC) einer Netzwerkvorrichtung zusammen mit kontextbezogenen Metadaten empfängt, die mit den Zeitinformationen verbunden sind; einen Prozessor; und Speicher, der mit dem Prozessor verbunden ist, wobei der Speicher mindestens eine Anwendung enthält, die von dem Prozessor ausgeführt werden kann und bei Ausführung durch den Prozessor: die kontextbezogenen Metadaten analysiert, die mit den Zeitinformationen verbunden sind; und einen Kontext bestimmt, in dem die PHC diszipliniert wird.
  2. Computervorrichtung nach Anspruch 1, wobei die Anwendung bei der Ausführung durch den Prozessor eine Zuverlässigkeit der PHC auf der Grundlage des Kontextes bestimmt, in dem die PHC diszipliniert wird.
  3. Computervorrichtung nach Anspruch 2, wobei die Anwendung bei der Ausführung durch den Prozessor die Zeitinformationen verwirft, wenn sie feststellt, dass die Zuverlässigkeit der PHC mindestens einen vorbestimmten Zuverlässigkeits-Schwellenwert nicht erreicht.
  4. Computervorrichtung nach einem der vorhergehenden Ansprüche, wobei die kontextbezogenen Metadaten eine Betriebsänderung der Netzwerkvorrichtung beschreiben.
  5. Computervorrichtung nach einem der Ansprüche 1 bis 3, wobei die kontextbezogenen Metadaten eine Oszillatortemperatur-Schwankung der Netzwerkvorrichtung beschreiben.
  6. Computervorrichtung nach einem der Ansprüche 1 bis 3, wobei die kontextbezogenen Metadaten eine verstrichene Zeit beschreiben, seit die PHC der Netzwerkvorrichtung diszipliniert wurde.
  7. Computervorrichtung nach einem der vorhergehenden Ansprüche, wobei die kontextbezogenen Metadaten in einem Paket empfangen werden, das auch die Zeitinformationen enthält.
  8. Computervorrichtung nach einem der Ansprüche 1 bis 6, wobei die kontextbezogenen Metadaten in einem ersten Paket und die Zeitinformationen in einem zweiten Paket empfangen werden.
  9. Computervorrichtung nach einem der vorhergehenden Ansprüche, wobei die Anwendung bei der Ausführung durch den Prozessor eine Routing-Entscheidung auf der Grundlage der Zeitinformationen und auf der Grundlage des Kontexts, in dem die PHC diszipliniert wird, der mindestens ein kontextbezogenes Kriterium erfüllt.
  10. Computervorrichtung nach einem der vorhergehenden Ansprüche, wobei die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase beschreibt.
  11. Netzwerkvorrichtung, Folgendes umfassend: eine Präzisions-Zeit-Protokoll (PTP) Hardware-Uhr (PHC); und eine Schnittstelle, die von der PHC abgeleitete Zeitinformationen zusammen mit kontextbezogenen Metadaten, die es einer Anwendung der Computervorrichtung ermöglichen, einen Kontext zu bestimmen, in dem die PHC diszipliniert ist, an eine Computervorrichtung überträgt.
  12. Netzwerkvorrichtung nach Anspruch 11, wobei die Zeitinformation und die kontextbezogenen Metadaten zusammen kodiert werden.
  13. Netzvorrichtung nach Anspruch 11 oder 12, wobei die Zeitinformationen und die kontextbezogenen Metadaten über die Schnittstelle mittels eines gemeinsamen Pakets übertragen werden.
  14. Netzwerkvorrichtung nach Anspruch 11 oder 12, wobei die Zeitinformation über ein erstes Paket und die kontextbezogenen Metadaten über ein zweites Paket übertragen werden.
  15. Netzwerkvorrichtung nach einem der Ansprüche 11 bis 14, wobei die kontextbezogenen Metadaten eine Betriebsänderung der Netzwerkvorrichtung beschreiben.
  16. Netzwerkvorrichtung nach einem der Ansprüche 11 bis 14, wobei die kontextbezogenen Metadaten eine Oszillatortemperatur-Schwankung beschreiben.
  17. Netzwerkvorrichtung nach einem der Ansprüche 11 bis 14, wobei die kontextbezogenen Metadaten eine verstrichene Zeit beschreiben, seit die PHC diszipliniert wurde.
  18. Netzwerkvorrichtung nach einem der Ansprüche 11 bis 17, wobei die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase beschreibt.
  19. System, Folgendes umfassend: eine Präzisions-Zeit-Protokoll (PTP) Hardware-Uhr (PHC); und eine Anwendung, die Zeitinformationen von der PHC zusammen mit kontextuellen Metadaten, die mit den Zeitinformationen verbunden sind, empfängt, die kontextuellen Metadaten, die mit den Zeitinformationen verbunden sind, analysiert und einen Kontext bestimmt, in dem die PHC diszipliniert ist.
  20. System nach Anspruch 19, wobei die Zeitinformation und die kontextbezogenen Metadaten bei der Anwendung in einem gemeinsamen Paket empfangen werden.
  21. System nach Anspruch 19 oder 20, wobei die PHC zu einer Netzwerkvorrichtung gehört und die Anwendung zu einer Computervorrichtung gehört, die mit der Netzwerkvorrichtung über ein Kommunikations-Netzwerk kommuniziert.
  22. System nach Anspruch 21, wobei die kontextbezogenen Metadaten mindestens eines der folgenden Merkmale beschreiben: eine Betriebsänderung der Netzwerkvorrichtung, eine Oszillatortemperatur-Schwankung und eine verstrichene Zeit, seit die PHC diszipliniert wurde.
  23. System nach Anspruch 19, 20 oder 21, wobei die Zeitinformation mindestens eines der Elemente Zeit, Frequenz und Phase beschreibt.
DE102023206312.3A 2022-07-06 2023-07-04 Begleitende metadaten für eine präzisions-zeit-protokoll (ptp) hardware-uhr Pending DE102023206312A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/858,236 US20240014916A1 (en) 2022-07-06 2022-07-06 Companion metadata for precision time protocol (ptp) hardware clock
US17/858,236 2022-07-06

Publications (1)

Publication Number Publication Date
DE102023206312A1 true DE102023206312A1 (de) 2024-01-11

Family

ID=89387019

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102023206312.3A Pending DE102023206312A1 (de) 2022-07-06 2023-07-04 Begleitende metadaten für eine präzisions-zeit-protokoll (ptp) hardware-uhr

Country Status (2)

Country Link
US (1) US20240014916A1 (de)
DE (1) DE102023206312A1 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2408128B1 (de) * 2010-07-15 2017-06-07 Alcatel Lucent Anpassungseinheit zum Interagieren zwischen einer Netzwerk- und Precision Time Protocol-Einheit
US10841032B2 (en) * 2016-10-05 2020-11-17 Convida Wireless, Llc Service layer time synchronization
US10616624B2 (en) * 2017-03-01 2020-04-07 Rhinobird Inc. Multi-angle video synchronization and multi-angle video interface
WO2020070552A1 (en) * 2018-10-02 2020-04-09 Timecode Systems Limted Synchronizing data between media devices
US11683111B2 (en) * 2021-03-24 2023-06-20 Arista Networks, Inc. Time offset determination without synchronization
US20220116373A1 (en) * 2021-12-22 2022-04-14 Choon Yip Soo Systems and methods for communicating encrypted time-related data

Also Published As

Publication number Publication date
US20240014916A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
DE102018132290B4 (de) Fahrzeuginternes System, Gateway, Relais, nichttransitorisches computerlesbares Medium zum Speichern eines Programms, Informationsverarbeitungsverfahren, Informationsverarbeitungssystem und Fahrzeug
DE112007003435B4 (de) Kommunikationssystem, Verwaltungsgerät, Kommunikationsgerät und Computerprogramm zur Zeitsynchronisation zwischen mehreren Knotengeräten in einem Netzwerk vom Ringtyp
DE112007003434B4 (de) Kommunikationssystem, Verwaltungsgerät, Kommunikationsgerät und Computerprogramm zur Zeitsynchronisation zwischen mehreren Knotengeräten, die zur Bildung eines Netzwerks vom Ringtyp verbunden sind
DE69931218T2 (de) Verfahren zur synchronisierung von netzwerkknoten
DE112011104955B4 (de) Master-Vorrichtung und Slave-Vorrichtung und Zeitsynchronisationsverfahren
DE112018005252T5 (de) System und verfahren zum klassifizieren und zeitstempeln von paketen
DE102006020150B4 (de) System und Verfahren zur Testsondenverwaltung
DE112019002984T5 (de) Durchführung von phy-level-hardware-zeitstempelung und zeitsynchronisierung in kostenoptimierten umgebungen
DE602004007714T2 (de) Datenverarbeitungsvorrichtung, -system und -verfahren, Speichermedium und Rechnerprogramm für das Datenverarbeitungsverfahren
DE112016006755B4 (de) Netzwerksystem und Kommunikationsverfahren
DE102011111268A1 (de) Steuerungseinheit und Kommunikationssteuerungssystem
DE102018002309A1 (de) Slave-gerät, system für serielle kommunikation und kommunikationsverfahren für system für serielle kommunikation
DE102010037221A1 (de) Verfahren und Geräte zum Angleichen einer Regelkreiszeiteinstellung in einem Prozessregelsystem
DE102017219843A1 (de) Sensorschnittstellenvorrichtung, Messdatenübertragungssystem, Messdatenübertragungsverfahren und Messdatenübertragungsprogramm
DE102021205793A1 (de) Genauigkeit des zeitstempels auf der empfangsseite
DE102021201747A1 (de) PHC Verkettung
DE112016004319T5 (de) Technologien zur Schätzung der Netzwerkpaketumlaufzeit
EP3906416A1 (de) Verfahren zur verteilten elektrischen leistungbestimmung
DE102022203874A1 (de) Zeitstempel-konfidenzniveau
EP1039660A2 (de) Drahtloses Netzwerk mit einer Anwendertaktsynchronisation
DE602004011828T2 (de) Empfänger-corporation
DE112019005021T5 (de) Geräte, systeme und verfahren zum synchronisieren von ereignisfenstern in funknetzen
DE102019219475B4 (de) Verfahren zur Optimierung der Zeitsynchronisation zwischen über ein Kommunikationsnetzwerk verbundenen Netzwerkgeräten
DE112012005046B4 (de) Koordinieren von Schreiboperationsabfolgen in einem Datenspeichersystem
DE102023206312A1 (de) Begleitende metadaten für eine präzisions-zeit-protokoll (ptp) hardware-uhr

Legal Events

Date Code Title Description
R012 Request for examination validly filed