DE112020006396T5 - Synchronisierung von sequenznummern in einem netzwerk - Google Patents

Synchronisierung von sequenznummern in einem netzwerk Download PDF

Info

Publication number
DE112020006396T5
DE112020006396T5 DE112020006396.8T DE112020006396T DE112020006396T5 DE 112020006396 T5 DE112020006396 T5 DE 112020006396T5 DE 112020006396 T DE112020006396 T DE 112020006396T DE 112020006396 T5 DE112020006396 T5 DE 112020006396T5
Authority
DE
Germany
Prior art keywords
frame
count
sequence number
network
reset
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
DE112020006396.8T
Other languages
English (en)
Inventor
Lars ELLEGAARD
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE112020006396T5 publication Critical patent/DE112020006396T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40202Flexible bus arrangements involving redundancy by using a plurality of master stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/4026Bus for use in automation systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

Verfahren zum Synchronisieren von Sequenznummern einer Anzahl von Vorrichtungen eines Netzwerks werden offenbart. Ein Verfahren kann das Zurücksetzen einer Sequenznummer auf einen anfänglichen vorbestimmten Zählwert als Reaktion auf ein Zeitsteuerungsereignis sowohl an einer ersten Vorrichtung als auch an einer zweiten Vorrichtung eines Netzwerks einschließen. Das Verfahren kann außerdem das Erzeugen eines Frames zur Übertragung sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung einschließen. Ferner kann das Verfahren das Inkrementieren der Sequenznummer sowohl an der ersten als auch an der zweiten Vorrichtung einschließen, wobei die Sequenznummer eine Anzahl von Frames anzeigt, die an der zugeordneten Vorrichtung seit dem Zeitsteuerungsereignis erzeugt wurden. Das Verfahren kann außerdem das Einfügen der Sequenznummer in einen zugeordneten Frame sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung einschließen. Zugehörige Netzwerke und Vorrichtungen werden ebenfalls offenbart.

