DE102021213195A1 - Zeitbewusste universelle eingabe/ausgabe für industrielle steuerungssysteme - Google Patents

Zeitbewusste universelle eingabe/ausgabe für industrielle steuerungssysteme Download PDF

Info

Publication number
DE102021213195A1
DE102021213195A1 DE102021213195.6A DE102021213195A DE102021213195A1 DE 102021213195 A1 DE102021213195 A1 DE 102021213195A1 DE 102021213195 A DE102021213195 A DE 102021213195A DE 102021213195 A1 DE102021213195 A1 DE 102021213195A1
Authority
DE
Germany
Prior art keywords
edge
pattern
queue
rising
falling edges
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
DE102021213195.6A
Other languages
English (en)
Inventor
Christopher Shawn Michael Hall
Vikram Dadwal
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102021213195A1 publication Critical patent/DE102021213195A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39132Robot welds, operates on moving workpiece, moved by other robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45091Screwing robot, tighten or loose bolt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map

Abstract

Verschiedene Systeme und Verfahren zum Umsetzen zeitbewusster universeller Eingabe/Ausgabe (TGPIO) für industrielle Steuerungssysteme sind hier beschrieben. Ein System umfasst eine Flankendetektorschaltungsanordnung zum: Detektieren steigender oder fallender Flanken in einem Eingabesignal; und Speichern der steigenden oder fallenden Flanken in einem Puffer zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke; und eine Musteranpassungsschaltungsanordnung zum: Analysieren der steigenden oder fallenden Flanken in dem Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.