Description

  • PRIORITÄTSANSPRUCH
  • Diese Anmeldung beansprucht den Vorteil des Prioritätsdatums der am 27. Februar 2020 eingereichten vorläufigen US-Patentanmeldung Nr. 62/982.654 mit dem Titel „SYNCHRONIZATION OF SEQUENCE NUMBERS,“ deren Offenbarung und Inhalt hiermit in ihrer Gesamtheit durch diese Bezugnahme aufgenommen wird.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf Kommunikationsnetzwerke und insbesondere auf die Erzeugung von Sequenznummern in einem Kommunikationsnetzwerk. Genauer gesagt beziehen sich verschiedene Ausführungsformen der Offenbarung auf das Synchronisieren von Sequenznummern an einer Anzahl von Vorrichtungen eines Kommunikationsnetzwerks.
  • HINTERGRUND
  • Bei der Bereitstellung von Konnektivität mit hohen Geschwindigkeiten können zum Verbinden von Computern und externen Peripheriegeräten verschiedene Schnittstellenstandards verwendet werden. Ein weit verbreiteter, flexibler Netzwerkstandard zum Verbinden von Computern (z. B. in Local Area Networks (LANs) und Wide Area Networks (WANs)) ist das Ethernet-Protokoll. Unter Ethernet-Kommunikation wird im Allgemeinen eine Punkt-zu-Punkt-Kommunikation innerhalb eines Netzwerks mit mehreren Endpunkten verstanden. Ethernet nutzt gemeinsam verwendete Ressourcen im Allgemeinen effizient, ist leicht wart- und rekonfigurierbar und mit vielen Systemen kompatibel.
  • Figurenliste
  • Während diese Offenbarung mit Ansprüchen endet, die bestimmte Ausführungsformen besonders hervorheben und eindeutig beanspruchen, können verschiedene Merkmale und Vorteile von Ausführungsformen innerhalb des Schutzumfangs dieser Offenbarung leichter aus der folgenden Beschreibung ermittelt werden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen werden, in denen:
    • 1 ein Netzwerk, das zwei Vorrichtungen einschließt, darstellt;
    • 2 ein Netzwerk, das eine Anzahl von Vorrichtungen einschließt, darstellt;
    • 3 eine weitere Veranschaulichung eines Netzwerks, das eine Anzahl von Vorrichtungen einschließt, gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung ist;
    • 4A ein Knotenelementabschnitt gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung darstellt;
    • 4B ein OSI-Modell, das eine Anzahl von Schichten einschließt, darstellt;
    • 5 ein Flussdiagramm eines beispielhaften Verfahrens zum Betreiben eines Knotenelements gemäß verschiedenen Ausführungsformen der Offenbarung ist;
    • 6A ein Flussdiagramm eines beispielhaften Verfahrens zum Auslösen eines Sequenznummer-Resets gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung ist;
    • 6B ein Flussdiagramm eines beispielhaften Verfahrens zum Zurücksetzen einer Sequenznummer als Reaktion auf ein Rücksetzereignis gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung ist;
    • 7 ein Flussdiagramm eines beispielhaften Verfahrens zum Betreiben eines Knotenelements an jeder einer Anzahl von Vorrichtungen eines Netzwerks gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung ist;
    • 8 ein Flussdiagramm eines weiteren beispielhaften Verfahrens zum Auslösen eines Sequenznummer-Resets gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung ist; und
    • 9A und 9B ein Flussdiagramm eines beispielhaften Verfahrens zum Synchronisieren von Sequenznummern an einer Anzahl von Vorrichtungen eines Netzwerks gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung darstellen.
  • ART(EN) ZUM AUSFÜHREN DER ERFINDUNG
  • In der folgenden detaillierten Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil dieses Dokuments bilden und in denen zur Veranschaulichung spezifische Beispiele von Ausführungsformen gezeigt sind, in denen die vorliegende Offenbarung ausgeübt werden kann. Diese Ausführungsformen sind hinreichend detailliert beschrieben, um es einem Durchschnittsfachmann zu ermöglichen, die vorliegende Offenbarung in die Praxis umzusetzen. Es können jedoch auch andere hierin ermöglichte Ausführungsformen verwendet werden, und Änderungen der Struktur, des Materials und des Prozesses können vorgenommen werden, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Die hierin dargestellten Veranschaulichungen sollen keine tatsächlichen Ansichten eines bestimmten Verfahrens oder Systems oder einer bestimmten Vorrichtung oder Struktur sein, sondern sind lediglich idealisierte Darstellungen, die zur Beschreibung der Ausführungsformen der vorliegenden Offenbarung verwendet werden. Ähnliche Strukturen oder Komponenten in den verschiedenen Zeichnungen können in einigen Fällen zur Vereinfachung für den Leser die gleiche oder eine ähnliche Nummerierung beibehalten; die Ähnlichkeit in der Nummerierung bedeutet jedoch nicht notwendigerweise, dass die Strukturen oder Komponenten in Größe, Zusammensetzung, Konfiguration oder einer anderen Eigenschaft identisch sind.
  • Die folgende Beschreibung kann Beispiele einschließen, um es einem Durchschnittsfachmann zu ermöglichen, die offenbarten Ausführungsformen auszuführen. Die Verwendung der Begriffe „beispielhaft“, „als Beispiel“ und „zum Beispiel“ bedeutet, dass die zugehörige Beschreibung erläuternd ist, und obwohl der Schutzumfang der Offenbarung die Beispiele und ihre rechtlichen Äquivalente umfassen soll, ist die Verwendung solcher Begriffe nicht dazu bestimmt, den Schutzumfang einer Ausführungsform oder dieser Offenbarung auf die spezifizierten Komponenten, Schritte, Merkmale, Funktionen oder dergleichen einzuschränken.
  • Es versteht sich, dass die Komponenten der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Zeichnungen veranschaulicht sind, in einer großen Vielfalt unterschiedlicher Konfigurationen angeordnet und ausgelegt werden könnten. Somit soll die folgende Beschreibung verschiedener Ausführungsformen den Schutzumfang der vorliegenden Offenbarung nicht einschränken, sondern ist lediglich repräsentativ für verschiedene Ausführungsformen. Während die verschiedenen Gesichtspunkte der Ausführungsformen in den Zeichnungen dargestellt sein können, sind die Zeichnungen nicht notwendigerweise maßstabsgetreu gezeichnet, sofern nicht ausdrücklich angegeben.
  • Des Weiteren sind die gezeigten und beschriebenen spezifischen Implementierungen nur Beispiele und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Elemente, Schaltungen und Funktionen können in Blockdiagrammform gezeigt sein, um die vorliegende Offenbarung nicht durch unnötige Details undeutlich werden zu lassen. Umgekehrt sind gezeigte und beschriebene spezifische Implementierungen nur beispielhaft und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Außerdem sind Blockdefinitionen und die Aufteilung von Logik zwischen verschiedenen Blöcken beispielhaft für eine spezifische Implementierung. Es ist für den Durchschnittsfachmann ohne Weiteres ersichtlich, dass die vorliegende Offenbarung durch zahlreiche andere Aufteilungslösungen ausgeführt werden kann. Auf Details zu zeitlichen Erwägungen und dergleichen wurde größtenteils verzichtet, soweit solche Details für ein vollständiges Verständnis der vorliegenden Offenbarung nicht erforderlich sind und innerhalb der Fähigkeiten eines Durchschnittsfachmanns liegen.
  • Der Durchschnittsfachmann würde verstehen, dass Informationen und Signale unter Verwendung einer Vielfalt verschiedener Technologien und Techniken dargestellt werden können. Einige Zeichnungen können Signale zur Übersichtlichkeit der Darstellung und Beschreibung als ein einzelnes Signal veranschaulichen. Ein Durchschnittsfachmann wird verstehen, dass das Signal einen Bus von Signalen darstellen kann, wobei der Bus eine Vielfalt von Bitbreiten aufweisen kann und die vorliegende Offenbarung auf einer beliebigen Anzahl von Datensignalen, einschließlich eines einzelnen Datensignals, implementiert werden kann.
  • Die verschiedenen veranschaulichenden logischen Blöcke, Module und Schaltungen, die in Verbindung mit den hierin offenbarten Ausführungsformen beschrieben sind, können mit einem Prozessor, wie einem Universalprozessor, einem Spezialprozessor, einem Digitalsignalprozessor (DSP), einer integrierten Schaltung (IC), einer anwendungsspezifischen integrierten Schaltung (ASIC), einer feldprogrammierbaren Gatteranordnung (FPGA) oder einer anderen programmierbaren Logikvorrichtung, einer diskreten Gatter- oder Transistorlogik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon, die zum Durchführen einer oder mehrerer der hierin beschriebenen Merkmale oder Funktionen ausgelegt sind, implementiert oder durchgeführt werden. Ein Universalprozessor (der hierin auch als Hostprozessor oder einfach als Host bezeichnet werden kann) kann ein Mikroprozessor sein, aber alternativ kann es sich auch um einen beliebigen herkömmlichen Prozessor, eine Steuerung, einen Mikrocontroller oder eine Zustandsmaschine handeln. Ein Prozessor kann auch als eine Kombination von Rechenvorrichtungen, wie eine Kombination aus einem DSP und einem Mikroprozessor, eine Vielzahl von Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration implementiert sein. Ein Universalcomputer einschließlich eines Prozessors gilt als ein Spezialcomputer, während der Universalcomputer so konfiguriert ist, dass er Rechenanweisungen (z. B. einen Softwarecode) ausführt, die sich auf Ausführungsformen der vorliegenden Offenbarung beziehen.
  • Die Ausführungsformen können in Bezug auf einen Prozess beschrieben sein, der als ein Flussdiagramm, ein Fließschema, ein Strukturdiagramm oder ein Blockdiagramm dargestellt ist. Obwohl ein Flussdiagramm operationale Handlungen als einen sequentiellen Prozess beschreiben kann, können viele dieser Handlungen in einer anderen Abfolge, parallel oder im Wesentlichen gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Handlungen geändert werden. Ein Prozess kann einem Verfahren, einem Thread, einer Funktion, einer Prozedur, einer Subroutine, einem Unterprogramm, einer anderen Struktur oder Kombinationen davon entsprechen. Des Weiteren können die hierin offenbarten Verfahren in Hardware, Software oder beidem implementiert werden. Bei Implementierung in Software können die Funktionen als eine oder mehrere Anweisungen oder als Code auf computerlesbaren Medien gespeichert oder übertragen werden. Computerlesbare Medien schließen sowohl Computerspeichermedien als auch Kommunikationsmedien, einschließlich aller Medien, welche die Übertragung eines Computerprogramms von einem Ort zu einem anderen unterstützen, ein.
  • Jede Bezugnahme auf ein Element hierin unter Verwendung einer Bezeichnung, wie „erste/r/s“, „zweite/r/s“ usw. schränkt die Menge oder Reihenfolge dieser Elemente nicht ein, es sei denn, eine solche Einschränkung wird ausdrücklich angegeben. Vielmehr können diese Bezeichnungen hierin als ein zweckmäßiges Verfahren zum Unterscheiden zwischen zwei oder mehr Elementen oder Instanzen eines Elements verwendet werden. Eine Bezugnahme auf ein erstes und ein zweites Element bedeutet also nicht, dass dort nur zwei Elemente eingesetzt werden dürfen oder dass das erste Element dem zweiten Element in irgendeiner Weise vorausgehen muss. Außerdem kann ein Satz von Elementen, sofern nicht anders angegeben, ein oder mehrere Elemente umfassen.
  • Wie hierin verwendet, bedeutet der Begriff „im Wesentlichen“ in Bezug auf einen gegebenen Parameter, eine gegebene Eigenschaft oder eine gegebene Bedingung und schließt in einem für den Durchschnittsfachmann verständlichen Ausmaß ein, dass der gegebene Parameter, die gegebene Eigenschaft oder die gegebene Bedingung mit einem geringen Maß an Varianz, wie zum Beispiel innerhalb annehmbarer Fertigungstoleranzen, erfüllt ist. Beispielhaft kann in Abhängigkeit von dem bestimmten Parameter, der bestimmten Eigenschaft oder der bestimmten Bedingung, der bzw. die im Wesentlichen erfüllt ist, der Parameter, die Eigenschaft oder die Bedingung zu mindestens 90 % erfüllt, zu mindestens 95 % erfüllt oder sogar zu mindestens 99 % erfüllt sein.
  • Auto-/Steuersysteme (z. B. industrielle Steuersysteme) werden zum Steuern des Betriebs von zum Beispiel Prozessen und/oder Maschinen verwendet und sind in der Regel an verschiedene Steueranwendungen durch Konfiguration und Verbindung mehrerer Steuersystemkomponenten oder -vorrichtungen (z. B. Steuermodule, Eingabe-/Ausgabemodule (E/A-Module), E/A-Vorrichtungen, ohne Einschränkung) anpassbar. Manche Steuersysteme können einen Prozessor einschließen, der ein Steuerprogramm ausführt, um mit einem E/A-System (z. B. in der Regel ein oder mehrere E/A-Module oder -Vorrichtungen) zu interagieren, um Systeminformationen in Form von analogen und/oder digitalen Eingaben von Feldsensoren zu empfangen und (analoge und/oder digitale) Ausgaben für eine oder mehrere Aktuatoren bereitzustellen. Steuersysteme können mit Verwaltungsinformationen und anderen Systemen in einer Fertigungsanlage verbunden sein und können betreibbar mit einer beliebigen Anzahl von Kommunikationsnetzwerken verbunden sein, um zusätzlich zur Prozess-/Maschinensteuerungsfunktionalität verschiedene Verwaltungsfunktionen (z. B. Bestandskontrolle, Buchhaltung, Fertigungssteuerung, ohne Einschränkung) zu erleichtern.
  • Der Wunsch nach einer Integration von Geschäfts- und Steuernetzwerkstrukturen zur Verbindung von Steuersystemen mit allgemeinen Systemen sowie die Erweiterung und Entwicklung von Ethernet (z. B. im Schaltmodus mit Vollduplex-Fähigkeit) haben es ermöglicht, dass Ethernet-Netzwerke (z. B. wie Ethernet/Internet-Protokoll-Netzwerke, die eine direkte Verbindung von Feldgeräten mit einem Ethernet-Netzwerk ermöglichen) in verschiedenen Anwendungen (z. B. in industriellen Anwendungen) weit verbreitet sind.
  • Time-Sensitive Networking (TSN) ist ein Satz von Standards, die von der Aufgabengruppe Time-Sensitive Networking der IEEE 802.1-Arbeitsgruppe entwickelt wurden bzw. derzeit entwickelt werden. TSN-Standards zielen darauf ab, die Netzwerk-Verzögerungseigenschaften, die Robustheit, die Zuverlässigkeit, die Redundanz und die Fähigkeit zum Erkennen von Fehlern zu verbessern, sodass Ethernet für Echtzeitsteuerung und sicherheitskritische Anwendungen verwendet werden kann. IEEE 802.1CB („Frame Replication and Elimination for Reliability“) und IEC 62439-3 („High-Availability Seamless Redundancy“ (HSR) und „Parallel Redundancy Protocol“ (PRP)) führen Redundanz und Fehlerminderung ein, was für bestimmte Steueranwendungen unter Verwendung von Frame-Replikation und Duplikateliminierung wichtig ist.
  • Eine Erhöhung der Verfügbarkeit einer Netzwerkfunktion kann beispielsweise durch redundante Implementierungen der Netzwerkfunktion erreicht werden. Zum Beispiel sind in Fällen von Netzwerkredundanz (z. B. unter Verwendung von redundanten Grandmastern nach IEEE 1588 oder IEEE 802.1AS) zwei funktionale Einheiten Teil eines Netzwerks und können identische Funktionen durchführen, haben aber unterschiedliche Netzwerkidentitäten. In diesem Beispiel kann ein Zeitsteuerungs-Slave für einen Grandmaster gesperrt werden, und bei einem Ausfall des Grandmasters oder bei Nichtverfügbarkeit des Pfades für den Grandmaster kann der Zeitsteuerungs-Slave wählen, ob er ein Slave eines anderen Grandmasters wird. In diesem Fall werden Frames (z. B. SYNC-Frames oder sogenannte „Announce“-Frames, ohne Einschränkung) von den Grandmastern mit Sequenznummern gesendet, die für jede Netzwerk-Identität spezifisch sind.
  • 1 zeigt ein Netzwerk 100, das eine Vorrichtung 102 einschließt, die mit einer Vorrichtung 104 gekoppelt ist. Die Vorrichtung 102 kann konfiguriert sein, um einen Frame 103 über redundante Kommunikationswege eines Netzwerks an die Vorrichtung 104 zu übermitteln. Insbesondere kann an der Vorrichtung 102 eine Sequenznummer in den Frame 103 eingefügt werden, und der Frame 103 kann über einen ersten Pfad 108 und einen zweiten Pfad 110 zur Vorrichtung 104 übermittelt werden. In dem Fall, dass die Vorrichtung 104 beide Kopien des Frames 103 empfängt, kann eine Kopie des Frames 103 (z. B. die zeitlich später empfangene Kopie) von der Vorrichtung 104 verworfen werden.
  • In einigen Netzwerken (z. B. in hochverfügbaren Automatisierungsnetzwerken, wie in der Prozessindustrie (z. B. in einer Chemieanlage)) kann eine Ausrüstungsredundanz erforderlich sein. In Fällen von Ausrüstungsredundanz weist eine funktionale Einheit in einem Netzwerk zwei oder mehr redundante Ausrüstungsinstanzen auf. Redundante Ausrüstungsinstanzen können physisch gemeinsam angeordnet sein oder durch ein Netzwerk voneinander getrennt werden. Ein Beispiel ist die Verwendung des Virtual Router Redundancy Protocol (VRRP, IETF RFC 3768), das zwei Router für einen Host als einen erscheinen lässt.
  • Ausrüstungsredundanz kann unter Verwendung von 1:1/1+1 und im Allgemeinen N:M/N+M-Schemata implementiert werden, wobei N:M anzeigt, dass N Einheiten in Bereitschaft und M Einheiten aktiv sind, und N+M anzeigt, dass alle Einheiten mit einer Überkapazität von N aktiv sind. Im Fall von 1:1 wird in der Regel ein Aktiv/Bereitschafts-Schema verwendet, bei dem eine Ausrüstung aktiv und die andere passiv ist (z. B. keine Frames erzeugt), während 1+1 ein Aktiv/Aktiv-Schema verwendet, bei dem beide Ausrüstungseinheiten aktiv sind (z. B. beide Frames erzeugen). In beiden Fällen, wenn der Betrieb bei einem Ausrüstungsausfall nahtlos aufrechterhalten werden soll und eine Funktion Frames erzeugen soll, die Sequenznummern einschließen, müssen die Sequenznummerngeneratoren an den redundanten Ausrüstungseinheiten koordiniert werden. Ein Beispiel hierfür ist die Erzeugung von Synchronisierungsframes (SYNC-Frames), wobei eine aktive Ausrüstungseinheit die Sequenznummer p erzeugt und der nächste SYNC-Frame von einer redundanten Ausrüstungseinheit mit der Sequenznummer p+1 erzeugt wird. Ein weiteres Beispiel schließt die Erzeugung redundanter Frames für die Netzwerkredundanz ein, wie nach IEEE 802.1CB, IEC 62439-3 PRP und HSR und IEC 61458-6 MRPD, wobei eine Ausrüstungseinheit einen Frame erzeugt und die andere Einheit einen redundanten Frame erzeugt, die beide die gleiche Sequenznummer aufweisen.
  • 2 veranschaulicht ein Netzwerk 200, das die Vorrichtungen 202A und 202B und eine Vorrichtung 204 einschließt. In diesem Beispiel kann die Vorrichtung 202A (z. B. eine erste Ausrüstung) konfiguriert sein, um einen Frame 203A über einen Pfad 208 über ein Netzwerk an die Vorrichtung 204 zu übermitteln, und die Vorrichtung 202B (z. B. eine zweite Ausrüstung) kann konfiguriert sein, um einen Frame 203B über einen Pfad 210 über das Netzwerk an die Vorrichtung 204 zu übermitteln. Ferner kann an jeder der Vorrichtung 202A und 202B eine Sequenznummer in einen zugeordneten Frame eingefügt werden, bevor der Frame zur Vorrichtung 204 übermittelt wird. Der von der Vorrichtung 202A zur Vorrichtung 204 übermittelte Frame 203A ist identisch oder unterscheidet sich geringfügig von dem von der Vorrichtung 202B zur Vorrichtung 204 übermittelten Frame 203B. Zum Beispiel können die zur Vorrichtung 204 übermittelten Frames 203A und 203B unterschiedliche Ethernet-Header aufweisen (z. B. aus Gründen der Weiterleitung durch ein Netzwerk), jedoch werden die Konfigurations-Frames 203A und 203B von der Vorrichtung 204 als „identisch“ betrachtet. Ferner ist die an der Vorrichtung 202A in den Frame eingefügte Sequenznummer identisch mit der an der Vorrichtung 202B in den Frame eingefügten Sequenznummer. In dem Fall, dass die Vorrichtung 204 sowohl Frame 203A als auch Frame 203B empfängt, kann entweder Frame 203A oder Frame 203B (z. B. die Kopie des zeitlich später empfangenen Frames) von der Vorrichtung 204 verworfen werden.
  • Sequenznummern, die monoton ansteigende Werte aufweisen, können für verschiedene Zwecke verwendet werden, wie die Angabe einer aktuellen Anzahl bestätigter Bytes (z. B. gemäß TCP, IETF RFC 793-Protokoll) oder die Zählung eines Ereignisses (z. B. eine Anzahl übertragener SYNC-Frames (z. B. gemäß IEEE 1588)). Ein technisches Problem, das vom Erfinder dieser Offenbarung erkannt wurde, besteht darin, wie identische Sequenznummern in mehreren Frames von redundanten Ausrüstungseinheiten erzeugt werden können, sodass ein Endsystem nicht merkt, dass die Frames nicht von derselben Ausrüstungseinheit stammen, und dass das Endsystem nach dem Empfang einer Anzahl von Frames eine ordnungsgemäße Funktion (z. B. IEEE 802.1CB Frame-Eliminierung) durchführen kann.
  • Die Erzeugung identischer Sequenznummern in einer Anazhl von Vorrichtungen (d. h. zwei Ausrüstungseinheiten) ist möglich, wenn die Sequenznummer von der Tageszeit (TOD) abgeleitet wird, zu der das Ereignis erfolgt, unter der Annahme, dass jede der Anzahl von Vorrichtungen TOD-synchronisiert ist. In ereignisbasierten Systemen (d. h. unter Verwendung von ereignisbasierten Sequenznummern) können die Sequenznummern fortlaufend sein (während TOD-Systeme Sequenznummern überspringen können), sodass es möglich wird, eine Anzahl gesendeter Pakete zu zählen.
  • Ferner benötigen ereignisbasierte Systeme gegebenenfalls keine TOD-Formate und können infolgedessen zeitbasierte Probleme (z. B. Schaltsekundenanpassungen) vermeiden.
  • Verschiedene Ausführungsformen, wie nachstehend ausführlicher beschrieben, beziehen sich auf die Synchronisierung von Sequenznummern in Netzwerken. Insbesondere beziehen sich verschiedene Ausführungsformen auf die Synchronisierung von Sequenznummern, die in Netzwerken verwendet werden, die eine Ausrüstungsredundanz einschließen (z. B. Netzwerke, die Netzwerkredundanzprotokolle verwenden). Es versteht sich, dass verschiedene Ausführungsformen der vorliegenden Offenbarung in ereignisbasierten Systemen und/oder Netzwerken implementiert werden können (z. B. wobei eine Sequenznummer eine Ereigniszählung darstellen kann). Zum Beispiel können verschiedene Ausführungsformen den Betrieb eines Netzwerks (z. B. Netzwerk 200 von 2) verbessern.
  • In einigen Ausführungsformen kann die Koordinierung der Erzeugung von Sequenznummern für die Ereigniszählung in zwei oder mehr Ausrüstungen (d. h. zwei oder mehr Vorrichtungen), beispielsweise über die Konfiguration einer oder mehrerer definierter Zeiten (z. B. definierte Zeit(en) TR, erfolgen; siehe 4A), worin ein Sequenznummerngenerator (z. B. ein Zähler, ohne Einschränkung) an jeder Ausrüstung zurückgesetzt wird (z. B. auf einen ganzzahligen Wert N). Da in diesen Ausführungsformen die Anzahl der von jeder Ausrüstung erzeugten Frames im Wesentlichen identisch ist, kann die Sequenznummer an jeder Ausrüstung identisch fortschreiten.
  • In einigen Ausführungsformen kann eine Anzahl von definierten Zeiten, zu denen jede Ausrüstung zurückgesetzt wird, über ein Verwaltungssystem spezifiziert (z. B. eingestellt oder programmiert, ohne Einschränkung) oder durch ein Master-Slave-Protokoll spezifiziert werden, bei dem eine Vorrichtung mit dem höchsten oder niedrigsten Bezeichner eine Master-Rolle übernimmt und die Anzahl der definierten Zeiten verteilt. Andere Protokolle als Master-Slave-Protokolle gehen nicht über den Schutzumfang dieser Offenbarung hinaus.
  • 3 zeigt ein System (hierin auch als „Netzwerk“ bezeichnet) 300, das eine Vorrichtung (hierin auch als „Ausrüstung“, „Einheit“ oder „Ausrüstungseinheit“ bezeichnet) 302A, eine Vorrichtung (hierin auch als „Ausrüstung“, „Einheit“ oder „Ausrüstungseinheit“ bezeichnet) 302B, eine Vorrichtung (hierin auch als „Endsystem“ oder „Endvorrichtung“ bezeichnet) 304, einen Frame 306A und einen Frame 306B einschließt. Es versteht sich, dass in manchen Beispielen eine der Vorrichtungen 302A und 302B zum Beispiel als eine „Ausrüstung“ oder eine „Vorrichtung“ und die andere der Vorrichtungen 302A und 302B zum Beispiel als eine „redundante Ausrüstung“, „redundante Ausrüstungsinstanz"oder eine „redundante Vorrichtung“ bezeichnet werden kann. Ferner können die Vorrichtung 302A und die Vorrichtung 302B hierin kollektiv als „redundante Einheiten“ oder „redundante Instanzen“ bezeichnet werden. Zum Beispiel kann jede der Vorrichtung 302A und der Vorrichtung 302B einen Knotenelementabschnitt 400 einschließen, der in 4A veranschaulicht ist.
  • Gemäß einigen Ausführungsformen ist die Vorrichtung 302A konfiguriert, um Frame 306A zu erzeugen, und die Vorrichtung 302B ist konfiguriert, um Frame 306B zu erzeugen, der gleich oder ähnlich dem Frame 306A ist. Mit anderen Worten können die Frames 306A und 306B gleich oder geringfügig unterschiedlich sein. Zum Beispiel können Frames 306A und 306B unterschiedliche Ethernet-Header aufweisen (z. B. aus Gründen der Weiterleitung durch ein Netzwerk), jedoch können Frames 306A und 306B durch die Konfiguration von der Vorrichtung 304 als „identisch“ betrachtet werden. Zum Beispiel kann jede der Vorrichtung 302A und der Vorrichtung 302B ähnlich konfiguriert sein und die gleichen oder ähnliche Eingaben empfangen, um dieselben oder ähnliche Frames zu erzeugen, wie es von einem Durchschnittsfachmann verstanden wird.
  • Gemäß verschiedenen Ausführungsformen können die Vorrichtungen 302A und 302B konfiguriert sein, um identische Sequenznummern (z. B. im Wesentlichen gleichzeitig) zu erzeugen. Mit anderen Worten können Sequenznummern, die von den Vorrichtungen 302A und 302B erzeugt werden, synchronisiert werden. Insbesondere kann gemäß einigen Ausführungsformen jede der Vorrichtung 302A und der Vorrichtung 302B jeweils einen Sequenzzähler (in 3 nicht gezeigt) einschließen, z. B. Sequenzzähler 406 von 4A, ohne Einschränkung, der zum Inkrementieren und Ausgeben einer Sequenznummer („Zählwert“) konfiguriert. Ferner kann, wie nachstehend ausführlicher beschrieben, jede der Vorrichtung 302A und Vorrichtung 302B so konfiguriert sein, dass sie ihre jeweilige erzeugte Sequenznummer in einen zugeordneten Frame einfügt. Insbesondere kann die Vorrichtung 302A so konfiguriert sein, dass sie eine Sequenznummer in den Frame 306A einfügt, und die Vorrichtung 302B kann so konfiguriert sein, dass sie eine Sequenznummer in den Frame 306B einfügt. Wie in 3 veranschaulicht, weisen die Frames 306A und 306B die gleiche Sequenznummer auf (d. h. Seq. Nr. = P).
  • Darüber hinaus kann jede der Vorrichtung 302A und Vorrichtung 302B so konfiguriert sein, dass sie einen zugeordneten Frame an die Vorrichtung 304 (z. B. über einen Bus) überträgt, der die jeweiligen eingefügten Sequenznummern einschließt. In einigen Ausführungsformen sind die Vorrichtung 302A und 302B TOD-synchronisiert, und somit können die Vorrichtung 302A und die Vorrichtung 302B so konfiguriert sein, dass sie einen zugeordneten Frame etwa zur gleichen Zeit übertragen. Wie nachstehend ausführlicher beschrieben, können zur Koordinierung eines Sequenzzählers an Vorrichtung 302A und eines Sequenzzählers an Vorrichtung 302B die jeweiligen Sequenzzähler als Reaktion auf ein Ereignis zurückgesetzt werden (z. B. ein Rücksetzereignis, wie ein Stromversorgungszyklus, ein Zeitsteuerungsereignis (z. B. ein periodisches Zurücksetzen) und/oder eine oder mehrere andere definierte Zeiten für ein Zurücksetzen).
  • 4A veranschaulicht einen Knotenelementabschnitt 400 gemäß verschiedenen Ausführungsformen für die vorliegende Offenbarung. Zum Beispiel kann jede der Vorrichtung 302A und der Vorrichtung 302B von 3 jeweilige Instanzen des Knotenelementabschnitts 400 einschließen. 4B veranschaulicht ein Open Systems Interconnection-Modell (OSI-Modell) 450, das eine Anzahl von Schichten einschließt, einschließlich einer Anwendungsschicht, einer Präsentationsschicht, einer Sitzungsschicht, einer Transportschicht, einer Netzwerkschicht, einer Datenverknüpfungsschicht und einer physikalischne Schicht. Es versteht sich, dass ein OSI-Modell ein konzeptionelles Framework ist, das die Funktionen eines Netzwerk- oder Telekommunikationssystems beschreibt.
  • Unter Bezugnahme auf 4A kann der Knotenelementabschnitt 400, der als nicht einschränkendes Beispiel ein Element der physikalischen Schicht (PHY) und/oder ein Element der Medienzugriffssteuerung (MAC) einschließen oder darin enthalten sein kann, so konfiguriert sein, dass er einen Frame 402 empfängt oder erzeugt (z. B. zu einem bestimmten Zeitpunkt und/oder als Reaktion auf ein Ereignis). Es versteht sich, dass insbesondere der Frame 402 (hierin auch als „Daten-Frame“ bezeichnet) Daten (z. B. Daten aus der Datenspeicherung und/oder Eingabedaten) einschließen kann und z. B. über einen oder mehrere Prozessoren erzeugt werden kann. Zum Beispiel kann der Frame 402 ganz oder teilweise in einer PHY-Schicht oder einer Datenverknüpfungsschicht von einem PHY-Element oder MAC-Element eines Knotens erzeugt werden. Die Erzeugung des Frames 402, ganz oder teilweise, in anderen Schichten als den physikalischen und der Datenverknüpfungsschichten, in mehreren Schichten, zwischen den in der Regel als Netzwerkschichten verstandenen Schichten (z. B. einer Schnittstellenunterschicht, ohne Einschränkung) oder außerhalb eines Netzwerkstapels vom OSI-Modelltyp geht nicht über den Schutzumfang dieser Offenbarung hinaus.
  • Der Knotenelementabschnitt 400 kann ferner einen Ereignisgenerator 404, einen Sequenzzähler 406 (durch 4A als „Zähler 406“ dargestellt), die Logik 408, die Logik 410 und den TOD-Zähler 412 einschließen. Der Ereignisgenerator 404 kann so konfiguriert sein, dass er als Reaktion auf ein Frame-Ereignis (d. h. als Reaktion auf den Empfang und/oder die Erzeugung des Frames 402 (d. h. am Knotenelementabschnitt 400)) einen Impuls (z. B. ein Ereignissignal 420) erzeugt. Es versteht sich, dass der Sequenzzähler 406 ferner einen gespeicherten Zählwert (z. B. um eins) für jedes vom Ereignisgenerator 404 empfangene Ereignissignal 420 inkrementieren kann. Ferner kann der Sequenzzähler 406 (z. B. als Reaktion auf ein empfangenes Ereignissignal 420) den Zählwert (d. h. über das Signal 422) an die Logik 408 (hierin auch als „Zähleinfügungslogik“ bezeichnet) übermitteln, die so konfiguriert sein kann, dass sie den Zählwert als Sequenznummer in einen verfügbaren Abschnitt (z. B. Bits oder Bytes) des Frames 402 einfügt. Zum Beispiel kann der Zählwert, der eine aktuelle Anzahl von Frame-Ereignissen anzeigt (z. B. eine Anzahl von Frames, die am Knotenelementabschnitt 400 seit dem letzten Zurücksetzen/Initialisieren erzeugt und/oder empfangen wurden), als Sequenznummer in den Frame 402 eingefügt werden (z. B. wenn der Frame 402 eine zugeordnete Stufe einer Verarbeitungspipeline passiert). Ferner kann die Logik 408 so konfiguriert sein, dass sie eine Sequenznummer in den Frame 402 mit einem bestimmten Offset (z. B. vom Beginn des Frames 402) einfügt.
  • In einigen nicht einschränkenden Ausführungsformen kann der Sequenzzähler 406 logisch auf einer oder mehreren Schichten des OSI-Modells 450 (siehe 4B) arbeiten, wie auf der Datenverknüpfungsschicht (d. h. Schicht 2), auf der Netzwerkschicht (d. h. Schicht 3) und/oder einer oder mehreren anderen Schichten des OSI-Modells 450.
  • Der TOD-Zähler 412, der (z. B. nach IEEE 1588 (Precision Time Protocol)) mit einer Netzwerk-Hauptuhr (nicht gezeigt) synchronisiert werden kann, kann einen TOD-Zählerstand 411 an die Logik 410 übermitteln. Zum Beispiel kann der TOD-Zähler 412 einen Zähler (z. B. einen Nanosekundenzähler) einschließen, der so konfiguriert ist, dass er jede spezifizierte Anzahl von Nanosekunden (z. B. 1, 2, 10, 100, ohne Einschränkung) einen Impuls (d. h. den TOD-Zähler 411) ausgibt. Die Logik 410, die eine Anzahl vordefinierter Zeiten einschließen und/oder darauf zugreifen kann, von denen jede als vordefinierte Zeit TR bezeichnet wird (z. B. 23h:59m:59s, 11h:59m:59s, 07hr:59m:59s, ohne Einschränkung), kann so konfiguriert sein, dass die TOD-Zählung 411 mit jeder der vordefinierten Zeiten TR verglichen wird. Insbesondere kann zum Beispiel die Logik 410 eine Vergleichslogik einschließen, die so konfiguriert ist, dass sie die TOD-Zählung 411 mit einer oder mehreren vordefinierten Zeiten TR 415 vergleicht (z. B. können die vordefinierten Zeiten TR in einer Datenbank enthalten sein). Ferner kann die Logik 410 als Reaktion darauf, dass die TOD-Zählung 411 mit einer beliebigen der vordefinierten Zeiten TR 415 übereinstimmt, ein Rücksetzsignal 424 (z. B. einen Impuls) an den Sequenzzähler 406 übertragen, und als Reaktion auf das Rücksetzsignal 424 kann der Sequenzzähler 406 auf einen anfänglichen vorbestimmten Zählwert zurückgesetzt werden.
  • Die Logik 410 kann so konfiguriert sein, dass sie ein Rücksetzsignal 424 an den Sequenzzähler 406 überträgt, zusätzlich oder alternativ zur TOD-Zählung 411, die mit einer beliebigen der definierten Zeiten TR übereinstimmt, als Reaktion auf ein empfangenes Signal 413, das ein Zurücksetzen der Stromversorgung anzeigt (z. B. einen Stromversorgungszyklus eines zugeordneten Netzwerks anzeigt, unabhängig davon, ob ein Stromversorgungszyklus tatsächlich erfolgt ist oder nicht). Es versteht sich ferner, dass der Sequenzzähler 406 zurückgesetzt werden kann, indem alle Bits (d. h. alle Ausgaben eines oder mehrerer Flip-Flops) des Sequenzzählers 406 auf einen spezifischen Wert (z. B. Null oder einen anderen anfänglichen vorbestimmten Zählwert) eingestellt werden.
  • Insbesondere können ein oder mehrere Elemente des Knotenelementabschnitts 400 in denselben oder in verschiedenen Kommunikationsschichten implementiert werden (z. B. gemäß dem OSI-Modell 450, ohne Einschränkung). Als nicht einschränkendes Beispiel können der Ereignisgenerator 404, der Sequenzzähler 406, der TOD-Zähler 412 und die Logik 410 in einer Datenverknüpfungsschicht (z. B. in einem MAC-Element, ohne Einschränkung) und die Logik 408 in der Datenverknüpfungsschicht oder einer physikalischen Schicht (z. B. in einem PHY-Element, ohne Einschränkung) implementiert sein. Andere Anordnungen zwischen verschiedenen Schichten gehen nicht über den Schutzumfang dieser Offenbarung hinaus.
  • 5 ist ein Flussdiagramm eines beispielhaften Verfahrens 500 zum Betreiben eines Knotenelements (z. B. Knotenelementabschnitt 400 von 4A) (z. B. einer einzelnen Ausrüstung, wie Vorrichtung 302A von 3). Am Block 502 wird ein Frame erzeugt (z. B. an der Vorrichtung), und das Verfahren 500 kann mit Block 504 fortfahren. Am Block 504 wird eine Sequenznummer bestimmt (z. B. an der Vorrichtung über einen Sequenzzähler, wie den Sequenzzähler 406 von 4A), und das Verfahren 500 kann mit Block 506 fortfahren. Zum Beispiel kann als Reaktion auf die Erzeugung des Frames am Block 504 die Sequenznummer um eins inkrementiert werden (d. h. die Sequenznummer kann gleich einer vorherigen Sequenznummer + 1 sein (z. B. Sequenznummer = Sequenznummer + 1)), und die Sequenznummer kann vom Sequenzzähler ausgegeben werden. Am Block 506 kann die Sequenznummer in den Frame eingefügt werden (z. B. über Logik 408 von 4A), und das Verfahren 500 kann mit Block 508 fortfahren. Am Block 508 kann der Frame übertragen werden (z. B. von der Vorrichtung zu einer anderen Vorrichtung (z. B. dem Endsystem 304) über einen Bus).
  • Gemäß einigen Ausführungsformen kann ein Sequenznummerngenerator initialisiert oder eine Sequenznummer kann zurückgesetzt werden, indem ein Sequenzzähler (z. B. der Sequenzzähler 406 von 4A) als Reaktion auf ein Rücksetzereignis (z. B. ein Zeitsteuerungsereignis) zurückgesetzt wird. 6A zeigt beispielsweise ein Flussdiagramm eines beispielhaften Verfahrens 600 zur Auslösung einer Sequenznummernzurücksetzung gemäß verschiedenen Ausführungsformen der Offenbarung. Am Block 602 kann eine Variable ZURÜCKSETZEN (z. B. das Rücksetzsignal 424 von 4A) gleich einem ersten Wert sein (z. B. Null (d. h. ZURÜCKSETZEN = 0), d. h. die Variable ZURÜCKSETZEN ist NIEDRIG oder UNBESTÄTIGT), und das Verfahren 600 kann mit Block 604 fortfahren.
  • Am Block 604 kann bestimmt werden, ob ein Rücksetzereignis (z. B. ein Zeitsteuerungsereignis) erfolgt ist oder nicht. Wenn ein Rücksetzereignis erfolgt ist, kann das Verfahren 600 mit Block 606 fortfahren. Wenn ein Rücksetzereignis nicht erfolgt ist, kann das Verfahren 600 zum Block 602 zurückkehren.
  • Am Block 606 wird die Variable ZURÜCKSETZEN gleich einem zweiten Wert (z. B. eins (d. h. ZURÜCKSETZEN = 1), d. h. die Variable ZURÜCKSETZEN ist HOCH oder BESTÄTIGT) für eine Zeitdauer PERIODE eingestellt, und das Verfahren kann zu Block 602 zurückkehren. Zum Beispiel ist die Zeitdauer PERIODE eine ausreichende Zeitdauer, sodass ein Zählwert des Sequenzzählers (Sequenzzähler 406 von 4A) auf die ganze Zahl N zurückgesetzt werden kann (z. B. N = 0 oder ein anderer anfänglicher vorbestimmter Zählwert). Es wird darauf hingewiesen, dass die Vorgänge des Verfahrens 600 in einer Anzahl von Netzwerkvorrichtungen (z. B. Vorrichtung 302A und Vorrichtung 302B von 3) (z. B. im Wesentlichen gleichzeitig) durchgeführt werden können.
  • 6B ist ein Flussdiagramm eines beispielhaften Verfahrens 650 zum Initialisieren eines Sequenznummergenerators oder Zurücksetzen einer Sequenznummer als Reaktion auf ein Zurücksetzen gemäß verschiedenen Ausführungsformen der Offenbarung. Es wird darauf hingewiesen, dass die Vorgänge des Verfahrens 650 in einer Anzahl von Netzwerkvorrichtungen (z. B. Vorrichtung 302A und Vorrichtung 302B von 3) (z. B. im Wesentlichen gleichzeitig) durchgeführt werden können.
  • Am Block 652 kann bestimmt werden, ob eine Variable ZURÜCKSETZEN HOCH ist oder nicht (d. h. ZURÜCKSETZEN = 1?). Zum Beispiel kann bestimmt werden, ob eine Ausgabe der Logik 410 (z. B. Rücksetzsignal 424 - siehe 4A), die an den Sequenzzähler 406 übermittelt wird, HOCH ist. Wenn bestimmt wird, dass die Variable ZURÜCKSETZEN HOCH ist, kann das Verfahren 650 mit Block 654 fortfahren, wo eine Sequenznummer (z. B. des Sequenzzählers 406) gleich der ganzen Zahl N eingestellt werden kann (z. B. N = 0 oder ein anderer anfänglich vorbestimmter Zählwert). Wenn bestimmt wird, dass die Variable ZURÜCKSETZEN NIEDRIG ist, kann das Verfahren 650 zu Block 652 zurückkehren.
  • 7 ist ein Flussdiagramm eines beispielhaften Verfahrens 700 zum Betreiben eines Knotenelements an jeder einer Anzahl von Vorrichtungen (d. h. zwei Ausrüstungseinheiten, wie z. B. Vorrichtung 302A und Vorrichtung 302B von 3) eines Netzwerks gemäß verschiedenen Ausführungsformen der Offenbarung. Zumindest ein Abschnitt des Verfahrens 700 kann in einigen Ausführungsformen von einer Vorrichtung oder einem System wie dem System 300 von 3, dem Knotenelementabschnitt 400 von 4A oder einer anderen Vorrichtung oder einem anderen System durchgeführt werden. Obwohl als diskrete Blöcke veranschaulicht, können verschiedene Blöcke, je nach gewünschter Implementierung, in zusätzliche Blöcke unterteilt, zu weniger Blöcken kombiniert oder eliminiert werden.
  • An jedem der Blöcke 702A und 702B wird ein Frame erzeugt oder empfangen, und das Verfahren 700 kann mit Block 704 fortfahren. Insbesondere wird beispielsweise am Block 702A ein Frame (z. B. eine erste Instanz von Frame 402) an einer ersten Vorrichtung (z. B. an der Vorrichtung 302A von 3) erzeugt, und am Block 702B wird ein Frame (z. B. eine zweite Instanz von Frame 402) an einer zweiten Vorrichtung (z. B. an der Vorrichtung 302B von 3) erzeugt. Zum Beispiel können die an den Blöcken 702A und 702B erzeugten Frames 402 gleich oder ähnlich sein, und zumindest in diesen Ausführungsformen können die an den Blöcken 702A und 702B erzeugten Frames als „identisch“ angesehen werden (z. B. von einer empfangenden Vorrichtung). Ferner sind gemäß einiger Ausführungsformen die erste Vorrichtung und die zweite Vorrichtung TOD-synchronisiert, und die an den Blöcken 702A und 702B erzeugten/empfangenen Frames können etwa zur gleichen Zeit erzeugt/empfangen werden. Zum Beispiel kann jeder Frame über ein anderes Knotenelement erzeugt werden (z. B. Knotenelementabschnitt 400 von 4A), das ähnlich konfiguriert und synchronisiert ist.
  • An jedem der Blöcke 704A und 704B wird eine Sequenznummer bestimmt, und das Verfahren 700 kann mit Block 706 fortfahren. Zum Beispiel kann als Reaktion auf die Erzeugung des Frames die Sequenznummer um eins inkrementiert werden (d. h. die Sequenznummer kann gleich einer vorherigen Sequenznummer + 1 sein (z. B. Sequenznummer = Sequenznummer + 1)), und die Sequenznummer kann von einem Sequenzzähler ausgegeben werden (z. B. Sequenzzähler 406 von 4A). Zum Beispiel kann die Sequenznummer ein Zählwert des Sequenzzählers eines Knotenelements (z. B. Knotenelementabschnitt 400 von 4A) sein. Gemäß verschiedenen hierin offenbarten Ausführungsformen sind die an den Blöcken 704A und 704B bestimmten Sequenznummern identisch.
  • An jedem der Blöcke 706A und 706B kann die bestimmte Sequenznummer in den Frame (d. h. den im zugeordneten Block 702 erzeugten Frame) eingefügt werden, und das Verfahren 700 kann mit Block 708 fortfahren. Zum Beispiel kann am Block 706A die am Block 704A bestimmte Sequenznummer in den Frame an der ersten Vorrichtung (z. B. Vorrichtung 302A von 3) eingefügt werden, und am Block 706B kann die am Block 704B bestimmte Sequenznummer in den Frame an der zweiten Vorrichtung (z. B. Vorrichtung 302B von 3) eingefügt werden. Zum Beispiel kann die bestimmte Sequenznummer über eine Logik (z. B. Logik 408 in 4) in den Frame (z. B. Frame 402 von 4) eingefügt werden.
  • An jedem der Blöcke 708A und 708B können die Frames übertragen werden, die jeweilige synchronisierte Sequenznummern einschließen. Zum Beispiel kann am Block 708A der an der ersten Vorrichtung (z. B. Vorrichtung 302A von 3) erzeugte Frame über die erste Vorrichtung auf einen Bus übertragen werden (z. B. an ein Endsystem (z. B. Vorrichtung 304 von 3)), und der an der zweiten Vorrichtung (z. B. Vorrichtung 302B von 3) erzeugte Frame kann über die zweite Vorrichtung auf einen Bus übertragen werden (z. B. an ein Endsystem (z. B. Vorrichtung 304 von 3)).
  • Modifikationen, Ergänzungen oder Auslassungen können an dem Verfahren 700 vorgenommen werden, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel können die Vorgänge des Verfahrens 700 in unterschiedlicher Reihenfolge implementiert werden. Des Weiteren werden die skizzierten Vorgänge und Aktionen nur als Beispiele bereitgestellt, und einige der Vorgänge und Aktionen können optional, zu weniger Vorgängen und Aktionen kombiniert oder zu zusätzlichen Vorgängen und Aktionen erweitert sein, ohne das Wesen der offenbarten Ausführungsform zu beeinträchtigen.
  • In einigen Ausführungsformen kann eine Sequenznummer bei einer Anzahl von Vorrichtungen (z. B. zwei oder mehr) als Reaktion auf ein Ereignis (z. B. ein Zeitsteuerungsereignis und/oder ein Stromversorgungsrücksetzereignis) zurückgesetzt werden (d. h. auf eine ganze Zahl). Insbesondere kann gemäß einigen Ausführungsformen als Reaktion auf ein Zeitsteuerungsereignis, bei dem eine aktuelle Netzwerkzeit (die z. B. eine Tageszeit anzeigt) gleich einer vordefinierten Zeit (z. B. einer programmierten Zeit) ist, eine Sequenznummer einer Anzahl von Vorrichtungen (z. B. zwei oder mehr Vorrichtungen) eines Netzwerks zurückgesetzt werden (d. h. auf den anfänglichen vorbestimmten Zählwert, der unter der Anzahl von Vorrichtungen gemeinsam ist). Ferner kann gemäß einer weiteren Ausführungsform als Reaktion auf das Zurücksetzen der Stromversorgung (hierin auch als „Stromversorgungszyklus“ bezeichnet) (z. B. des Netzwerks) eine laufende Sequenznummer einer Anzahl von Vorrichtungen (z. B. zwei oder mehr Vorrichtungen) des Netzwerks zurückgesetzt werden (d. h. auf den anfänglich vorbestimmten gemeinsamen Zählwert). 8 ist beispielsweise ein Flussdiagramm eines beispielhaften Verfahrens 800 zur Auslösung einer Sequenznummernzurücksetzung gemäß verschiedenen Ausführungsformen der Offenbarung. Es wird darauf hingewiesen, dass die Vorgänge des Verfahrens 800 in einer Anzahl von Netzwerkvorrichtungen (z. B. Vorrichtung 302A und Vorrichtung 302B von 3) (z. B. im Wesentlichen gleichzeitig) durchgeführt werden können.
  • Am Block 802 kann eine Variable ZURÜCKSETZEN gleich einem ersten Wert sein (z. B. einem NIEDRIG oder UNBESTÄTIGT, ZURÜCKSETZEN = 0), und das Verfahren 800 kann mit Block 804 fortfahren. Zum Beispiel kann die Variable ZURÜCKSETZEN eine Ausgabe der Logik 410 von 4A sein, die dem Sequenzzähler 406 als Rücksetzsignal 424 bereitgestellt wird.
  • Am Block 804 kann bestimmt werden, ob ein Stromversorgungszyklus erfolgt ist oder nicht. Zum Beispiel kann die Logik 410 von FIG. 410 das Signal 413 empfangen, das anzeigt, ob ein Stromversorgungszyklus erfolgt ist oder nicht. Zum Beispiel kann das empfangene Signal 413 als Reaktion auf einen Stromversorgungszyklus HOCH sein oder von einem ersten Zustand in einen zweiten Zustand wechseln. Wenn ein Stromversorgungszyklus erfolgt ist, kann das Verfahren 800 mit Block 808 fortfahren. Wenn ein Stromversorgungszyklus nicht erfolgt ist, kann das Verfahren 800 mit Block 806 fortfahren.
  • Am Block 806 kann bestimmt werden, ob ein Zeitsteuerungsereignis erfolgt ist oder nicht. Insbesondere kann bestimmt werden, ob eine aktuelle Netzwerkzeit gleich einer oder mehreren vordefinierten Zeiten ist (z. B. vordefinierte Zeiten TR 415, gezeigt in 4A). Zum Beispiel kann die Logik 410 von 4A so konfiguriert sein, dass sie die TOD-Zählung 411 vom TOD-Zähler 412 empfängt, die TOD-Zählung 411 mit einer oder mehreren vordefinierten Zeiten vergleicht und basierend auf dem Vergleich bestimmt, ob ein Zeitsteuerungsereignis erfolgt ist oder nicht. Wenn die aktuelle Netzwerkzeit gleich einer der vordefinierten Zeiten ist, ist ein Zeitsteuerungsereignis erfolgt und das Verfahren 800 kann mit Block 808 fortfahren. Wenn die aktuelle Netzwerkzeit nicht gleich einer der vordefinierten Zeiten ist (d. h. ein Zeitsteuerungsereignis ist nicht erfolgt) kann das Verfahren 800 zu Block 802 zurückkehren.
  • Am Block 808 wird die Variable ZURÜCKSETZEN für eine Zeitdauer PERIODE auf einen zweiten Wert eingestellt (z. B. auf einen HOCH- oder BESTÄTIGT-Wert, ZURÜCKSETZEN = 1), und das Verfahren 800 kann zum Block 802 zurückkehren. Zum Beispiel kann die Logik 410 der 4A das Rücksetzsignal 424 als Impuls erzeugen (z. B. ein HOCH-Variable-ZURÜCKSETZEN), der am Sequenzzähler 406 empfangen werden kann. Ferner kann zum Beispiel als Reaktion auf den Empfang des Rücksetzsignals 424 von der Logik 410 der Sequenzzähler 406 zurückgesetzt werden, indem alle Bits (d. h. alle Ausgaben eines oder mehrerer Flipflops des Sequenzzählers 406) auf eine ganze Zahl (z. B. N = 0 oder einen anderen anfänglichen vorbestimmten Zählwert) eingestellt werden. Zum Beispiel ist die Zeitdauer PERIODE eine ausreichende Zeitdauer, sodass ein Zählwert des Sequenzzählers (Sequenzzähler 406 von 4A) auf die ganze Zahl N zurückgesetzt werden kann (z. B. N = 0 oder ein anderer anfänglicher vorbestimmter Zählwert).
  • Modifikationen, Ergänzungen oder Auslassungen können an dem Verfahren 800 vorgenommen werden, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel können die Vorgänge des Verfahrens 800 in unterschiedlicher Reihenfolge implementiert werden. Des Weiteren werden die skizzierten Vorgänge und Aktionen nur als Beispiele bereitgestellt, und einige der Vorgänge und Aktionen können optional, zu weniger Vorgängen und Aktionen kombiniert oder zu zusätzlichen Vorgängen und Aktionen erweitert sein, ohne das Wesen der offenbarten Ausführungsform zu beeinträchtigen. Zum Beispiel können die Vorgänge an den Blöcken 804 und 806 ausgetauscht werden. Als weiteres Beispiel kann der Vorgang am Block 804 weggelassen werden, und das Verfahren 800 kann von Block 802 zu Block 808 fortfahren.
  • Zum Beispiel können Frames in einer Anzahl M von Vorrichtungen eines Netzwerks (z. B. einige oder alle Vorrichtungen des Netzwerks) mit einer Rate R erzeugt werden, die zum Zeitpunkt Ts beginnt (z. B. werden Frames zu TOD = Ts, Ts + 1/R, Ts + 2*1/R usw. übertragen). Die Frame-Erzeugungszeit TG für die j-te Vorrichtung ist TG, j. Die maximale Differenz in der Erzeugungszeit, Max (TG, j - TG, k), mit j= 1...M und k = 1...M, j ≠ k, wird als viel kleiner als 1/R angenommen. Erfolgt ein Zurücksetzen zum Rücksetzzeitpunkt TR = Ts + N* 1/R, d. h. zum Frame-Erzeugungszeitpunkt, kann eine in den Frame eingefügte Sequenznummer unbestimmt sein. In einigen Ausführungsformen kann zur Vermeidung gleichzeitiger Vorgänge zur Frame-Erzeugung und zum Zurücksetzen von Sequenznummern in zumindest einigen Vorrichtungen eines Netzwerks ein Zurücksetzen um einen Teil von 1/R nach einem Frame-Erzeugungszeitpunkt verschoben werden. Insbesondere können gemäß zumindest einigen Ausführungsformen eine oder mehrere definierte Zeiten TR zwischen den Frame-Erzeugungszeiten liegen (z. B. TR = Ts + ½* 1/R + N*1/R).
  • 9A und 9B zeigen ein Flussdiagramm eines beispielhaften Verfahrens 900 zur Synchronisierung von Sequenznummern für eine Anzahl von Vorrichtungen (d. h. zwei Ausrüstungseinheiten, wie die Vorrichtungen 302A und 302B aus 3) eines Netzwerks gemäß verschiedenen Ausführungsformen der Offenbarung. Das Verfahren 900 kann gemäß mindestens einer in der vorliegenden Offenbarung beschriebenen Ausführungsform durchgeführt werden. Mindestens ein Abschnitt des Verfahrens 900 kann in einigen Ausführungsformen durch eine Vorrichtung oder ein System, wie das System 300, den Knotenelementabschnitt 400 oder eine andere Vorrichtung oder ein anderes System, durchgeführt werden. Obwohl als diskrete Blöcke veranschaulicht, können verschiedene Blöcke, je nach gewünschter Implementierung, in zusätzliche Blöcke unterteilt, zu weniger Blöcken kombiniert oder eliminiert werden.
  • Am Block 902 kann ein Rücksetzereignis sowohl an einer ersten Vorrichtung als auch an einer zweiten Vorrichtung eines Netzwerks erkannt werden, und das Verfahren 900 kann mit Block 904 fortfahren. Zum Beispiel kann die Logik 410 von 4A ein Zeitsteuerungsereignis erkennen (z. B. beim Empfang der TOD-Zählung 411 vom TOD-Zähler 412).
  • Am Block 904 kann sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung eine zugeordnete Sequenznummer als Reaktion auf das Rücksetzereignis auf einen anfänglichen vorbestimmten Zählwert zurückgesetzt werden, wobei der anfängliche vorbestimmte Zählwert der ersten und zweiten Vorrichtung gemeinsam ist, und das Verfahren 900 kann mit Block 906 fortfahren. Zum Beispiel kann die Sequenznummer als Reaktion auf ein Zeitsteuerungsereignis (z. B. wenn die aktuelle Netzwerkzeit gleich einer definierten Zeit TR ist) auf eine ganze Zahl zurückgesetzt werden (z. B. N = 0 oder ein anderer anfänglich vorbestimmter Zählwert).
  • Am Block 906 kann sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung ein Frame für die Übertragung erzeugt werden, und das Verfahren 900 kann mit Block 908 fortfahren. Ein über die erste Vorrichtung erzeugter Frame kann im Wesentlichen mit einem über die zweite Vorrichtung erzeugten Frame identisch sein. Zum Beispiel kann der Frame (z. B. Frame 402 von 4A) über ein Knotenelement (z. B. Knotenelementabschnitt 400 von 4A) erzeugt werden.
  • Am Block 908 kann sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung die zugeordnete Sequenznummer als Reaktion auf die Erzeugung des zugeordneten Frames inkrementiert werden, und das Verfahren 900 kann mit Block 910 fortfahren. Zum Beispiel kann eine Sequenznummer über den Sequenzzähler 406 von 4A als Reaktion auf den Empfang eines Ereignissignals 420 (z. B. eines Impulses) vom Ereignisgenerator 404 inkrementiert werden.
  • Am Block 910 kann sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung die zugeordnete Sequenznummer bestimmt werden, die eine Anzahl von Frames anzeigt, die an der zugeordneten Vorrichtung seit dem Rücksetzereignis von Block 904 erzeugt und/oder empfangen wurden, und das Verfahren 900 kann mit Block 912 fortfahren. Insbesondere kann die Sequenznummer, die eine Anzahl von Frames anzeigt, die seit dem jüngsten Rücksetz- oder Initialisierungsereignis an einem Knotenelement (z. B. Knotenelementabschnitt 400 von 4A) erzeugt und/oder empfangen wurden, über einen Zähler bestimmt werden (z. B. Sequenzzähler 406 von 4).
  • Am Block 912 kann die zugeordnete Sequenznummer in einen zugeordneten Frame sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung eingefügt werden, und das Verfahren 900 kann mit Block 914 fortfahren. Zum Beispiel kann die Sequenznummer über eine Logik (z. B. Logik 408 in 4A) in einen verfügbaren Abschnitt eines Frames (z. B. Frame 402 in 4A) eingefügt werden.
  • Am Block 914 kann sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung der Frame, der eine Sequenznummer einschließt, übertragen werden, und das Verfahren 900 kann mit Block 916 fortfahren. Zum Beispiel kann ein zugeordneter Frame von der ersten Vorrichtung und der zweiten Vorrichtung an ein Endsystem (z. B. Endsystem 304) übertragen werden (z. B. über einen Bus).
  • Am Block 916 kann ein erster Frame, der die Sequenznummer einschließt und von der ersten Vorrichtung (z. B. der Vorrichtung 302A von 3) übertragen wird, und ein zweiter Frame, der die Sequenznummer einschließt und von der zweiten Vorrichtung (z. B. der Vorrichtung 302B von 3) übertragen wird, an einem Endsystem (z. B. dem Endsystem 304 von 3) empfangen werden, und das Verfahren 900 kann mit Block 918 fortfahren.
  • Am Block 918 kann am Endsystem entweder der erste Frame oder der zweite Frame verworfen werden. Insbesondere weil der erste Frame und der zweite Frame identische Sequenznummern einschließen, kann das Endsystem entweder den ersten Frame oder den zweiten Frame verwerfen.
  • Modifikationen, Ergänzungen oder Auslassungen können an dem Verfahren 900 vorgenommen werden, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Zum Beispiel können die Vorgänge des Verfahrens 900 in unterschiedlicher Reihenfolge implementiert werden. Des Weiteren werden die skizzierten Vorgänge und Aktionen nur als Beispiele bereitgestellt, und einige der Vorgänge und Aktionen können optional, zu weniger Vorgängen und Aktionen kombiniert oder zu zusätzlichen Vorgängen und Aktionen erweitert sein, ohne das Wesen der offenbarten Ausführungsform zu beeinträchtigen.
  • Wie in der vorliegenden Offenbarung verwendet, können sich die Begriffe „Modul“ oder „Komponente“ auf spezifische Hardware-Implementierungen beziehen, die konfiguriert sind, um die Aktionen des Moduls oder der Komponente und/oder Softwareobjekte oder Softwareroutinen durchzuführen, die auf Universalhardware (z. B. computerlesbaren Medien, Verarbeitungsvorrichtungen, etc.) des Rechensystems gespeichert und/oder von dieser ausgeführt werden können. In einigen Ausführungsformen können die verschiedenen Komponenten, Module, Engines und Dienste, die in der vorliegenden Offenbarung beschrieben sind, als Objekte oder Prozesse implementiert werden, die auf dem Rechensystem ausgeführt werden (z. B. als separate Threads). Obwohl einige der in der vorliegenden Offenbarung beschriebenen Systeme und Verfahren allgemein als in Software implementiert (gespeichert auf und/oder ausgeführt durch Universalhardware) beschrieben sind, sind spezifische Hardware-Implementierungen oder eine Kombination von Software und spezifischen Hardware-Implementierungen ebenfalls möglich und werden in Betracht gezogen.
  • Wie in der vorliegenden Offenbarung verwendet, kann der Begriff „Kombination“ in Bezug auf eine Vielzahl von Elementen eine Kombination aller Elemente oder eine beliebige von verschiedenen unterschiedlichen Unterkombinationen einiger der Elemente einschließen. Zum Beispiel kann die Phrase „A, B, C, D oder Kombinationen davon“ Bezug nehmen auf eines von A, B, C oder D; die Kombination von jedem von A, B, C und D; und jede Unterkombination von A, B, C oder D, wie A, B und C; A, B und D; A, C und D; B, C und D; A und B; A und C; A und D; B und C; B und D; oder C und D.
  • Begriffe, die in der vorliegenden Offenbarung und insbesondere in den beiliegenden Ansprüchen verwendet werden (z. B. Inhalte der beiliegenden Ansprüche), sind im Allgemeinen als „offene“ Begriffe gedacht (z. B. sollte der Begriff „einschließlich“ als „einschließlich‟, jedoch nicht beschränkt auf interpretiert werden, der Begriff „aufweisend“ sollte als „mindestens aufweisend“ interpretiert werden, der Begriff „schließt ein“ sollte als „schließt‟ ein, ist jedoch nicht beschränkt auf interpretiert werden usw.).
  • Darüber hinaus wird, wenn eine bestimmte Anzahl von einer eingeführten Anspruchsangabe beabsichtigt ist, diese Absicht ausdrücklich im Anspruch genannt, und in Ermangelung dieser Nennung liegt keine solche Absicht vor. Als Verständnishilfe können zum Beispiel die folgenden beiliegenden Ansprüche die Verwendung der einleitenden Phrasen „mindestens eine/r/s“ und „eine/r/s oder mehrere“ zum Einführen von Anspruchsangaben enthalten. Die Verwendung solcher Formulierungen sollte jedoch nicht dahingehend ausgelegt werden, dass sie impliziert, dass die Einführung einer Anspruchsangabe durch die unbestimmten Artikel „ein“ oder „eine“ einen bestimmten Anspruch, der eine solche eingeführte Anspruchsangabe enthält, auf Ausführungsformen beschränkt, die nur eine solche Angabe enthalten, selbst wenn derselbe Anspruch die einleitenden Phrasen „eine/r/s oder mehrere“ oder „mindestens eine/r/s“ und unbestimmte Artikel wie „ein“ und/oder „eine“ einschließt (z. B. sollten „ein“ und/oder „eine“ so interpretiert werden, dass sie „mindestens ein/e“ oder „ein/e oder mehrere“ bedeutet); gleiches gilt für die Verwendung von bestimmten Artikeln, die zur Einführung von Anspruchsangaben verwendet werden.
  • Darüber hinaus wird, selbst wenn eine bestimmte Anzahl von eingeführten Anspruchsangabe explizit genannt wird, der Fachmann erkennen, dass eine solche Angabe dahingehend interpretiert werden sollte, dass mindestens die angegebene Anzahl gemeint ist (z. B. bedeutet die bloße Angabe von „zwei Angaben“ ohne andere Modifikatoren mindestens zwei Angaben oder zwei oder mehr Angaben). Des Weiteren ist in den Fällen, in denen eine Konvention analog zu „mindestens eines von A, B und C usw.“ oder „eines oder mehrere von A, B und C usw.“ verwendet wird, eine solche Konstruktion im Allgemeinen A allein, B allein, C allein, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen usw. einschließen soll.
  • Ferner sollte jedes disjunkte Wort oder jede disjunkte Formulierung, das bzw. die zwei oder mehr alternative Begriffe darstellt, sei es in der Beschreibung, den Ansprüchen oder den Zeichnungen, dahingehend verstanden werden, dass die Möglichkeit des Einschließens eines der Begriffe, des einen oder des anderen Begriffs oder beider Begriffe in Betracht gezogen wird. Zum Beispiel sollte die Formulierung „A oder B“ so verstanden werden, dass sie die Möglichkeiten „A“ oder „B“ oder „A und B“ einschließt.
  • Obwohl die vorliegende Offenbarung hierin in Bezug auf bestimmte veranschaulichte Ausführungsformen beschrieben wurde, wird der Durchschnittsfachmann erkennen und anerkennen, dass die vorliegende Erfindung nicht darauf beschränkt ist. Vielmehr können viele Ergänzungen, Weglassungen und Modifikationen an den veranschaulichten und beschriebenen Ausführungsformen vorgenommen werden, ohne vom Schutzumfang der Erfindung, wie er nachfolgend zusammen mit ihren rechtlichen Äquivalenten beansprucht wird, abzuweichen. Darüber hinaus können Merkmale einer Ausführungsform mit Merkmalen einer anderen Ausführungsform kombiniert werden, aber dennoch noch innerhalb dem Schutzumfang der Erfindung enthalten sein, der durch den Erfinder in Betracht gezogen wird.
  • 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 62/982654 [0001]

Claims (20)

  1. Netzwerk, umfassend: eine erste Vorrichtung; und eine zweite Vorrichtung, die mit der ersten Vorrichtung tageszeitsynchronisiert (TOD-synchronisiert) ist, wobei sowohl die erste Vorrichtung als auch die zweite Vorrichtung konfiguriert sind zum: Erzeugen eines Frames zur Übertragung, wobei der über die zweite Vorrichtung erzeugte Frame im Wesentlichen identisch mit dem über die erste Vorrichtung erzeugten Frame ist; Inkrementieren eines Zählwerts als Reaktion auf die Erzeugung des zugeordneten Frames sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung, wobei der Zählwert an der ersten Vorrichtung derselbe ist wie der Zählwert an der zweiten Vorrichtung; Einfügen des Zählwerts in den zugeordneten Frame; Übertragen des zugeordneten Frames, der den Zählwert einschließt; und Zurücksetzen des Zählwerts auf einen vorbestimmten anfänglichen Zählwert als Reaktion auf ein Zeitsteuerungsereignis, das an der ersten Vorrichtung und an der zweiten Vorrichtung erkannt werden kann.
  2. Netzwerk nach Anspruch 1, wobei sowohl die erste Vorrichtung als auch die zweite Vorrichtung ferner so konfiguriert sind, dass sie einen oder mehrere definierte Zeiten mit einer aktuellen Netzwerkzeit vergleichen, um das Zeitsteuerungsereignis zu erkennen.
  3. Netzwerk nach Anspruch 1, wobei die erste Vorrichtung eine Master-Vorrichtung umfasst und die zweite Vorrichtung eine Slave-Vorrichtung umfasst, wobei die erste Vorrichtung so konfiguriert ist, dass sie das Zeitsteuerungsereignis definiert.
  4. Netzwerk nach Anspruch 1, wobei sowohl die erste Vorrichtung als auch die zweite Vorrichtung einen zugeordneten Sequenzzähler einschließt, um den Zählwert zu erzeugen.
  5. Netzwerk nach Anspruch 4, wobei sowohl die erste Vorrichtung als auch die zweite Vorrichtung so konfiguriert sind, dass sie als Reaktion auf das Zeitsteuerungsereignis ihren zugeordneten Sequenzzähler für eine ausreichende Zeitdauer zurücksetzen, sodass der Zählwert auf den anfänglichen vorbestimmten Zählwert zurückgesetzt wird.
  6. Netzwerk nach Anspruch 1, ferner umfassend eine dritte Vorrichtung, die konfiguriert ist zum: Empfangen eines ersten Frames, der den Zählwert aus der ersten Vorrichtung einschließt, Empfangen eines zweiten Frames, der den Zählwert aus der zweiten Vorrichtung einschließt, und Verwerfen von entweder des ersten Frames oder des zweiten Frames.
  7. Verfahren zum Synchronisieren von Sequenznummern bei einer Anzahl redundanter Vorrichtungen eines Netzwerks, wobei das Verfahren umfasst: Zurücksetzen einer Sequenznummer auf einen anfänglichen vorbestimmten Zählwert als Reaktion auf ein Rücksetzereignis sowohl an einer ersten Vorrichtung als auch einer zweiten Vorrichtung des Netzwerks; Erzeugen eines Frames zur Übertragung sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung, wobei der über die erste Vorrichtung erzeugte Frame im Wesentlichen identisch mit dem über die zweite Vorrichtung erzeugten Frame ist, Inkrementieren der Sequenznummer als Reaktion auf die Erzeugung des zugeordneten Frames sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung, wobei die Sequenznummer eine Anzahl von Frames anzeigt, die an der zugeordneten Vorrichtung seit dem Rücksetzereignis erzeugt wurden; und Einfügen der Sequenznummer in einen zugeordneten Frame sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung.
  8. Verfahren nach Anspruch 7, wobei das Zurücksetzen der Sequenznummer auf den anfänglich vorbestimmten Zählwert als Reaktion auf das Rücksetzereignis das Zurücksetzen der Sequenznummer als Reaktion auf ein Zeitsteuerungsereignis umfasst.
  9. Verfahren nach Anspruch 8, ferner umfassend das Erkennen des Zeitsteuerungsereignisses.
  10. Verfahren nach Anspruch 9, ferner umfassend das Vergleichen einer aktuellen Zeit mit einer definierten Zeit, wobei das Erkennen des Zeitsteuerungsereignisses das Erkennen des Zeitsteuerungsereignisses als Reaktion darauf umfasst, dass die aktuelle Zeit gleich der definierten Zeit ist.
  11. Verfahren nach Anspruch 8, ferner umfassend: Empfangen eines Signals, das eine aktuelle Netzwerkzeit anzeigt, sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung; und Vergleichen des Signals mit einem oder mehreren definierten Zeiten zum Erkennen des Zeitsteuerungsereignisses sowohl an der ersten Vorrichtung als auch an der zweiten Vorrichtung.
  12. Verfahren nach Anspruch 7, wobei das Inkrementieren der Sequenznummer das Inkrementieren der Sequenznummer über einen zugeordneten Sequenzzähler umfasst.
  13. Verfahren nach Anspruch 7, ferner umfassend das Übertragen eines zugeordneten Frames, der die Sequenznummer sowohl aus der ersten Vorrichtung als auch aus der zweiten Vorrichtung einschließt.
  14. Verfahren nach Anspruch 13, ferner umfassend: Empfangen eines ersten Frames, der die Sequenznummer aus der ersten Vorrichtung einschließt, an einem Endsystem; Empfangen eines zweiten Frames, der die Sequenznummer aus der zweiten Vorrichtung einschließt, an dem Endsystem; und Verwerfen entweder des ersten Frames oder des zweiten Frames an dem Endsystem.
  15. Ausrüstungseinheit in einem Kommunikationsbetrieb, umfassend: ein Knotenelement, das konfiguriert ist zum: Erzeugen eines Daten-Frames zur Übertragung; Inkrementieren eines Zählwerts als Reaktion auf die Erzeugung des Daten-Frames; Einfügen des Zählwerts in den Daten-Frame als eine Sequenznummer; Übertragen des Daten-Frames über einen Kommunikationsbus; und Zurücksetzen des Zählwerts auf einen anfänglichen vorbestimmten Zählwert als Reaktion auf ein Zeitsteuerungsereignis.
  16. Ausrüstungseinheit nach Anspruch 15, wobei das Knotenelement ferner so konfiguriert ist, dass es das Zeitsteuerungsereignis als Reaktion auf eine aktuelle Netzwerkzeit erkennt, die gleich einer definierten Zeit ist.
  17. Ausrüstungseinheit nach Anspruch 15, wobei das Knotenelement eine Logik umfasst, die konfiguriert ist zum: Empfangen eines Signals, das eine aktuelle Netzwerkzeit anzeigt; Vergleichen des Signals mit einer oder mehreren definierten Zeiten, um das Zeitsteuerungsereignis zu erkennen; und als Reaktion auf das Zeitsteuerungsereignis, Übermitteln eines zweiten Signals an einen Sequenzzähler, um den Sequenzzähler zurückzusetzen.
  18. Ausrüstungseinheit nach Anspruch 15, wobei das Knotenelement einen Sequenzzähler umfasst, der so konfiguriert ist, dass er den Zählwert als Reaktion auf die Erzeugung des Daten-Frames inkrementiert.
  19. Ausrüstungseinheit nach Anspruch 18, wobei das Knotenelement so konfiguriert ist, dass es den Sequenzzähler für eine ausreichende Zeitdauer zurücksetzt, sodass der Zählwert auf den anfänglich vorbestimmten Zählwert zurückgesetzt wird.
  20. Ausrüstungseinheit nach Anspruch 18, wobei das Knotenelement eine Logik einschließt, die so konfiguriert ist, dass sie den Zählwert von dem Sequenzzähler empfängt und den Zählwert in einen verfügbaren Abschnitt des Daten-Frames einfügt.