Description

  • TECHNISCHES GEBIET
  • Hier beschriebene Ausführungsformen betreffen allgemein digitale industrielle Steuerungshardwaresysteme und insbesondere ein System, das zeitbewusste universelle Eingabe/Ausgabe (TGPIO) für industrielle Steuerungssysteme bereitstellt.
  • HINTERGRUND
  • Edge-Computing bezieht sich auf einer allgemeinen Ebene auf den Übergang von Rechen- und Speicherungsressourcen näher an Endpunktvorrichtungen (z. B. Verbraucher-Datenverarbeitungsvorrichtungen, Benutzergerät usw.), um Gesamtkosten der Eigentümerschaft zu optimieren, eine Anwendungslatenz zu reduzieren, Dienstfähigkeiten zu verbessern und die Einhaltung von Sicherheits- oder Datenschutzanforderungen zu verbessern. Edge-Computing kann bei einigen Szenarien einen Cloud-ähnlichen verteilten Dienst bereitstellen, der Orchestrierung und Verwaltung für Anwendungen unter vielen Arten von Speicherungs- und Rechenressourcen bietet. Infolgedessen wurden manche Implementierungen von Edge-Computing als die „Edge-Cloud“ oder der „Fog“ bezeichnet, da leistungsstarke Datenverarbeitungsressourcen, die zuvor nur in großen Ferndatenzentren verfügbar waren, näher an Endpunkte verlagert und zur Verwendung durch Verbraucher am „Rand“ bzw. „Edge“ des Netzwerks verfügbar gemacht werden.
  • Edge-Computing-Verwendungsfälle in mobilen Netzwerkeinstellungen wurden zur Integration mit Edge-Computing-Ansätzen mit Mehrfachzugriff (MEC) entwickelt, die auch als „Mobiles Edge-Computing“ bezeichnet werden. MEC-Ansätze sind dazu ausgelegt, Anwendungsentwicklern und Inhaltsanbietern zu ermöglichen, auf Datenverarbeitungsfähigkeiten und eine Informationstechnologie- bzw. IT-Dienstumgebung in dynamischen mobilen Netzwerkeinstellungen am Rand des Netzes zuzugreifen. Begrenzte Standards wurden von der Industriespezifikationsgruppe (ISG) des European Telecommunications Standards Institute (ETSI) in einem Versuch entwickelt, gemeinsame Schnittstellen für den Betrieb von MEC-Systemen, Plattformen, Hosts, Diensten und Anwendungen zu definieren.
  • Edge-Computing, MEC, und verwandte Technologien versuchen, eine reduzierte Latenz, eine erhöhte Ansprechempfindlichkeit und mehr verfügbare Datenverarbeitungsleistung bereitzustellen, als sie in herkömmlichen Cloud-Netzwerkdiensten und Weitbereichsnetzwerkverbindungen angeboten werden. Die Integration von Mobilität und dynamisch gestarteten Diensten in manche Fälle der Mobilitätsnutzung und der Vorrichtungsverarbeitung hat jedoch zu Einschränkungen und Bedenken hinsichtlich Orchestrierung, funktioneller Koordination und Ressourcenverwaltung geführt, insbesondere in komplexen Mobilitätseinstellungen, in denen viele Teilnehmer (Einrichtungen, Hosts, Mandanten, Dienstanbieter, Betreiber) involviert sind.
    Auf ähnliche Weise sind IoT- (Internet of Things, Internet der Dinge) Netzwerke und - Einrichtungen dazu ausgelegt, eine verteilte Datenverarbeitungsanordnung aus einer Vielzahl von Endpunkten anzubieten. IoT-Einrichtungen sind physische oder virtualisierte Objekte, die in einem Netzwerk kommunizieren können und Sensoren, Aktoren und andere Eingabe-/Ausgabekomponenten beinhalten können, die verwendet werden können, um Daten zu sammeln oder Aktionen in einer realen Umgebung durchzuführen. IoT-Einrichtungen können beispielsweise Endpunkteinrichtungen mit geringem Leistungsverbrauch umfassen, die in alltägliche Dinge, wie Gebäude, Fahrzeuge, Pakete usw. eingebettet oder daran angebracht sind, um eine zusätzliche Ebene der künstlichen sensorischen Wahrnehmung dieser Dinge bereitzustellen. In letzter Zeit sind IoT-Einrichtungen immer beliebter geworden, und daher haben sich Anwendungen, die diese Einrichtungen verwenden, vermehrt.
  • Der Einsatz verschiedener Edge-, Fog-, MEC- und IoT-Netze, -Einrichtungen und - Dienste hat eine Anzahl fortgeschrittener Verwendungsfälle und -szenarien eingeführt, die am und zum Rand des Netzes hin auftreten. Diese fortgeschrittenen Verwendungsfälle haben jedoch auch eine Reihe entsprechender technischer Herausforderungen in Bezug auf Sicherheits-, Verarbeitungs- und Netzwerkressourcen, Dienstverfügbarkeit und Effizienz unter vielen anderen Problemen eingeführt, zumal mehr Typen von Datenverarbeitungssystemen und Konfigurationen eingesetzt werden. Eine solche Herausforderung ist in Bezug auf Sicherheit und Vertrauen und die Betriebszustände von Softwareprogrammen und Daten, wie in Speicher (z. B. DRAM-Speicher), Cache-Speicher (z. B. in einem Cache) oder Registern (z. B. CPU oder GPU) dargestellt.
  • Figurenliste
  • In den Zeichnungen, die nicht notwendigerweise maßstabsgetreu gezeichnet sind, können ähnliche Bezugszeichen ähnliche Komponenten in unterschiedlichen Ansichten beschreiben. Ähnliche Bezugszeichen mit unterschiedlichen Buchstabensuffixen können unterschiedliche Instanzen ähnlicher Komponenten darstellen. Einige Ausführungsformen sind beispielhaft und nicht beschränkend in den Figuren der begleitenden Zeichnungen veranschaulicht, in denen gilt:
    • 1 veranschaulicht einen Überblick über eine Edge-Cloudkonfiguration für Edge-Computing;
    • 2 veranschaulicht Betriebsschichten zwischen Endpunkten, einer Edge-Cloud und Cloud-Datenverarbeitungsumgebungen;
    • 3 veranschaulicht einen beispielhaften Ansatz für Netzwerk und Dienste in einem Edge-Computing-System;
    • 4A stellt einen Überblick über beispielhafte Komponenten zur Berechnung bereit, die an einem Berechnungsknoten in einem Edge-Computing-System bereitgestellt werden;
    • 4B stellt einen weiteren Überblick über beispielhafte Komponenten innerhalb einer Datenverarbeitungsvorrichtung in einem Edge-Computing-System bereit;
    • 5 ist ein Blockdiagramm, das ein zeitbewusstes universelles Eingabe/Ausgabe- bzw. TGPIO-System gemäß einer Ausführungsform veranschaulicht;
    • 6 ist ein Blockdiagramm, das eine Architektur zum Implementieren eines zeitbewussten universellen Eingabe/Ausgabe- bzw. TGPIO-Systems gemäß einer Ausführungsform veranschaulicht;
    • 7 ist ein Diagramm, das eine Reihe von Impulsen in einem Signal gemäß einer Ausführungsform veranschaulicht;
    • 8 ist ein Flussdiagramm, das einen TGPIO-Filterprozess gemäß einer Ausführungsform veranschaulicht;
    • 9 ist ein Flussdiagramm, das ein Verfahren zum Durchsuchen von TGPIO-Signalen nach Mustern gemäß einer Ausführungsform veranschaulicht;
    • 10 ist ein Blockdiagramm, das ein zeitbewusstes universelles Eingabe/Ausgabe- bzw. TGPIO-System gemäß einer Ausführungsform veranschaulicht;
    • 11 ist ein Flussdiagramm, das einen Prozess zum Verwalten einer TGPIO-Warteschlange gemäß einer Ausführungsform veranschaulicht;
    • 12 zeigt die Richtlinie zum Erhalten der N-ten ältesten Einträge in einer Warteschlange;
    • 13 ist ein Diagramm, das eine gruppeninterne Komprimierung gemäß einer Ausführungsform veranschaulicht;
    • 14 ist ein Flussdiagramm, das ein Verfahren zur Zeitstempelwarteschlangenverwaltung gemäß einer Ausführungsform veranschaulicht;
    • 15 ist ein Flussdiagramm, das ein Verfahren zur zeitbewussten universellen Eingabe-/Ausgabesignalkomprimierung gemäß einer Ausführungsform veranschaulicht; und
    • 16 ist ein Blockdiagramm, das eine beispielhafte Maschine, auf der eine oder mehrere der hierin erörterten Techniken (z. B. Methoden) durchgeführt werden können, gemäß einer Ausführungsform veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Hierin beschriebene Systeme und Verfahren stellen ein System bereit, das zeitbewusste universelle Eingabe/Ausgabe (TGPIO) für industrielle Steuerungssysteme bereitstellt. In verschiedenen Beispielen verbessern die hierin beschriebenen Systeme und Verfahren die Ereignishandhabung in einem TGPIO-System.
  • Ein GPIO ist ein digitaler Signalpin auf einer Elektronikplatine, dessen Verhalten, auch ob es als Eingabe oder Ausgabe fungiert, durch den Benutzer zur Laufzeit steuerbar ist. GPIO-Signale werden von Software verwendet, um Komponenten außerhalb der CPU zu steuern oder mit diesen zu kommunizieren. Eine Standard-GPIO- bzw. SGPIO-Signalisierungslogik hat nicht die Fähigkeit, Zeit zu erfassen, und die Genauigkeit der Signalzeitsteuerung ist durch die des auslösenden Softwareereignisses begrenzt. Jedes SGPIO-EREIGNIS muss auch einzeln durch Software ausgelöst werden, die CPU-Intervention erfordert, und kann zu Jitter führen.
  • Moderne Produkte beinhalten zeitbewusste GPIO- bzw. TGPIO-Hardware, die diese Einschränkungen durch Hinzufügen zusätzlicher Logik, die Eingabeereignisse abtastet und Zeitstempel in Bezug auf den Systemtakt mit Submikrosekundengenauigkeit erfasst, adressiert. Manche Architekturen verwenden den Always Running Timer (ART), um Ereignisse über das System einschließlich TGPIO hinweg zu synchronisieren.
  • Eine durch TGPIO verbesserte Anwendung ist die Herstellungssteuerung. Herstellungsprozesse erfordern eine Reihe von Schritten, die zeitlich genau und geordnet ausgeführt werden. TGPIO-Signalisierung kann zur präzisen (Submikrosekunden-)Steuerung verwendet werden. Diese Prozesse können maschinenübergreifend mittels TSN-Zeitsynchronisation synchronisiert werden. Der lokale TSN-Takt ist ebenfalls auf ART bezogen und wird unter Verwendung von Hardwarelogik mit TGPIO synchronisiert.
  • Zeitbewusstes GPIO wird zum Zeitstempeln erfasster Eingaben oder zum Erzeugen synchronisierter Ausgabesignale auf den GPIO-Pins verwendet. Insbesondere erfasst die TGPIO-Schnittstelle Eingabeereignisse (steigende und fallende Flanken) und zeitstempelt sie unter Verwendung von ART oder eines lokalen Vorrichtungstakts. Jedes dieser Ereignisse erzeugt eine Benachrichtigung, die durch Software verarbeitet werden muss. Diese Fähigkeit wird durch die Verwendung einer TGPIO-Warteschlange erreicht, die diese Ereignisse erfasst. Wenn eine Eingabe erfasst wird, liest Software die Ereignisse aus der Warteschlange, während sie durch die TGPIO-Vorrichtung gefüllt wird. Aktuelle Systeme weisen jedoch keinen Mechanismus zum Handhaben von Warteschlangenüberläufen auf. Stattdessen werden Warteschlangenereignisse fallen gelassen. Dies stellt für Anwendungen, die auf Ereignisse überwachen, eine schlechte Dienstgüte bereit.
  • Für viele Anwendungen können fallen gelassene Ereignisse katastrophal sein. Eine beispielhafte Anwendung liegt in einer Fahrzeugherstellungsstätte, die eine Roboterarmsteuerung verwendet, die präzise zeitgestempelte Werkzeugbewegungen und/oder Bauteilpositionen erfordert, wie etwa ein Roboterarm, der Schweißungen durchführt oder Bolzen oder Schrauben einführt. Falls Ereignisse ausgelassen werden, können fehlerhafte Produkte oder Ausfälle im gesamten System auftreten.
  • Die hier beschriebenen Systeme und Verfahren stellen eine verbesserte Warteschlangenverwaltung bereit, die CPU-Overhead und Warteschlangenüberlauf für TGPIO-Verarbeitung reduziert, indem benutzerspezifizierte Eingabeereignisse beim Komprimieren der Ereigniswarteschlange priorisiert werden. Dieser Mechanismus ermöglicht TGPIO-Hardware, Signale mit höherer Geschwindigkeit abzutasten, indem eine TGPIO-Ereignisverarbeitung intelligent auf Hardware abgeladen wird. Folglich stellt der Mechanismus einen höheren Durchsatz für Anwendungen bereit, die auf derselben Plattform laufen.
  • Zusätzlich dazu stellen die hier beschriebenen Systeme und Verfahren eine verbesserte Filtertechnik bereit, die in der Lage ist, komplexe zeitbewusste GPIO-Flankenmuster zu verwenden und nur benutzerspezifizierte Zeitstempel basierend auf diesen Mustern zu filtern und zu melden. Dies reduziert die CPU-Last, die zum Verarbeiten von Eingaben benötigt wird. Die Anwendung liefert ein Suchmuster als Eingabe in den Hardwarefilter, und der Hardwarefilter verwendet das Suchmuster, um Übereinstimmungen in der GPIO-Eingabe zu finden. Das Suchmuster kann in verschiedenen Ausführungsformen in Form eines regulären Ausdrucks, von Fuzzy-Logik-Regeln oder eines endlichen Automaten vorliegen.
  • 1 ist ein Blockdiagramm 100, das einen Überblick über eine Konfiguration für Edge-Computing zeigt, die eine Verarbeitungsschicht umfasst, die in vielen der folgenden Beispiele als eine „Edge-Cloud“ bezeichnet wird. Wie gezeigt, befindet sich die Edge-Cloud 110 gemeinsam an einem Randort, wie etwa einem Zugangspunkt oder einer Basisstation 140, einem lokalen Verarbeitungs-Hub 150 oder einer Zentrale 120, und kann somit mehrere Entitäten, Vorrichtungen und Geräteinstanzen aufweisen. Die Edge-Cloud 110 befindet sich viel näher an den Endpunkt(Verbraucher und Erzeuger)-Datenquellen 160 (z. B. autonome Fahrzeuge 161, Benutzergerät 162, Geschäfts- und Industriegerät 163, Videoaufnahmevorrichtungen 164, Drohnen 165, intelligente Städte und Gebäudevorrichtungen 166, Sensoren und IoT-Vorrichtungen 167 usw.) als das Cloud-Datenzentrum 130. Berechnungs-, Speicher- und Speicherungsressourcen, die an den Edges in der Edge-Cloud 110 angeboten werden, sind kritisch für das Bereitstellen von Antwortzeiten mit ultraniedriger Latenz für Dienste und Funktionen, die durch die Endpunktdatenquellen 160 verwendet werden, sowie für das Reduzieren von Netzwerk-Backhaul-Verkehr von der Edge-Cloud 110 zum Cloud-Datenzentrum 130, wodurch Energieverbrauch und Gesamtnetzwerknutzungen unter anderen Vorteilen verbessert werden.
  • Berechnung, Speicher und Speicherung sind knappe Ressourcen und nehmen im Allgemeinen in Abhängigkeit vom Edge-Ort ab (wobei z. B. weniger Verarbeitungsressourcen an Verbraucherendpunktvorrichtungen verfügbar sind als an einer Basisstation, als an einer Zentrale). Je näher sich der Edge-Ort jedoch am Endpunkt (z. B. Endgerät (UE)) befindet, desto mehr sind Raum und Leistung häufig eingeschränkt. Somit versucht Edge-Computing, die Menge an Ressourcen, die für Netzwerkdienste benötigt werden, durch die Verteilung von mehr Ressourcen zu reduzieren, die sich sowohl geografisch als auch in der Netzwerkzugriffszeit näher befinden. Auf diese Weise versucht Edge-Computing, die Berechnungsressourcen gegebenenfalls zu den Arbeitslastdaten zu bringen oder die Arbeitslastdaten zu den Berechnungsressourcen zu bringen.
  • Das Folgende beschreibt Aspekte einer Edge-Cloud-Architektur, die mehrere potenzielle Bereitstellungen abdeckt und Einschränkungen anspricht, die manche Netzbetreiber oder Dienstanbieter in ihren eigenen Infrastrukturen aufweisen können. Diese beinhalten Variation von Konfigurationen basierend auf dem Edge-Ort (weil Edges auf einer Basisstationsebene beispielsweise mehr eingeschränkte Leistungsfähigkeit und Fähigkeiten in einem Szenario mit mehreren Mandanten aufweisen können); Konfigurationen basierend auf der Art von Berechnung, Speicher, Speicherung, Fabric, Beschleunigung oder ähnlichen Ressourcen, die Edge-Orten, Stufen von Orten oder Gruppen von Orten zur Verfügung stehen; die Dienst-, Sicherheits- und Verwaltungs- und Orchestrierungsfähigkeiten; und zugehörige Ziele zum Erreichen der Nutzbarkeit und Leistungsfähigkeit von Enddiensten. Diese Einsätze können eine Verarbeitung in Netzwerkschichten bewerkstelligen, die in Abhängigkeit von Latenz-, Entfernungs- und Timing-Charakteristiken als „Near-Edge“-, „Close-Edge“-, „Local-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten betrachtet werden können.
  • Edge-Computing ist ein sich entwickelndes Paradigma, bei dem Datenverarbeitung an oder näher zur „Edge“ (Rand) eines Netzwerks durchgeführt wird, typischerweise durch die Verwendung einer Berechnungsplattform (z. B. x86 oder ARM-Berechnungshardwarearchitektur), die bei Basisstationen, Gateways, Netzwerkroutern oder anderen Vorrichtungen implementiert ist, die sich viel näher an Endpunkteinrichtungen befinden, die die Daten erzeugen und verbrauchen. Edge-Gateway-Server können zum Beispiel mit Pools von Seicher- und Speicherungsressourcen ausgestattet sein, um eine Berechnung in Echtzeit für Verwendungsfälle mit niedriger Latenz (z. B. autonomes Fahren oder Videoüberwachung) für verbundene Client-Vorrichtungen durchzuführen. Oder als ein Beispiel können Basisstationen mit Berechnungs- und Beschleunigungsressourcen erweitert werden, um Dienstarbeitslasten für angebundene Endgeräte direkt zu verarbeiten, ohne weiter Daten über Zubringernetzwerke zu kommunizieren. Oder als ein anderes Beispiel kann Zentralen-Netzwerkverwaltungshardware durch standardisierte Berechnungshardware ersetzt werden, die virtualisierte Netzwerkfunktionen durchführt und Berechnungsressourcen für die Ausführung von Diensten und Verbraucherfunktionen für verbundene Einrichtungen anbietet. Innerhalb von Edge-Computing-Netzwerken kann es Szenarien in Diensten geben, in denen die Berechnungsressource zu den Daten „verschoben“ wird, sowie Szenarien, in denen die Daten zu der Berechnungsressource „verschoben“ werden. Oder als ein Beispiel können Basisstationsberechnungs-, Beschleunigungs- und Netzwerkressourcen Dienste bereitstellen, um die Arbeitslastanforderungen nach Bedarf durch Aktivieren ruhender Kapazität (Subskription, Kapazität nach Bedarf) zu skalieren, um Eckfälle, Notfälle zu verwalten oder Langlebigkeit für eingesetzte Ressourcen über einen wesentlich längeren umgesetzten Lebenszyklus bereitzustellen.
  • 2 veranschaulicht Betriebsschichten unter Endpunkten, einer Edge-Cloud und Cloud-Berechnungsumgebungen. Insbesondere stellt 2 Beispiele für Berechnungsanwendungsfälle 205 dar, die die Edge-Cloud 110 unter mehreren veranschaulichenden Schichten der Netzwerkberechnung nutzen. Die Schichten beginnen bei einer Endpunktschicht (Vorrichtungen- und Dinge-Schicht) 200, die auf die Edge-Cloud 110 zugreift, um Datenanlegungs-, Analyse- und Datenverbrauchsaktivitäten auszuführen. Die Edge-Cloud 110 kann mehrere Netzwerkschichten überspannen, wie etwa eine Edge-Vorrichtungsschicht 210 mit Gateways, Vor-Ort-Servern oder Netzwerkgeräten (Knoten 215), die sich in physisch nahen Edge-Systemen befinden, eine Netzwerkzugangsschicht 220, umfassend Basisstationen, Funkverarbeitungseinheiten, Netzwerk-Hubs, regionale Datenzentren (DC) oder lokale Netzwerkgeräte (Geräte 225); und beliebige Geräte, Vorrichtungen oder Knoten, die sich dazwischen befinden (in Schicht 212, nicht ausführlich veranschaulicht). Die Netzwerkkommunikationen innerhalb der Edge-Cloud 110 und inmitten der verschiedenen Schichten können über eine beliebige Anzahl von drahtgebundenen oder drahtlosen Medien stattfinden, einschließlich über Konnektivitätsarchitekturen und Technologien, die nicht dargestellt sind.
  • Beispiele für Latenz, die aus Netzwerkkommunikationsentfernungs- und Verarbeitungszeitauflagen resultieren, können von weniger als einer Millisekunde (ms), wenn inmitten der Endpunktschicht 200, unter 5 ms an der Edge-Vorrichtungsschicht 210, bis sogar zwischen 10 und 40 ms, wenn mit Knoten an der Netzwerkzugangsschicht 220 kommuniziert wird, reichen. Jenseits der Edge-Cloud 110 befinden sich Schichten des Kernnetzwerks 230 und des Cloud-Datenzentrums 240, jeweils mit zunehmender Latenz (zum Beispiel zwischen 50 bis 60 ms an der Kernnetzwerkschicht 230 bis 100 oder mehr ms an der Cloud-Datenzentrumsschicht). Infolgedessen werden Operationen an einem Kernnetzwerk-Datenzentrum 235 oder einem Cloud-Datenzentrum 245 mit Latenzen von mindestens 50 bis 100 ms oder mehr nicht in der Lage sein, viele zeitkritische Funktionen der Verwendungsfälle 205 zu realisieren. Jeder dieser Latenzwerte wird zu Veranschaulichungs- und Kontrastzwecken bereitgestellt; es versteht sich, dass die Verwendung anderer Zugangsnetzwerkmedien und - technologien die Latenzen weiter reduzieren kann. In einigen Beispielen können jeweilige Teile des Netzwerks bezüglich einer Netzwerkquelle und einem Netzwerkziel als „Close-Edge“-, „Local-Edge“-, „Near-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten kategorisiert sein. Beispielsweise kann aus der Perspektive des Kernnetzwerk-Datenzentrums 235 oder eines Cloud-Datenzentrums 245 ein Zentralen- oder Inhaltsdatennetzwerk als innerhalb einer „Near-Edge“-Schicht („nahe“ an der Cloud, mit hohen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Verwendungsfälle 205 kommuniziert wird) befindlich betrachtet werden, wohingegen ein Zugangspunkt, eine Basisstation, ein Vor-Ort-Server oder ein Netzwerk-Gateway als innerhalb einer „Far-Edge“-Schicht („fern“ von der Cloud, mit niedrigen Latenzwerten, wenn mit den Vorrichtungen und Endpunkten der Verwendungsfälle 205 kommuniziert wird) befindlich betrachtet werden können. Es versteht sich, dass andere Kategorisierungen einer speziellen Netzwerkschicht als ein „Close“-, „Local“-, „Near“-, „Middle“- oder „Far“-Edge bildend auf Latenz, Entfernung, Anzahl von Netzwerksprüngen oder anderen messbaren Charakteristiken basieren können, wie von einer Quelle in einer beliebigen der Netzwerkschichten 200-240 gemessen.
  • Die diversen Verwendungsfälle 205 können auf Ressourcen unter Nutzungsdruck von eingehenden Strömen aufgrund mehrerer Dienste, die die Edge-Cloud nutzen, zugreifen. Um Ergebnisse mit niedriger Latenz zu erzielen, gleichen die Dienste, die innerhalb der Edge-Cloud 110 ausgeführt werden, variierende Voraussetzungen in Bezug auf Folgendes aus: (a) Priorität (Durchsatz oder Latenz) und Dienstgüte (QoS: Quality of Service) (z. B. kann Verkehr für ein autonomes Auto eine höhere Priorität als ein Temperatursensor hinsichtlich der Antwortzeitvoraussetzung aufweisen; oder eine Performanzempfindlichkeit/-engstelle kann an einer Berechnungs-/Beschleuniger-, Speicher-, Speicherungs- oder Netzwerkressource in Abhängigkeit von der Anwendung existieren); (b) Zuverlässigkeit und Widerstandsfähigkeit (z. B. müssen manche Eingangsströme bearbeitet und der Verkehr mit missionskritischer Zuverlässigkeit geleitet werden, wohingegen manche anderen Eingangsströme je nach Anwendung einen gelegentlichen Ausfall tolerieren können); und (c) physikalische Beschränkungen (z. B. Leistung, Kühlung und Formfaktor).
  • Die Ende-zu-Ende-Dienstansicht für diese Anwendungsfälle beinhaltet das Konzept eines Dienstflusses und ist mit einer Transaktion assoziiert. Die Transaktion gibt die Gesamtdienstanforderung für die Entität an, die den Dienst verbraucht, sowie die assoziierten Dienste für die Ressourcen, Arbeitslasten, Arbeitsabläufe und Geschäftsfunktions- und Geschäftsebenenanforderungen. Die Dienste, die mit den beschriebenen „Bedingungen“ ausgeführt werden, können in jeder Schicht auf eine Weise verwaltet werden, dass eine Echtzeit- und Laufzeitvertragskonformität für die Transaktion während des Lebenszyklus des Dienstes sichergestellt wird. Wenn eine Komponente in der Transaktion ihre vereinbarte SLA verfehlt, kann das System als Ganzes (Komponenten in der Transaktion) die Fähigkeit bereitstellen, (1) die Auswirkung der SLA-Verletzung zu verstehen und (2) andere Komponenten in dem System zu erweitern, um die gesamte Transaktions-SLA wiederaufzunehmen, und (3) Schritte zu implementieren, um Abhilfe zu schaffen.
  • Dementsprechend kann unter Berücksichtigung dieser Variationen und Dienstmerkmale Edge-Computing innerhalb der Edge-Cloud 110 die Fähigkeit bereitstellen, mehrere Anwendungen der Verwendungsfälle 205 (z. B. Objektverfolgung, Videoüberwachung, verbundene Autos usw.) in Echtzeit oder nahezu Echtzeit zu versorgen und auf diese zu reagieren und Anforderungen für ultraniedrige Latenz für diese mehreren Anwendungen zu erfüllen. Diese Vorteile ermöglichen eine ganz neue Klasse von Anwendungen (Virtual Network Functions (VNFs), Function as a Service (FaaS), Edge as a Service (EaaS), Standardprozesse usw.), die eine herkömmliche Cloud-Datenverarbeitung aufgrund von Latenz oder anderen Beschränkungen nicht nutzen können.
  • Bei den Vorteilen des Edge-Computing gibt es jedoch die folgenden Vorbehalte. Die an der Edge befindlichen Vorrichtungen sind häufig ressourcenbeschränkt, und deshalb besteht Druck auf die Nutzung von Edge-Ressourcen. Typischerweise wird dies durch das Pooling von Speicher und Speicherungsressourcen zur Verwendung durch mehrere Benutzer (Mandanten) und Vorrichtungen adressiert. Die Edge kann hinsichtlich Leistung und Kühlung eingeschränkt sein, sodass der Leistungsverbrauch durch die Anwendungen berücksichtigt werden muss, die die meiste Leistung verbrauchen. Es kann bei diesen gepoolten Speicherressourcen inhärente Leistungsleistungsfähigkeits-Kompromisse geben, da viele von ihnen wahrscheinlich entstehende Speichertechnologien verwenden, bei welchen mehr Leistung eine größere Speicherbandbreite benötigt. Ebenso sind verbesserte Sicherheit von Hardware und Vertrauensankerfunktionen auch erforderlich, weil Edge-Orte unbemannt sein können und sogar zugelassenen Zugriff benötigen können (zum Beispiel wenn sie an einem Drittparteiort untergebracht sind). Derartige Probleme werden in der Edge-Cloud 110 in einer Multi-Mandanten-, Multi-Eigentümer- oder Multi-Zugriffseinstellung verstärkt, in der Dienste und Anwendungen von vielen Benutzern angefordert werden, insbesondere da die Netzwerknutzung dynamisch schwankt und sich die Zusammensetzung der mehreren Stakeholder, Verwendungsfälle und Dienste ändert.
  • Auf einer generischeren Ebene kann ein Edge-Computing-System so beschrieben werden, dass es eine beliebige Anzahl von Einsätzen an den zuvor erläuterten Schichten umfasst, die in der Edge-Cloud 110 arbeiten (Netzwerkschichten 200-240), die eine Koordination vom Client und verteilten Datenverarbeitungsvorrichtungen bereitstellen. Ein oder mehrere Edge-Gateway-Knoten, ein oder mehrere Edge-Aggregationsknoten und ein oder mehrere Kerndatenzentren können über Schichten des Netzwerks verteilt sein, um eine Implementierung des Edge-Computing-Systems durch oder im Auftrag eines Telekommunikationsdienstanbieters („telco“ oder „TSP“), Internet-der-Dinge-Dienstanbieters, Cloud-Dienstanbieters (CSP), einer Unternehmensentität oder einer beliebigen anderen Anzahl von Entitäten bereitzustellen. Verschiedene Implementierungen und Konfigurationen des Edge-Computing-Systems können dynamisch bereitgestellt werden, wie etwa, wenn sie orchestriert sind, um Dienstziele zu erfüllen.
  • Im Einklang mit den hierin bereitgestellten Beispielen kann ein Client-Berechnungsknoten als eine beliebige Art von Endpunktkomponente, -vorrichtung, -gerät oder anderem Ding ausgebildet sein, die bzw. das fähig ist, als ein Erzeuger oder Verbraucher von Daten zu kommunizieren. Ferner bedeutet die Bezeichnung „Knoten“ oder „Vorrichtung“, wie sie in dem Edge-Computing-System verwendet wird, nicht notwendigerweise, dass ein solcher Knoten oder eine solche Vorrichtung in einer Client- oder Agenten-/Minion-/Folgerrolle arbeitet; vielmehr beziehen sich beliebige der Knoten oder Vorrichtungen in dem Edge-Computing-System auf einzelne Entitäten, Knoten oder Untersysteme, die diskrete oder verbundene Hardware- oder Softwarekonfigurationen beinhalten, um die Edge-Cloud 110 zu ermöglichen oder zu verwenden.
  • Von daher ist die Edge-Cloud 110 aus Netzwerkkomponenten und funktionalen Merkmalen gebildet, die durch und innerhalb von Edge-Gateway-Knoten, Edge-Aggregationsknoten oder anderen Edge-Computing-Knoten unter den Netzwerkschichten 210-230 betrieben werden. Die Edge-Cloud 110 kann somit als eine beliebige Art von Netzwerk umgesetzt sein, das Edge-Computing- und/oder Speicherungsressourcen bereitstellt, die sich in der Nähe von funkzugangsnetzwerk- bzw. RAN-fähigen Endpunktvorrichtungen (z. B. Mobilcomputervorrichtungen, IoT-Vorrichtungen, Smartvorrichtungen usw.) befinden, die hier besprochen werden. Mit anderen Worten, die Edge-Cloud 110 kann als ein „Rand“ gedacht werden, der die Endpunktvorrichtungen und traditionelle Netzwerkzugangspunkte, die als ein Eingangspunkt in Dienstanbieter-Kernnetze dienen, verbindet, einschließlich Mobilträgernetzwerke (z. B. GSM-Netzwerke (Global System for Mobile Communications), LTE-Netzwerke (Long-Term Evolution), 5G/6G-Netze usw.), während auch Speicherungs- und/oder Berechnungsfähigkeiten bereitgestellt werden. Andere Arten und Formen von Netzwerkzugang (z. B. WiFi, drahtlose Netzwerke mit großer Reichweite, drahtgebundene Netzwerke, einschließlich optischer Netzwerke) können auch anstelle von oder in Kombination mit solchen 3GPP-Trägernetzwerken genutzt werden.
  • Die Netzwerkkomponenten der Edge-Cloud 110 können Server, mandantenfähige Server, Gerätedatenverarbeitungsvorrichtungen und/oder eine beliebige andere Art von Datenverarbeitungsvorrichtungen sein. Zum Beispiel kann die Edge-Cloud 110 eine Gerätedatenverarbeitungsvorrichtung umfassen, die eine eigenständige elektronische Vorrichtung einschließlich eines Gehäuses, eines Chassis, einer Hülle oder einer Schale ist. Unter Umständen kann das Gehäuse zur Transportierbarkeit derart dimensioniert sein, dass es von einem Menschen getragen und/oder versendet werden kann. Beispielhafte Gehäuse können Materialien umfassen, die eine oder mehrere Außenflächen bilden, die den Inhalt des Geräts teilweise oder vollständig schützen, wobei der Schutz Wetterschutz, Schutz in gefährlichen Umgebungen (z. B. EMI, Vibration, extreme Temperaturen) umfassen und/oder Tauchfähigkeit ermöglichen kann. Beispielhafte Gehäuse können Leistungsschaltungsanordnungen beinhalten, um Leistung für stationäre und/oder transportierbare Implementierungen bereitzustellen, wie etwa Wechselstromleistungseingänge, Gleichstromleistungseingänge, AC/DC- oder DC/AC-Wandler, Leistungsregler, Transformatoren, Ladeschaltungsanordnungen, Batterien, drahtgebundene Eingänge und/oder drahtlose Leistungseingänge. Beispielhafte Gehäuse und/oder Oberflächen davon können Montagehardware umfassen oder damit verbunden sein, um eine Befestigung an Strukturen, wie etwa Gebäuden, Telekommunikationsstrukturen (z. B. Masten, Antennenstrukturen usw.) und/oder Racks (z. B. Server-Racks, Blade-Halterungen usw.), zu ermöglichen. Beispielhafte Gehäuse und/oder Oberflächen davon können einen oder mehrere Sensoren tragen (z. B. Temperatursensoren, Vibrationssensoren, Lichtsensoren, Akustiksensoren, kapazitive Sensoren, Näherungssensoren usw.). Ein oder mehrere derartige Sensoren können in der Oberfläche enthalten, von dieser getragen oder anderswie eingebettet und/oder an der Oberfläche des Geräts montiert sein. Beispielhafte Gehäuse und/oder Oberflächen davon können mechanische Konnektivität unterstützen, wie etwa Antriebshardware (z. B. Räder, Propeller usw.) und/oder Gelenkhardware (z. B. Roboterarme, schwenkbare Glieder usw.). Unter Umständen können die Sensoren eine beliebige Art von Eingabevorrichtungen beinhalten, wie etwa Benutzerschnittstellenhardware (z. B. Tasten, Schalter, Wählscheiben, Schieber usw.). Unter manchen Umständen beinhalten beispielhafte Gehäuse Ausgabeeinrichtungen, die in diesen enthalten, durch diese getragen, in diese eingebettet und/oder an diesen angebracht sind. Ausgabevorrichtungen können Anzeigen, Touchscreens, Leuchten, LEDs, Lautsprecher, E/A-Anschlüsse (z. B. USB) usw. beinhalten. Unter manchen Umständen sind Edge-Vorrichtungen Vorrichtungen, die im Netzwerk für einen spezifischen Zweck (z. B. eine Verkehrsampel) präsentiert werden, können aber Verarbeitungs- und/oder andere Kapazitäten aufweisen, die für andere Zwecke genutzt werden können. Solche Edge-Vorrichtungen können unabhängig von anderen vernetzten Einrichtungen sein und können mit einem Gehäuse versehen sein, das einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; aber dennoch für andere Berechnungsaufgaben verfügbar ist, die ihre primäre Aufgabe nicht stören. Edge-Vorrichtungen umfassen Internet-der-Dinge-Vorrichtungen. Die Gerätedatenverarbeitungsvorrichtung kann Hardware- und Softwarekomponenten beinhalten, um lokale Angelegenheiten, wie etwa Vorrichtungstemperatur, Vibration, Ressourcenausnutzung, Aktualisierungen, Stromangelegenheiten, physische und Netzwerksicherheit usw., zu verwalten. Beispielhafte Hardware zum Implementieren einer Gerätedatenverarbeitungsvorrichtung ist in Verbindung mit 4B beschrieben. Die Edge-Cloud 110 kann auch einen oder mehrere Server und/oder einen oder mehrere mandantenfähige Server beinhalten. Ein solcher Server kann ein Betriebssystem aufweisen und eine virtuelle Datenverarbeitungsumgebung implementieren. Eine virtuelle Datenverarbeitungsumgebung kann einen Hypervisor aufweisen, der eine oder mehrere virtuelle Maschinen, einen oder mehrere Container usw. verwaltet (z. B. Erzeugen, Einsetzen, Zerstören usw.). Solche virtuellen Datenverarbeitungsumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen und/oder andere Software, Code oder Skripte ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen, Software, Code oder Skripten isoliert sind.
  • In 3 tauschen verschiedene Client-Endpunkte 310 (in der Form von Mobilvorrichtungen, Computern, autonomen Fahrzeugen, geschäftlichen Datenverarbeitungsanlagen, industriellen Verarbeitungsanlagen) Anforderungen und Antworten aus, die für den Typ der Endpunktnetzwerkaggregation spezifisch sind. Beispielsweise können Client-Endpunkte 310 Netzwerkzugang über ein drahtgebundenes Breitbandnetzwerk erhalten, indem Anforderungen und Antworten 322 durch ein Vor-Ort-Netzwerksystem 332 ausgetauscht werden. Einige Client-Endpunkte 310, wie etwa mobile Datenverarbeitungsvorrichtungen, können Netzwerkzugang über ein drahtloses Breitbandnetzwerk erhalten, indem Anfragen und Antworten 324 durch einen Zugangspunkt (zum Beispiel Mobilfunkturm) 334 ausgetauscht werden. Einige Client-Endpunkte 310, wie etwa autonome Fahrzeuge, können Netzwerkzugang für Anforderungen und Antworten 326 über ein drahtloses Fahrzeugnetzwerk durch ein Straßennetzwerksystem 336 erhalten. Ungeachtet der Art des Netzwerkzugangs kann der TSP jedoch Aggregationspunkte 342, 344 innerhalb der Edge-Cloud 110 einsetzen, um Verkehr und Anforderungen zu aggregieren. Somit kann der TSP innerhalb der Edge-Cloud 110 verschiedene Berechnungs- und Speicherungsressourcen einsetzen, wie etwa bei Edge-Aggregationsknoten 340, um angeforderten Inhalt bereitzustellen. Die Edge-Aggregationsknoten 340 und andere Systeme der Edge-Cloud 110 sind mit einer Cloud oder einem Datenzentrum 360 verbunden, die/das ein Backhaul-Netzwerk 350 verwendet, um Anforderungen mit höherer Latenz von einer Cloud/einem Datenzentrum für Websites, Anwendungen, Datenbankserver usw. zu erfüllen. Zusätzliche oder konsolidierte Instanzen der Edge-Aggregationsknoten 340 und der Aggregationspunkte 342, 344, einschließlich jener, die auf einem einzigen Server-Framework eingesetzt werden, können auch innerhalb der Edge-Cloud 110 oder anderer Bereiche der TSP-Infrastruktur vorhanden sein.
  • In weiteren Beispielen können beliebige der Berechnungsknoten oder Vorrichtungen, die unter Bezugnahme auf die vorliegenden Edge-Computing-Systeme und die vorliegende Umgebung erörtert wurden, basierend auf den Komponenten, die in 4A und 4B gezeigt sind, erfüllt werden. Jeweilige Edge-Berechnungsknoten können als ein Typ von Vorrichtung, Gerät, Computer oder anderem „Ding“ umgesetzt sein, der/die/das in der Lage ist, mit anderen Edge-, Vernetzungs- oder Endpunktkomponenten zu kommunizieren. Zum Beispiel kann eine Edge-Berechnungsvorrichtung als ein Personalcomputer, Server, Smartphone, eine mobile Berechnungsvorrichtung, ein Smartgerät, ein fahrzeuginternes Berechnungssystem (z. B. ein Navigationssystem), eine eigenständige Einrichtung mit einem Außengehäuse, einer Hülle usw. oder eine andere Vorrichtung oder ein anderes System ausgebildet sein, die bzw. das in der Lage ist, die beschriebenen Funktionen durchzuführen.
  • In dem vereinfachten Beispiel, das in 4A dargestellt ist, umfasst ein Edge-Computing-Knoten 400 eine Berechnungsengine (hier auch als „Berechnungsschaltungsanordnung“ bezeichnet) 402, ein Eingabe/Ausgabe- bzw. E/A-Untersystem 408, eine Datenspeicherung 410, ein Kommunikationsschaltungsanordnungsuntersystem 412 und optional eine oder mehrere Peripherievorrichtungen 414. In anderen Beispielen können jeweilige Berechnungsvorrichtungen andere oder zusätzliche Komponenten umfassen, wie etwa jene, die typischerweise in einem Computer (z. B. einer Anzeige, Peripherievorrichtungen usw.) gefunden werden. Zusätzlich können bei einigen Beispielen eine oder mehrere der veranschaulichenden Komponenten in eine andere Komponente integriert sein oder anderswie einen Teil davon bilden.
  • Der Berechnungsknoten 400 kann als eine beliebige Art von Engine, Vorrichtung oder Sammlung von Vorrichtungen umgesetzt sein, die in der Lage sind, verschiedene Berechnungsfunktionen durchzuführen. In einigen Beispielen kann der Berechnungsknoten 400 als eine einzelne Vorrichtung umgesetzt sein, wie etwa eine integrierte Schaltung, ein eingebettetes System, ein feldprogrammierbares Gate-Array (FPGA), ein System-on-a-Chip (SoC) oder ein anderes integriertes System oder eine andere integrierte Vorrichtung. Im veranschaulichenden Beispiel weist der Berechnungsknoten 400 einen Prozessor 404 und einen Speicher 406 auf oder ist als diese ausgebildet. Der Prozessor 404 kann als eine beliebige Art von Prozessor umgesetzt sein, der in der Lage ist, die hier beschriebenen Funktionen (z. B. Ausführen einer Anwendung) durchzuführen. Der Prozessor 404 kann zum Beispiel als ein oder mehrere Mehrkernprozessoren, ein Mikrocontroller, eine Verarbeitungseinheit, eine Spezial- oder Sonderverarbeitungseinheit oder ein anderer Prozessor oder ein anderer Verarbeitungs-/Steuerschaltkreis ausgebildet sein.
  • In manchen Beispielen kann der Prozessor 404 als ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), rekonfigurierbare Hardware oder Hardwareschaltungsanordnung oder andere spezialisierte Hardware umgesetzt sein, diese beinhalten oder mit diesen gekoppelt sein, um eine Durchführung der hier beschriebenen Funktionen zu ermöglichen. In einigen Beispielen kann der Prozessor 404 auch als eine spezialisierte x-Verarbeitungseinheit (xPU) verkörpert sein, die auch als eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU) oder eine Netzwerkverarbeitungseinheit (NPU) bekannt ist. Eine solche xPU kann als eine eigenständige Schaltung oder ein eigenständiger Schaltungsbaustein umgesetzt sein, innerhalb eines SoC integriert sein oder mit einer Vernetzungsschaltungsanordnung (z. B. in einem SmartNIC oder erweiterten SmartNIC), einer Beschleunigungsschaltungsanordnung, Speicherungsvorrichtungen oder KI-Hardware (z. B. GPUs oder programmierte FPGAs) integriert sein. Eine solche xPU kann dazu ausgelegt sein, eine Programmierung zu empfangen, um einen oder mehrere Datenströme zu verarbeiten und spezifische Aufgaben und Aktionen für die Datenströme (wie etwa Hosten von Mikrodiensten, Durchführen einer Dienstverwaltung oder Orchestrierung, Organisieren oder Verwalten von Server- oder Datenzentrums-Hardware, Verwalten von Dienstnetzen oder Erheben und Verteilen von Telemetrie) außerhalb der CPU oder Allzweckverarbeitungshardware durchzuführen. Es versteht sich jedoch, dass eine xPU, ein SoC, eine CPU und andere Variationen des Prozessors 404 koordiniert miteinander arbeiten können, um viele Arten von Operationen und Anweisungen innerhalb und für den Berechnungsknoten 400 auszuführen.
  • Der Speicher 406 kann als ein beliebiger Typ flüchtiger (z. B. dynamischer Direktzugriffsspeicher (DRAM) usw.) oder nicht-flüchtiger Speicher oder Datenspeicherung umgesetzt sein mit der Fähigkeit, die hier beschriebenen Funktionen durchzuführen. Flüchtiger Speicher kann ein Speicherungsmedium sein, das Leistung zum Beibehalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nichtbeschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM), wie etwa DRAM oder statischen Direktzugriffsspeicher (SRAM), umfassen. Eine bestimmte Art von DRAM, die in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM).
  • In einem Beispiel ist die Speichervorrichtung eine blockadressierbare Speichervorrichtung, wie etwa jene, die auf NAND - oder NOR-Technologien basieren. Eine Speichervorrichtung kann auch eine dreidimensionale Koppelpunkt-Speichervorrichtung (z. B. Intel® 3D XPoint™-Speicher) oder andere byteadressierbare nicht-flüchtige Speichervorrichtungen zum Schreiben an Ort und Stelle beinhalten. Die Speichervorrichtung kann sich auf den Die selbst und/oder auf ein gehäustes Speicherprodukt beziehen. In einigen Beispielen kann der 3D-Koppelpunkt-Speicher (z. B. Intel® 3D XPoint™-Speicher) eine transistorlose stapelbare Koppelpunkt-Architektur umfassen, bei der Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind, und bei der eine Bitspeicherung auf einer Änderung des Bulkwiderstands basiert. In einigen Beispielen kann der gesamte oder ein Teil des Speichers 406 in den Prozessor 404 integriert sein. Der Speicher 406 kann verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie etwa eine oder mehrere Anwendungen, Daten, auf denen durch die Anwendung(en) operiert wird, Bibliotheken und Treiber.
  • Die Berechnungsschaltungsanordnung 402 ist kommunikativ mit anderen Komponenten des Berechnungsknotens 400 über das E/A-Subsystem 408 gekoppelt, das als Schaltungsanordnung und/oder Komponenten umgesetzt sein kann, um Eingabe/Ausgabe-Operationen mit der Berechnungsschaltungsanordnung 402 (z. B. mit dem Prozessor 404 und/oder dem Hauptspeicher 406) und anderen Komponenten der Berechnungsschaltungsanordnung 402 zu ermöglichen. Das E/A-Untersystem 408 kann zum Beispiel als Speichersteuerungs-Hubs, Eingabe/Ausgabe-Steuerungs-Hubs, integrierte Sensor-Hubs, Firmwarevorrichtungen, Kommunikationsverbindungen (z. B. Punkt-zu-Punkt-Verbindungen, Busverbindungen, Drähte, Kabel, Lichtleiter, Leiterbahnen usw.) und/oder andere Komponenten und Untersysteme umgesetzt sein oder diese anderweitig umfassen, um die Eingabe/Ausgabe-Operationen zu erleichtern. In manchen Beispielen kann das E/A-Untersystem 408 einen Teil eines System-on-a-Chip (SoC) bilden und zusammen mit dem Prozessor 404 und/oder dem Speicher 406 und/oder anderen Komponenten der Berechnungsschaltungsanordnung 402 in die Berechnungsschaltungsanordnung 402 integriert sein.
  • Die eine oder die mehreren veranschaulichenden Datenspeicherungsvorrichtungen 410 können als eine beliebige Art von Vorrichtungen umgesetzt sein, die zur Kurzzeit- oder Langzeitspeicherung von Daten konfiguriert sind, wie etwa zum Beispiel Speichervorrichtungen und Schaltungen, Speicherkarten, Festplattenlaufwerke, Festkörperlaufwerke oder andere Datenspeicherungsvorrichtungen. Individuelle Datenspeicherungsvorrichtungen 410 können eine Systempartition aufweisen, die Daten und Firmwarecode für die Datenspeicherungsvorrichtung 410 speichert. Individuelle Datenspeicherungsvorrichtungen 410 können auch eine oder mehrere Betriebssystempartitionen aufweisen, die Dateien und ausführbare Dateien für Betriebssysteme in Abhängigkeit von zum Beispiel dem Typ des Berechnungsknotens 400 speichern.
  • Die Kommunikationsschaltungsanordnung 412 kann als eine beliebige Kommunikationsschaltung, -vorrichtung oder -sammlung davon umgesetzt sein, die in der Lage ist, Kommunikationen über ein Netzwerk zwischen der Berechnungsschaltungsanordnung 402 und einer anderen Berechnungsvorrichtung (z. B. einem Edge-Gateway eines implementierenden Edge-Computing-Systems) zu ermöglichen. Die Kommunikationsschaltungsanordnung 412 kann dazu konfiguriert sein, eine oder mehrere beliebige Kommunikationstechniken (z. B. drahtgebundene oder drahtlose Kommunikationen) und assoziierte Protokolle (z. B. ein zelluläres Vernetzungsprotokoll, wie etwa einen 3GPP-4G- oder 5G-Standard, ein drahtloses Lokalbereichsnetzwerkprotokoll, wie etwa IEEE 802.11/Wi-Fi®, ein drahtloses Weitbereichsnetzwerkprotokoll, Ethernet, Bluetooth®, Bluetooth Low Energy, ein IoT-Protokoll, wie etwa IEEE 802.15.4 oder ZigBee®, Niederleistungs-Weitbereichsnetzwerk- bzw. LPWAN- oder Niederleistungs-Weitbereichs- bzw. LPWA-Protokolle usw.), um eine solche Kommunikation zu umzusetzen.
  • Die veranschaulichende Kommunikationsschaltung 412 beinhaltet eine Netzwerkschnittstellensteuerung (NIC) 420, die auch als eine Host-Fabric-Schnittstelle (HFI) bezeichnet werden kann. Die NIC 420 kann als eine oder mehrere Add-In-Boards, Tochterkarten, Netzwerkschnittstellenkarten, Steuerungschips, Chipsätze oder andere Vorrichtungen umgesetzt sein, die durch den Berechnungsknoten 400 verwendet werden können, um sich mit einer anderen Berechnungsvorrichtung (z. B. einem Edge-Gateway-Knoten) zu verbinden. In einigen Beispielen kann die NIC 420 als Teil eines System-on-a-Chip (SoC) umgesetzt sein, das einen oder mehrere Prozessoren beinhaltet, oder auf einem Multichipbaustein enthalten sein, der auch einen oder mehrere Prozessoren beinhaltet. In einigen Beispielen kann die NIC 420 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) beinhalten, die beide lokal zur NIC 420 sind. In solchen Beispielen kann der lokale Prozessor der NIC 420 dazu in der Lage sein, eine oder mehrere der Funktionen der hier beschriebenen Berechnungsschaltungsanordnung 402 durchzuführen. Zusätzlich oder alternativ dazu kann in solchen Beispielen der lokale Speicher der NIC 420 in eine oder mehrere Komponenten des Client-Berechnungsknotens auf Platinenebene, Sockelebene, Chip-Ebene und/oder anderen Ebenen integriert sein.
  • Zusätzlich kann in manchen Beispielen ein jeweiliger Berechnungsknoten 400 eine oder mehrere Peripherievorrichtungen 414 umfassen. Solche Peripherievorrichtungen 414 können eine beliebige Art von Peripherievorrichtung in Abhängigkeit von dem speziellen Typ des Berechnungsknotens 400 umfassen, die in einer Berechnungsvorrichtung oder einem Server gefunden wird, wie etwa Audioeingabevorrichtungen, eine Anzeige, andere Eingabe/AusgabeVorrichtungen, Schnittstellenvorrichtungen und/oder andere Peripherievorrichtungen. In weiteren Beispielen kann der Berechnungsknoten 400 durch einen jeweiligen Edge-Berechnungsknoten (ob als ein Client, Gateway oder Aggregationsknoten) in einem Edge-Computing-System oder ähnlichen Formen von Geräten, Computern, Untersystemen, Schaltungen oder anderen Komponenten umgesetzt sein.
  • In einem ausführlicheren Beispiel veranschaulicht 4B ein Blockdiagramm eines Beispiels für Komponenten, die in einem Edge-Computing-Knoten 450 zum Implementieren der hierin beschriebenen Techniken (z. B. Operationen, Prozesse, Verfahren und Methodiken) vorhanden sein können. Dieser Edge-Computing-Knoten 450 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 400 bereit, wenn er als eine Berechnungsvorrichtung (z. B. als eine mobile Vorrichtung, eine Basisstation, ein Server, ein Gateway usw.) oder als Teil einer solchen implementiert wird. Der Edge-Computing-Knoten 450 kann beliebige Kombinationen der hier referenzierten Hardware oder logischen Komponenten aufweisen und er kann eine beliebige Vorrichtung aufweisen oder mit dieser koppeln, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendbar ist. Die Komponenten können als integrierte Schaltungen (ICs), Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Befehlssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die in dem Edge-Computing-Knoten 450 angepasst sind, oder als Komponenten, die anderweitig in einem Chassis eines größeren Systems integriert sind, implementiert sein.
  • Der Edge-Computing-Knoten 450 kann eine Verarbeitungsschaltungsanordnung in der Form eines Prozessors 452 aufweisen, der ein Mikroprozessor, ein Mehrkernprozessor, ein Multithreadprozessor, ein Ultraniederspannungsprozessor, ein eingebetteter Prozessor, eine xPU/DPU/IPU/NPU, eine Spezialverarbeitungseinheit, eine spezialisierte Verarbeitungseinheit oder andere bekannte Verarbeitungselemente sein kann. Der Prozessor 452 kann ein Teil eines Systems-on-a-Chip (SoC) sein, in dem der Prozessor 452 und andere Komponenten in einer einzigen integrierten Schaltung oder einem einzigen Gehäuse gebildet sind, wie etwa die Edison™_ oder Galileo™-SoC-Platinen von Intel Corporation, Santa Clara, Kalifornien. Als ein Beispiel kann der Prozessor 452 einen auf Intel®-Architektur Core™ basierenden CPU-Prozessor, wie etwa einen Prozessor der Klasse Quark™, Atom™, i3, i5, i7, i9 oder MCU oder einen anderen derartigen Prozessor beinhalten, der von Intel® erhältlich ist. Eine beliebige Anzahl anderer Prozessoren kann jedoch verwendet werden, wie etwa erhältlich von Advanced Micro Devices, Inc. (AMD ®) aus Sunnyvale, Kalifornien, ein MIPS®-basiertes Design von MIPS Technologies, Inc. aus Sunnyvale, Kalifornien, ein ARM®-basiertes Design, lizenziert von ARM Holdings, Ltd. oder einem Kunden davon, oder deren Lizenznehmern oder Anwendern. Die Prozessoren können Einheiten beinhalten, wie etwa einen A5-13-Prozessor von Apple® Inc., einen Snapdragon™-Prozessor von Qualkomm® Technologies, Inc., oder einen OMAP™-Prozessor von Texas Instruments, Inc. Der Prozessor 452 und die begleitende Schaltungsanordnung können in einem Einzelsockel-Formfaktor, einem Mehrfachsockel-Formfaktor oder einer Vielfalt anderer Formate bereitgestellt sein, einschließlich in beschränkten Hardwarekonfigurationen oder Konfigurationen, die weniger als alle in 4B gezeigten Elemente beinhalten.
  • Der Prozessor 452 kann über eine Zwischenverbindung 456 (z. B. einen Bus) mit einem Systemspeicher 454 kommunizieren. Eine beliebige Anzahl an Speichervorrichtungen kann verwendet werden, um eine gegebene Menge an Systemspeicher bereitzustellen. Als Beispiele kann der Speicher 454 Direktzugriffsspeicher (RAM) gemäß einem Design des Joint Electron Devices Engineering Council (JEDEC), wie etwa den DDR- oder mobilen DDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4), sein. In bestimmten Beispielen kann eine Speicherkomponente einem durch JEDEC veröffentlichten DRAM-Standard entsprechen, wie etwa JESD79F für DDR SDRAM, JESD79-2F für DDR2 SDRAM, JESD79-3F für DDR3 SDRAM, JESD79-4A für DDR4 SDRAM, JESD209 für Low-Power-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3, und JESD209-4 für LPDDR4. Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden und Kommunikationsschnittstellen der Speicherungsvorrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden. Bei verschiedenen Implementierungen können die einzelnen Speichervorrichtungen von einer beliebigen Anzahl von unterschiedlichen Gehäusearten sein, wie etwa Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (Q17P). Diese Vorrichtungen können bei manchen Beispielen direkt auf eine Hauptplatine gelötet werden, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen bei anderen Beispielen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum durch einen gegebenen Verbinder mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl anderer Speicherimplementierungen kann verwendet werden, wie etwa andere Arten von Speichermodulen, z. B. Dual Inline Memory Modules (DIMMs) unterschiedlicher Varianten, einschließlich unter anderem microDIMMs oder MiniDIMMs.
  • Um eine dauerhafte Speicherung von Informationen, wie etwa Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann eine Speicherung 458 auch über die Zwischenverbindung 456 mit dem Prozessor 452 gekoppelt sein. In einem Beispiel kann die Speicherung 458 über ein Festkörperplattenlaufwerk (SSDD) implementiert sein. Andere Vorrichtungen, die für die Speicherung 458 verwendet werden können, beinhalten Flashspeicherkarten, wie etwa Secure-Digital- bzw. SD-Karten, microSD-Karten, eXtreme-Digital- bzw. XD-Bildkarten und dergleichen und Universal-Serial-Bus- bzw. USB-Flash-Laufwerke. In einem Beispiel kann die Speichervorrichtung Speichervorrichtungen sein oder beinhalten, die Chalkogenidglas, NAND-Flash-Speicher mit mehreren Schwellenebenen, NOR-Flash-Speicher, Ein- oder Mehrebenen-Phasenwechselspeicher (PCM), einen resistiven Speicher, Nanodrahtspeicher, Direktzugriffsspeicher mit ferroelektrischem Transistor (FeTRAM), antiferroelektrischen Speicher, magnetoresistiven Direktzugriffsspeicher (MRAM), Speicher, der Memristor-Technologie umfasst, resistiven Speicher, der den Metalloxid-basierten, den Sauerstoff-Leerstellen-basierten und den Direktzugriffsspeicher mit leitender Brücke (CB-RAM) oder MRAM mit Spin-Übertragungsmoment (STT) umfasst, eine Vorrichtung auf der Basis eines Spintronik-Magnetübergangs, eine Vorrichtung auf der Basis eines Magnet-Tunnelübergangs (MTJ), eine Vorrichtung auf der Basis von DW (Domain Wall) und SOT (Spin Orbit Transfer), eine Speichervorrichtung auf der Basis eines Thyristors oder eine Kombination beliebiger der oben Genannten oder anderen Speicher verwenden.
  • In Niederleistungsimplementierungen kann die Speicherung 458 On-Die-Speicher oder Register sein, die mit dem Prozessor 452 assoziiert sind. In einigen Beispielen kann der Speicher 458 jedoch unter Verwendung eines Mikrofestplattenlaufwerks (HDD) implementiert sein. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 458 zusätzlich zu oder anstelle der beschriebenen Technologien verwendet werden, wie unter anderem Widerstandsänderungsspeicher, Phasenwechselspeicher, holographische Speicher oder chemische Speicher.
  • Die Komponenten können über die Zwischenverbindung 456 kommunizieren. Die Zwischenverbindung 456 kann eine beliebige Anzahl von Technologien beinhalten, einschließlich Industry Standard Architecture (ISA), extended ISA (EISA), Peripheral Component Interconnect (PCI), Peripheral Component Interconnect Extended (PCIx), PCI express (PCIe) oder eine beliebige Anzahl anderer Technologien. Die Zwischenverbindung 456 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird. Andere Bussysteme können enthalten sein, wie etwa unter anderem eine Inter-Integrated-Circuit- bzw. I2C-Schnittstelle, eine Serial-Peripheral-Interface- bzw. SPI-Schnittstelle, Punkt-zu-Punkt-Schnittstellen und ein Leistungsbus.
  • Die Zwischenverbindung 456 kann den Prozessor 452 mit einem Sendeempfänger 466 zur Kommunikation mit den verbundenen Edge-Vorrichtungen 462 koppeln. Der Sendeempfänger 466 kann eine beliebige Anzahl von Frequenzen und Protokollen, wie beispielsweise 2,4-Gigahertz- (GHz-) Übertragungen gemäß dem Standard IEEE 802.15.4 u. a. unter Verwendung des BLE (Bluetooth® Low Energy)-Standards, wie von der Bluetooth® Special Interest Group definiert, oder des ZigBee®-Standards verwenden. Eine beliebige Anzahl von Funkgeräten, die für ein bestimmtes Drahtloskommunikationsprotokoll konfiguriert sind, kann für die Verbindungen mit den verbundenen Edge-Vorrichtungen 462 verwendet werden. Zum Beispiel kann eine drahtlose Lokalbereichsnetzwerk- bzw. WLAN-Einheit verwendet werden, um Wi-Fi®-Kommunikationen gemäß dem Standard von Institute of Electrical and Electronics Engineers (IEEE) 802.11 zu implementieren. Außerdem können Drahtlos-Weitbereichskommunikationen, z. B. gemäß einem zellularen oder anderen Drahtlos-Weitbereichsprotokoll, über eine drahtlose Weitbereichsnetzwerk- bzw. WWAN-Einheit stattfinden.
  • Der Drahtlosnetzwerk-Sendeempfänger 466 (oder mehrere Sendeempfänger) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikationen in einer anderen Reichweite kommunizieren. Beispielsweise kann der Edge-Computing-Knoten 450 mit nahen Vorrichtungen, z. B. innerhalb von etwa 10 Metern unter Verwendung eines lokalen Sendeempfängers basierend auf Bluetooth Low Energy (BLE) oder einem anderen Niedrigleistungsfunkgerät kommunizieren, um Leistung zu sparen. Entferntere verbundene Edge-Vorrichtungen 462, z. B. innerhalb von etwa 50 Metern, können über ZigBee® oder andere Zwischenleistungsfunkgeräte erreicht werden. Beide Kommunikationstechniken können über ein einziges Funkgerät bei unterschiedlichen Leistungspegeln stattfinden oder über separate Sendeempfänger, zum Beispiel einen lokalen Sendeempfänger, der BLE verwendet, und einen separaten Mesh-Sendeempfänger, der ZigBee® verwendet, stattfinden.
  • Ein Drahtlosnetzwerk-Sendeempfänger 466 (z. B. ein Funksendeempfänger) kann enthalten sein, um mit Vorrichtungen oder Diensten in einer Cloud (z. B. einer Edge-Cloud 495) über lokale oder Weitbereichsnetzwerkprotokolle zu kommunizieren. Der Drahtlosnetzwerk-Sendeempfänger 466 kann ein Niederleistungs-Weitbereichs- bzw. LPWA-Sendeempfänger sein, der unter anderem die Standards IEEE 802.15.4 oder IEEE 802.15.4g befolgt. Der Edge-Computing-Knoten 450 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network) kommunizieren, das von Semtech und der LoRa Alliance entwickelt wurde. Die hierin beschriebenen Techniken sind nicht auf diese Technologien beschränkt, sondern können mit einer beliebigen Anzahl von anderen Cloud-Sendeempfängern verwendet werden, die Kommunikationen mit großer Reichweite und niedriger Bandbreite implementieren, wie etwa Sigfox und andere Technologien. Ferner können andere Kommunikationstechniken, wie Kanalsprung mit Zeitschlitzen, beschrieben in der Spezifikation IEEE 802.15.4e, verwendet werden.
  • Eine beliebige Anzahl anderer Funkkommunikationen und Protokolle kann zusätzlich zu den Systemen verwendet werden, die für den hierin beschriebenen Drahtlosnetzwerk-Sendeempfänger 466 erwähnt wurden. Der Sendeempfänger 466 kann zum Beispiel einen zellulären Sendeempfänger beinhalten, der Kommunikationen mit gespreiztem Spektrum (SPA/SAS-Kommunikationen) zum Umsetzen von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie etwa WiFi®-Netzwerke für Kommunikationen mittlerer Geschwindigkeit und Bereitstellung von Netzkommunikationen. Der Sendeempfänger 466 kann Funkgeräte umfassen, die mit einer beliebigen Anzahl von 3GPP-Spezifikationen (Third Generation Partnership Project) kompatibel sind, wie etwa Long Term Evolution (LTE) und Kommunikationssysteme der fünften Generation (5G), die am Ende der vorliegenden Offenbarung ausführlicher diskutiert werden. Eine Netzwerkschnittstellensteuerung (NIC) 468 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge-Cloud 495 oder zu anderen Vorrichtungen bereitzustellen, wie etwa den angebundenen Edge-Vorrichtungen 462 (die z. B. in einem vermaschten Netz arbeiten). Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie Controller Area Network (CAN), Local Interconnect Network (LIN), DeviceNet, ControlNet, Data Highway+, PROFIBUS oder PROFINET unter vielen anderen. Eine zusätzliche NIC 468 kann enthalten sein, um das Verbinden mit einem zweiten Netzwerk zu ermöglichen, wobei zum Beispiel eine erste NIC 468 Kommunikationen mit der Cloud über Ethernet bereitstellt und eine zweite NIC 468 Kommunikationen mit anderen Vorrichtungen über einen anderen Typ von Netzwerk bereitstellt.
  • Angesichts der Vielfalt von Typen anwendbarer Kommunikationen von der Vorrichtung zu einer anderen Komponente oder einem anderen Netzwerk kann eine anwendbare Kommunikationsverschaltung, die von der Vorrichtung verwendet wird, eine beliebige oder mehrere beliebige der Komponenten 464, 466, 468 oder 470 beinhalten oder durch diese ausgebildet sein. Dementsprechend können in verschiedenen Beispielen anwendbare Mittel zum Kommunizieren (z. B. Empfangen, Senden usw.) durch eine solche Kommunikationsschaltungsanordnung umgesetzt werden.
  • Der Edge-Computing-Knoten 450 kann eine Beschleunigungsschaltungsanordnung 464 beinhalten oder an eine solche gekoppelt sein, die durch einen oder mehrere Beschleuniger für künstliche Intelligenz (KI), einen neuronalen Berechnungsstick, neuromorphe Hardware, ein FPGA, eine Anordnung von GPUs, eine Anordnung von xPUs/DPUs/IPU/NPUs, einen oder mehrere SoCs, eine oder mehrere CPUs, einen oder mehrere digitale Signalprozessoren, dedizierte ASICs oder andere Formen spezialisierter Prozessoren oder Schaltungsanordnungen, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben ausgelegt sind, ausgeführt ist. Diese Aufgaben können KI-Verarbeitung (einschließlich Operationen für Maschinenlernen, Training, Inferenz und Klassifizierung), visuelle Datenverarbeitung, Netzwerkdatenverarbeitung, Objektdetektion, Regelanalyse oder dergleichen beinhalten. Zu diesen Aufgaben können auch die an anderer Stelle in diesem Dokument erörterten spezifischen Edge-Computing-Aufgaben für Dienstverwaltung und Dienstoperationen gehören.
  • Die Zwischenverbindung 456 kann den Prozessor 452 an einen Sensor-Hub oder eine externe Schnittstelle 470 koppeln, der bzw. die zum Verbinden zusätzlicher Vorrichtungen oder Untersysteme verwendet wird. Die Vorrichtungen können Sensoren 472, wie Beschleunigungsmesser, Pegelsensoren, Durchflusssensoren, optische Lichtsensoren, Kamerasensoren, Temperatursensoren, Sensoren eines globalen Navigationssystems (z. B. GPS), Drucksensoren, barometrische Drucksensoren und dergleichen beinhalten. Der Hub oder die Schnittstelle 470 kann ferner verwendet werden, um den Edge-Computing-Knoten 450 mit Aktuatoren 474, wie etwa Leistungsschaltern, Ventilaktuatoren, einem akustischen Tongenerator, einer visuellen Warnvorrichtung und dergleichen, zu verbinden.
  • In einigen optionalen Beispielen können verschiedene Eingabe/Ausgabe- bzw. E/A-Vorrichtungen innerhalb des Edge-Computing-Knotens 450 vorhanden oder mit diesem verbunden sein. Beispielsweise kann eine Anzeige oder eine andere Ausgabevorrichtung 484 enthalten sein, um Informationen, wie etwa Sensormesswerte oder Aktuatorposition, zu zeigen. Eine Eingabevorrichtung 486, wie etwa ein Berührungsbildschirm oder eine Tastatur, kann enthalten sein, um eine Eingabe anzunehmen. Eine Ausgabevorrichtung 484 kann eine beliebige Anzahl von Formen einer Audio- oder visuellen Anzeige beinhalten, einschließlich einfacher visueller Ausgaben, wie etwa binärer Statusindikatoren (z. B. Leuchtdioden (LEDs)) und visueller Mehrzeichenausgaben, oder komplexere Ausgaben, wie etwa Anzeigebildschirme (z. B. Flüssigkristallanzeige(LCD)-Bildschirme), wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen aus dem Betrieb des Edge-Berechnungsknotens 450 generiert oder erzeugt wird. Eine Anzeige- oder Konsolenhardware kann im Kontext des vorliegenden Systems verwendet werden, um eine Ausgabe bereitzustellen und eine Eingabe eines Edge-Computing-Systems zu empfangen; Komponenten oder Dienste eines Edge-Computing-Systems zu verwalten; einen Zustand einer Edge-Computing-Komponente oder eines Edge-Dienstes zu identifizieren, oder eine beliebige andere Anzahl von Verwaltungs- oder Administrationsfunktionen oder Dienstanwendungsfällen durchzuführen.
  • Eine Batterie 476 kann den Edge-Computing-Knoten 450 mit Strom versorgen, obwohl sie in Beispielen, in denen der Edge-Computing-Knoten 450 an einem festen Ort montiert ist, eine Stromversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie als Ausfallsicherheit oder für temporäre Funktionen verwendet werden kann. Die Batterie 476 kann eine Lithiumionenbatterie oder eine Metall-Luft-Batterie, wie eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen, sein.
  • Eine Batterieüberwachungseinheit/Ladeeinheit 478 kann in dem Edge-Computing-Knoten 450 enthalten sein, um den Ladezustand (SoCh) der Batterie 476, falls enthalten, zu verfolgen. Die Batterieüberwachungs-/-ladevorrichtung 478 kann verwendet werden, um andere Parameter der Batterie 476 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie etwa den Gesundheitszustand (SoH) und den Funktionszustand (SoF) der Batterie 476. Die Batterieüberwachungs-/-ladevorrichtung 478 kann eine integrierte Batterieüberwachungsschaltung aufweisen, wie etwa eine LTC4020 oder eine LTC2990 von Linear Technologies, eine ADT7488A von ON Semiconductor aus Phoenix, Arizona, oder eine IC der UCD90xxx-Familie von Texas Instruments aus Dallas, TX. Die Batterieüberwachungs-/- ladevorrichtung 478 kann die Informationen über die Batterie 476 über die Zwischenverbindung 456 an den Prozessor 452 kommunizieren. Die Batterieüberwachungs-/-ladevorrichtung 478 kann auch einen Analog-Digital-Wandler (ADC) umfassen, der es dem Prozessor 452 ermöglicht, die Spannung der Batterie 476 oder den Stromfluss von der Batterie 476 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Aktionen zu bestimmen, die der Edge-Computing-Knoten 450 ausführen kann, wie etwa Übertragungsfrequenz, Maschennetzwerkoperation, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 480 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit der Batterieüberwachungs-/-ladevorrichtung 478 gekoppelt werden, um die Batterie 476 zu laden. In manchen Beispielen kann der Leistungsblock 480 durch einen Drahtlosleistungsempfänger ersetzt werden, um die Leistung drahtlos zu erhalten, zum Beispiel über eine Schleifenantenne in dem Edge-Computing-Knoten 450. Eine Drahtlosbatterieladeschaltung, wie unter anderem ein LTC4020-Chip von Linear Technologies aus Milpitas, Kalifornien, kann in der Batterieüberwachungs-/-ladevorrichtung 478 enthalten sein. Die spezifischen Ladeschaltungen können basierend auf der Größe der Batterie 476 und somit dem erforderlichen Strom ausgewählt werden. Das Laden kann unter anderem unter Verwendung des von der Airfuel Alliance vertriebenen Airfuel Standards, des von dem Wireless Power Consortium vertriebenen Qi-Drahtlosladestandards oder des von der Alliance for Wireless Power vertriebenen Rezence-Ladestandards durchgeführt werden.
  • Die Speicherung 458 kann Anweisungen 482 in Form von Software-, Firmware- oder Hardwarebefehlen aufweisen, um die hierin beschriebenen Techniken zu implementieren. Obwohl solche Anweisungen 482 als Codeblöcke gezeigt sind, die in dem Speicher 454 und der Speicherung 458 enthalten sind, versteht es sich, dass beliebige der Codeblöcke durch festverdrahtete Schaltungen ersetzt werden können, die zum Beispiel in einer anwendungsspezifischen integrierten Schaltung (ASIC) integriert sind.
  • In einem Beispiel können die Anweisungen 482, die über den Speicher 454, die Speicherung 458 oder den Prozessor 452 bereitgestellt werden, als ein nicht-flüchtiges, maschinenlesbares Medium 460 umgesetzt sein, das Code umfasst, um den Prozessor 452 anzuweisen, elektronische Operationen in dem Edge-Computing-Knoten 450 durchzuführen. Der Prozessor 452 kann über die Zwischenverbindung 456 auf das nicht-flüchtige, maschinenlesbare Medium 460 zugreifen. Zum Beispiel kann das nicht-flüchtige, maschinenlesbare Medium 460 durch für die Speicherung 458 beschriebene Vorrichtungen verkörpert werden oder kann spezielle Speicherungseinheiten, wie optische Platten, Flash-Laufwerke oder eine beliebige Anzahl anderer Hardwarevorrichtungen, umfassen. Das nicht-flüchtige, maschinenlesbare Medium 460 kann Anweisungen umfassen, um den Prozessor 452 anzuweisen, eine spezifische Sequenz oder einen spezifischen Fluss von Aktionen durchzuführen, wie zum Beispiel mit Bezug auf das Flussdiagramm bzw. die Flussdiagramme und das Blockdiagramm bzw. die Blockdiagramme von Operationen und Funktionalität, die oben dargestellt sind, beschrieben. Wie hier verwendet, sind die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ austauschbar.
  • Auch können in einem spezifischen Beispiel die Anweisungen 482 auf dem Prozessor 452 (separat oder in Kombination mit den Anweisungen 482 des maschinenlesbaren Mediums 460) die Ausführung oder den Betrieb einer vertrauenswürdigen Ausführungsumgebung (TEE) 490 konfigurieren. In einem Beispiel arbeitet die TEE 490 als ein geschützter Bereich, der für den Prozessor 452 zur sicheren Ausführung von Anweisungen und zum sicheren Zugriff auf Daten zugänglich ist. Verschiedene Implementierungen der TEE 490 und eines begleitenden sicheren Bereichs im Prozessor 452 oder im Speicher 454 können beispielsweise durch Verwendung von Intel® Software Guard Extensions (SGX) oder ARM® TrustZone® Hardwaresicherheitserweiterungen, Intel® Management Engine (ME) oder Intel® Converged Security Manageability Engine (CSME) bereitgestellt werden. Andere Aspekte von Sicherheitshärtung, Hardware-Vertrauensankern und vertrauenswürdigen oder geschützten Operationen können in der Vorrichtung 450 durch die TEE 490 und den Prozessor 452 implementiert sein.
  • 5 ist ein Blockdiagramm, das ein zeitbewusstes universelles Eingabe/Ausgabe- bzw. TGPIO-System gemäß einer Ausführungsform veranschaulicht. Das TGPIO-System 500 kann auf einer PCI-Mezzanine-Karte (PMC) 502 enthalten sein, die dazu ausgelegt ist, mit einer CPU 504 über einen PCI-Bus zu kommunizieren. Die CPU 504 beinhaltet einen Zeitstempelzähler (TSC) 506, der der CPU-Takt ist. Der TSC 506 ist mit einem Alway Running Timer (ART) 508 auf der PMC 502 synchronisiert. Der TSC 506 dient zur Zeithaltung auf Betriebssystemebene. Der ART 508 synchronisiert andere Systemvorrichtungen (z. B. eine Netzwerkschnittstellenkarte) einschließlich anderer über PCI verbundener Vorrichtungen.
  • Precision Time Measurement (PTM) ermöglicht eine präzise Koordination von Ereignissen über mehrere Komponenten hinweg mit unabhängigen lokalen Zeituhren. Eine solche genaue Abstimmung wäre schwierig, da einzelne Zeituhren unterschiedliche Begriffe über Betrag und zeitliche Änderungsgeschwindigkeit haben. PTM ermöglicht es Komponenten, die Beziehung zwischen ihren lokalen Zeiten und einer gemeinsam genutzten PTM-Masterzeit zu berechnen: eine unabhängige Zeitdomäne, die mit einer PTM-Root assoziiert ist.
  • So können PTM-Dialoge zwischen einer nachgelagerten Vorrichtung und einer vorgelagerten Vorrichtung durchgeführt werden. Die nachgelagerte Vorrichtung weist einen vorgelagerten Anschluss auf, über den die nachgelagerte Vorrichtung Nachrichten an eine vorgelagerte Vorrichtung senden kann. Die vorgelagerte Vorrichtung weist einen nachgelagerten Anschluss auf, über den die vorgelagerte Vorrichtung Nachrichten an eine nachgelagerte Vorrichtung senden kann. Die vorgelagerte Vorrichtung kann als PCIe-Root-Anschluss ausgebildet sein. Der PTM-Dialog ermöglicht Komponenten mit unterschiedlicher lokaler Zeit, die Beziehung zwischen ihren lokalen Zeiten und einer gemeinsam genutzten PTM-Master-Zeit (z. B. Zeitstempelzähler (TSC)) zu berechnen, die mit einer PTM-Root assoziiert ist. Die PTM-Root ist ein PCIe-Root-Anschluss, der die Quelle der PTM-Master-Zeit für alle Vorrichtungen ist, wie etwa nachgelagerte Vorrichtung und vorgelagerte Vorrichtung in der PCIe-Hierarchie, die mit diesem Root-Anschluss assoziiert sind.
  • Ein TGPIO-Pin 510 auf der TGPIO-Flankenerfassungsschaltungsanordnung 512 wird verwendet, um ein Eingabesignal 514 zu empfangen, das durch eine externe Vorrichtung angesteuert wird. Die TGPIO-Flankenerfassungsschaltungsanordnung 512 kann dazu ausgelegt, programmiert, angepasst oder anderweitig dazu konfiguriert sein, steigende und fallende Flanken (Ereignisse) eines Signals, das durch eine externe Vorrichtung erzeugt wird, die mit dem TGPIO-Eingangspin verbunden ist, zeitlich zu stempeln. Das Eingabesignal kann periodisch, zum Beispiel ein GPS-Takt, oder aperiodisch, zum Beispiel ein Sensoreingang, sein. Es versteht sich, dass mehrere TGPIO-Pins 510 in TGPIO-Hardware verwendet werden können. Eine TGPIO-Flankenerfassungsschaltungsanordnung 512 kann für jeden TGPIO-Pin 510 implementiert sein. Flanken des Eingabesignals 514 werden unter Verwendung des ART- Takts 508 zeitgestempelt, und die CPU wird über TGPIO-Ereignisse benachrichtigt. Ein Ereignis ist eine steigende Flanke, eine fallende Flanke oder Sätze von steigenden oder fallenden Flanken des Eingabesignals 514.
  • Eine TGPIO-Ereigniserfassungsfilterschaltungsanordnung 516 kann dazu ausgelegt, programmiert, angepasst oder anderweitig dazu konfiguriert sein, die Ereignisse des Eingabesignals nach einem Muster zu durchsuchen. Die TGPIO-Ereigniserfassungsfilterschaltungsanordnung 516 erkennt Muster von zeitgestempelten Ereignissen unter Verwendung der softwarebereitgestellten Eingabemusterspezifikation (d. h. Suchmuster). Die Eingabemusterspezifikation kann beispielsweise reguläre Ausdrücke oder Fuzzy-Logik-Regeln sein. Wenn ein Muster erkannt wird, gibt die TGPIO-Ereigniserfassungsfilterschaltungsanordnung 516 nur die Zeitstempel zurück, die für die Softwareanwendung von Interesse sind. Eine Filterspezifikation, die durch Anwendungssoftware bereitgestellt wird, spezifiziert die Ereignisse von Interesse. Das Suchmuster kann durch Software bereitgestellt werden, die auf der CPU 504 ausgeführt wird. Dadurch wird ein softwarespezifischer Filter in Hardware bereitgestellt.
  • TGPIO-Ereignisfilterung kann in verschiedenen Anwendungen verwendet werden. Beispielsweise werden im Bereich der Prozessüberwachung und Anomaliedetektion PLCs in der industriellen Automatisierung üblicherweise zur Bewegungssteuerung, wie etwa Steuerung der Geschwindigkeit von Präzisionsmotorsteuerwerkzeugen in einer Fertigungsanlage, verwendet. Das System kann verwendet werden, um einen digitalen Zwilling aus beobachtetem Verhalten zu erzeugen, der ein Modell zum Vorhersagen eines Maschinenausfalls bereitstellt. Dann wird der digitale Zwilling verwendet, um Eingangsmustererkennungsregeln für einen TGPIO-Ereignisfilter zu erzeugen. TGPIO-Hardware ist in der Lage, eine Anwendung über anomales Verhalten (erkanntes Muster) zu benachrichtigen, das zu einem Motorausfall führen kann. Die Anwendung kann dann ein außerordentliches Verhalten behandeln.
  • In einem intelligenten öffentlichen Versorgungsnetzkontext kann die TGPIO-Vorrichtung mit einem Spannungssensor verbunden sein, der Muster für eine Spannungsunregelmäßigkeit in dem Netz erfasst und anomale Spannungsmuster in dem Netz protokolliert, die die Lastausgleichsvorgänge innerhalb des Netzes informieren.
  • Als eine andere beispielhafte Implementierung kann das System verwendet werden, um Taktdriften unter Verwendung vertrauenswürdiger Zeitquellen zu detektieren. Eine Vorrichtung, wie etwa ein Sensor, kann mit einer gemeinsamen Zeitquelle, wie etwa GPS, verbunden sein, die einen lokalen Sensorvorrichtungstakt ansteuert. Falls GPS auf dem Sensor beeinträchtigt (manipuliert) ist, kann die (mit dem Sensor verbundene) TGPIO-Hardware dies detektieren, indem sie die zeitgestempelten Ereignisse mit einer vertrauenswürdigen lokalen Kopie des GPS-Takts in Beziehung setzt (unter Verwendung von ART). Anomale Zeitstempelmuster könnten GPS-Manipulation an dem Sensor anzeigen, was anzeigen kann, dass jeglichen Koordinaten, die von dem Sensor erhalten werden, auch nicht vertraut werden sollte. Das System kann Manipulationen für einen beliebigen Sensor detektieren, der ein Flankenmuster in Bezug auf eine gemeinsame Zeitquelle emittiert.
  • 6 ist ein Blockdiagramm, das eine Architektur 600 zum Implementieren eines zeitbewussten universellen Eingabe/Ausgabe- bzw. TGPIO-Systems gemäß einer Ausführungsform veranschaulicht. Eine Flankendetektorschaltungsanordnung 602 kann dazu ausgelegt, programmiert, angepasst oder anderweitig konfiguriert sein, steigende oder fallende Flanken eines Eingabesignals zu detektieren. Die Flankendetektorschaltungsanordnung 602 gibt einen Indikator einer steigenden Flanke (R), einer fallenden Flanke (F) oder einer Nicht-Änderung (N) für jeden Taktzyklus aus. Eine Geräteuhr 604 wird verwendet, um einen Zeitstempelzähler 606 anzusteuern.
  • Da Flankenzustände mit der Flankendetektorschaltungsanordnung 602 gesammelt werden und Zeitstempel jeder Flanke in dem Zeitstempelpuffer 612 gespeichert werden. Die Musteranpassungsschaltungsanordnung 608 kann dazu ausgelegt, programmiert, angepasst oder anderweitig konfiguriert sein, die Flanken, die in dem Zeitstempelpuffer 612 gespeichert sind, für ein Muster zu analysieren. Das Suchmuster 610 kann durch Software spezifiziert werden. Wenn ein Muster in den Flanken detektiert wird, werden die Zeitstempel für die bezüglichen Flanken an eine Benutzeranwendung oder eine andere Software (z. B. Betriebssystem) gesendet. Der Zeitstempelpuffer 612 kann als Ringpuffer implementiert sein.
  • In einer Ausführungsform liegt das Suchmuster 610 in der Form eines regelmäßigen Ausdrucks vor. In einer anderen Ausführungsform liegt das Suchmuster 610 in der Form von Fuzzy-Logik-Regeln vor, die an der Musteranpassungsschaltungsanordnung 608 implementiert sind. Alternativ dazu kann das Suchmuster 610 als ein endlicher Automat (FSA) implementiert sein.
  • Wenn ein Muster detektiert wird, wird der Zeitstempel, der dem Muster entspricht, das von dem Zeitstempelzähler 606 erhalten wird, in einer Warteschlange in dem Zeitstempelpuffer 612 gespeichert. Die Software kann über die Existenz des Musters gewarnt werden, oder die Software kann den Zeitstempelpuffer 612 abfragen, um zu bestimmen, welche Muster gepuffert wurden.
  • 7 ist ein Diagramm, das eine Reihe von Impulsen in einem Signal veranschaulicht, gemäß einer Ausführungsform. Die Impulse weisen eine steigende Flanke zur Zeit T1, eine fallende Flanke zur Zeit T2, eine steigende Flanke zur Zeit T3 und eine fallende Flanke zur Zeit T4 auf. Das Diagramm enthält die als vertikale gestrichelte Linien dargestellten Takt-Ticks. Wie beobachtet werden kann, weisen manche der Perioden ohne Änderung (entweder High- oder Low-Signal) unterschiedliche Dauern auf.
  • Ein Suchmuster wird in Form eines regelmäßigen Ausdrucks bereitgestellt. ( RN*FN*RN*F ) N* ( RN*FN*RN*F )
    Figure DE102021213195A1_0001
  • wobei R eine steigende Flanke ist, N ein Zustand ohne Änderung ist und F eine fallende Flanke ist. Anhand der Klammern im Suchmuster werden interessierende Zeitstempel bezeichnet. Basierend auf dem regulären Ausdruck ist das Suchmuster eine steigende Flanke, gefolgt von null oder mehr sich ändernden Zuständen, gefolgt von einer fallenden Flanke, gefolgt von null oder mehr sich ändernden Zuständen usw. Ein beliebiges Muster von vier Impulsen in dem Signal entspricht diesem beispielhaften regulären Ausdruck. Basierend auf der Klammer werden die Zeitstempel T1, T2, T3 und T4 identifiziert und gespeichert, wenn das Muster abgeglichen wird. Speziellere Bereiche können auf die Zustände gesetzt werden, um den Bereich von Mustern, die übereinstimmen, einzuschränken.
  • Andere Beispiele für regelmäßige Ausdrücke sind:
    • (RN{4}F) - dieses Muster entspricht einer steigenden Flanke, gefolgt von vier Taktzyklen von Nicht-Änderungszuständen, dann einer fallenden Flanke;
    • (RN+F) - dieses Muster entspricht mit einer steigenden Flanke, gefolgt von einem oder mehreren Nicht-Änderungszuständen, dann einer fallenden Flanke; und
    • (RN{3,6}F) - dieses Muster entspricht einer steigenden Flanke, gefolgt von zwischen drei und sechs Nicht-Änderungszuständen, dann einer fallenden Flanke.
  • Es versteht sich, dass diese Beispiele nicht einschränkend sind und dass andere reguläre Ausdrucksyntax verwendet werden kann, um ein Suchmuster zu bilden.
  • 8 ist ein Flussdiagramm, das einen TGPIO-Filterprozess 800 gemäß einer Ausführungsform veranschaulicht. Bei 802 ist eine Mustererkennungsschaltungsanordnung dazu konfiguriert, nach einem oder mehreren Mustern von TGPIO-Ereignissen zu suchen und diese zu erkennen. Bei 804 wird ein TGPIO-Pin zur Eingabe konfiguriert. Bei 806 werden steigende und fallende Flanken eines über den TGPIO-Pin empfangenen Eingabesignals detektiert. Bei 808 werden der Flankentyp (z. B. steigend oder fallend) und der entsprechende Zeitstempel gespeichert. Der Zeitstempel kann aus einem ART stammen. Bei 810 wird eine Mustererkennung an den zeitgestempelten Flanken ausgeführt. Basierend auf den Suchmustern kann die Mustererkennung an allen Flanken, nur an steigenden Flanken oder nur an fallenden Flanken durchgeführt werden. Die Mustererkennung verwendet ein gleitendes Suchfenster, das konfigurierbar sein kann. Das Gleitfenster kann auf der Größe des Suchmusters, dem verwendeten Anpassungsalgorithmus und verfügbarem Speicher zum Speichern des Zustands basieren. Zum Beispiel kann ein regelmäßiger Ausdruck abgeleitet werden, um einer beliebig langen Kette zu entsprechen. Der Entsprechungsalgorithmus ist in diesem Fall nicht durch die Kettengröße beschränkt, sondern durch den Speicher, der erforderlich ist, um die Zustandsmenge zu speichern, die beibehalten werden muss, um eine Entsprechung zu finden.
  • Von daher kann die Größe des Gleitfensters auf der Größe des Musters basieren. Falls beispielsweise ein Muster 13 Zyklen beinhaltet, dann wird das Signal von einer ersten Flanke für 13 Zyklen abgetastet, und falls ein Muster gefunden wird, wird die Anwendung benachrichtigt. Falls nein, wird die nächste Flanke verwendet, die mit dem ersten Element im Muster übereinstimmt, und die nachfolgenden 13 Zyklen (z. B. Fenster) werden nach dem Muster durchsucht.
  • Sobald ein Muster erkannt wird, werden relevante Zeitstempelzählerwerte identifiziert (Operation 812), und eine Benutzeranwendung wird benachrichtigt (Operation 814).
  • 9 ist ein Flussdiagramm, das ein Verfahren 900 zum Durchsuchen von TGPIO-Signalen nach Mustern gemäß einer Ausführungsform veranschaulicht. Bei 902 werden steigende oder fallende Flanken in einem Eingabesignal detektiert. In einer Ausführungsform stammt das Eingabesignal von einer externen Vorrichtung.
  • Bei 904 werden die steigenden oder fallenden Flanken zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke in einem Puffer gespeichert.
  • Bei 906 werden die steigenden oder fallenden Flanken in dem Puffer analysiert, um ein Flankenmuster zu identifizieren, das mit einem Suchmuster übereinstimmt.
  • Bei einer Ausführungsform wird das Suchmuster durch die Benutzeranwendung bereitgestellt. Bei einer Ausführungsform beinhaltet das Suchmuster einen regulären Ausdruck. Bei einer weiteren Ausführungsform beinhaltet der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung, während das Eingabesignal empfangen wird. In einer Ausführungsform beinhaltet das Suchmuster Fuzzy-Logik-Regeln. In einer Ausführungsform beinhaltet das Suchmuster einen endlichen Automaten.
  • Bei 908 werden Zeitstempel, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange gespeichert, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  • Wie oben besprochen, kann ein Zeitstempelpuffer 612 verwendet werden, um zeitgestempelte Ereignisse zu speichern. Der Puffer kann die Datenstruktur einer Warteschlange annehmen. Software liest Ereignisse aus der Warteschlange, während sie durch die TGPIO-Hardware gefüllt wird. Bei manchen TGPIO-Systemen werden, wenn die Warteschlange, die zum Halten von TGPIO-Ereignissen verwendet wird, überläuft, beliebige Ereignisse aus der Warteschlange geleert, oder neue Ereignisse können ignoriert und nicht in die Warteschlange eingereiht werden. Dies kann für Kundenanwendungen, die auf ein Ereignis warten, problematisch sein.
  • Eine Warteschlangenverwaltungs-Engine wird verwendet, um einen Überlauf von TGPIO-Ereignissen zu verhindern. Die Warteschlangenverwaltungs-Engine kann Ereignisse auf eine Weise komprimieren, um Ereignisse effizient zu speichern, sodass Informationen nicht verloren gehen.
  • 10 ist ein Blockdiagramm, das ein zeitbewusstes universelles Eingabe/Ausgabe- bzw. TGPIO-System 1000 gemäß einer Ausführungsform veranschaulicht. Das TGPIO-System 1000 kann auf einer PCI-Mezzanine-Karte (PMC) 1002 beinhalten, die dazu ausgelegt ist, mit einer CPU 1004 über einen PCI-BUS zu kommunizieren. Die CPU 1004 beinhaltet einen TSC 1006, der der CPU-Takt ist. Der TSC 1006 ist auf dem PMC 1002 mit einem ART 1008 synchronisiert. Der TSC 1006 dient zur Zeithaltung auf Betriebssystemebene. Der ART 1008 synchronisiert andere Systemvorrichtungen (z. B. eine Netzwerkschnittstellenkarte) einschließlich anderer über PCI verbundener Vorrichtungen.
  • Ein TGPIO-Pin 1010 auf der TGPIO-Flankenerfassungsschaltungsanordnung 1012 wird verwendet, um ein Eingabesignal 1014 zu empfangen, das durch eine externe Vorrichtung angesteuert wird. Die TGPIO-Flankenerfassungsschaltungsanordnung 1014 kann dazu ausgelegt, programmiert, angepasst oder anderweitig dazu konfiguriert sein, steigende und fallende Flanken (Ereignisse) eines Signals, das durch eine externe Vorrichtung erzeugt wird, die mit dem TGPIO-Eingangspin verbunden ist, zeitlich zu stempeln. Es versteht sich, dass mehrere TGPIO-Pins 1010 in TGPIO-Hardware verwendet werden können. Eine TGPIO-Flankenerfassungsschaltungsanordnung 1012 kann für jeden TGPIO-Pin 1010 implementiert sein. Das Eingabesignal kann periodisch, zum Beispiel ein GPS-Takt, oder aperiodisch, zum Beispiel ein Sensoreingang, sein. Flanken des Eingabesignals 1014 werden unter Verwendung des ART-Takts 1008 zeitgestempelt, und die CPU 1004 wird über TGPIO-Ereignisse benachrichtigt. Ein Ereignis ist eine steigende Flanke, eine fallende Flanke oder Sätze von steigenden oder fallenden Flanken des Eingabesignals 1014.
  • Eine TGPIO-Warteschlangenmanagerschaltungsanordnung 1016 kann dazu ausgelegt, programmiert, angepasst oder anderweitig konfiguriert sein, zu detektieren, wann ein Warteschlangenüberlauf auftreten kann, und die Warteschlange zu komprimieren oder neu zu organisieren. Die TGPIO-Warteschlangenmanagerschaltungsanordnung 1016 überwacht eine Rate von eingehenden Ereignissen und den Status der Ereigniswarteschlange. Wenn ein Überlauf bevorsteht, kann die TGPIO-Warteschlangenmanagerschaltungsanordnung 1016 eine oder mehrere Komprimierungstechniken nutzen, während sichergestellt wird, dass kritische Informationen in der Ereigniswarteschlange bewahrt werden.
  • Auf der niedrigsten Ebene erfasst die TGPIO-Hardware steigende oder fallende Flanken mit einem Zeitstempel. Dies erzeugt einen Strom von Zeitstempeln, die jeder erfassten Flanke entsprechen. Die Warteschlange kann Gruppen von Zeitstempeln aus dem Zeitstempelstrom unter Verwendung benutzerspezifizierter Zeitstempelgruppierungen speichern. Zum Beispiel kann ein Zweipulsmuster als eine Vier-Zeitstempel-Gruppierung, wann steigende und fallende Flanken aufgetreten sind, in der Warteschlange platziert werden.
  • Allgemein kann die TGPIO-Warteschlangenmanagerschaltungsanordnung 1016 einen von zwei Typen von Komprimierungsverfahren implementieren: gruppenübergreifende Komprimierung und gruppeninterne Komprimierung.
  • Gruppenübergreifende Komprimierung bezieht sich auf das Verwerfen ganzer Gruppen von Zeitstempeln basierend auf einer benutzerdefinierten Warteschlangenschwelle. Die Gruppe von zu verwerfenden Zeitstempeln wird dynamisch basierend auf Regeln bestimmt, die durch den Benutzer bereitgestellt werden. Die Regeln können auf Fuzzy-Logik oder Maschinenlernparametern basieren, die vom Benutzer bereitgestellt werden.
  • Die gruppenübergreifende Komprimierung kann auf einer Ankunftszeit von Zeitstempelgruppen basieren. Falls die Differenz der Ankunftszeit der zwei jüngsten Zeitstempelgruppen kleiner als eine durch den Benutzer festgelegte Schwelle ist, kann der neueste Eintrag verworfen werden. Dies erzwingt eine zeitliche Verteilung erfasster Zeitstempelgruppen.
  • Die gruppenübergreifende Komprimierung kann auf einer Differenz von Zeitstempeln basieren. Falls die Differenz zwischen dem ersten und letzten Zeitstempel einer Zeitstempelgruppierung kleiner als ein Durchschnitt ist, kann die Zeitstempelgruppe verworfen werden. Beispielsweise kann über mehrere vorherige Zeitstempelgruppen ein durchschnittliches Zeitdelta zwischen einem ersten und letzten Zeitstempel festgelegt werden. Falls die Zeitstempelgruppe ein kleineres Intervall als der Mittelwert aufweist, kann sie verworfen werden.
  • Gruppenübergreifende Komprimierung kann implementiert werden, indem anomale Daten erkannt werden, die interessierende Daten sein können. Bei einer Implementierung werden die Zeitstempeldeltas innerhalb einer Gruppe in eine trainierte Künstliche Intelligenz (KI) eingegeben, um potentiell anomales Verhalten zu erkennen. Zeitstempelgruppen, die anomales Verhalten anzeigen, werden in die Anwendung eingereiht und andere fallen gelassen. Dieser Mechanismus stellt eine effiziente Weise zur Erfassung von Datenanomalien bereit.
  • 11 ist ein Flussdiagramm, das einen Prozess 1100 zum Verwalten einer TGPIO-Warteschlange gemäß einer Ausführungsform veranschaulicht. Bei 1102 wird eine Zeitstempelgruppierung konfiguriert. Beispielsweise kann die Zeitstempelgruppierung so eingestellt werden, dass sie vier Zeitstempel, zehn Zeitstempel oder eine andere Anzahl von Zeitstempeln beinhaltet, die zusammen als eine Zeitstempelgruppe betrachtet werden.
  • Bei 1104 wird eine Komprimierungsspezifikation geladen. Die Komprimierungsspezifikation ist der Satz von Regeln oder Maschinenlernparametern, um zu bestimmen, welche Zeitstempelgruppen fallen gelassen werden sollen.
  • Bei 1106 wird die Warteschlangengröße überwacht, um zu bestimmen, dass die Anzahl von Elementen (Warteschlangengröße) eine Schwelle überschreitet. Die Schwelle kann eine prozentuale Größe der Warteschlange (z. B. 60 % voll, 80 % voll oder dergleichen) sein. Die Schwelle kann eine spezifische Anzahl sein, wie etwa 92 Elemente. Die Schwelle kann adaptiv auf der Rate von Einträgen basieren, die zur Warteschlange hinzugefügt oder aus dieser entfernt werden. Beispielsweise kann eine Warteschlange, die langsamer wächst, eine höhere Schwelle (z. B. 90 % voll) aufweisen als eine Warteschlange, die schneller wächst (z. B. 75 % voll).
  • Falls die Warteschlangengröße die Schwelle überschreitet, dann untersucht ein Warteschlangenmanager bei 1108 die Ereigniszeitstempel und lässt basierend auf der Komprimierungsspezifikation eine oder mehrere Zeitstempelgruppen fallen. Der Warteschlangenmanager überwacht weiterhin die Warteschlangengröße. In einer Ausführungsform, wenn selbst nach dem Fallenlassen einiger Zeitstempelgruppen die Warteschlange immer noch zu voll ist, werden zusätzliche Zeitstempelgruppen verworfen. In einer Ausführungsform wird zuerst die älteste Zeitstempelgruppe verworfen.
  • Ein Beispiel für eine gruppenübergreifende Komprimierungsrichtlinie ist das Beibehalten des n-ten ältesten Satzes von Zeitstempelgruppen. Dies ist für Anwendungen nützlich, die die ältesten Zeitstempel beibehalten müssen, um durchschnittliche Zeitstempeldauern über die gesamte Warteschlange zu berechnen. Die Anwendung spezifiziert die eingestellte Größe der ältesten zu bewahrenden Zeitstempel. Falls die älteste eingestellte Größe Eins ist, wird die älteste Zeitstempelgruppe beibehalten und Zeitstempel, die an der zweiten Position beginnen, werden verworfen, wenn die Warteschlange voll oder nahezu voll ist. Wenn die älteste eingestellte Größe Zwei ist, bleiben die beiden ältesten Gruppen erhalten und die von der dritten Position ausgehenden werden verworfen. Der Benutzer kann bis zur ältesten eingestellten Größe n spezifizieren, wobei n die Gesamtanzahl von Zeitstempelgruppen (m) ist, die eingereiht werden können. Falls der Benutzer die älteste eingestellte Größe als n = m spezifiziert, wird der neueste Zeitstempel verworfen, wenn die Warteschlange gefüllt ist.
  • 12 zeigt die Richtlinie des Konservierens der N-ten ältesten Einträge in einer Warteschlange 1200, wobei N = 2. Da N = 2 ist, werden die ersten beiden Einträge 1202 als zu erhalten gekennzeichnet. Wenn die Warteschlange 1200 voll ist und eine neue Zeitstempelgruppe erfasst wird, wird der dritte Warteschlangeneintrag 1204 verworfen, um Platz für den neuen Eintrag 1206 zu schaffen. Dies kann für Anwendungen genutzt werden, die Frequenzverläufe berechnen müssen. Aus den ersten beiden Einträgen 1202 kann eine anfängliche Ereignisrate berechnet werden, und aus den letzten beiden Einträgen wird die endgültige Ereignisrate bestimmt.
  • Ein anderes Beispiel für gruppenübergreifende Komprimierung verwendet maschinelles Lernen, um Motorausfall vorherzusagen. Die TGPIO-Hardware tastet die Motorposition ab und bestimmt unter Verwendung von Maschinenlernen, ob die berechnete Drehrate ein anomales Verhalten angibt. Ereignisgruppierungen, die auf ein erwartetes Verhalten hinweisen, werden fallen gelassen. Andere Ereignisgruppierungen, die potentiell anomales Verhalten anzeigen, werden zur weiteren Verarbeitung in die Anwendung eingereiht.
  • Gruppeninterne Komprimierung ist ein Verfahren, das Zeitstempel innerhalb einer Gruppe basierend auf Prioritäten oder Regeln verwirft, die von einem Benutzer bereitgestellt werden. Dieses Komprimierungsverfahren ist dann sinnvoll, wenn alle Zeitstempel im Muster nicht von kritischer Bedeutung sind. Komprimierung kann verwendet werden, um einige der Zeitstempel zu verwerfen. Dies unterscheidet sich von der gruppenübergreifenden Komprimierung, die ganze Gruppen von Zeitstempeln fallen lässt.
  • 13 ist ein Diagramm, das eine gruppeninterne Komprimierung gemäß einer Ausführungsform veranschaulicht. Eine Warteschlange 1300 beinhaltet vier Zeitstempelgruppen, wobei jede Gruppe vier Zeitstempel aufweist, die mit eins bis sechzehn nummeriert sind. Die vier Zeitstempel in einer Gruppe richten sich mit einer ersten steigenden Flanke, einer ersten fallenden Flanke, einer zweiten steigenden Flanke und einer zweiten fallenden Flanke über zwei Impulse hinweg aus.
  • Eine Drop-Maske 1302 kann definiert werden, um die mittleren zwei Zeitstempel (die erste fallende Flanke und die zweite steigende Flanke) zu verwerfen und den ersten und vierten Zeitstempel beizubehalten. Die Drop-Maske 1302 kann auf diese Weise definiert werden, da die Anwendung, die Zeitstempeldaten verwendet, in der Lage sein kann, unter Verwendung des ersten und letzten Zeitstempels zu arbeiten. Die mittleren Zeitstempel können nützlich sein, weisen aber eine niedrigere Priorität als der erste und der letzte Zeitstempel auf.
  • Die Warteschlange 1300 wird in eine rekonfigurierte Warteschlange 1304 rekonfiguriert, um die mittleren zwei Zeitstempel fallenzulassen, was zusätzliche Warteschlangengröße für vier weitere Zeitstempelgruppen bereitstellt. Die rekonfigurierte Warteschlange 1304 ist in der Lage, Zeitstempelgruppen mit Zeitstempeln (17, 20), (21, 24), (25, 28) und (29, 32) zu speichern. Es ist anzumerken, dass die mittleren zwei Zeitstempel fallengelassen werden, bevor die Zeitstempelgruppe in der rekonfigurierten Warteschlange 1304 gespeichert wird.
  • Nachdem die Warteschlange 1300 in die rekonfigurierte Warteschlange 1304 rekonfiguriert wurde, kommuniziert die TGPIO-Hardware mit der Softwareanwendung, um der Anwendung mitzuteilen, dass sich die Warteschlangenstruktur geändert hat. Dies ermöglicht es der Software, die Warteschlangeninhalte beim Ausreihen von Zeitstempelgruppen zu korrigieren.
  • Drop-Masken können statisch oder dynamisch sein. Eine statische Drop-Maske ist eine, die einen festen Satz von Zeitstempeln spezifiziert, die in einer Gruppe fallengelassen werden sollen. Eine beispielhafte statische Drop-Maske auf einer Vier-Zeitstempel-Gruppe ist eine, die {keep, drop, drop, keep} angibt, um anzugeben, dass der erste und letzte Zeitstempel ausgelegt sind, beibehalten zu werden, während der zweite und dritte Zeitstempel fallengelassen werden. Andere beispielhafte statische Drop-Masken können {keep, drop, keep, keep}, {keep, drop, drop, drop} oder {keep, keep, drop, drop} sein. Es versteht sich, dass viele andere statische Drop-Masken verwendet werden können und sie dazu eingerichtet sein können, in einer Reihe angewendet zu werden. Zum Beispiel kann eine erste statische Drop-Maske verwendet werden, um sich von einer Sechs-Zeitstempel- zu einer Vier-Zeitstempel-Gruppe zu bewegen, und dann kann eine andere statische Drop-Maske verwendet werden, um sich von einer Vier-Zeitstempel-Gruppe zu einer Zwei-Zeitstempel-Gruppe zu bewegen, falls noch Warteschlangendruck vorhanden ist.
  • Eine dynamische Drop-Maske ist eine, die unter Verwendung einer dynamisch konfigurierten Drop-Maske definiert wird. In dieser Komprimierungsklasse werden Zeitstempel in einer Gruppe fallengelassen, indem die Maske dynamisch basierend auf Verfahren wie Maschinenlernen oder Fuzzy-Logik modifiziert wird. Dabei werden Zeitstempel mit einem tiefen Lernmodell oder Fuzzy-Logik-Modell analysiert, welches dann die Drop-Maske konfiguriert.
  • Jeder Komprimierungsdurchlauf kann sowohl statische als auch dynamische Komprimierung sein. Zum Beispiel kann ein erster Komprimierungsdurchlauf über die Warteschlange eine statische Drop-Maske verwenden. Ein zweiter Durchlauf über die Warteschlange kann dann eine dynamische Drop-Maske verwenden.
  • 14 ist ein Flussdiagramm, das ein Verfahren 1400 zur Zeitstempelwarteschlangenverwaltung gemäß einer Ausführungsform veranschaulicht. Bei der Initialisierung stellt die Benutzeranwendung eine Zeitstempelgruppenspezifikation und eine Komprimierungsspezifikation bereit. Die Komprimierungsspezifikation kann mehrere Durchgänge oder Stufen umfassen, die mit 1 bis C nummeriert sind. Die Zeitstempel werden aus einer Gruppe basierend auf der Maske mit einer Beibehalten/Fallenlassen-Spezifikation für jeden Zeitstempel in der Gruppe fallengelassen. Drop-Masken sind mit 1 bis D nummeriert. Jeder Komprimierungsdurchlauf kann Änderungen an der zuletzt verwendeten Maske vornehmen. Die aktuell festgelegte Drop-Maske wird auf alle (vergangenen und zukünftigen) erfassten Ereignisgruppierungen angewendet.
  • Bei 1402 wird eine Zeitstempelgruppierung konfiguriert. Beispielsweise kann die Zeitstempelgruppierung so eingestellt werden, dass sie vier Zeitstempel, zehn Zeitstempel oder eine andere Anzahl von Zeitstempeln beinhaltet, die zusammen als eine Zeitstempelgruppe betrachtet werden.
  • Bei 1404 wird eine Komprimierungsspezifikation geladen. Die Komprimierungsspezifikation beinhaltet einen Satz von Regeln oder Maschinenlernparametern, um zu bestimmen, welche Zeitstempelgruppen fallengelassen werden sollten. Die Komprimierungsspezifikation beinhaltet auch eine Liste von Komprimierungsstufen, die die Reihenfolge angibt, in der die Stufen angewendet werden. Jeder Komprimierungsstufe ist eine Drop-Maske zugeordnet. Die Komprimierungsstufen sind entweder statisch oder dynamisch, und die entsprechende Drop-Maske ist entweder eine statische Drop-Maske oder eine dynamische Drop-Maske.
  • Bei 1406 wird die operative Drop-Maske gelöscht, so dass alle Zeitstempeleinträge so eingestellt sind, dass sie beibehalten werden. Bei 1408 wird der Komprimierungsstufenindex auf die erste Stufe zurückgesetzt.
  • Bei 1410 wird von der Komprimierungsspezifikation auf die Komprimierungsstufe zugegriffen, die dem Stufenindex entspricht. Falls die Komprimierungsstufe eine dynamische Stufe ist (Entscheidung 1412), dann wird eine Drop-Maskenanpassung dynamisch erzeugt (Operation 1414). Andernfalls wird die Drop-Maskenanpassung in der Drop-Maskenliste nachgeschlagen (Operation 1415). Die Drop-Maskenanpassung ändert die Drop-Maske von der anfänglichen Konfiguration „Beibehalten aller Zeitstempel“ zu einer anderen Maskenkonfiguration. Falls zusätzliche Maskenanpassungen vorgenommen werden, werden sie an der aktuellen Maske vorgenommen, da sie durch die vorherigen Drop-Maskenanpassungen geändert wurde. Bei 1416 wird die Drop-Maskenanpassung auf die Drop-Maske angewandt, was zu einer neuen operativen Drop-Maske führt.
  • Bei 1418 wird die Warteschlange überwacht, um zu bestimmen, ob die Warteschlangengröße (Anzahl von Einträgen in der Warteschlange) eine Schwellengröße überschritten hat. Diese Überwachung wird in einer Schleife wiederholt. Die Warteschlange kann unter Verwendung eines Abfragesystems überwacht werden, das die Warteschlange in regelmäßigen Intervallen abfragt. Alternativ dazu kann eine Warteschlangenanordnungsoperation die Größe der Warteschlange überprüfen, wenn eine neue Zeitstempelgruppe zu der Warteschlange hinzugefügt wird, und signalisieren, wenn die Warteschlange über der Schwellengröße liegt.
  • Falls bestimmt wird, dass die Warteschlange über der Schwellengröße liegt, dann wird die operative Drop-Maske auf die Warteschlange angewandt (Operation 1420). Der Komprimierungsstufenindex wird inkrementiert, sodass beim nächsten Durchgang durch die Schleife die nächste Komprimierungsstufe verwendet wird, um die Warteschlange weiter zu komprimieren, falls möglich (Operation 1421).
  • Bei Entscheidungsblock 1422 wird bestimmt, ob der aktuelle Komprimierungsstufenindex der letzte Komprimierungsstufenindex ist. Ist dies der Fall, wird die Schleife beendet. Falls nicht, kehrt die Schleife zu Operation 1410 zurück, wo von der Komprimierungsspezifikation auf die nächste Komprimierungsstufe zugegriffen wird. Nach jedem Komprimierungsdurchlauf wird die Warteschlangenausnutzung überprüft, um zu bestimmen, ob weitere Komprimierung benötigt wird. Falls die Warteschlangenausnutzung die Schwelle überschreitet, dann wird der nächste Komprimierungsdurchlauf auf die Maske angewendet. Jeder Komprimierungsdurchlauf modifiziert die Maske. Ein(e) Komprimierungsstufe/-durchgang wird als statisch oder dynamisch eingestuft. Die Drop-Maske wird ferner basierend auf einem dynamischen oder statischen Verfahren angepasst und angewendet, um die Warteschlange weiter zu komprimieren.
  • Nachdem alle Komprimierungsstufen erschöpft sind, steht keine Komprimierung mehr zur Verfügung, und die Schleife wird beendet. Falls dann bestimmt wird, dass die Warteschlange die Größenschwelle überschreitet (Entscheidung 1424), können lediglich ganze Zeitstempelgruppen entfernt werden (Operation 1426). Zeitstempelgruppen werden entfernt, wenn Warteschlangendruck vorliegt. Die zu entfernende Zeitstempelgruppe kann auf den gleichen Regeln basieren, die in der gruppenübergreifenden Komprimierung verwendet werden (z. B. Intervalle zwischen Zeitstempeln in einer Gruppe im Vergleich zu anderen Intervallen aus anderen Gruppen). Bei einer anderen Implementierung kann zuerst die älteste Zeitstempelgruppe entfernt werden. Andere Richtlinien können verwendet werden, um Zeitstempelgruppen basierend auf Prioritätsstufe, Alter oder dergleichen zu entfernen. Dies setzt sich fort, bis die Warteschlange entleert ist (Entscheidung 1428). Zusätzlich oder optional kann das Verfahren 1100 der gruppenübergreifenden Komprimierung an der Warteschlange verwendet werden, um Warteschlangendruck zu entlasten. Einmal geleert, kann der Komprimierungsmechanismus vollständig zurückgesetzt werden, indem die Drop-Maske zurückgesetzt wird (Operation 1406) und der Komprimierungsstufenindex zurückgesetzt wird (Operation 1408).
  • 15 ist ein Flussdiagramm, das ein Verfahren 1500 zur zeitbewussten universellen Eingabe-/Ausgabesignalkomprimierung gemäß einer Ausführungsform veranschaulicht.
  • Bei 1502 werden steigende oder fallende Flanken in einem Eingabesignal detektiert.
  • Bei 1504 werden die entsprechenden Zeitstempel der steigenden oder fallenden Flanken bestimmt.
  • Bei 1506 werden die Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration gespeichert.
  • Bei 1508 wird auf eine Komprimierungsspezifikation zugegriffen.
  • Bei 1510 wird bestimmt, wann die Kapazität der Ereigniswarteschlange eine Schwelle überschreitet.
  • Bei 1512 wird die Ereigniswarteschlange gemäß der Komprimierungsspezifikation komprimiert, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  • In einer Ausführungsform umfasst das Komprimieren der Ereigniswarteschlange das Fallenlassen einer Zeitstempelgruppe aus der Warteschlange. In einer weiteren Ausführungsform beinhaltet die Komprimierungsspezifikation Gruppenprioritäten, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll. Bei einer weiteren Ausführungsform beinhalten die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen, die am Kopf der Warteschlange bewahrt werden sollen.
  • In einer Ausführungsform umfasst das Komprimieren der Ereigniswarteschlange das Fallenlassen eines Zeitstempels aus einer Zeitstempelgruppe. In einer weiteren Ausführungsform beinhaltet die Komprimierungsspezifikation eine Drop-Maske, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll. In einer weiteren Ausführungsform ist die Drop-Maske eine statische Drop-Maske. In einer anderen Ausführungsform wird die Drop-Maske durch die Benutzeranwendung bereitgestellt.
  • In einer verwandten Ausführungsform ist die Drop-Maske eine dynamische Drop-Maske. In einer weiteren Ausführungsform wird die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert. In einer anderen Ausführungsform wird die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert.
  • In einer Ausführungsform umfasst das Komprimieren der Ereigniswarteschlange Reduzieren der Größe einer Zeitstempelgruppe.
  • Ausführungsformen können als Hardware, Firmware oder Software oder als eine Kombination aus diesen umgesetzt sein. Ausführungsformen können auch als auf einer maschinenlesbaren Speichervorrichtung gespeicherte Anweisungen umgesetzt sein, die durch zumindest einen Prozessor gelesen und ausgeführt werden können, um die hier beschriebenen Operationen durchzuführen. Eine maschinenlesbare Speichervorrichtung kann jeden nicht-flüchtigen Mechanismus zum Speichern von Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form umfassen. Beispielsweise kann eine maschinenlesbare Speichervorrichtung Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Magnetplattenspeichermedien, optische Speichermedien, Flash-Speichervorrichtungen und andere Speichervorrichtungen und Medien umfassen.
  • Beispiele, wie hierin beschrieben, können Logik oder eine Anzahl von Komponenten, wie etwa Module, Intellectual-Property(IP)-Blöcke oder -Kerne oder Mechanismen beinhalten oder damit arbeiten. Eine derartige Logik oder derartige Komponenten können Hardware, Software oder Firmware sein, die kommunikativ mit einem oder mehreren Prozessoren gekoppelt sind, um die hier beschriebenen Operationen auszuführen. Logik oder Komponenten können Hardwaremodule (z. B. IP-Block) sein und als solches als materielle Entitäten erachtet werden, die vorgegebene Operationen durchführen können, und können auf eine gewisse Weise konfiguriert oder angeordnet sein. In einem Beispiel können Schaltungen (z. B. intern oder mit Bezug auf externe Entitäten, wie etwa andere Schaltungen), auf eine spezifizierte Weise als ein IP-Block, IP-Kern, System-on-Chip (SoC) oder dergleichen angeordnet sein.
  • In einem Beispiel können ein oder mehrere Computersysteme (z. B. ein eigenständiges, Client- oder Servercomputersystem) oder ein oder mehrere Hardwareprozessoren ganz oder teilweise durch Firmware oder Software (z. B. Anweisungen, einen Anwendungsteil oder eine Anwendung) als ein Modul ausgelegt sein, das dazu dient, bestimmte Operationen durchzuführen. In einem Beispiel kann die Software auf einem maschinenlesbaren Medium liegen. In einem Beispiel veranlasst die Software, wenn durch die zugrunde liegende Hardware des Moduls ausgeführt, die Hardware, die angegebenen Operationen durchzuführen.
  • Entsprechend ist der Begriff Hardwaremodul als eine materielle Einheit umfassend zu verstehen, sie dies eine Einheit, die physisch aufgebaut, speziell ausgelegt (z. B. verkabelt) oder vorübergehend (z. B. flüchtig) ausgelegt (z. B. programmiert) ist, um in einer angegebenen Weise zu arbeiten oder jede hier beschriebene Operation teilweise oder ganz durchzuführen.
  • Beispiele berücksichtigend, bei denen Module vorübergehend ausgelegt sind, müssen die einzelnen Module nicht zu jedem Moment in der Zeit instanziiert sein. Wenn beispielsweise die Module einen universellen Hardwareprozessor umfassen, der unter Verwendung von Software ausgelegt ist, kann der universelle Hardwareprozessor zu unterschiedlichen Zeiten entsprechend als unterschiedliche Module ausgelegt sein. Software kann entsprechend einen Hardwareprozessor auslegen, beispielsweise, um bei einer Zeitinstanz ein bestimmtes Modul zu bilden und bei einer anderen Zeitinstanz ein anderes Modul zu bilden. Module können auch Software- oder Firmwaremodule sein, die operieren, um die hier beschriebenen Methodologien durchzuführen.
  • Ein IP-Block (auch als IP-Kern bezeichnet) ist eine wiederverwendbare Einheit aus Logik, Zelle oder integrierter Schaltung. Ein IP-Block kann als ein Teil eines feldprogrammierbaren Gate-Arrays (FPGA), einer anwendungsspezifischen integrierten Schaltung (ASIC), einer programmierbaren Logikvorrichtung (PLD), eines System-on-Chip (SoC) oder dergleichen verwendet werden. Er kann für einen bestimmten Zweck konfiguriert sein, wie etwa digitale Signalverarbeitung oder Bildverarbeitung. Zu beispielhaften IP-Kernen gehören CPU-Kerne (CPU: Zentrale Verarbeitungseinheit), integrierte Grafiken, Sicherheit, Eingabe/Ausgabe- bzw. E/A-Steuerung, ein System-Agent, eine Grafikverarbeitungseinheit (GPU), künstliche Intelligenz, neuronale Prozessoren, eine Bildverarbeitungseinheit, Kommunikationsschnittstellen, Speichersteuerung, Peripheriegerätesteuerung, ein Plattformsteuerungs-Hub oder dergleichen.
  • 16 ist ein Blockdiagramm, das eine Maschine in der beispielhaften Form eines Computersystems 1600, in dem ein Satz oder eine Sequenz von Anweisungen ausgeführt werden kann, um zu bewirken, dass die Maschine eine beliebige der hier erörterten Methoden durchführt, gemäß einer Ausführungsform veranschaulicht. In alternativen Ausführungsformen operiert die Maschine als eine eigenständige Vorrichtung oder kann (z. B. über ein Netzwerk) mit anderen Maschinen verbunden sein. In einer Netzwerkumsetzung kann die Maschine in der Funktion entweder einer Server- oder einer Client-Maschine in Client-Server-Netzwerkumgebungen operieren, oder sie kann als eine Peer-Maschine in Peer-to-Peer- (oder verteilten) Netzwerkumgebungen agieren. Die Maschine kann ein bordinternes Fahrzeugsystem eine Set-Top-Box, eine tragbare Vorrichtung, ein Personal Computer (PC), ein Tablet-PC, ein Hybrid-Tablet, ein Personal Digital Assistant (PDA), ein Mobiltelefon oder jede andere Maschine sein, die in der Lage ist, Anweisungen (sequenzielle oder anderweitige) auszuführen, die von dieser Maschine einzuleitende Aktionen angeben. Obwohl nur eine einzige Maschine veranschaulicht ist, ist ferner der Begriff „Maschine“ auch so aufzufassen, dass er eine beliebige Sammlung von Maschinen umfasst, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um eine oder mehrere der hier besprochenen Verfahren durchzuführen. Gleichermaßen ist der Begriff „prozessorbasiertes System“ so aufzufassen, dass er einen beliebigen Satz einer oder mehrerer Maschinen umfasst, die durch einen Prozessor (z. B. einen Computer) dahingehend gesteuert oder betrieben werden, einzeln oder gemeinsam Anweisungen auszuführen, um irgendeine oder mehrere der hier erörterten Methoden durchzuführen.
  • Das beispielhafte Computersystem 1600 umfasst zumindest einen Prozessor 1602 (z. B. eine zentrale Verarbeitungseinheit (CPU, central processing unit), einen Grafikprozessor (GPU, graphics processing unit) oder beide, Prozessorkerne, Rechenknoten usw.), einen Hauptspeicher 1604 und einen statischen Speicher 1606, die miteinander über eine Verbindung 1608 (z. B. Bus) kommunizieren. Das Computersystem 1600 kann ferner eine Videoanzeigeeinheit 1610, eine alphanumerische Eingabevorrichtung 1612 (z. B. eine Tastatur) und eine Navigationsvorrichtung 1614 der Benutzerschnittstelle (UI, user interface) (z. B. eine Maus) umfassen. In einer Ausführungsform sind die Videoanzeigeeinheit 1610, die Eingabevorrichtung 1612 und die UI-Navigationsvorrichtung 1614 in eine Touchscreenanzeige integriert. Das Computersystem 1600 kann zusätzlich eine Speichervorrichtung 1616 (z. B. eine Laufwerkseinheit), eine Signalerzeugungsvorrichtung 1618 (z. B. einen Lautsprecher), eine Netzwerkschnittstellenvorrichtung 1620 und einen oder mehrere Sensoren (nicht gezeigt), wie etwa einen GPS-Sensor (global positioning system), einen Kompass, einen Beschleunigungsmesser oder einen anderen Sensor, umfassen.
  • Die Speichervorrichtung 1616 umfasst ein maschinenlesbares Medium 1622, auf dem ein oder mehrere Sätze von Datenstrukturen und Anweisungen 1624 (z. B. Software) gespeichert sind, die eine oder mehrere der hier beschriebenen Methodologien oder Funktionen verkörpern oder von diesen genutzt werden. Die Anweisungen 1624 können während Ausführung derselben durch das Computersystem 1600 auch, komplett oder zumindest teilweise, innerhalb des Hauptspeichers 1604, des statischen Speichers 1606 und/oder innerhalb des Prozessors 1602 liegen, wobei der Hauptspeicher 1604, der statische Speicher 1606 und der Prozessor 1602 ebenfalls maschinenlesbare Medien bilden.
  • Obwohl das maschinenlesbare Medium 1622 in einem Ausführungsbeispiel als ein einziges Medium veranschaulicht wird, kann der Begriff „maschinenlesbares Medium“ ein einziges Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder assoziierte Caches und Server) beinhalten, die die eine oder die mehreren Anweisungen 1624 speichern. Der Begriff „maschinenlesbares Medium“ soll auch so verstanden werden, dass er ein beliebiges greifbares Medium umfasst, das in der Lage ist, Anweisungen zur Ausführung durch die Maschine zu speichern, zu codieren oder zu tragen, und das die Maschine veranlasst, eines oder mehrere der Verfahren der vorliegenden Offenbarung durchzuführen, oder das in der Lage ist, Datenstrukturen zu speichern, zu codieren oder zu tragen, die durch solche Anweisungen genutzt werden oder mit diesen assoziiert sind. Der Begriff „maschinenlesbares Medium“ ist demnach so aufzufassen, dass er unter anderem Festkörperspeicher und optische und magnetische Medien beinhaltet. Spezielle Beispiele von maschinenlesbaren Medien umfassen nicht-flüchtigen Speicher, umfassend, aber nicht beschränkt auf, in Form von Beispielen, Halbleiterspeichervorrichtungen (z. B. elektrisch programmierbaren Nur-Lese-Speicher (EPROM), elektrisch löschbaren programmierbaren Nur-Lese-Speicher (EEPROM)) und Flash-Speichervorrichtungen; Magnetplatten, wie etwa interne Festplatten und herausnehmbare Platten; magneto-optische Platten; und CD-ROM- sowie DVD-ROM-Disks.
  • Die Anweisungen 1624 können ferner über ein Kommunikationsnetzwerk 1626 unter Verwendung eines Übertragungsmediums über die Netzwerkschnittstellenvorrichtung 1620 unter Nutzung einer beliebigen Anzahl von wohlbekannten Übertragungsprotokollen (z. B. HTTP) übertragen werden. Beispiele von Kommunikationsnetzwerken umfassen ein Nahbereichsnetzwerk (LAN, local area network), ein Weitbereichsnetzwerk (WAN, wide area network), das Internet, Mobiltelefonnetze, analoge Telefonnetze (POTS, plain old telephone) und kabellose Datennetzwerke (z. B. Wi-Fi-, 3G- und 4G LTE/LTE-A- oder WiMAX-Netzwerke). Der Begriff „Übertragungsmedium“ ist so aufzufassen, dass er ein beliebiges nicht-greifbares Medium umfasst, das zum Speichern, Codieren oder Ausführen von Anweisungen zur Ausführung durch die Maschine imstande ist, und umfasst digitale oder analoge Kommunikationssignale oder ein anderes nicht-greifbares Medium, um die Kommunikation solcher Software zu ermöglichen.
  • Zusätzliche Anmerkungen und Beispiele:
  • Beispiel 1 ist ein System zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, das Folgendes umfasst:
    • Flankendetektorschaltungsanordnungen zum: Detektieren steigender oder fallender Flanken in einem Eingabesignal; und Speichern der steigenden oder fallenden Flanken in einem Puffer zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke; und Musteranpassungsschaltungsanordnungen zum: Analysieren der steigenden oder fallenden Flanken in dem Puffer, um ein Flankenmuster zu identifizieren, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  • In Beispiel 2 umfasst der Gegenstand von Beispiel 1, dass das Eingabesignal von einer externen Vorrichtung stammt.
  • In Beispiel 3 umfasst der Gegenstand von Beispiel 1-2, dass das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 4 umfasst der Gegenstand von Beispiel 1-3, dass das Suchmuster einen regulären Ausdruck umfasst.
  • In Beispiel 5 umfasst der Gegenstand aus Beispiel 4, dass der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  • In Beispiel 6 umfasst der Gegenstand von Beispiel 1-5, dass das Suchmuster Fuzzy-Logik-Regeln umfasst.
  • In Beispiel 7 umfasst der Gegenstand von Beispiel 1-6, dass das Suchmuster einen endlichen Automaten umfasst.
  • Beispiel 8 ist ein Verfahren zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, das Folgendes umfasst: Detektieren steigender oder fallender Flanken in einem Eingabesignal; Speichern der steigenden oder fallenden Flanken in einem Puffer zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke; Analysieren der steigenden oder fallenden Flanken in dem Puffer, um ein Flankenmuster zu identifizieren, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  • In Beispiel 9 umfasst der Gegenstand von Beispiel 8, dass das Eingabesignal von einer externen Vorrichtung stammt.
  • In Beispiel 10 umfasst der Gegenstand von Beispiel 8-9, dass das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 11 umfasst der Gegenstand von Beispiel 8-10, dass das Suchmuster einen regulären Ausdruck umfasst.
  • In Beispiel 12 umfasst der Gegenstand aus Beispiel 11, dass der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  • In Beispiel 13 umfasst der Gegenstand von Beispiel 8-12, dass das Suchmuster Fuzzy-Logik-Regeln umfasst.
  • In Beispiel 14 umfasst der Gegenstand von Beispiel 8-13, dass das Suchmuster einen endlichen Automaten umfasst.
  • Beispiel 15 ist ein Edge-Computing-System, umfassend mehrere Edge-Computing-Knoten, wobei die mehreren Edge-Computing-Knoten mit biometrischen Sicherheitsverfahren aus einem der Beispiele 8 bis 14 oder 86 bis 97 ausgelegt sind.
  • Beispiel 16 ist ein Edge-Computing-Knoten, betreibbar in einem Edge-Computing-System, umfassend Verarbeitungsschaltungsanordnungen, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 17 ist ein Edge-Computing-Knoten, betreibbar als ein Server in einem Edge-Computing-System, ausgelegt zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 18 ist ein Edge-Computing-Knoten, betreibbar als Client in einem Edge-Computing-System, ausgelegt zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 19 ist ein Edge-Computing-Knoten, betreibbar in einer Schicht eines Edge-Computing-Systems als ein Aggregationsknoten, als Netzwerk-Hub-Knoten, als Gateway-Knoten oder als Kerndatenverarbeitungsknoten, ausgelegt zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 20 ist ein Edge-Computing-Netzwerk, umfassend Netzwerk- und Verarbeitungskomponenten, ausgelegt zum Bereitstellen oder Betreiben eines Kommunikationsnetzwerks, um einem Edge-Computing-System zu ermöglichen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 21 ist ein Zugangspunkt, umfassend Netzwerk- und Verarbeitungskomponenten, ausgelegt zum Bereitstellen oder Betreiben eines Kommunikationsnetzwerks, um einem Edge-Computing-System zu ermöglichen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 22 ist eine Basisstation, umfassend Netzwerk- und Verarbeitungskomponenten, ausgelegt zum Bereitstellen oder Betreiben eines Kommunikationsnetzwerks, um einem Edge-Computing-System zu ermöglichen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 23 ist eine straßenseitige Einheit, umfassend Netzwerkkomponenten, ausgelegt zum Bereitstellen oder Betreiben eines Kommunikationsnetzwerks, um einem Edge-Computing-System zu ermöglichen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 24 ist ein Vor-Ort-Server, betreibbar in einem privaten Kommunikationsnetzwerk, das von einem öffentlichen Edge-Computing-Netzwerk verschieden ist, wobei der Server dazu ausgelegt ist, einem Edge-Computing-System zu ermöglichen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 25 ist ein mobiles drahtloses 3GPP-4G/LTE-Kommunikationssystem, umfassend Netzwerk- und Verarbeitungskomponenten, ausgelegt mit den biometrischen Sicherheitsverfahren aus einem der Beispiele 8 bis 14 oder 86 bis 97.
  • Beispiel 26 ist ein mobiles drahtloses 5G-Netzwerk-Kommunikationssystem, umfassend Netzwerk- und Verarbeitungskomponenten, ausgelegt mit den biometrischen Sicherheitsverfahren aus einem der Beispiele 8 bis 14 oder 86 bis 97.
  • Beispiel 27 ist eine Benutzergerätevorrichtung, umfassend Netzwerk- und Verarbeitungsschaltungsanordnungen, ausgelegt zum Verbinden mit einem Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 28 ist eine Client-Datenverarbeitungsvorrichtung, umfassend Verarbeitungsschaltungsanordnungen zum Koordinieren von Berechnungsoperationen mit einem Edge-Computing-System, wobei das Edge-Computing-System ausgelegt ist zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 29 ist ein Edge-Bereitstellungsknoten, betreibbar in einem Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 30 ist ein Dienstorchestrierungsknoten, betreibbar in einem Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 31 ist ein Anwendungsorchestrierungsknoten, betreibbar in einem Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 32 ist ein mandantenfähiger Verwaltungsknoten, betreibbar in einem Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 33 ist ein Edge-Computing-System, umfassend Verarbeitungsschaltungsanordnungen, wobei das Edge-Computing-System ausgelegt ist zum Betreiben einer oder mehrerer Funktionen und Dienste zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 34 ist eine Netzwerkhardware mit darauf umgesetzten Netzwerkfunktionen, betreibbar innerhalb eines Edge-Computing-Systems, ausgelegt mit den biometrischen Sicherheitsverfahren aus einem der Beispiele 8 bis 14 oder 34 86 bis 97.
  • Beispiel 35 ist eine Beschleunigungshardware mit darauf umgesetzten Beschleunigungsfunktionen, betreibbar in einem Edge-Computing-System, wobei die Beschleunigungsfunktionen ausgelegt sind zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 36 ist eine Speicherungshardware mit darauf umgesetzten Speicherungsfähigkeiten, betreibbar in einem Edge-Computing-System, wobei die Speicherungshardware ausgelegt ist zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 37 ist eine Berechnungshardware mit darauf umgesetzten Berechnungsfähigkeiten, betreibbar in einem Edge-Computing-System, wobei die Berechnungshardware ausgelegt ist zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 38 ist ein Edge-Computing-System, angepasst zum Unterstützen von Fahrzeug-zu-Fahrzeug- (V2V), Fahrzeug-zu-allem- (V2X) oder Fahrzeug-zu-Infrastruktur-Szenarien (V2I), ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 39 ist ein Edge-Computing-System, angepasst zum Betreiben, gemäß einer oder mehrerer Edge-Computing-Spezifikationen mit Mehrfachzugriff (MEC) nach ETSI (Europäisches Institut für Telekommunikationsnormen), des Edge-Computing-Systems, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 40 ist ein Edge-Computing-System, angepasst zum Betreiben einer oder mehrerer Edge-Computing-Komponenten mit Mehrfachzugriff (MEC), wobei die MEC-Komponenten von einem oder mehreren aus Folgendem bereitgestellt werden: einem MEC-Proxy, einem MEC-Anwendungsorchestrator, einer MEC-Anwendung, einer MEC-Plattform oder einem MEC-Dienst, gemäß einer Edge-Computing-Konfiguration mit Mehrfachzugriff (MEC) nach ETSI (Europäisches Institut für Telekommunikationsnormen), wobei die MEC-Komponenten ausgelegt sind zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 41 ist ein Edge-Computing-System, ausgelegt als ein vermaschtes Edge-Netz, bereitgestellt mit einem Mikrodienst-Cluster, einem Mikrodienst-Cluster mit Sidecars oder verknüpfte Mikrodienst-Cluster mit Sidecars, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 42 ist ein Edge-Computing-System, umfassend Schaltungsanordnungen, ausgelegt zum Umsetzen einer oder mehrerer Isolationsumgebungen, bereitgestellt unter dedizierter Hardware, virtuellen Maschinen, Containern, virtuellen Maschinen auf Containern, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 43 ist ein Edge-Computing-Server, ausgelegt für einen Betrieb als ein Enterprise-Server, straßenseitiger Server, Straßenschrank-Server oder Telekommunikationsserver, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 44 ist ein Edge-Computing-System, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 mit Verwendungsfällen, die bereitgestellt werden von einem oder mehreren aus Folgendem: Berechnungs-Offload, Daten-Caching, Videoverarbeitung, Netzwerkfunktionsvirtualisierung, Funkzugangsnetzwerkverwaltung, Augmented Reality, Virtual Reality, autonomes Fahren, Fahrzeugassistenz, Fahrzeugkommunikationen, industrielle Automatisierung, Einzelhandelsdienste, Herstellungsoperationen, intelligente Gebäude, Energiemanagement, Internet-der-Dinge-Operationen, Objektdetektion, Spracherkennung, Gesundheitspflegeanwendungen, Spieleanwendungen oder beschleunigte Inhaltsverarbeitung.
  • Beispiel 45 ist ein Edge-Computing-System, umfassend Berechnungsknoten, betrieben durch mehrere Eigner an unterschiedlichen geografischen Orten, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 46 ist ein Cloud-Computing-System, umfassend Datenserver, die entsprechende Clouddienste betreiben, wobei die entsprechenden Clouddienste dazu ausgelegt sind, mit einem Edge-Computing-System zu koordinieren, um eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 47 ist ein Server, umfassend Hardware zum Betreiben von Cloudlet-, Edgelet- oder Applet-Diensten, wobei die Dienste dazu ausgelegt sind, mit einem Edge-Computing-System zu koordinieren, um eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 umzusetzen.
  • Beispiel 48 ist ein Edge-Knoten in einem Edge-Computing-System, umfassend eine oder mehrere Vorrichtungen mit zumindest einem Prozessor und Speicher zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 49 ist ein Edge-Knoten in einem Edge-Computing-System, wobei der Edge-Knoten einen oder mehrere Dienste betreibt, die aus Folgendem bereitgestellt werden: einem Verwaltungskonsolendienst, einem Telemetriedienst, einem Bereitstellungsdienst, einem Anwendungs- oder Dienstorchestrierungsdienst, einem virtuellen Maschinendienst, einem Container-Dienst, einem Funktionsbereitstellungsdienst oder einem Berechnungsbereitstellungsdienst oder einem Beschleunigungsverwaltungsdienst, wobei der eine oder die mehreren Dienste ausgelegt sind zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 50 ist eine Menge von verteilten Edge-Knoten, verteilt unter einer Netzwerkschicht eines Edge-Computing-Systems, wobei die Netzwerkschicht eine Close-Edge-, Local-Edge-, Enterprise-Edge-, Vor-Ort-Edge-, Near-Edge-, Middle-Edge- oder Far-Edge-Netzwerkschicht umfasst, ausgelegt zum Umsetzen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 51 ist eine Einrichtung eines Edge-Computing-Systems, die Folgendes umfasst: einen oder mehrere Prozessoren und ein oder mehrere computerlesbare Medien, die Anweisungen umfassen, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 52 ist ein oder mehrere computerlesbare Speichermedien, die Anweisungen umfassen, um eine elektronische Vorrichtung eines Edge-Computing-Systems zu veranlassen, bei Ausführung der Anweisungen durch einen oder mehrere Prozessoren der elektronischen Vorrichtung eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 53 ist ein Kommunikationssignal, kommuniziert in einem Edge-Computing-System, zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 54 ist eine Datenstruktur, kommuniziert in einem Edge-Computing-System, wobei die Datenstruktur ein Datagramm, Paket, Rahmen, Segment, Protokolldateneinheit (PDU) oder eine Nachricht umfasst, um eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 55 ist ein Signal, kommuniziert in einem Edge-Computing-System, wobei das Signal mit einem Datagramm, Paket, Rahmen, Segment, Protokolldateneinheit (PDU), Nachricht oder Daten codiert ist, um eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 56 ist ein elektromagnetisches Signal, kommuniziert in einem Edge-Computing-System, wobei das elektromagnetische Signal computerlesbare Anweisungen trägt, wobei die Ausführung der computerlesbaren Anweisungen durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren veranlasst, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 57 ist ein Computerprogramm, verwendet in einem Edge-Computing-System, wobei das Computerprogramm Anweisungen umfasst, wobei die Ausführung des Programms durch ein Verarbeitungselement in dem Edge-Computing-System das Verarbeitungselement veranlassen soll, eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97 durchzuführen.
  • Beispiel 58 ist eine Einrichtung eines Edge-Computing-Systems, umfassend Mittel zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 59 ist eine Einrichtung eines Edge-Computing-Systems, umfassend Logik, Module oder Schaltungsanordnungen zum Durchführen eines der Verfahren aus Beispielen 8 bis 14 oder 86 bis 97.
  • Beispiel 60 ist zumindest ein maschinenlesbares Medium, umfassend Anweisungen zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, die, wenn sie von einer Maschine ausgeführt werden, die Maschine veranlassen, Operationen durchzuführen, die Folgendes umfassen: Detektieren steigender oder fallender Flanken in einem Eingabesignal; Speichern der steigenden oder fallenden Flanken in einem Puffer zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke; Analysieren der steigenden oder fallenden Flanken in dem Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  • In Beispiel 61 umfasst der Gegenstand von Beispiel 60, dass das Eingabesignal von einer externen Vorrichtung stammt.
  • In Beispiel 62 umfasst der Gegenstand von Beispiel 60-61, dass das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 63 umfasst der Gegenstand von Beispiel 60-62, dass das Suchmuster einen regulären Ausdruck umfasst.
  • In Beispiel 64 umfasst der Gegenstand aus Beispiel 63, dass der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  • In Beispiel 65 umfasst der Gegenstand von Beispiel 60-64, dass das Suchmuster Fuzzy-Logik-Regeln umfasst.
  • In Beispiel 66 umfasst der Gegenstand von Beispiel 60-65, dass das Suchmuster einen endlichen Automaten umfasst.
  • Beispiel 67 ist eine Vorrichtung zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, die Folgendes umfasst: Mittel zum Detektieren steigender oder fallender Flanken in einem Eingabesignal; Mittel zum Speichern der steigenden oder fallenden Flanken in einem Puffer zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke; Mittel zum Analysieren der steigenden oder fallenden Flanken in dem Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Mittel zum Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  • In Beispiel 68 umfasst der Gegenstand von Beispiel 67, dass das Eingabesignal von einer externen Vorrichtung stammt.
  • In Beispiel 69 umfasst der Gegenstand von Beispiel 67-68, dass das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 70 umfasst der Gegenstand von Beispiel 67-69, dass das Suchmuster einen regulären Ausdruck umfasst.
  • In Beispiel 71 umfasst der Gegenstand aus Beispiel 70, dass der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  • In Beispiel 72 umfasst der Gegenstand von Beispiel 67-71, dass das Suchmuster Fuzzy-Logik-Regeln umfasst.
  • In Beispiel 73 umfasst der Gegenstand von Beispiel 67-72, dass das Suchmuster einen endlichen Automaten umfasst.
  • Beispiel 74 ist ein System für zeitbewusste universelle Eingabe/Ausgabe-Signalkomprimierung, umfassend: Flankendetektorschaltungsanordnungen zum Detektieren steigender oder fallender Flanken in einem Eingabesignal; und Bestimmen der entsprechenden Zeitstempel der steigenden oder fallenden Flanken; Speichern der Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration; und eine Warteschlangenmanagerschaltungsanordnung zum: Zugreifen auf eine Komprimierungsspezifikation; Bestimmen, wann die Kapazität der Ereigniswarteschlange einen Schwellenwert überschreitet; und Komprimieren der Ereigniswarteschlange gemäß der Komprimierungsspezifikation, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  • In Beispiel 75 beinhaltet der Gegenstand aus Beispiel 74, dass die Warteschlangenmanagerschaltungsanordnung zum Komprimieren der Warteschlange eine Zeitstempelgruppe aus der Warteschlange fallenlassen muss.
  • In Beispiel 76 beinhaltet der Gegenstand aus Beispiel 75, dass die Komprimierungsspezifikation Gruppenprioritäten beinhaltet, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll.
  • In Beispiel 77 beinhaltet der Gegenstand aus Beispiel 76, dass die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen beinhalten, die am Kopf der Warteschlange zu bewahren sind.
  • In Beispiel 78 beinhaltet der Gegenstand aus Beispielen 74 bis 77, dass die Warteschlangenmanagerschaltungsanordnung zum Komprimieren der Warteschlange einen Zeitstempel aus einer Zeitstempelgruppe fallenlassen muss.
  • In Beispiel 79 beinhaltet der Gegenstand aus Beispiel 78, dass die Komprimierungsspezifikation eine Drop-Maske beinhaltet, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll.
  • In Beispiel 80 beinhaltet der Gegenstand aus Beispiel 79, dass die Drop-Maske eine statische Drop-Maske ist.
  • In Beispiel 81 beinhaltet der Gegenstand aus Beispielen 79 bis 80, dass die Drop-Maske durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 82 beinhaltet der Gegenstand aus Beispielen 79 bis 81, dass die Drop-Maske eine dynamische Drop-Maske ist.
  • In Beispiel 83 beinhaltet der Gegenstand aus Beispiel 82, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert wird.
  • In Beispiel 84 beinhaltet der Gegenstand aus Beispielen 82 bis 83, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert wird.
  • In Beispiel 85 beinhaltet der Gegenstand aus Beispielen 74 bis 84, dass zum Komprimieren der Warteschlange die Warteschlangenmanagerschaltungsanordnung die Größe einer Zeitstempelgruppe reduzieren muss.
  • Beispiel 86 ist ein Verfahren für zeitbewusste universelle Eingabe/Ausgabe-Signalkomprimierung, das Folgendes umfasst: Detektieren steigender oder fallender Flanken in einem Eingabesignal; Bestimmen der entsprechenden Zeitstempel der steigenden oder fallenden Flanken; Speichern der Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration; Zugreifen auf eine Komprimierungsspezifikation; Bestimmen, wann die Kapazität der Ereigniswarteschlange einen Schwellenwert überschreitet; und Komprimieren der Ereigniswarteschlange gemäß der Komprimierungsspezifikation, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  • In Beispiel 87 beinhaltet der Gegenstand aus Beispiel 86, dass das Komprimieren der Ereigniswarteschlange das Fallenlassen einer Zeitstempelgruppe aus der Warteschlange umfasst.
  • In Beispiel 88 beinhaltet der Gegenstand aus Beispiel 87, dass die Komprimierungsspezifikation Gruppenprioritäten beinhaltet, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll.
  • In Beispiel 89 beinhaltet der Gegenstand aus Beispiel 88, dass die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen beinhalten, die am Kopf der Warteschlange zu bewahren sind.
  • In Beispiel 90 beinhaltet der Gegenstand aus Beispielen 86 bis 89, dass das Komprimieren der Ereigniswarteschlange das Fallenlassen eines Zeitstempels aus einer Zeitstempelgruppe umfasst.
  • In Beispiel 91 beinhaltet der Gegenstand aus Beispiel 90, dass die Komprimierungsspezifikation eine Drop-Maske beinhaltet, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll.
  • In Beispiel 92 beinhaltet der Gegenstand aus Beispiel 91, dass die Drop-Maske eine statische Drop-Maske ist.
  • In Beispiel 93 beinhaltet der Gegenstand aus Beispielen 91 bis 92, dass die Drop-Maske durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 94 beinhaltet der Gegenstand aus Beispielen 91 bis 93, dass die Drop-Maske eine dynamische Drop-Maske ist.
  • In Beispiel 95 beinhaltet der Gegenstand aus Beispiel 94, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert wird.
  • In Beispiel 96 beinhaltet der Gegenstand aus Beispielen 94 bis 95, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert wird.
  • In Beispiel 97 beinhaltet der Gegenstand aus Beispielen 86 bis 96, dass Komprimieren der Ereigniswarteschlange Reduzieren der Größe einer Zeitstempelgruppe umfasst.
  • Beispiel 98 ist zumindest ein maschinenlesbares Medium, umfassend Anweisungen zur zeitbewussten universellen Eingabe/Ausgabe-Signalkomprimierung, die, wenn sie durch eine Maschine ausgeführt wird, die Maschine veranlasst, Operationen durchzuführen, die Folgendes umfassen: Detektieren steigender oder fallender Flanken in einem Eingabesignal; Bestimmen der entsprechenden Zeitstempel der steigenden oder fallenden Flanken; Speichern der Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration; Zugreifen auf eine Komprimierungsspezifikation; Bestimmen, wann die Kapazität der Ereigniswarteschlange einen Schwellenwert überschreitet; und Komprimieren der Ereigniswarteschlange gemäß der Komprimierungsspezifikation, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  • In Beispiel 99 beinhaltet der Gegenstand aus Beispiel 98, dass das Komprimieren der Ereigniswarteschlange das Fallenlassen einer Zeitstempelgruppe aus der Warteschlange umfasst.
  • In Beispiel 100 beinhaltet der Gegenstand aus Beispiel 99, dass die Komprimierungsspezifikation Gruppenprioritäten beinhaltet, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll.
  • In Beispiel 101 beinhaltet der Gegenstand aus Beispiel 100, dass die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen beinhalten, die am Kopf der Warteschlange zu bewahren sind.
  • In Beispiel 102 beinhaltet der Gegenstand aus Beispielen 98 bis 101, dass das Komprimieren der Ereigniswarteschlange das Fallenlassen eines Zeitstempels aus einer Zeitstempelgruppe umfasst.
  • In Beispiel 103 beinhaltet der Gegenstand aus Beispiel 102, dass die Komprimierungsspezifikation eine Drop-Maske beinhaltet, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll.
  • In Beispiel 104 beinhaltet der Gegenstand aus Beispiel 103, dass die Drop-Maske eine statische Drop-Maske ist.
  • In Beispiel 105 beinhaltet der Gegenstand aus Beispielen 103 bis 104, dass die Drop-Maske durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 106 beinhaltet der Gegenstand aus Beispielen 103 bis 105, dass die Drop-Maske eine dynamische Drop-Maske ist.
  • In Beispiel 107 beinhaltet der Gegenstand aus Beispiel 106, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert wird.
  • In Beispiel 108 beinhaltet der Gegenstand aus Beispielen 106 bis 107, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert wird.
  • In Beispiel 109 beinhaltet der Gegenstand aus Beispielen 98 bis 108, dass Komprimieren der Ereigniswarteschlange Reduzieren der Größe einer Zeitstempelgruppe umfasst.
  • Beispiel 110 ist eine Einrichtung für zeitbewusste universelle Eingabe/Ausgabe-Signalkomprimierung, die Folgendes umfasst: Mittel zum Detektieren steigender oder fallender Flanken in einem Eingabesignal; Mittel zum Bestimmen der entsprechenden Zeitstempel der steigenden oder fallenden Flanken; Mittel zum Speichern der Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration; Mittel zum Zugreifen auf eine Komprimierungsspezifikation; Mittel zum Bestimmen, wann die Kapazität der Ereigniswarteschlange einen Schwellenwert überschreitet; und Mittel zum Komprimieren der Ereigniswarteschlange gemäß der Komprimierungsspezifikation, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  • In Beispiel 111 beinhaltet der Gegenstand aus Beispiel 110, dass die Mittel zum Komprimieren der Ereigniswarteschlange Mittel zum Fallenlassen einer Zeitstempelgruppe aus der Warteschlange umfassen.
  • In Beispiel 112 beinhaltet der Gegenstand aus Beispiel 111, dass die Komprimierungsspezifikation Gruppenprioritäten beinhaltet, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll.
  • In Beispiel 113 beinhaltet der Gegenstand aus Beispiel 112, dass die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen beinhalten, die am Kopf der Warteschlange zu bewahren sind.
  • In Beispiel 114 beinhaltet der Gegenstand aus Beispielen 110 bis 113, dass die Mittel zum Komprimieren der Ereigniswarteschlange Mittel zum Fallenlassen eines Zeitstempels aus einer Zeitstempelgruppe umfassen.
  • In Beispiel 115 beinhaltet der Gegenstand aus Beispiel 114, dass die Komprimierungsspezifikation eine Drop-Maske beinhaltet, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll.
  • In Beispiel 116 beinhaltet der Gegenstand aus Beispiel 115, dass die Drop-Maske eine statische Drop-Maske ist.
  • In Beispiel 117 beinhaltet der Gegenstand aus Beispielen 115 bis 116, dass die Drop-Maske durch die Benutzeranwendung bereitgestellt wird.
  • In Beispiel 118 beinhaltet der Gegenstand aus Beispielen 115 bis 117, dass die Drop-Maske eine dynamische Drop-Maske ist.
  • In Beispiel 119 beinhaltet der Gegenstand aus Beispiel 118, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert wird.
  • In Beispiel 120 beinhaltet der Gegenstand aus Beispielen 118 bis 119, dass die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert wird.
  • In Beispiel 121 beinhaltet der Gegenstand aus Beispielen 110 bis 120, dass die Mittel zum Komprimieren der Ereigniswarteschlange Mittel zum Reduzieren der Größe einer Zeitstempelgruppe umfassen.
  • Beispiel 122 ist zumindest ein maschinenlesbares Medium, umfassend Anweisungen, die, wenn sie von einer Verarbeitungsschaltungsanordnung ausgeführt werden, die Verarbeitungsschaltungsanordnung veranlassen, Operationen zum Umsetzen eines der Beispiele 1 bis 121 durchzuführen.
  • Beispiel 123 ist eine Einrichtung, umfassend Mittel zum Umsetzen eines der Beispiele 1 bis 121.
  • Beispiel 124 ist ein System zum Umsetzen eines der Beispiele 1 bis 121.
  • Beispiel 125 ist ein Verfahren zum Umsetzen eines der Beispiele 1 bis 121.
  • Die vorstehende ausführliche Beschreibung beinhaltet Bezüge auf die begleitenden Zeichnungen, welche einen Teil der ausführlichen Beschreibung bilden. Die Zeichnungen zeigen veranschaulichend spezielle Ausführungsformen, die umgesetzt werden können. Diese Ausführungsformen werden hierin auch als „Beispiele“ bezeichnet. Solche Beispiele können Elemente zusätzlich zu den gezeigten oder beschriebenen beinhalten. Allerdings werden auch Beispiele, die die gezeigten oder beschriebenen Elemente umfassen, in Betracht gezogen.
  • Darüber hinaus werden auch Beispiele, die jede Kombination oder Permutation der gezeigten oder beschriebenen Elemente (oder einen oder mehrere Aspekte davon), entweder mit Bezug auf ein bestimmtes Beispiel (oder einen oder mehrere Aspekte davon) oder mit Bezug auf andere hier gezeigte oder beschriebene Beispiele (oder einen oder mehrere Aspekte davon), verwenden, in Betracht gezogen.
  • Publikationen, Patente und Patentdokumente, auf die in diesem Dokument Bezug genommen wird, werden hier durch Bezugnahme in ihrer Gänze aufgenommen, auch wenn sie individuell durch Bezugnahme aufgenommen sind. Im Falle von inkonsistenten Verwendungen zwischen diesem Dokument und den so durch Bezugnahme aufgenommenen Dokumenten ist die Verwendung in dem aufgenommenen Bezug bzw. den aufgenommenen Bezügen ergänzend zu der in diesem Dokument; bei nicht auflösbaren Inkonsistenzen gilt die Verwendung in diesem Dokument.
  • In diesem Dokument werden die Begriffe „ein“ oder „eine“ verwendet, wie es in Patentdokumenten üblich ist, um ein oder mehr als eines unabhängig von anderen Instanzen oder Verwendungen von „mindestens ein“ oder „ein oder mehr“ einzuschließen. In diesem Dokument wird der Begriff „oder“ verwendet, um sich auf ein nicht ausschließliches oder zu beziehen, derart, dass „A oder B“ sowohl „A, aber nicht B“, „B, aber nicht A“ und „A und B“ einschließt, sofern nicht anders angegeben wird. In den angehängten Ansprüchen werden die Begriffe „einschließlich“ und „in denen“ als Äquivalente der entsprechenden Begriffe „umfassend“ und „wobei“ verwendet. Auch werden in den folgenden Ansprüchen die Begriffe „einschließlich“ und „umfassend“ offen verwendet, das heißt, ein System, eine Vorrichtung, ein Artikel oder ein Prozess, das/die/der Elemente zusätzlich zu jenen enthält, die nach solch einem Begriff in einem Anspruch aufgelistet sind, werden noch als in den Schutzbereich dieses Anspruchs fallend angesehen. Zudem werden in den folgenden Ansprüchen die Begriffe „erste(r)“, „zweite(r)“ und „dritte(r)“ usw. lediglich als Bezeichnungen verwendet und sollen keine numerische Reihenfolge für ihre Objekte andeuten.
  • Die vorstehende Beschreibung soll veranschaulichend sein und nicht einschränkend. Beispielsweise können die oben beschriebenen Beispiele (oder einer oder mehrere Aspekte davon) in Kombination mit anderen verwendet werden. Andere Ausführungsformen können verwendet werden, wie zum Beispiel von einem Durchschnittsfachmann nach Durchsicht der obigen Beschreibung. Die Zusammenfassung soll dem Leser erlauben, schnell die Natur der technischen Offenbarung zu erfassen. Es ist selbstverständlich, dass sie nicht verwendet wird, um den Schutzbereich oder die Bedeutung der Ansprüche zu interpretieren oder zu begrenzen. Auch können in der vorstehenden ausführlichen Beschreibung verschiedene Merkmale zusammengefasst sein, um die Offenbarung zu optimieren. Allerdings können die Ansprüche nicht jedes hier offenbarte Merkmal darlegen, da Ausführungsformen eine Teilmenge dieser Merkmale beinhalten können. Ferner können Ausführungsformen weniger Merkmale umfassen, als die in einem bestimmten Beispiel offenbarten. Daher werden die folgenden Ansprüche hiermit in die ausführliche Beschreibung aufgenommen, wobei ein Anspruch als eine separate Ausführungsform für sich allein steht. Der Schutzbereich der hier offenbarten Ausführungsformen ist mit Bezug auf die beigefügten Ansprüche zu bestimmen, zusammen mit dem vollen Umfang von Äquivalenten, zu denen diese Ansprüche berechtigt sind.