DE112020006396.8T 2020-02-27 2020-10-05 Synchronisierung von sequenznummern in einem netzwerk Pending DE112020006396T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062982654P 2020-02-27 2020-02-27
US62/982,654 2020-02-27
PCT/US2020/070616 WO2021173230A1 (en) 2020-02-27 2020-10-05 Synchronization of sequence numbers in a network

Publications (1)

Publication Number Publication Date
DE112020006396T5 true DE112020006396T5 (de) 2022-10-13

Family

ID=73198560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006396.8T Pending DE112020006396T5 (de) 2020-02-27 2020-10-05 Synchronisierung von sequenznummern in einem netzwerk

Country Status (5)

Country Link
US (2) US11108860B1 (de)
CN (1) CN115152184B (de)
DE (1) DE112020006396T5 (de)
TW (1) TW202137727A (de)
WO (1) WO2021173230A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956101B2 (en) * 2020-06-03 2024-04-09 Microchip Technology Incorporated Synchronization of elements in a network
EP4084416A1 (de) * 2021-04-30 2022-11-02 ABB Schweiz AG Überwachung eines kommunikationssystems zur verwendung für die steuerung und/oder überwachung eines industriellen prozesses

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943328A (en) * 1996-08-13 1999-08-24 Lucent Technologies Inc. Frame counter for synchronized communication
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
EP1355458B1 (de) * 2002-04-16 2005-09-21 ROBERT BOSCH GmbH Verfahren zur Datenübertragung in einem Kommunikationssystem
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
EP1657888A1 (de) * 2004-11-16 2006-05-17 Abb Research Ltd. Empfang von redundanten und nicht redundanten Rahmen
US20070053341A1 (en) * 2005-09-06 2007-03-08 Lizzi Ronald S System and method for synchronizing companion electronic devices
US20110161538A1 (en) * 2009-12-31 2011-06-30 Schneider Electric USA, Inc. Method and System for Implementing Redundant Network Interface Modules in a Distributed I/O System
JP6220863B2 (ja) * 2012-05-07 2017-10-25 マイクロチップ テクノロジー インコーポレイテッドMicrochip Technology Incorporated リセット条件トレース能力を伴うプロセッサデバイス
US20130343377A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Hash-based packet distribution in a computer system
US10681490B2 (en) * 2014-09-03 2020-06-09 CloudLeaf, Inc. Events based asset location and management system
US10320693B2 (en) * 2016-07-06 2019-06-11 Qualcomm Incorporated Method for packet data convergence protocol count synchronization
US10897710B2 (en) * 2017-05-01 2021-01-19 Analog Devices International Unlimited Company Disjoint security in wireless networks with multiple managers or access points
US11115927B2 (en) * 2017-10-02 2021-09-07 Fisher Controls International Llc Methods and apparatus to control communication data rates of low-energy devices
CN108173755B (zh) * 2017-12-08 2020-07-28 同济大学 一种时间敏感网络的帧的复制和消除方法
US11057157B2 (en) * 2018-06-29 2021-07-06 Hewlett Packard Enterprise Development Lp Transmission frame counter
CN110401670B (zh) * 2019-08-02 2021-09-24 杭州远流科技有限公司 一种优化的工业用串口协议的以太网透传方法

Also Published As

Publication number Publication date
US11632425B2 (en) 2023-04-18
TW202137727A (zh) 2021-10-01
US11108860B1 (en) 2021-08-31
WO2021173230A1 (en) 2021-09-02
US20210273994A1 (en) 2021-09-02
CN115152184B (zh) 2023-11-28
CN115152184A (zh) 2022-10-04
US20210385274A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
DE60311266T2 (de) Clock-synchronisationsmethode für fehlertolerante ethernet-netzwerke
DE112015004473T5 (de) Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
EP1648116B1 (de) Verfahren zur Übertragung von Daten in einem Kommunikationssystem
EP2263347B1 (de) Kommunikationssystem umfassend einen datenbus und mehrere daran angeschlossene teilnehmerknoten sowie verfahren zum betreiben eines solchen kommunikationssystems
DE102014108457B3 (de) Netzwerkverteiler
EP2803155B1 (de) Verfahren und vermittlungseinheit zur zuverlässigen vermittlung von synchronisationsnachrichten
DE112018005252T5 (de) System und verfahren zum klassifizieren und zeitstempeln von paketen
EP1648117A1 (de) Verfahren zur Synchronisation in einem redundanten Kommunikationssystem
DE112020006396T5 (de) Synchronisierung von sequenznummern in einem netzwerk
WO2006063922A1 (de) Synchronisiermodul
EP1875641A1 (de) Verfahren und vorrichtung zur synchronisation zweier bussysteme sowie anordnung aus zwei bussystemen
DE10000303A1 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
EP0701346A2 (de) Verfahren zur konsistenten Nachrichtenübertragung
DE10000304A1 (de) Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
DE112016006755T5 (de) Netzwerksystem, Kommunikationsvorrichtung und Kommunikationsverfahren
DE112020003976T5 (de) Ethernet-schnittstelle und zugehörige systeme, verfahren und vorrichtungen
EP3864780B1 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
EP2979379A1 (de) Verfahren zur zeitsynchronisation in einem kommunikationsnetz mit einer vielzahl von netzknoten
DE10327548B4 (de) Verfahren und Vorrichtung zum Austausch von Daten über ein Bussystem
EP1648104B1 (de) Kommunikationssystem und Verfahren zur Synchronisation desselben
AT514714A1 (de) Verfahren zur Übertragung von Nachrichten in einem Computernetzwerk sowie Computernetzwerk
EP2566110B1 (de) Verfahren zum Übertragen von Telegrammen in einem Automatisierungssystem
DE112021003685T5 (de) Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen
WO2002075992A2 (de) System und verfahren zur einführung von redundanzmechanismen in ein kommunikationssystem
DE112021003151T5 (de) Synchronisierung von elementen in einem netzwerk

Legal Events

Date Code Title Description
R012 Request for examination validly filed