Claims (25)

  1. System zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, das Folgendes umfasst: eine Flankendetektorschaltungsanordnung zum: Detektieren von steigenden oder fallenden Flanken in einem Eingabesignal; und Speichern der steigenden oder fallenden Flanken zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke in einem Puffer; und eine Musteranpassungsschaltungsanordnung zum: Analysieren der steigenden oder fallenden Flanken im Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  2. System nach Anspruch 1, wobei das Eingabesignal von einer externen Vorrichtung stammt.
  3. System nach Anspruch 1-2, wobei das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  4. System nach Anspruch 1-2, wobei das Suchmuster einen regulären Ausdruck umfasst.
  5. System nach Anspruch 4, wobei der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  6. System nach Anspruch 1-2, wobei das Suchmuster Fuzzy-Logik-Regeln umfasst.
  7. System nach Anspruch 1-2, wobei das Suchmuster einen endlichen Automaten umfasst.
  8. Verfahren zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, das Folgendes umfasst: Detektieren von steigenden oder fallenden Flanken in einem Eingabesignal; Speichern der steigenden oder fallenden Flanken zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke in einem Puffer; Analysieren der steigenden oder fallenden Flanken im Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  9. Verfahren nach Anspruch 8, wobei das Eingabesignal von einer externen Vorrichtung stammt.
  10. Verfahren nach Anspruch 8-9, wobei das Suchmuster durch die Benutzeranwendung bereitgestellt wird.
  11. Verfahren nach Anspruch 8-9, wobei das Suchmuster einen regulären Ausdruck umfasst.
  12. Verfahren nach Anspruch 11, wobei der reguläre Ausdruck ein Muster aus steigenden Flanken, fallenden Flanken und Taktzyklen ohne Änderung umfasst, während das Eingabesignal empfangen wird.
  13. Verfahren nach Anspruch 8-9, wobei das Suchmuster Fuzzy-Logik-Regeln umfasst.
  14. Verfahren nach Anspruch 8-9, wobei das Suchmuster einen endlichen Automaten umfasst.
  15. Zumindest ein maschinenlesbares Medium, umfassend Anweisungen zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, die, wenn sie durch eine Maschine ausgeführt werden, die Maschine veranlassen, Operationen durchzuführen, umfassend: Detektieren von steigenden oder fallenden Flanken in einem Eingabesignal; Speichern der steigenden oder fallenden Flanken zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke in einem Puffer; Analysieren der steigenden oder fallenden Flanken im Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  16. Einrichtung zum Durchsuchen von zeitbewussten universellen Eingabe/Ausgabe-Signalen nach Mustern, die Folgendes umfasst: Mittel zum Detektieren von steigenden oder fallenden Flanken in einem Eingabesignal; Mittel zum Speichern der steigenden oder fallenden Flanken zusammen mit einem entsprechenden Zeitstempel der jeweiligen Flanke in einem Puffer; Mittel zum Analysieren der steigenden oder fallenden Flanken im Puffer zum Identifizieren eines Flankenmusters, das mit einem Suchmuster übereinstimmt; und Mittel zum Speichern von Zeitstempeln, die dem Flankenmuster entsprechen, in einer Ereigniswarteschlange, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung über das Vorhandensein des Flankenmusters in dem Eingabesignal zu benachrichtigen.
  17. System für zeitbewusste universelle Eingabe/Ausgabe-Signalkomprimierung, das Folgendes umfasst: eine Flankendetektorschaltungsanordnung zum: Detektieren von steigenden oder fallenden Flanken in einem Eingabesignal; und Bestimmen der entsprechenden Zeitstempel der steigenden oder fallenden Flanken; Speichern der Zeitstempel, die den steigenden oder fallenden Flanken entsprechen, in einer Ereigniswarteschlange als Zeitstempelgruppen gemäß einer Zeitstempelgruppierungskonfiguration; und eine Warteschlangenmanagerschaltungsanordnung zum: Zugreifen auf eine Komprimierungsspezifikation; Bestimmen, wann die Kapazität der Ereigniswarteschlange eine Schwelle überschreitet; und Komprimieren der Ereigniswarteschlange gemäß der Komprimierungsspezifikation, wobei die Ereigniswarteschlange verwendet wird, um eine Benutzeranwendung zu benachrichtigen.
  18. System nach Anspruch 17, wobei die Warteschlangenmanagerschaltungsanordnung zum Komprimieren der Warteschlange eine Zeitstempelgruppe aus der Warteschlange fallenlassen muss.
  19. System nach Anspruch 18, wobei die Komprimierungsspezifikation Gruppenprioritäten beinhaltet, um zu bestimmen, welche Zeitstempelgruppe aus der Warteschlange fallengelassen werden soll.
  20. System nach Anspruch 19, wobei die Gruppenprioritäten eine Anzahl N von Zeitstempelgruppen beinhalten, die am Kopf der Warteschlange zu bewahren sind.
  21. System nach Anspruch 17, wobei die Warteschlangenmanagerschaltungsanordnung zum Komprimieren der Warteschlange einen Zeitstempel aus einer Zeitstempelgruppe fallenlassen muss.
  22. System nach Anspruch 21, wobei die Komprimierungsspezifikation eine Drop-Maske beinhaltet, um anzugeben, welcher Zeitstempel aus einer Zeitstempelgruppe fallengelassen werden soll.
  23. System nach Anspruch 22, wobei die Drop-Maske eine dynamische Drop-Maske ist.
  24. System nach Anspruch 23, wobei die dynamische Drop-Maske zur Laufzeit unter Verwendung eines maschinellen Lernprozesses modifiziert wird.
  25. System nach Anspruch 23, wobei die dynamische Drop-Maske zur Laufzeit unter Verwendung eines Fuzzy-Logik-Prozesses modifiziert wird.
DE102021213195.6A 2020-12-23 2021-11-23 Zeitbewusste universelle eingabe/ausgabe für industrielle steuerungssysteme Pending DE102021213195A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/133,293 US20210117418A1 (en) 2020-12-23 2020-12-23 Time-aware general-purpose input output for industrial control systems
US17/133,293 2020-12-23

Publications (1)

Publication Number Publication Date
DE102021213195A1 true DE102021213195A1 (de) 2022-06-23

Family

ID=75492002

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021213195.6A Pending DE102021213195A1 (de) 2020-12-23 2021-11-23 Zeitbewusste universelle eingabe/ausgabe für industrielle steuerungssysteme

Country Status (3)

Country Link
US (1) US20210117418A1 (de)
CN (1) CN114661456A (de)
DE (1) DE102021213195A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
CN113810878B (zh) * 2021-08-31 2023-04-25 南京信息工程大学 一种基于车联网任务卸载决策的宏基站放置方法
CN113970910B (zh) * 2021-09-30 2024-03-19 中国电子技术标准化研究院 一种数字孪生装备构建方法和系统
CN113986787B (zh) * 2021-10-09 2023-06-30 河南源网荷储电气研究院有限公司 一种多cpu通信数据检测方法及系统
US20220116132A1 (en) * 2021-12-22 2022-04-14 Kishore Kasichainula Synchronizing a real-time clock and a network clock
CN116405393B (zh) * 2023-06-09 2023-09-22 广东致盛技术有限公司 一种用于数据孪生的边缘智能网关优化方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4244231B2 (ja) * 2006-06-23 2009-03-25 富士通テン株式会社 信号処理装置
US20170039480A1 (en) * 2015-08-06 2017-02-09 Microsoft Technology Licensing, Llc Workout Pattern Detection
AU2017238633B2 (en) * 2016-03-23 2022-04-21 Johnson Controls Tyco IP Holdings LLP Efficient state machines for real-time dataflow programming
US10924591B2 (en) * 2018-06-21 2021-02-16 Intel Corporation Low-latency link compression schemes

Also Published As

Publication number Publication date
US20210117418A1 (en) 2021-04-22
CN114661456A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
DE102021213195A1 (de) Zeitbewusste universelle eingabe/ausgabe für industrielle steuerungssysteme
US11375250B2 (en) Dynamic load balancing for video analytics pipelines
DE102020131613A1 (de) Verfahren, system und produkt zum implementieren von deterministischem on-boarding und planen virtualisierter arbeitslasten für edge-computing.
DE102020128209A1 (de) Automatische Plattformressourcenverwaltung in Edge-Computing-Umgebungen
DE102022212157A1 (de) Absichtsbasierte clusterverwaltung
DE102020125219A1 (de) End-to-end -dienstqualität in edge-computing -umgebungen
DE102021209145A1 (de) Verfahren und vorrichtung zum koordinieren von edge-plattformen
DE102020202398A1 (de) Edge-server-cpu mit dynamischer deterministischer skalierung
DE102022202872A1 (de) Neuronales graphennetzwerk und bestärkendes-lernen-techniken zur verbindungsverwaltung
DE102019217367A1 (de) VERWALTUNG DER DIENSTQUALITÄT (QoS) IN EDGE-COMPUTING-UMGEBUNGEN
DE102022203247A1 (de) Disintermedierte Attestierung in einem MEC-Service-MESH-Framework
DE112020003742T5 (de) Verfahren, systeme, erzeugnisse und vorrichtungen zur verbesserung von jobplanungseffizienz
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
DE112020007003T5 (de) Multi-funkzugangstechnologie-verkehrsverwaltung
DE112018006701T5 (de) Multihardware-beschleunigte inferenz auf der basis von dienstgütevereinbarungen
DE102021117809A1 (de) Einrichtungen, Systeme, Fabrikate und Verfahren zur Datenlebenszyklusverwaltung in einer Edge-Umgebung
DE102022203249A1 (de) Mehrfachzugriff-edge-computing- (mec-) fahrzeug-zu-alles-(v2x-) interoperabilitätsunterstützung für mehrere v2x-nachrichtenbroker
DE102021207160A1 (de) Verfahren und einrichtung zur verwaltung der dienstgüte in bezug auf service-level-agreements in einer rechenvorrichtung
DE102021210705A1 (de) Intelligente datenweiterleitung in edge-netzen
DE102022203266A1 (de) Verfahren und einrichtungen zum automatischen aktualisieren von künstliche-intelligenz-modellen für autonome fabriken
DE102022203111A1 (de) Auf netzwerkfluss basierende hardwarezuweisung
DE102022208684A1 (de) Verfahren und einrichtung für resilienz mithilfe digitaler zwillinge
DE102021210882A1 (de) Erweitertes peer-to-peer (p2p) mit edge-vernetzung
DE102022202682A1 (de) Systeme, einrichtungen und verfahren zur edge-daten-priorisierung
DE102023200988A1 (de) Dynamische latenz-responsive cache-verwaltung