DE102019112700A1 - Autonome anomalieerkennung und ereignisauslösung für datenströme - Google Patents

Autonome anomalieerkennung und ereignisauslösung für datenströme Download PDF

Info

Publication number
DE102019112700A1
DE102019112700A1 DE102019112700.9A DE102019112700A DE102019112700A1 DE 102019112700 A1 DE102019112700 A1 DE 102019112700A1 DE 102019112700 A DE102019112700 A DE 102019112700A DE 102019112700 A1 DE102019112700 A1 DE 102019112700A1
Authority
DE
Germany
Prior art keywords
data
logic
search tree
data stream
anomaly
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
DE102019112700.9A
Other languages
English (en)
Inventor
Subhankar Panda
Piotr Tylenda
Agnieszka Potulska
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 DE102019112700A1 publication Critical patent/DE102019112700A1/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/2455Query execution
    • G06F16/24568Data stream processing; Continuous 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/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Eine Ausführungsform einer Halbleiterbaugruppenvorrichtung kann Technologie zur Erzeugung eines Bereichssuchbaums auf der Grundlage eines Datenstroms, zum Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung einer modifizierten Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit einem Rauschschema und zur Erkennung einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten aufweisen. Andere Ausführungsformen werden offenbart und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen betreffen allgemein autonome Systeme. Ausführungsformen betreffen insbesondere eine autonome Anomalieerkennung und Ereignisauslösung für Datenströme.
  • HINTERGRUND
  • Die Anomalieerkennung kann sich auf die Identifikation von Bestandteilen, Ereignissen oder Beobachtungen beziehen, die nicht mit einem erwarteten Muster oder anderen Bestandteilen in einem Datensatz übereinstimmen. Die Anomalieerkennung kann für eine breite Vielfalt von Anwendungen nützlich sein, wie beispielsweise Netzeindringungserkennung, Betrugserkennung, Systemüberwachung, Sensornetzereignisüberwachung, Ökosystemüberwachung usw.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden Fachleuten beim Lesen der folgenden Beschreibung und der anliegenden Ansprüche und anhand der folgenden Zeichnungen verständlich werden. Es zeigen:
    • 1 ein Blockdiagramm eines Beispiels eines elektronischen Verarbeitungssystems gemäß einer Ausführungsform,
    • 2 ein Blockdiagramm eines Beispiels einer Halbleiterbaugruppenvorrichtung gemäß einer Ausführungsform,
    • 3 ein Flussdiagramm eines Beispiels eines Verfahrens zur Verarbeitung eines Datenstroms gemäß einer Ausführungsform,
    • 4 ein Blockdiagramm eines Beispiels eines Anomalieerkennungssystems gemäß einer Ausführungsform,
    • 5 ein Blockdiagramm eines anderen Beispiels eines Anomalieerkennungssystems gemäß einer Ausführungsform,
    • 6 ein Blockdiagramm eines anderen Beispiels eines Anomalieerkennungssystems gemäß einer Ausführungsform,
    • die 7A bis 7C Flussdiagramme eines Beispiels eines Verfahrens zur Extraktion von Rauschen aus einem Datensatz gemäß einer Ausführungsform,
    • 8 ein Flussdiagramm eines Beispiels eines Verfahrens zum Suchen eines Bereichsbaums gemäß einer Ausführungsform,
    • 9 ein Flussdiagramm eines Beispiels eines Verfahrens zum Finden eines Zerlegungsknotens in einem Suchbereich gemäß einer Ausführungsform,
    • 10 ein Flussdiagramm eines Beispiels eines Verfahrens zum Finden von Datenpunkten oberhalb eines unteren Bereichswerts gemäß einer Ausführungsform,
    • 11 ein Flussdiagramm eines Beispiels eines Verfahrens zum Finden von Datenpunkten unterhalb eines oberen Bereichswerts gemäß einer Ausführungsform,
    • 12 ein Flussdiagramm eines Beispiels eines Verfahrens zum Abrufen aller Datenpunkte vom AVL-Teilbaum gemäß einer Ausführungsform,
    • 13 einen Vergleichsgraph eines Beispiels der Anzahl der Punkte in einem Datensatz in Abhängigkeit von der Laufzeit gemäß einer Ausführungsform,
    • 14 einen Vergleichsgraph eines Beispiels der Datensatzgröße in Abhängigkeit von der Ausführungszeit gemäß einer Ausführungsform,
    • 15A und 15B Blockdiagramme von Beispielen von Anomalieerkennungsvorrichtungen gemäß Ausführungsformen,
    • 16 ein Blockdiagramm eines Beispiels eines Prozessors gemäß einer Ausführungsform und
    • 17 ein Blockdiagramm eines Beispiels eines Systems gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Mit Bezug auf 1 sei nun bemerkt, dass eine Ausführungsform eines elektronischen Verarbeitungssystems 10 einen Prozessor 11, einen Speicher 12, der kommunikativ mit dem Prozessor 11 gekoppelt ist, und eine Logik 13, die kommunikativ mit dem Prozessor 11 gekoppelt ist, aufweisen kann, um einen Bereichssuchbaum auf der Grundlage eines Datenstroms zu erzeugen, Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen (DBSCAN) zu clustern und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten zu erkennen. DBSCAN ist ein Maschinenlernalgorithmus, der lernen kann, welche Anomalien in einem Datenstrom vorhanden sind, wenn der Zusammenhang bekannt ist, in dem Telemetriedaten auftreten (beispielsweise Clustern von Daten mit Rauschextraktion). Einige Ausführungsformen können Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung eines modifizierten DBSCAN-Schemas clustern. Beispielsweise kann eine Anomalie einem Sonderfall, einer Neuheit, Rauschen, einer Abweichung und/oder einer Ausnahme in den Daten entsprechen. Gemäß einigen Ausführungsformen kann die Logik 13 ferner dafür ausgelegt sein, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen. Beispielsweise kann der Datenstrom Telemetriedaten aufweisen und können einige Ausführungsformen der Logik 13 ferner dafür ausgelegt sein, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches (beispielsweise Mikro-Batches) zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen. Beispielsweise kann die Logik 13 dafür ausgelegt sein, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen. Gemäß einigen Ausführungsformen kann die Logik 13 auch dafür ausgelegt sein, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen (beispielsweise um falsch Positive zu verringern oder zu verhindern). Beispielsweise kann der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum sein (beispielsweise kann der Bereichssuchbaum unter Verwendung eines selbstausgleichenden binären Suchbaums implementiert werden). Gemäß einigen Ausführungsformen kann sich die Logik 13 in verschiedenen Komponenten einschließlich des Prozessors 11 (beispielsweise auf demselben Die) befinden oder zusammen damit angeordnet sein.
  • Ausführungsformen von jedem vom Prozessor 11, vom Speicher 12, von der Logik 13 und von anderen Systemkomponenten, wie vorstehend erwähnt, können in Hardware, Software oder einer geeigneten Kombination davon implementiert werden. Beispielsweise können Hardwareimplementationen eine konfigurierbare Logik beispielsweise in der Art programmierbarer Logik-Arrays (PLA), feldprogrammierbarer Gate-Arrays (FPGA), komplexer programmierbarer Logikvorrichtungen (CPLD) oder einer Festfunktionalitäts-Logikhardware unter Verwendung einer Schaltungstechnologie in der Art beispielsweise anwendungsspezifischer integrierter Schaltungen (ASIC), komplementärer Metall-Oxid-Halbleiter (CMOS) oder Transistor-Transistor-Logik(TTL)-Technologie oder Kombinationen davon aufweisen. Ausführungsformen des Prozessors 11 können einen Prozessor für allgemeine Zwecke, einen Prozessor für spezielle Zwecke, eine Zentralprozessoreinheit (CPU), eine Steuereinrichtung, eine Mikrosteuereinrichtung usw. aufweisen.
  • Alternativ oder zusätzlich können all diese Komponenten oder Teile davon in einem oder mehreren Modulen als ein Satz von Logikbefehlen implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium in der Art eines Direktzugriffsspeichers (RAM), eines Nurlesespeichers (ROM), eines programmierbaren ROM (PROM), Firmware, eines Flash-Speichers usw. gespeichert sind, um von einem Prozessor oder einer Rechenvorrichtung ausgeführt zu werden. Beispielsweise kann Computerprogrammcode zur Ausführung der Operationen der Komponenten in einer Kombination einer oder mehrerer auf ein Betriebssystem (OS) anwendbarer bzw. dafür geeigneter Programmiersprachen, einschließlich einer objektorientierten Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlichen prozeduralen Programmiersprachen in der Art der Programmiersprache „C“ oder ähnlicher Programmiersprachen geschrieben werden. Beispielsweise kann der Speicher 12, ein permanentes Speichermedium oder ein anderer Systemspeicher einen Satz von Befehlen speichern, die, wenn sie vom Prozessor 11 ausgeführt werden, das System 10 veranlassen, eine oder mehrere Komponenten, Merkmale oder Aspekte des Systems 10 zu implementieren (beispielsweise das Erkennen des Bereichssuchbaums, das Clustern von Daten auf der Grundlage des Bereichssuchbaums und DBSCAN, das Erkennen einer Anomalie im Datenstrom, das Auslösen eines Ereignisses auf der Grundlage der erkannten Anomalie usw. durch die Logik 13).
  • Mit Bezug auf 2 sei nun bemerkt, dass eine Ausführungsform einer Halbleiterbaugruppenvorrichtung 20 ein oder mehrere Substrate 21 und eine mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 aufweisen kann, wobei die Logik 22 zumindest teilweise in einer oder mehreren von einer konfigurierbaren Logik und einer Festfunktionalitäts-Hardwarelogik implementiert ist. Die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 kann dafür ausgelegt sein, einen Bereichssuchbaum auf der Grundlage eines Datenstroms zu erzeugen, Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung eines modifizierten DBSCAN-Schemas zu clustern und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten zu erkennen. Gemäß einigen Ausführungsformen kann die Logik 22 ferner dafür ausgelegt sein, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen. Beispielsweise kann der Datenstrom Telemetriedaten aufweisen und können einige Ausführungsformen der Logik 22 ferner dafür ausgelegt sein, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches (beispielsweise Mikro-Batches) zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen. Beispielsweise kann die Logik 22 dafür ausgelegt sein, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen. Gemäß einigen Ausführungsformen kann die Logik 22 auch dafür ausgelegt sein, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen (beispielsweise um falsch Positive zu verringern oder zu verhindern). Beispielsweise kann der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum sein. Gemäß einigen Ausführungsformen kann die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 Transistorkanalgebiete aufweisen, die innerhalb des einen oder der mehreren Substrate 21 angeordnet sind.
  • Ausführungsformen der Logik 22 und andere Komponenten der Vorrichtung 20 können in Hardware, Software oder einer Kombination davon, einschließlich zumindest einer Teilimplementation in Hardware, implementiert sein. Beispielsweise können Hardwareimplementationen eine konfigurierbare Logik in der Art beispielsweise von PLA, FPGA, CPLD oder eine Festfunktionalitäts-Logikhardware unter Verwendung einer Schaltungstechnologie in der Art beispielsweise der ASIC-, CMOS- oder TTL-Technologie oder Kombinationen davon aufweisen. Zusätzlich können Teile dieser Komponenten in einem oder mehreren Modulen als Satz von Logikbefehlen implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium in der Art von RAM, ROM, PROM, Firmware, Flash-Speicher usw. gespeichert sind, um sie durch einen Prozessor oder eine Rechenvorrichtung auszuführen. Beispielsweise kann Computerprogrammcode zur Ausführung der Operationen der Komponenten in einer Kombination einer oder mehrerer auf ein OS anwendbarer bzw. dafür geeigneter Programmiersprachen, einschließlich einer objektorientierten Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlichen prozeduralen Programmiersprachen in der Art der Programmiersprache „C“ oder ähnlicher Programmiersprachen geschrieben werden.
  • Die Vorrichtung 20 kann einen oder mehrere Aspekte des Verfahrens 30 (3) oder jegliche der hier erörterten Ausführungsformen implementieren. Gemäß einigen Ausführungsformen kann die erläuterte Vorrichtung 20 das eine oder die mehreren Substrate 21 (beispielsweise Silicium, Saphir, Galliumarsenid) und die mit dem einen oder den mehreren Substraten 21 gekoppelte Logik 22 (beispielsweise Transistor-Array und andere Integrierte-Schaltung/IC-Komponenten) aufweisen. Die Logik 22 kann zumindest teilweise in einer konfigurierbaren Logik oder in Festfunktionalitäts-Logikhardware implementiert sein. Bei einem Beispiel kann die Logik 22 Transistorkanalgebiete aufweisen, die innerhalb des einen oder der mehreren Substrate 21 angeordnet sind (beispielsweise darin eingebettet sind). Demgemäß kann die Grenzfläche zwischen der Logik 22 und dem einen oder den mehreren Substraten 21 kein abrupter Übergang sein. Die Logik 22 kann auch als eine Epitaxieschicht aufweisend angesehen werden, die auf einem anfänglichen Wafer des einen oder der mehreren Substrate 21 aufgewachsen ist.
  • Mit Bezug auf 3 sei nun bemerkt, dass bei einer Ausführungsform eines Verfahrens 30 zur Verarbeitung eines Datenstroms in Block 31 ein Bereichssuchbaum auf der Grundlage eines Datenstroms erzeugt werden kann, in Block 32 Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung eines modifizierten DBSCAN-Schemas geclustert werden können und in Block 33 eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten erkannt werden kann. Gemäß jeglichen der hier beschriebenen Ausführungsformen kann der Bereichssuchbaum in Block 34 ein selbstausgleichender binärer Suchbaum sein. Gemäß einigen Ausführungsformen kann der Datenstrom in Block 35 Telemetriedaten aufweisen und können beim Verfahren 30 ferner in Block 36 die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden und in Block 37 der Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches erzeugt werden. Beispielsweise können beim Verfahren 30 in Block 36a die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden. Gemäß einigen Ausführungsformen des Verfahrens 30 können in Block 38 ferner Gleitendes-Fenster-Aggregationen von Sonderfalldaten gezählt werden. Gemäß einigen Ausführungsformen des Verfahrens 30 kann in Block 39 ferner ein Ereignis auf der Grundlage der erkannten Anomalie ausgelöst werden.
  • Ausführungsformen des Verfahrens 30 können in einem System, einem Gerät, einem Computer, einer Vorrichtung usw., beispielsweise wie hier beschrieben, implementiert werden. Insbesondere können Hardwareimplementationen des Verfahrens 30 eine konfigurierbare Logik in der Art beispielsweise von PLA, FPGA, CPLD aufweisen oder in einer Festfunktionalitäts-Logikhardware unter Verwendung einer Schaltungstechnologie in der Art beispielsweise einer ASIC-, CMOS- oder TTL-Technologie oder Kombinationen davon verwirklicht sein. Alternativ oder zusätzlich kann das Verfahren 30 in einem oder mehreren Modulen als Satz in einem maschinen- oder computerlesbaren Speichermedium in der Art von RAM, ROM, PROM, Firmware, Flash-Speicher usw. gespeicherte Logikbefehle, die von einem Prozessor oder einer Rechenvorrichtung auszuführen sind, implementiert werden. Beispielsweise kann Computerprogrammcode zur Ausführung der Operationen der Komponenten in einer Kombination einer oder mehrerer auf ein OS anwendbarer bzw. dafür geeigneter Programmiersprachen, einschließlich einer objektorientierten Programmiersprache wie PYTHON, PERL, JAVA, SMALLTALK, C++, C# oder dergleichen, und herkömmlichen prozeduralen Programmiersprachen in der Art der Programmiersprache „C“ oder ähnlicher Programmiersprachen geschrieben werden.
  • Beispielsweise kann das Verfahren 30 auf einem computerlesbaren Medium wie in Zusammenhang mit den nachstehenden Beispielen 20 bis 25 beschrieben implementiert werden. Ausführungsformen oder Teile des Verfahrens 30 können in Firmware, Anwendungen (beispielsweise durch eine Anwendungsprogrammierschnittstelle (API)) oder Treibersoftware, die auf einem Betriebssystem (OS) ausgeführt wird, implementiert werden. Zusätzlich könnten Logikbefehle Assemblerbefehle, Befehlssatzarchitektur(ISA)-Befehle, Maschinenbefehle, maschinenabhängige Befehle, Mikrocode, Zustandsfestlegungsdaten, Konfigurationsdaten für eine integrierte Schaltungsanordnung, Zustandsinformationen, welche eine elektronische Schaltungsanordnung und/oder andere strukturelle Komponenten, die der Hardware nativ sind (beispielsweise Host-Prozessor, Zentralverarbeitungseinheit/CPU, Mikrosteuereinrichtung usw.), personalisieren, einschließen.
  • Einige Ausführungsformen können vorteilhaft ein autonomes Anomalieerkennungs- und Ereignisauslösesystem für Internet-der-Dinge(IoT)-Datenströme und andere Zeitreihendaten bereitstellen. In großen verteilten Systemen können das hohe Volumen und der Durchsatz der Telemetriedaten es schwierig oder unmöglich machen, effizient auf Ereignisse zu reagieren oder diese auszulösen, wenn ein anomales Verhalten von Vorrichtungen auftritt. Eine Herausforderung kann darin bestehen, genau zu definieren, was als ein anomales Verhalten der Vorrichtung angesehen wird. Eine Anomalie kann nur in einem Zusammenhang existieren. Beispielsweise kann etwas, was in einem System mit einer spezifischen Arbeitslast als anomal angesehen wird, in anderen Konfigurationen oder bei anderen Arbeitslasten als „regulär“ bezeichnet werden. Das Festlegen von schwellenbasierten Regeln für die Warnung (beispielsweise Auslösen einer Warnung, wenn die Temperatur über 70 °C ansteigt) kann nicht ausreichen, um Anomalien für komplexere Systeme zu erkennen. In einigen Fällen können Vorrichtungen selbst dann ein anomales Verhalten zeigen, wenn die Telemetrieparameter innerhalb eines korrekten Wertebereichs bleiben. Beispielsweise können bei einem Cluster von Servern mit der gleichen Hardwarekonfiguration beim Ausführen der gleichen Arbeitslast auf jedem Knoten ein oder zwei Server damit beginnen, eine höhere Anzahl Fehlerkorrekturcode(ECC)-korrigierter Fehler auf Doppelreihen-Speichermodulen (DIMM) als der Rest der Knoten mitzuteilen. Falls die Anzahl der ECC unterhalb einer kritischen Schwelle bleibt, wird die Anomalie nicht mitgeteilt.
  • Anomale Ereignisse oder Verhaltensweisen können häufig eine Störung des Systems angeben und es erforderlich machen, spezifische Aktionen mit einer verringerten oder minimalen Latenz auszuführen, oder sie können davon profitieren. In einem großen Maßstab können einige Ausführungsformen der Maschinenlerntechnologie in der Art von DBSCAN trainiert werden, um zu lernen, welches die Anomalien sind, indem sie den Zusammenhang feststellen, in dem die Telemetriedaten auftreten (beispielsweise durch Clustern von Daten mit Rauschextraktion). Einige Ausführungsformen können vorteilhaft auf eine breite Vielfalt verteilter umfangreicher Systeme von Vorrichtungen, die Datenströme erzeugen, angewendet werden.
  • Der Tukey-Test kann sich auf eine einen Schritt aufweisende Mehrfachvergleichsprozedur und einen statistischen Test, der an Daten verwendet werden kann, um Mittel zu finden, die erheblich voneinander verschieden sind, beziehen. Das SNAP-Framework von INTEL kann den Tukey-Test zur Anomalieerkennung verwenden. Austauschbarkeits-Martingale können verwendet werden, um die Austauschbarkeit einer zeitlich veränderlichen Datensequenz zu testen. Die Hauptkomponentenanalyse(PCA)-Technologie kann verwendet werden, um Anomalien in einem Datensatz zu erkennen. Das MICROSOFT-AZURE-Maschinenlernwerkzeug kann Austauschbarkeits-Martingale und/oder die PCR-Technologie verwenden, um Anomalien in einem Datensatz zu erkennen. Die von der NASA entwickelte hochdimensionale Clusterbildungstechnologie kann verwendet werden, um wiederkehrende Anomalien in Luftraumproblemberichten zu entdecken. Die vorhergehenden Technologien können probabilistische Anforderungen für die Daten auferlegen (beispielsweise Tukey-Test), für Einzelzeitreihendaten besser geeignet sein (beispielsweise Austauschbarkeits-Martingale), mit einem erheblichen vorhergehenden Training und einer hohen rechnerischen Komplexität verbunden sein (beispielsweise PCA) und/oder für eine Text-Clusterung besser geeignet sein (beispielsweise das hochdimensionale Clustern von NASA). Insbesondere können die erwähnten Technologien bei Anwendungen für die Überwachung von Telemetriemesswerten, die von mehreren Quellen (beispielsweise Vorrichtungen, Agenten usw.) gleichzeitig erzeugt werden (wobei beispielsweise mehrere Quellen identischer Telemetriedaten als mehrere zur gleichen Zeit analysierte Zeitreihen abstrahiert werden können), geeignet sein. Vorteilhafterweise können einige Ausführungsformen eines oder mehrere der vorstehend erwähnten Probleme überwinden, um eine Technologie zur Erkennung von Anomalien durch Analysieren von Telemetriedaten, die von mehreren Quellen offengelegt werden (beispielsweise mehreren Zeitreiheninstanzen) bereitzustellen.
  • Mit Bezug auf 4 sei nun bemerkt, dass eine Ausführungsform eines Anomalieerkennungssystems 40 zwei oder mehr Vorrichtungen 42 (beispielsweise Vorrichtung 42a bis 42n) aufweisen kann, die kommunikativ mit einer Datenverarbeitungsengine 44 gekoppelt sind. Gemäß einigen Ausführungsformen können die Vorrichtungen 42 jeweilige IoT-Agenten aufweisen, um mit der Datenverarbeitungsengine 44 zu kommunizieren. Die Datenverarbeitungsengine 44 kann ferner mit einem Anomalieereignismodul 46 gekoppelt sein. Beispielsweise kann das Anomalieereignismodul 46 Anomalieinformationen von der Datenverarbeitungsengine 44 sammeln und/oder Ereignisse auf der Grundlage der Anomalieinformationen von der Datenverarbeitungsengine 44 auslösen. Die Datenverarbeitungsengine 44 kann eine Technologie zur Auslösung von Ereignissen aufweisen, wenn eine Anomalie im System 40 erkannt wird, ohne Vorkenntnisse darüber zu haben, welche Werte der Parameter als eine Anomalie angesehen werden sollten. Beispielsweise kann die Datenverarbeitungsengine 44 eine Clusterbildung auf Telemetriedaten von den Vorrichtungen 42 nahezu in Echtzeit anwenden. Gemäß einigen Ausführungsformen kann die Datenverarbeitungsengine 44 die Cluster und Sonderfälle in Mikro-Batches unter Verwendung der wie hier beschrieben für Zeitreihendaten verbesserten DBSCAN-Technologie zur Rauschextraktion berechnen. Beispielsweise können einige Ausführungsformen eine Nachbarschaftssuche in der DBSCAN-Technik (beispielsweise unter Verwendung von Bereichssuchbäumen) zur Clusterbildung gefensterter Telemetriedaten verbessern oder optimieren. Wie nachstehend in weiteren Einzelheiten beschrieben wird, können einige Ausführungsformen der Datenverarbeitungsengine 44 vorteilhafterweise eine im schlimmsten Fall gegebene Zeitkomplexität von O(n2) auf O(n log n) verringern. Einige Ausführungsformen der Datenverarbeitungsengine 44 können auch eine Technologie zur Verhinderung falsch Positiver durch Zählen von Gleitendes-Fenster-Aggregationen von Sonderfällen aufweisen.
  • Einige Ausführungsformen können eine Technologie für ein generisches Anomalieerkennungs-Framework für Vorrichtungstelemetriedaten bereitstellen. Einige Ausführungsformen können insbesondere für adaptive und selbstanpassende Software- und Hardwarekonfigurationen auf der Grundlage von Anomalieerkennungsereignissen geeignet sein (beispielsweise eine Rückkopplungsschleife von einer Maschinenlern-Datenverarbeitungsengine). Einige beispielhafte Anwendungen einiger Ausführungsformen können beispielsweise autonome Fahrzeuge (beispielsweise ein Schalten des Fahrzeugs in den sicheren Modus nach einer Anomalieerkennung), eine Flottenüberwachung (beispielsweise eine Warnung, wenn ein zur Flotte gehörendes Fahrzeug Wartung benötigt), eine Serverplattformfehlervorhersage (beispielsweise Abnutzungserkennung, Überwachung großer Datenzentren usw.), telemetriebasierte bedingte Unterbrechungspunkte in CPU/Firmware (beispielsweise wird ein Code-Unterbrechungspunkt nur dann ausgelöst, wenn eine spezifizierte Anomalie in der Telemetrie erkannt wird), eine Qualitätssicherung und Validierung von Produkten (beispielsweise die Sammlung von Telemetriedaten und eine Suche von Fehlern in Firmware, eine Früherkennung von Fehlern, eine Sammlung zusätzlicher Fehlersuchdaten, wobei, nachdem eine Anomalie erkannt wurde, das Ereignis, das zusätzliche Telemetrie-/Kontextinformationen sammelt, ausgelöst wird) sowie Überwachungs- und Warndienste für die Cluster von Servern (beispielsweise Offenlegen der Überwachungs- und Warndienste für die Serverknoten, die Teil des Clusters sind, für Endbenutzer, Systemadministratoren usw.) einschließen.
  • Mit Bezug auf 5 sei nun bemerkt, dass eine Ausführungsform eines Anomalieerkennungssystems 50 eine Vorrichtung 52 aufweisen kann, die kommunikativ mit einer Datenverarbeitungsengine 54 gekoppelt ist. Gemäß einigen Ausführungsformen kann die Vorrichtung 52 einen IoT-Agenten 52a zur Kommunikation mit der Datenverarbeitungsengine 54 aufweisen. Die Datenverarbeitungsengine 54 kann Technologie zur Auslösung von Ereignissen aufweisen, wenn eine Anomalie im System 50 erkannt wird, ohne Vorwissen darüber zu haben, welche Werte der Parameter als eine Anomalie angesehen werden sollten (beispielsweise Maschinenlerntechnologie). Die Datenverarbeitungsengine 54 kann ferner mit einem Anomalieereignismodul 56 gekoppelt sein. Beispielsweise kann das Anomalieereignismodul 56 Anomalieinformationen von der Datenverarbeitungsengine 54 sammeln und/oder Ereignisse auf der Grundlage der Anomalieinformationen von der Datenverarbeitungsengine 54 auslösen. Das Anomalieereignismodul 56 kann ferner durch eine Rückkopplungsschleife kommunikativ mit der Vorrichtung 52 gekoppelt sein. Beispielsweise kann eine Ereignisrückkopplungsschleife für Systeme vorteilhaft sein, die eine Selbsteinstellung auf der Grundlage von Telemetriedaten erfordern oder davon profitieren. Wenngleich in 5 nur eine Vorrichtung 52 dargestellt ist, können einige Ausführungsformen des Systems 50 mehrere Vorrichtungen/Agenten aufweisen, die kommunikativ mit der Datenverarbeitungsengine 54 gekoppelt sind, wobei eine oder mehrere davon Rückkopplungsschleifen mit dem Anomalieereignismodul 56 aufweisen können.
  • Mit Bezug auf 6 sei nun bemerkt, dass eine Ausführungsform eines Anomalieerkennungssystems 60 eine Vorrichtung 62 aufweisen kann, die kommunikativ mit einer Datenverarbeitungsengine 64 gekoppelt ist. Gemäß einigen Ausführungsformen kann die Vorrichtung 62 einen IoT-Agenten (beispielsweise einen Firmware/Software/OS-Agenten) zur Kommunikation mit der Datenverarbeitungsengine 64 aufweisen. Die Datenverarbeitungsengine 64 kann ferner mit einem Anomalieereignismodul 66 gekoppelt sein. Beispielsweise kann das Anomalieereignismodul 66 Anomalieinformationen von der Datenverarbeitungsengine 64 sammeln und/oder Ereignisse auf der Grundlage der Anomalieinformationen von der Datenverarbeitungsengine 64 auslösen. Gemäß einigen Ausführungsformen kann das Anomalieereignismodul 66 optional ferner durch eine Rückkopplungsschleife kommunikativ mit der Vorrichtung 62 gekoppelt sein. Wenngleich in 6 nur eine Vorrichtung 62 dargestellt ist, können einige Ausführungsformen des Systems 60 mehrere Vorrichtungen/Agenten aufweisen, die kommunikativ mit der Datenverarbeitungsengine 64 gekoppelt sind, wobei eine oder mehrere davon Rückkopplungsschleifen mit dem Anomalieereignismodul 66 aufweisen können.
  • Gemäß einigen Ausführungsformen des Systems 60 kann die Vorrichtung 62 Rohtelemetriedaten 62a erzeugen und einen Skalarisierungsprozessor 62b zur Transformation der Rohdaten 62a aufweisen. Beispielsweise kann die Vorrichtung 62 Firmware, Software und/oder ein OS aufweisen, wodurch ein Ablagespeicher aktueller Telemetriemesswerte, die zu irgendeiner Zeit als Rohtelemetriedaten 62a zur Ver-fügung stehen können, bereitgestellt wird, aufweisen. Beispielsweise kann die Vorrichtung 62 Sensor- und/oder Hardwaremesswerte als Eingangsdaten entgegennehmen und Vektoren von Telemetriedaten, Zeitstempeln usw. als Rohtelemetriedaten 62a ausgeben. Der Skalarisierungsprozessor 62b kann eine wichtige Komponente im IOT-Agenten sein, welche eine Vektor-zu-Skalar-Transformation der Rohtelemetriedaten 62a ausführen kann. Die Skalarisierungstechnologie kann eine Dimensionalitätsverringerung (beispielsweise von n Dimensionen zu einer (1) Dimension) bereitstellen und die Arbeitslast für die Echtzeitstromverarbeitung durch die Datenverarbeitungsengine 64 verringern. Die Datenverarbeitungsengine 64 kann dann unmittelbar die eingehenden Telemetriedaten bearbeiten.
  • Beispielsweise kann der Skalarisierungsprozessor 62b die Datenverarbeitungs-Arbeitslast horizontal skalieren und die für die Übertragung der Telemetriedaten zur Datenverarbeitungsengine 64 benötigte Bandbreite verringern. Gemäß einigen Ausführungsformen kann der Skalarisierungsprozessor 62b auch das Rauschen aus den Rohtelemetriedaten entfernen. Der Skalarisierungsprozessor 62b kann einen oder mehrere Parameter definieren, einschließlich beispielsweise des Skalarisierungstyps (beispielsweise des Skalarisierungstyps, der einem ausgewählten Typ der im Skalarisierungsprozessor 62b verwendeten Skalarisierung entspricht). Gemäß einigen Ausführungsformen können Eingaben in den Skalarisierungsprozessor 62b einen Vektor der Telemetriedaten, einen Zeitstempel und einen Skalarisierungstyp aufweisen. Ausgaben vom Skalarisierungsprozessor 62b können einen Telemetrie-skalar, einen Zeitstempel und eine Vorrichtungskennung einschließen. Der Skalarisierungsprozessor 62b kann (1) den Vektor von Telemetriedaten für einen gegebenen Zeitstempel einlesen und (2) den Skalarwert berechnen, der den Vektor repräsentiert, wie im folgenden Pseudocode repräsentiert ist:
 Switch(Skalarisierungstyp):
     Maximalfall:
          Skalar = Tupel(Maximalwert des Vektors, Zeitstempel)
     Minimalfall:
          Skalar = Tupel(Minimalwert des Vektors, Zeitstempel)
     Mittelwertfall:
          Skalar = Tupel(Mittelwert(Vektor), Zeitstempel)
     Fall-gleitendes_Fenster:
          Skalar = Tupel(gleitender Mittelwert(Vektor),
            Zeitstempel)
 Return(Skalar, Zeitstempel, Vorrichtungskennung)
  • Die Datenverarbeitungsengine 64 kann einen Mikro-Batch-Prozessor 64a, der kommunikativ mit dem Skalarisierungsprozessor 62b gekoppelt ist, einen Rauschextrahierer 64b, der mit dem Mikro-Batch-Prozessor 64a gekoppelt ist (beispielsweise einschließlich einer modifizierten DBSCAN-Clusterbildungstechnologie zur Rauschextraktion) und einen Rauschprozessor 64c, der mit dem Rauschextrahierer 64b gekoppelt ist, aufweisen. Zur Anwendung der DBSCAN-Clusterbildung in Echtzeit auf einen Telemetriedatenstrom kann der Mikro-Batch-Prozessor 64a den Strom in einen Satz kurzer Batches von Eingangsdaten unterteilen. Diese Batches können auf einer Zeitintervall-Fensterbildung beruhen. Der Wert des Intervalls kann für eine gegebene Anzahl von Vorrichtungen, die zur selben Zeit analysiert werden, von der Telemetriedaten-Sammelfrequenz und der Bandbreite der Datenverarbeitungsengine 64 abhängen. Gemäß einigen Ausführungsformen können die Eingaben in den Mikro-Batch-Prozessor 64a Eingaben umfassen, welche Telemetrie_Skalar, Zeitstempel und Vorrichtungskennung einschließen, und Ausgaben bereitstellen, welche ein Feld von Vektoren (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel) einschließen. Gemäß einigen Ausführungsformen kann der Mikro-Batch-Prozessor 64a Technologie zur Erzeugung eines kurzen Batches von Eingangsdaten entsprechend dem folgenden Pseudocode aufweisen:
  •  Festlegen von Anfangsfenster als Zeit.Jetzt()
     Festlegen von Endfenster als Anfangsfenster - Zeit.Delta(0,5 min)
     Einlesen der Vektoren, die Zeitstempel => Anfangsfenster &&
        Zeitstempel <= Endfenster aufweisen
     Hinzufügen gefilterter Vektoren zum Feld von Vektoren
        (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel)
     Rückgabe des Felds
  • Einige Ausführungsformen des Rauschextrahierers 64b können vorteilhafterweise eine modifizierte DBSCAN-Clusterbildungstechnologie zur Rauschextraktion bereitstellen. Die verbesserte DBSCAN-Technologie kann verwendet werden, um die Mikro-Batches von Telemetriedaten zu clustern. Beispielsweise kann eine DBSCAN-Technik modifiziert werden, um sie für einen spezifischen Verwendungsfall einer Anomalieerkennung in Zeitreihendaten zu verbessern oder zu optimieren. Einige Ausführungsformen können für die Clusterbildung eindimensionaler Batches von Daten ausgelegt werden und Datenstrukturen zur Raumaufteilung aufweisen, welche die Leistungsfähigkeit verglichen mit einer DBSCAN-Technik für allgemeine Zwecke erheblich verbessern können.
  • Jede geeignete Bereichssuchbaumtechnologie kann verwendet werden. Einige Ausführungsformen können vorteilhafterweise selbstausgleichende binäre Suchbäume als Bereichssuchbäume für die verbesserte DBSCAN-Technologie verwenden. Ein Beispiel eines geeigneten selbstausgleichenden binären Suchbaums kann einen AVL-Baum aufweisen (beispielsweise nach Georgy-Adelson-Velsky- und Evgenii-Landis-Baum benannt). Bei einem AVL-Baum können sich die Höhen zweier nachgeordneter Teilbäume jedes Knotens beispielsweise um höchstens eins unterscheiden. Falls die beiden nachgeordneten Teilbäume zu irgendeiner Zeit um mehr als eins abweichen, kann ein Neuausgleich erfolgen, um diese Eigenschaft wiederherzustellen. Durch die Bildung eines AVL-Baums kann entdeckt werden, welche Punkte nicht wohldefinierten Daten-Clustern zugewiesen werden können. Die Datenpunkte, die keinen wohldefinierten Daten-Clustern zugewiesen werden können, können als „Rauschen“ bezeichnet werden und als Anomaliekandidaten klassifiziert werden. Die Anomaliekandidaten können später als Anomalieereignis (beispielsweise durch ein Anomalieereignismodul) mitgeteilt werden.
  • Bei einigen Anwendungen können IoT-Telemetriedaten eine ungleichmäßig beabstandete Zeitreihe von Daten sein. Beispielsweise können Beobachtungen unregelmäßig auftreten, und der Abstand zwischen den Datenpunkten kann über den gesamten Datensatz nicht konstant sein. Einige Ausführungsformen können die Telemetriedaten vorteilhafterweise in Zeitfenster einordnen, so dass die zeitliche Nähe der Punkte bewahrt werden kann. Deshalb kann eine zweite Verbesserung/Optimierung die Tatsache ausnutzen, dass dieser Verwendungsfall zu einer eindimensionalen Raum-Clusterbildung vereinfacht werden kann (beispielsweise durch Extrahieren nur des Telemetrie-Skalar-Werts). Einige Ausführungsformen des Rauschextrahierers 64b können als Eingabe einen dem Vektorfeld (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel) entsprechenden Datensatz vom Mikro-Batch-Prozessor 64a entgegennehmen und eine Ausgabe von Rauschpunkten bereitstellen (die beispielsweise auch die Form eines Vektorfelds aufweisen können (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel)). Einige Ausführungsformen können vorteilhafterweise Bereichsbäume zur Raumaufteilung zur Verbesserung/Optimierung der DBSCAN-Technik insbesondere zur Zeitreihen-Clusterbildung verwenden (wie beispielsweise in weiteren Einzelheiten in den 7A bis 7C beschrieben).
  • Gemäß einigen Ausführungsformen kann der Rauschprozessor 64c als „Rauschen“ bezeichnete Telemetriedaten analysieren, um festzustellen, ob ein Rauschpunkt als reale Anomalie angesehen werden kann. Gemäß einigen Ausführungsformen kann der Rauschprozessor 64c einen kompatiblen Rahmen für eine Klassifikationstechnologie für Rauschpunkte bereitstellen. Beispielsweise kann der Rauschprozessor 64c eine vordefinierte Schwelle dafür aufweisen, wie viele Male ein gegebener Punkt in aufeinander folgenden Mikro-Batches als „Rauschen“ bezeichnet werden kann, bevor der Rauschpunkt als eine Anomalie klassifiziert wird. Vorteilhafterweise können einige Ausführungsformen mögliche Verschiebungen der Zeitachse der Telemetrieeigenschaften adressieren. Gemäß einigen Ausführungsformen kann der Rauschprozessor 64c eine überwachte Lerntechnologie zur Klassifizierung des einen oder der mehreren Rauschpunkte als Anomalien aufweisen. Beispielsweise kann der Rauschprozessor 64c eines oder mehrere von einem künstlichen neuronalen Netz, einer logistischen Regression oder einer Bayesschen Klassifizierungstechnologie aufweisen.
  • Gemäß einigen Ausführungsformen kann der Rauschprozessor 64c Rauschpunkte vom Rauschextrahierer 64b zusammen mit einer Rauschschwelle (beispielsweise einer Rauschschwelle, die einem ganzzahligen Parameter entspricht, der eine Schwelle zur Klassifizierung eines Rauschpunkts als Anomalie definieren kann, wobei die Rauschschwelle gemäß einigen Ausführungsformen bevorzugt 3 - 10 betragen kann) als Eingabe verwenden (beispielsweise Rauschpunkte, die einem Vektorfeld entsprechen (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel)). Der Rauschprozessor 64c kann eine Ausgabe von Anomaliepunkten bereitstellen (beispielsweise Anomaliepunkten, die einem Vektorfeld entsprechen (Telemetrie_Skalar, Vorrichtungskennung, Zeitstempel)). Gemäß einigen Ausführungsformen kann der Rauschextrahierer 64b eine Technologie aufweisen, die dem folgenden Pseudocode entspricht:
  •  Falls Anomalie_Kandidaten_Cache nicht existiert (von einem
       vorhergehenden Mikro-Batch), Erzeugen von 
    
       Anomalie_Kandidaten_Cache als leeres Wörterbuch (Hash-Map von
       Vorrichtungskennung auf ganzzahlige Kandidaten_Zähler),
     Kopieren von Anomalie_Kandidaten_Cache als
       Vorhergehende_Anomalie_Kandidaten_Cache;
     Für jeden Punkt n in Rauschpunkten:
        Falls n. Vorrichtungskennung im Anomalie_Kandidaten_Cache
          existiert, Inkrementieren von Kandidaten Zähler und
          Entfernen des Eintrags für n. Vorrichtungskennung aus dem
          Wörterbuch Vorhergehende_Anomalie_Kandidaten_Cache;
        Falls n. Vorrichtungskennung in Anomalie_Kandidaten_Cache
          nicht existiert, Hinzufügen von n. Vorrichtungskennung mit
          Kandidaten_Zähler = 0;
     Entfernen aller Einträge aus Anomalie_Kandidaten_Cache, für welche
       ein Schlüssel in Vorhergehende_Anomalie_Kandidaten_Cache
       vorhanden ist (dies gibt beispielsweise an, dass ein gegebener
       Eintrag die Kandidatenauswahl nicht überlebt hat);
     Initialisieren von Anomaliepunkte = leeres Feld von (Telemetrie_Skalar,
       Vorrichtungskennung, Zeitstempel);
     Für jeden Punkt n in Rauschpunkte:
        Falls Anomalie_Kandidaten_Cache[n. Vorrichtungskennung] >
          Rauschschwelle, Hinzufügen von n zu Anomaliepunkten
          (beispielsweise wurde eine Anomalie für die
          Vorrichtungskennung gefunden);
     Rückgabe des Vektorfelds der Anomaliepunkte.
  • Gemäß einigen Ausführungsformen kann das Anomalieereignismodul 66 ein Ereignis-Bekanntmachungs/Subskriptions(pub-sub)-System zur Bekanntmachung von Informationen in Bezug auf entdeckte Anomalien nahezu in Echtzeit aufweisen. Beispielsweise kann der Rauschprozessor 64c eine Nachricht in Bezug auf jede erkannte Anomalie offenbaren. Die offenbarten Nachrichten können von einer Anzahl von Clients verbraucht werden, die eine Subskription für den Empfang von Benachrichtigungen vorgenommen haben. Im Fall einer Rückkopplungsschleife kann der Erzeuger von Rohtelemetriedaten (beispielsweise die Vorrichtung) beispielsweise auch ein Verbraucher von Anomalieereignissen sein. Die Struktur der Nachricht kann die Quelle der Anomalie (beispielsweise Vorrichtungskennung) und Telemetriedatenpunkte (beispielsweise Telemetrie_Skalar) aufweisen, welche die Nachricht ausgelöst haben können. Jede geeignete Ereignis-pub-sub-Technologie kann verwendet werden. Beispielsweise kann APACHE KAFKA ein geeignetes Ereignis-Pub-subSystem bereitstellen.
  • Gemäß einigen Ausführungsformen kann die Übertragung von Daten zwischen Vorrichtungsfirmware und der Datenverarbeitungsengine 64 abhängig von den Anforderungen und Firmwarefähigkeiten in einem Pull/Push-Ansatz ausgeführt werden. Im Fall einer Pull-Architektur kann die Firmware für die Abfrage verfügbare skalarisierte Telemetriedaten offenlegen. Bei einer Push-Architektur kann die Firmware beispielsweise unter Verwendung des Advanced Message Queuing Protocol (AMQP) neue Telemetriedaten mitteilen.
  • Mit Bezug auf die 7A bis 7C sei nun bemerkt, dass ein Verfahren 70 zum Extrahieren von Rauschen aus einem Datensatz das Initialisieren/Erzeugen eines als AVL-Baum (beispielsweise unter Verwendung einer geeigneten AVL-Baumtechnologie) implementierten Bereichssuchbaums Bereichs Baum = ErzeugeBereichsBaum(Datensatz) in Block 71 und dann die Verwendung von Bereichs Baum zur schnellen und wiederholten Bereichssuche innerhalb von Datensatz aufweisen kann. Für jeden Punkt a in Datensatz kann das Verfahren 70 Nachbarn für einen Punkt a innerhalb des e-Bereichs in Block 72 finden (wobei e beispielsweise dem maximalen Abstand für eine Nachbarschaftsbereichssuche entspricht). Block 72 kann eine Bereichsbaumsuche auf der Grundlage von Bereichs Baum, a und e verwenden (siehe beispielsweise Verfahren 85, 8). Falls in Block 73 ein Zählwert Nachbarn < p ist (wobei p beispielsweise der minimalen Anzahl der zur Bildung eines Clusters benötigten Punkte entspricht, wobei p gemäß einigen Ausführungsformen bevorzugt 5 - 10 sein kann), kann das Verfahren 70 den Punkt a in Block 74 als „Rauschen“ kennzeichnen und mit dem nächsten Punkt im Datensatz fortfahren. Für jeden Punkt b in (Nachbarn + a) kann das Verfahren 70 feststellen, ob b in Block 75 Rauschen ist, und, falls dies der Fall ist, b in Block 76 als einen einem Cluster zugewiesenen Punkt auszeichnen. Falls b in Block 77 irgendeine Bezeichnung hat, kann das Verfahren 70 andernfalls mit dem nächsten Punkt in der Schleife fortfahren. Falls b in Block 77 nicht ausgezeichnet ist, kann das Verfahren 70 den Punkt b in Block 78 als dem Cluster zugewiesen auszeichnen und dann in Block 79 Sub Nachbarn für Punkt b innerhalb des e-Bereichs finden (beispielsweise unter Verwendung des Verfahrens 85, 8). Falls in Block 80 ein Zählwert von Sub Nachbarn < p ist, kann das Verfahren 70 in Block 81 Nachbarn durch Sub Nachbarn erweitern. Nachdem alle Punkte in Datensatz analysiert wurden, kann das Verfahren 70 in Block 82 als „Rauschen“ ausgezeichnete Punkte zu Rauschpunkte hinzufügen und in Block 83 Rauschpunkte zurückgeben (beispielsweise ein Feld von Punkten in Datensatz, die als „Rauschen“ markiert sind). Beispielsweise kann das Verfahren 70 einen modifizierten DBSCAN-Clusterbildungsalgorithmus zur Rauschextraktion aus Daten-Mikro-Batches aufweisen.
  • Mit Bezug auf 8 sei nun bemerkt, dass gemäß einer Ausführungsform eines Verfahrens 85 zum Durchsuchen eines Bereichsbaums (beispielsweise zur Implementation einer BereichsBaumSuch-Funktion) für einen AVL-Baum in Block 86 ein Zerlegungsknoten innerhalb des Bereichssuchbaums gesucht werden kann. Ein Beispiel einer geeigneten FindeZerlegung-Funktion kann das Verfahren 90 (9) aufweisen. Ein Beispiel einer geeigneten HolePunkteGrößerAls-Funktion kann das Verfahren 100 (10) aufweisen. Ein Beispiel einer geeigneten HolePunkteKleinerAls-Funktion kann das Verfahren 110 (11) aufweisen. Vorteilhafterweise kann das Verfahren 85 eine schnelle Bereichssuche des aktuellen Datensatzes unter Verwendung des AVL-Baums ausführen. Beim Verfahren 85 kann ein Zerlegungsknoten gefunden wurden und können Datenpunkte, die dem Zerlegungsknoten nachgeordnet sind, abgerufen werden. Beispielsweise kann der Zerlegungsknoten als ein Abschneidepunkt angesehen werden, unterhalb dessen Baumwege für das Suchen von Ober- und Untergrenzen divergieren (beispielsweise können Ober- und Untergrenzen durch den aktuellen Datenpunkt und einen Nachbarschaftssuche-Epsilon-Wert bestimmt werden). Für einen AVL-Baum kann das Finden des Zerlegungsknotens im schlimmsten Fall (beispielsweise bei der maximalen Höhe des Baums) effizient in O(log n) ausgeführt werden. Nach dem Finden des Zerlegungspunkts können in der nächsten Stufe Daten aus Knoten unterhalb des Zerlegungspunkts abgerufen werden. Das Verfahren 100 kann verwendet werden, um Daten aus dem linken AVL-Teilbaum abzurufen, während das Verfahren 110 verwendet werden kann, um Daten aus dem rechten AVL-Teilbaum abzurufen. Die Verfahren 100 und 110 können das Helfer-Verfahren 120 zum Abrufen aller Knoten von einem AVL-Teilbaum verwenden, der verwendet werden kann, wenn es möglich ist, den gesamten Teilbaum ohne zusätzliche Bereichsprüfungen abzurufen.
  • Mit Bezug auf 9 sei nun bemerkt, dass gemäß einer Ausführungsform eines Verfahrens 90 zum Finden eines Zerlegungsknotens bei einer Bereichssuche (beispielsweise zur Implementation einer FindeZerlegung-Funktion) der Bereichsbaum durchlaufen werden kann, um einen Zerlegungspunkt zu finden. Diese Verfahren laufen dank durch den AVL-Baum garantierter Eigenschaften auch in O(log n). Mit Bezug auf 10 sei nun bemerkt, dass gemäß einer Ausführungsform eines Verfahrens 100 Datenpunkte oberhalb eines unteren Bereichswerts gefunden werden können (beispielsweise durch eine HolePunkteGrößerAls-Funktion). Ein Beispiel einer geeigneten HoleAllePunkte-Funktion kann das Verfahren 120 (12) aufweisen. Mit Bezug auf 11 sei nun bemerkt, dass gemäß einer Ausführungsform eines Verfahrens 110 Datenpunkte unterhalb eines oberen Bereichswerts schnell gefunden werden können (beispielsweise durch eine HolePunkteKleinerAls-Funktion). Ein Beispiel einer geeigneten HoleAllePunkte-Funktion kann das Verfahren 120 (12) aufweisen. Mit Bezug auf 12 sei nun bemerkt, dass gemäß einer Ausführungsform eines Verfahrens 120 alle Datenpunkte vom AVL-Teilbaum abgerufen werden können (beispielsweise durch eine HoleAllePunkte-Funktion).
  • Vorteilhafterweise kann das Verfahren 70 zur Rauschextraktion (beispielsweise die RauschExtraktion-Funktion mit einer modifizierten DBSCAN-Technologie) die rechnerische Komplexität für eine Bereichsbaumsuche unter Verwendung eines AVL-Baums (beispielsweise an Stelle herkömmlicher DBSCAN-Bereichssuchtechniken) verbessern oder optimieren. Wenngleich einige Ausführungsformen auch auf n-dimensionale reale Räume verallgemeinert werden können, kann ein Clusterbildungsproblem, das in einem eindimensionalen realen Raum gelöst werden kann, von Ausführungsformen des Verfahrens 70 profitieren. Beispielsweise kann die Gesamtzeitkomplexität von RauschExtraktion (beispielsweise das Verfahren 70) von O(n2) im schlimmsten Fall (beispielsweise für die herkömmliche DBSCAN-Technologie) auf nur O(n log n) im schlimmsten Fall abnehmen, wobei n die Anzahl der Punkte im aktuellen Datensatz ist (beispielsweise entsprechend einem Datenfenster). Einige Ausführungsformen können vorteilhaft auf die Analyse großer Datenmengen in Echtzeit angewendet werden. Einige Ausführungsformen können für IoT-Anwendungen besonders nützlich sein, wobei eine effiziente Analyse für ein Ansprechen in Echtzeit oder nahezu in Echtzeit wichtig sein kann.
  • Mit Bezug auf 13 sei nun bemerkt, dass eine Ausführungsform eines Graphen der Anzahl der Punkte in einem Datensatz (n) in Abhängigkeit von der Laufzeit eine beispielhafte mögliche Verbesserung der im schlimmsten Fall auftretenden Zeit O(n2) (beispielsweise für die herkömmliche DBSCAN-Technologie) gegenüber O(n log n) (beispielsweise für die verbesserte DBSCAN-Technologie gemäß einigen Ausführungsformen) zeigt.
  • Mit Bezug auf 14 sei nun bemerkt, dass eine Ausführungsform eines Graphen der Datensatzgröße in Abhängigkeit von der Ausführungszeit eine beispielhafte mögliche Verbesserung der Ausführung für eine Ausführungsform der RauschExtraktion-Technologie (beispielsweise Verfahren 70) gegenüber der herkömmlichen DBSCAN-Technologie zeigt. Vorteilhafterweise können einige Ausführungsformen zu keinem Verlust der Genauigkeit führen und zu genau dem gleichen Ergebnis (beispielsweise Rauschpunktcluster) wie bei der herkömmlichen DBSCAN-Technologie führen.
  • 15A zeigt eine Anomalieerkennungsvorrichtung 132 (132a -132c), die einen oder mehrere Aspekte des Verfahrens 30 (3), des Verfahrens 70 (7A bis 7C), des Verfahrens 85 (8), des Verfahrens 90 (9), des Verfahrens 100 (10), des Verfahrens 110 (11) und/oder des Verfahrens 120 (12) implementieren kann. Die Anomalieerkennungsvorrichtung 132, die Logikbefehle, eine konfigurierbare Logik oder eine Festfunktionalitäts-Hardwarelogik aufweisen kann, kann leicht das System 10 (1), die Datenverarbeitungsengine 44, die Datenverarbeitungsengine 54 und/oder die Datenverarbeitungsengine 64, wie bereits erörtert, ersetzen. Ein Mikro-Batch-Prozessor 132a kann Technologie zur Erzeugung eines Bereichssuchbaums auf der Grundlage eines Datenstroms aufweisen. Ein Rauschextrahierer 132b kann Technologie zur Clusterbildung von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und von DBSCAN aufweisen. Ein Rauschprozessor 132c kann Technologie zur Erkennung einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten aufweisen. Gemäß einigen Ausführungsformen kann die Anomalieerkennungsvorrichtung 132 ferner dafür ausgelegt sein, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen. Beispielsweise kann der Datenstrom Telemetriedaten aufweisen, und einige Ausführungsformen des Mikro-Batch-Prozessors 132a können ferner dafür ausgelegt sein, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches (beispielsweise Mikro-Batches) zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen. Beispielsweise kann der Mikro-Batch-Prozessor 132a dafür ausgelegt sein, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen. Gemäß einigen Ausführungsformen kann die Anomalieerkennungsvorrichtung 132 auch dafür ausgelegt sein, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen (beispielsweise zum Verringern oder Verhindern von falsch Positiven). Beispielsweise kann der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum sein.
  • Mit Bezug auf 15B sei nun bemerkt, dass eine Anomalieerkennungsvorrichtung 134 (134a, 134b) dargestellt ist, in der Logik 134b (beispielsweise ein Transistorfeld und andere Komponenten einer integrierten Schaltung/IC) mit einem Substrat 134a (beispielsweise Silicium, Saphir, Galliumarsenid) gekoppelt ist. Die Logik 134b kann im Allgemeinen einen oder mehrere Aspekte des Verfahrens 30 (3), des Verfahrens 70 (7A bis 7C), des Verfahrens 85 (8), des Verfahrens 90 (9), des Verfahrens 100 (10), des Verfahrens 110 (11) und/oder des Verfahrens 120 (12) implementieren. Demgemäß kann die Logik 134b einen Bereichssuchbaum auf der Grundlage eines Datenstroms, Cluster-Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und DBSCAN erzeugen und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten erkennen. Gemäß einigen Ausführungsformen kann die Logik 134b ferner dafür ausgelegt sein, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen. Beispielsweise kann der Datenstrom Telemetriedaten aufweisen, und einige Ausführungsformen der Logik 134b können ferner dafür ausgelegt sein, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches (beispielsweise Mikro-Batches) zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen. Beispielsweise kann die Logik 134b dafür ausgelegt sein, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen. Gemäß einigen Ausführungsformen kann die Logik 134b auch dafür ausgelegt sein, Gleitendes-Fenster-Aggregationen von Sonderfalldaten (beispielsweise zur Verringerung oder Verhinderung falsch Positiver) zu zählen. Bei einem Beispiel ist die Vorrichtung 134 ein Halbleiter-Die, ein Chip und/oder eine Baugruppe.
  • 16 zeigt einen Prozessorkern 200 gemäß einer Ausführungsform. Der Prozessorkern 200 kann der Kern für irgendeinen Prozessortyp in der Art eines Mikroprozessors, eines eingebetteten Prozessors, eines digitalen Signalprozessors (DSP), eines Netzprozessors oder einer anderen Vorrichtung zur Ausführung von Code sein. Wenngleich in 16 nur ein Prozessorkern 200 dargestellt ist, kann ein Verarbeitungselement alternativ mehr als einen in 16 dargestellten Prozessorkern 200 aufweisen. Der Prozessorkern 200 kann ein Einzelthreadkern sein oder gemäß zumindest einer Ausführungsform in der Hinsicht, dass er mehr als einen Hardwarethreadkontext (oder „Logikprozessor“) pro Kern aufweisen kann, ein Multithreadkern sein.
  • 16 zeigt auch einen mit dem Prozessorkern 200 gekoppelten Speicher 270. Der Speicher 270 kann einer von einer breiten Vielfalt von Speichern sein (einschließlich verschiedener Schichten einer Speicherhierarchie), die Fachleuten bekannt oder auf andere Weise verfügbar sind. Der Speicher 270 kann einen oder mehrere Codebefehle 213 aufweisen, die vom Prozessorkern 200 auszuführen sind, wobei der Code 213 einen oder mehrere Aspekte des Verfahrens 30 (3), des Verfahrens 70 (7A bis 7C), des Verfahrens 85 (8), des Verfahrens 90 (9), des Verfahrens 100 (10), des Verfahrens 110 (11) und/oder des Verfahrens 120 (12), wie bereits erörtert, implementieren kann. Der Prozessorkern 200 folgt einer Programmsequenz durch den Code 213 angegebener Befehle. Jeder Befehl kann in einen Frontend-Abschnitt 210 eingegeben werden und durch einen oder mehrere Decodierer 220 verarbeitet werden. Der Decodierer 220 kann als Ausgabe eine Mikrooperation in der Art einer Mikrooperation fester Breite in einem vordefinierten Format erzeugen oder andere Befehle, Mikrobefehle oder Steuersignale erzeugen, welche den ursprünglichen Codebefehl reflektieren. Der dargestellte Frontend-Abschnitt 210 weist auch eine Registerumbenennungslogik 225 und eine Planungslogik 230 auf, welche im Allgemeinen Ressourcen zuordnen und die dem Umwandlungsbefehl entsprechende Operation für die Ausführung einreihen.
  • Der Prozessorkern 200 weist wie dargestellt eine Ausführungslogik 250 mit einem Satz von Ausführungseinheiten 255-1 bis 255-N auf. Einige Ausführungsformen können eine Anzahl von Ausführungseinheiten aufweisen, die spezifischen Funktionen oder Funktionssätzen zugewiesen sind. Andere Ausführungsformen können nur eine Ausführungseinheit oder eine Ausführungseinheit, die eine bestimmte Funktion ausführen kann, aufweisen. Die dargestellte Ausführungslogik 250 führt die durch Codebefehle spezifizierten Operationen aus.
  • Nach Abschluss der Ausführung der durch die Codebefehle spezifizierten Operationen zieht eine Backend-Logik 260 die Befehle des Codes 213 zurück. Gemäß einer Ausführungsform ermöglicht der Prozessorkern 200 eine Außer-der-Reihe-Ausführung, erfordert jedoch eine In-der-Reihe-Zurückziehung von Befehlen. Eine Zurückziehungslogik 265 kann eine Vielfalt Fachleuten bekannter Formen annehmen (beispielsweise Umordnungspuffer oder dergleichen). Auf diese Weise wird der Prozessorkern 200 während der Ausführung des Codes 213 zumindest in Bezug auf die vom Decodierer erzeugte Ausgabe, die von der Registerumbenennungslogik 225 verwendeten Hardwareregister und Tabellen und jegliche von der Ausführungslogik 250 modifizierte Register (nicht dargestellt) transformiert.
  • Wenngleich dies in 16 nicht dargestellt ist, kann ein Verarbeitungselement andere Elemente aufweisen, die sich mit dem Prozessorkern 200 auf dem Chip befinden. Beispielsweise kann ein Verarbeitungselement eine Speichersteuerlogik zusammen mit dem Prozessorkern 200 aufweisen. Das Verarbeitungselement kann eine E/A-Steuerlogik und/oder eine mit der Speichersteuerlogik integrierte E/A-Steuerlogik aufweisen. Das Verarbeitungselement kann auch einen oder mehrere Caches aufweisen.
  • In 17 ist ein Blockdiagramm einer Ausführungsform eines Systems 1000 gemäß einer Ausführungsform dargestellt. In 17 ist ein Mehrprozessorsystem 1000 dargestellt, das ein erstes Verarbeitungselement 1070 und ein zweites Verarbeitungselement 1080 aufweist. Wenngleich zwei Verarbeitungselemente 1070 und 1080 dargestellt sind, ist zu verstehen, dass eine Ausführungsform des Systems 1000 auch nur ein solches Verarbeitungselement aufweisen kann.
  • Das System 1000 ist als Punkt-zu-Punkt-Zwischenverbindungssystem dargestellt, wobei das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 durch eine Punkt-zu-Punkt-Zwischenverbindung 1050 gekoppelt sind. Es ist zu verstehen, dass jegliche oder alle der in 17 dargestellten Zwischenverbindungen als Multi-Drop-Bus statt als Punkt-zu-Punkt-Zwischenverbindung implementiert werden können.
  • Wie in 17 dargestellt ist, kann jedes der Verarbeitungselemente 1070 und 1080 aus Mehrkernprozessoren, einschließlich erster und zweiter Prozessorkerne (d. h. Prozessorkerne 1074a und 1074b und Prozessorkerne 1084a und 1084b), bestehen. Diese Kerne 1074a, 1074b, 1084a, 1084b können dafür ausgelegt sein, einen Befehlscode ähnlich wie vorstehend in Zusammenhang mit 16 erörtert auszuführen.
  • Jedes Verarbeitungselement 1070, 1080 kann wenigstens einen geteilten Cache 1896a, 1896b (beispielsweise einen statischen Direktzugriffsspeicher/SRAM) aufweisen. Der geteilte Cache 1896a, 1896b kann Daten (beispielsweise Objekte, Befehle) speichern, die von einer oder mehreren Komponenten des Prozessors in der Art der jeweiligen Kerne 1074a, 1074b und 1084a, 1084b verwendet werden. Beispielsweise kann der geteilte Cache 1896a, 1896b in einem Speicher 1032, 1034 gespeicherte Daten für einen schnelleren Zugriff durch Komponenten des Prozessors lokal cachen. Gemäß einer oder mehreren Ausführungsformen kann der geteilte Cache 1896a, 1896b einen oder mehrere Mid-Level-Caches in der Art eines Level-2(L2)-, Level-3(L3)-, Level-4(L4)-Caches oder eines Caches einer anderen Ebene, einen Last-Level-Cache (LLC) und/oder Kombinationen davon aufweisen.
  • Wenngleich er mit nur zwei Verarbeitungselementen 1070, 1080 dargestellt ist, ist zu verstehen, dass der Schutzumfang der Ausführungsformen nicht darauf beschränkt ist. Gemäß anderen Ausführungsformen können ein oder mehrere zusätzliche Verarbeitungselemente in einem gegebenen Prozessor vorhanden sein. Alternativ können ein oder mehrere Verarbeitungselemente 1070, 1080 von einem Prozessor verschiedene Elemente sein in der Art eines Beschleunigers oder eines feldprogrammierbaren Gate-Arrays. Beispielsweise können ein oder mehrere zusätzliche Verarbeitungselemente einen oder mehrere zusätzliche Prozessoren, welche einem ersten Prozessor 1070 gleichen, einen oder mehrere zusätzliche Prozessoren, die zum ersten Prozessor 1070 heterogen oder asymmetrisch sind, Beschleuniger (in der Art von Graphikbeschleunigern oder digitalen Signalverarbeitungseinheiten (DSP-Einheiten)), feldprogrammierbare Gate-Arrays oder ein anderes Verarbeitungselement aufweisen. Es kann eine Vielzahl von Differenzen zwischen den Verarbeitungselementen 1070, 1080 in Bezug auf ein Spektrum einer Gütemetrik, einschließlich Architektur-, Mikroarchitektur-, thermischer, Stromverbrauchseigenschaften und dergleichen, geben. Diese Differenzen können sich effektiv als Asymmetrie und Heterogenität zwischen den Verarbeitungselementen 1070, 1080 manifestieren. Für wenigstens eine Ausführungsform können sich die verschiedenen Verarbeitungselemente 1070, 1080 in derselben Die-Baugruppe befinden.
  • Das erste Verarbeitungselement 1070 kann ferner eine Speichersteuerlogik (MC) 1072 und Punkt-zu-Punkt-Schnittstellen (P-P-Schnittstellen) 1076 und 1078 aufweisen. Ähnlich kann das zweite Verarbeitungselement 1080 eine MC 1082 und P-P-Schnittstellen 1086 und 1088 aufweisen. Wie in 17 dargestellt ist, koppeln die MC 1072 und 1082 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 1032 und einem Speicher 1034, welche Teile des lokal den jeweiligen Prozessoren zugeordneten Hauptspeichers sein können. Wenngleich die MC 1072 und 1082 als in die Verarbeitungselemente 1070, 1080 integriert dargestellt ist, kann die MC-Logik gemäß alternativen Ausführungsformen eine diskrete Logik außerhalb der Verarbeitungselemente 1070, 1080 sein, statt darin integriert zu sein.
  • Das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 können über jeweilige P-P-Zwischenverbindungen 1076, 1086 mit einem E/A-Untersystem 1090 gekoppelt sein. Wie in 17 dargestellt ist, weist das E/A-Untersystem 1090 eine TEE 1097 (beispielsweise eine Sicherheitssteuereinrichtung) und P-P-Schnittstellen 1094 und 1098 auf. Ferner weist das E/A-Untersystem 1090 eine Schnittstelle 1092 zur Kopplung des E/A-Untersystems 1090 mit einer Hochleistungs-Graphikengine 1038 auf. Gemäß einer Ausführungsform kann ein Bus 1049 verwendet werden, um die Graphikengine 1038 mit dem E/A-Untersystem 1090 zu koppeln. Alternativ kann eine Punkt-zu-Punkt-Zwischenverbindung diese Komponenten koppeln.
  • Das E/A-Untersystem 1090 kann wiederum über eine Schnittstelle 1096 mit einem ersten Bus 1016 gekoppelt sein. Gemäß einer Ausführungsform kann der erste Bus 1016 ein Peripheriekomponentenzwischenverbindungs(PCI)-Bus oder ein Bus in der Art eines PCI-Express-Busses oder eines anderen E/A-Zwischenverbindungsbusses der dritten Generation sein, wenngleich der Schutzumfang der Ausführungsformen nicht darauf beschränkt ist.
  • Wie in 17 dargestellt ist, können verschiedene E/A-Vorrichtungen 1014 (beispielsweise Kameras, Sensoren) zusammen mit einer Busbrücke 1018, die den ersten Bus 1016 mit einem zweiten Bus 1020 koppeln kann, mit dem ersten Bus 1016 gekoppelt sein. Gemäß einer Ausführungsform kann der zweite Bus 1020 ein Bus mit einer geringen Stiftanzahl (LPC-Bus) sein. Verschiedene Vorrichtungen können gemäß einer Ausführungsform mit dem zweiten Bus 1020 gekoppelt sein, einschließlich beispielsweise einer Tastatur/einer Maus 1012, Netzsteuereinrichtungen-/Kommunikationsvorrichtungen 1026 (die wiederum in Kommunikation mit einem Computernetz stehen können) und einer Datenspeichereinheit 1019 in der Art eines Plattenlaufwerks oder einer anderen Massenspeichervorrichtung, die einen Code 1030 aufweisen kann. Der Code 1030 kann Befehle zur Ausführung von Ausführungsformen eines oder mehrerer der vorstehend beschriebenen Verfahren aufweisen. Demgemäß kann der dargestellte Code 1030 einen oder mehrere Aspekte des Verfahrens 30 (3), des Verfahrens 70 (7A bis 7C), des Verfahrens 85 (8), des Verfahrens 90 (9), des Verfahrens 100 (10), des Verfahrens 110 (11) und/oder des Verfahrens 120 (12), wie bereits erörtert, implementieren und kann dem Code 213 (16), wie bereits erörtert, ähneln. Ferner kann eine Audio-E/A 1024 mit dem zweiten Bus 1020 gekoppelt sein.
  • Es sei bemerkt, dass andere Ausführungsformen erwogen werden. Beispielsweise kann anstelle der Punkt-zu-Punkt-Architektur aus 17 ein System einen Multi-Drop-Bus oder eine andere derartige Kommunikationstopologie implementieren.
  • Zusätzliche Bemerkungen und Beispiele
  • Beispiel 1 kann ein elektronisches Verarbeitungssystem aufweisen, welches Folgendes umfasst: einen Prozessor, einen Speicher, der kommunikativ mit dem Prozessor gekoppelt ist, und eine Logik, die kommunikativ mit dem Prozessor gekoppelt ist, um einen Bereichssuchbaum auf der Grundlage eines Datenstroms zu erzeugen, Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen zu clustern und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten zu erkennen.
  • Beispiel 2 kann das System von Beispiel 1 aufweisen, wobei die Logik ferner dafür ausgelegt ist, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
  • Beispiel 3 kann das System von Beispiel 2 aufweisen, wobei der Datenstrom Telemetriedaten aufweist und wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
  • Beispiel 4 kann das System von Beispiel 3 aufweisen, wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
  • Beispiel 5 kann das System von Beispiel 4 aufweisen, wobei die Logik ferner dafür ausgelegt ist, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
  • Beispiel 6 kann das System von einem der Beispiele 1 bis 5 aufweisen, wobei der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum ist.
  • Beispiel 7 kann eine Halbleiterbaugruppenvorrichtung aufweisen, welche Folgendes umfasst: ein oder mehrere Substrate und eine Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, wobei die Logik zumindest teilweise in einer oder mehreren von einer konfigurierbaren Logik und einer Festfunktionalitäts-Hardwarelogik implementiert ist, wobei die Logik mit dem einen oder den mehreren Substraten gekoppelt ist, um einen Bereichssuchbaum auf der Grundlage eines Datenstroms zu erzeugen, Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und der Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen zu clustern und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten zu erkennen.
  • Beispiel 8 kann die Vorrichtung von Beispiel 7 aufweisen, wobei die Logik ferner dafür ausgelegt ist, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
  • Beispiel 9 kann die Vorrichtung von Beispiel 8 aufweisen, wobei der Datenstrom Telemetriedaten aufweist und wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
  • Beispiel 10 kann die Vorrichtung von Beispiel 9 aufweisen, wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
  • Beispiel 11 kann die Vorrichtung von Beispiel 10 aufweisen, wobei die Logik ferner dafür ausgelegt ist, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
  • Beispiel 12 kann die Vorrichtung von einem der Beispiele 7 bis 11 aufweisen, wobei der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum ist.
  • Beispiel 13 kann die Vorrichtung von einem der Beispiele 7 bis 12 aufweisen, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalgebiete aufweist, die innerhalb des einen oder der mehreren Substrate angeordnet sind.
  • Beispiel 14 kann ein Verfahren zur Verarbeitung eines Datenstroms aufweisen, welches Folgendes umfasst: Erzeugen eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen und Erkennen einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten.
  • Beispiel 15 kann das Verfahren von Beispiel 14 aufweisen, wobei ferner ein Ereignis auf der Grundlage der erkannten Anomalie ausgelöst wird.
  • Beispiel 16 kann das Verfahren von Beispiel 15 aufweisen, wobei der Datenstrom Telemetriedaten aufweist und wobei ferner die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden und der Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches erzeugt wird.
  • Beispiel 17 kann das Verfahren von Beispiel 16 aufweisen, wobei ferner die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden.
  • Beispiel 18 kann das Verfahren von Beispiel 17 aufweisen, wobei ferner Gleitendes-Fenster-Aggregationen von Sonderfalldaten gezählt werden.
  • Beispiel 19 kann das Verfahren von einem der Beispiele 14 bis 18 aufweisen, wobei der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum ist.
  • Beispiel 20 kann wenigstens ein computerlesbares Speichermedium aufweisen, das einen Satz von Befehlen umfasst, die, wenn sie von einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, einen Bereichssuchbaum auf der Grundlage eines Datenstroms zu erzeugen, Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen zu clustern und eine Anomalie im Datenstrom auf der Grundlage der geclusterten Daten zu erkennen.
  • Beispiel 21 kann das wenigstens eine computerlesbare Speichermedium von Beispiel 20 aufweisen, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
  • Beispiel 22 kann das wenigstens eine computerlesbare Speichermedium von Beispiel 21 aufweisen, wobei der Datenstrom Telemetriedaten aufweist, welches einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
  • Beispiel 23 kann das wenigstens eine computerlesbare Speichermedium von Beispiel 22 aufweisen, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
  • Beispiel 24 kann das wenigstens eine computerlesbare Speichermedium von Beispiel 23 aufweisen, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
  • Beispiel 25 kann das wenigstens eine computerlesbare Speichermedium von einem der Beispiele 19 bis 24 aufweisen, wobei der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum ist.
  • Beispiel 26 kann eine Anomalieerkennungsvorrichtung aufweisen, die Mittel zur Erzeugung eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Mittel zum Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit Rauschen und Mittel zur Erkennung einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten umfasst.
  • Beispiel 27 kann die Vorrichtung von Beispiel 26 aufweisen, welche ferner Mittel zum Auslösen eines Ereignisses auf der Grundlage der erkannten Anomalie umfasst.
  • Beispiel 28 kann die Vorrichtung von Beispiel 27 aufweisen, wobei der Datenstrom Telemetriedaten aufweist, welche ferner Mittel zur Unterteilung der Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches und Mittel zur Erzeugung des Bereichssuchbaums für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches umfasst.
  • Beispiel 29 kann die Vorrichtung von Beispiel 28 aufweisen, welche ferner Mittel zur Unterteilung der Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches auf der Grundlage eines Zeitintervallfensters umfasst.
  • Beispiel 30 kann die Vorrichtung von Beispiel 29 aufweisen, welche ferner Mittel zum Zählen von Gleitendes-Fenster-Aggregationen von Sonderfalldaten umfasst.
  • Beispiel 31 kann die Vorrichtung von einem der Beispiele 26 bis 30 aufweisen, wobei der Bereichssuchbaum ein selbstausgleichender binärer Suchbaum ist.
  • Ausführungsformen sind für eine Verwendung mit allen Typen von Chips integrierter Halbleiterschaltungen („IC-Chips“) geeignet. Beispiele dieser IC-Chips umfassen Prozessoren, Steuereinrichtungen, Chipsatz-Komponenten, programmierbare Logik-Arrays (PLA), Speicherchips, Netzchips, Systems-on-Chip (SOC), SSD/NAND-Steuereinrichtungs-ASICs und dergleichen, sind jedoch nicht darauf beschränkt. Zusätzlich sind in einigen der Zeichnungen Signalleitungen durch Linien dargestellt. Einige können verschieden sein, um weitere Signalteilwege anzugeben, eine Nummernbezeichnung aufweisen, um eine Nummer von Signalteilwegen anzugeben, und/oder an einem oder mehreren Enden Pfeile aufweisen, um die primäre Informationsflussrichtung anzugeben. Dies sollte jedoch nicht einschränkend ausgelegt werden. Vielmehr können solche zusätzlichen Einzelheiten zusammen mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das Verständnis einer Schaltung zu erleichtern. Jegliche dargestellte Signalleitungen, ob sie zusätzliche Informationen aufweisen oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die sich in mehreren Richtungen ausbreiten, und durch einen geeigneten Typ eines Signalschemas implementiert werden, beispielsweise als digitale oder analoge Leitungen, die mit differenziellen Paaren, optischen Faserleitungen und/oder unsymmetrischen Leitungen implementiert sind.
  • Beispielhafte Größen/Modelle/Werte/Bereiche können angegeben worden sein, wenngleich Ausführungsformen nicht darauf beschränkt sind. Weil die Herstellungstechniken (beispielsweise die Photolithographie) im Laufe der Zeit reifen, wird erwartet, dass Vorrichtungen mit einer geringeren Größe hergestellt werden könnten. Zusätzlich können innerhalb der Figuren zur einfachen Darstellung und Erörterung und um bestimmte Aspekte der Ausführungsformen nicht unklar zu machen, wohlbekannte Strom/Masse-Verbindungen zu IC-Chips und anderen Komponenten dargestellt sein, oder dies kann nicht der Fall sein. Ferner können Anordnungen in Blockdiagrammform dargestellt sein, um es zu verhindern, Ausführungsformen unklar zu machen, und auch angesichts der Tatsache, dass spezifische Einzelheiten in Bezug auf die Implementation solcher Blockdiagrammanordnungen in hohem Maße von der Plattform abhängen, innerhalb derer die Ausführungsform zu implementieren ist, d. h. diese spezifischen Einzelheiten sollten für Fachleute leicht verständlich sein. Wo spezifische Details (beispielsweise Schaltungen) dargelegt sind, um beispielhafte Ausführungsformen zu beschreiben, sollte Fachleuten verständlich sein, dass Ausführungsformen ohne eine Variation dieser spezifischen Details oder mit einer Variation von diesen verwirklicht werden können. Die Beschreibung ist demgemäß als erläuternd und nicht als einschränkend anzusehen.
  • Der Begriff „gekoppelt“ kann hier verwendet werden, um auf einen Typ einer Beziehung, ob direkt oder indirekt, zwischen den fraglichen Komponenten Bezug zu nehmen und für elektrische, mechanische, Fluid-, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Zusätzlich können die Begriffe „erster“, „zweiter“ usw. hier nur verwendet werden, um die Erörterung zu erleichtern, und sie weisen keine bestimmte zeitliche oder chronologische Bedeutung auf, es sei denn, dass etwas anderes angegeben wird.
  • Wie in dieser Anmeldung und in den Ansprüchen verwendet, kann eine Liste durch den Begriff „einer oder mehrere von“ verbundener Bestandteile eine beliebige Kombination der aufgelisteten Bestandteile bedeuten. Beispielsweise können der Ausdruck „einer oder mehrere von A, B und C“ und der Ausdruck „einer oder mehrere von A, B oder C“ beide A; B; C; A und B; A und C; B und C; oder A, B und C bedeuten.
  • Fachleute werden anhand der vorstehenden Beschreibung verstehen, dass die breiten Techniken der Ausführungsformen in einer Vielzahl von Formen implementiert werden können. Daher sollte, wenngleich die Ausführungsformen in Zusammenhang mit bestimmten Beispielen davon beschrieben wurden, der wahre Geltungsbereich der Ausführungsformen nicht darauf begrenzt sein, weil andere Modifikationen sachkundigen Anwendern bei der Betrachtung der Zeichnungen, der Beschreibung und der folgenden Ansprüche verständlich werden.
  • Claims (25)

    1. Elektronisches Verarbeitungssystem, welches Folgendes umfasst: einen Prozessor, einen Speicher, der kommunikativ mit dem Prozessor gekoppelt ist, und eine Logik, die kommunikativ mit dem Prozessor gekoppelt ist, um Folgendes auszuführen: Erzeugen eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung einer modifizierten Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit einem Rauschschema und Erkennen einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten.
    2. System nach Anspruch 1, wobei die Logik ferner dafür ausgelegt ist, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
    3. System nach Anspruch 2, wobei der Datenstrom Telemetriedaten aufweist und wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
    4. System nach Anspruch 3, wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
    5. System nach Anspruch 4, wobei die Logik ferner dafür ausgelegt ist, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
    6. System nach einem der Ansprüche 1 bis 5, wobei der Bereichssuchbaum einen selbstausgleichenden binären Suchbaum einschließt.
    7. Halbleiterbaugruppenvorrichtung, welche Folgendes umfasst: ein oder mehrere Substrate und eine Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, wobei die Logik zumindest teilweise in einer oder mehreren von einer konfigurierbaren Logik und einer Festfunktionalitäts-Hardwarelogik implementiert ist, wobei die Logik mit dem einen oder den mehreren Substraten gekoppelt ist, um Folgendes auszuführen: Erzeugen eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung einer modifizierten Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit einem Rauschschema und Erkennen einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten.
    8. Vorrichtung nach Anspruch 7, wobei die Logik ferner dafür ausgelegt ist, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
    9. Vorrichtung nach Anspruch 8, wobei der Datenstrom Telemetriedaten aufweist und wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
    10. Vorrichtung nach Anspruch 9, wobei die Logik ferner dafür ausgelegt ist, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
    11. Vorrichtung nach Anspruch 10, wobei die Logik ferner dafür ausgelegt ist, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
    12. Vorrichtung nach einem der Ansprüche 7 bis 11, wobei der Bereichssuchbaum einen selbstausgleichenden binären Suchbaum einschließt.
    13. Vorrichtung nach einem der Ansprüche 7 bis 12, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik Transistorkanalgebiete aufweist, die innerhalb des einen oder der mehreren Substrate angeordnet sind.
    14. Verfahren zur Verarbeitung eines Datenstroms, welches Folgendes umfasst: Erzeugen eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung einer modifizierten Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit einem Rauschschema und Erkennen einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten.
    15. Verfahren nach Anspruch 14, wobei ferner ein Ereignis auf der Grundlage der erkannten Anomalie ausgelöst wird.
    16. Verfahren nach Anspruch 15, wobei der Datenstrom Telemetriedaten aufweist und wobei ferner die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden und der Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches erzeugt wird.
    17. Verfahren nach Anspruch 16, wobei ferner die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches unterteilt werden.
    18. Verfahren nach Anspruch 17, wobei ferner Gleitendes-Fenster-Aggregationen von Sonderfalldaten gezählt werden.
    19. Verfahren nach einem der Ansprüche 14 bis 18, wobei der Bereichssuchbaum einen selbstausgleichenden binären Suchbaum einschließt.
    20. Wenigstens ein computerlesbares Speichermedium, das einen Satz von Befehlen umfasst, die, wenn sie von einer Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, Folgendes auszuführen: Erzeugen eines Bereichssuchbaums auf der Grundlage eines Datenstroms, Clustern von Daten vom Datenstrom auf der Grundlage des Bereichssuchbaums und einer Anwendung einer modifizierten Dichte auf der Grundlage eines räumlichen Clusters von Anwendungen mit einem Rauschschema und Erkennen einer Anomalie im Datenstrom auf der Grundlage der geclusterten Daten.
    21. Das wenigstens eine computerlesbare Speichermedium nach Anspruch 20, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, ein Ereignis auf der Grundlage der erkannten Anomalie auszulösen.
    22. Das wenigstens eine computerlesbare Speichermedium nach Anspruch 21, wobei der Datenstrom Telemetriedaten aufweist, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, die Telemetriedaten in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen und den Bereichssuchbaum für jeden von dem einen oder den mehreren Sätzen kurzer Daten-Batches zu erzeugen.
    23. Das wenigstens eine computerlesbare Speichermedium nach Anspruch 22, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, die Telemetriedaten auf der Grundlage eines Zeitintervallfensters in einen oder mehrere Sätze kurzer Daten-Batches zu unterteilen.
    24. Das wenigstens eine computerlesbare Speichermedium nach Anspruch 23, das einen weiteren Satz von Befehlen umfasst, die, wenn sie von der Rechenvorrichtung ausgeführt werden, die Rechenvorrichtung veranlassen, Gleitendes-Fenster-Aggregationen von Sonderfalldaten zu zählen.
    25. Das wenigstens eine computerlesbare Speichermedium nach einem der Ansprüche 19 bis 24, wobei der Bereichssuchbaum einen selbstausgleichenden binären Suchbaum einschließt.
    DE102019112700.9A 2018-06-15 2019-05-15 Autonome anomalieerkennung und ereignisauslösung für datenströme Pending DE102019112700A1 (de)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    US16/009,528 US11061885B2 (en) 2018-06-15 2018-06-15 Autonomous anomaly detection and event triggering for data series
    US16/009,528 2018-06-15

    Publications (1)

    Publication Number Publication Date
    DE102019112700A1 true DE102019112700A1 (de) 2019-12-19

    Family

    ID=65230438

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102019112700.9A Pending DE102019112700A1 (de) 2018-06-15 2019-05-15 Autonome anomalieerkennung und ereignisauslösung für datenströme

    Country Status (3)

    Country Link
    US (1) US11061885B2 (de)
    CN (1) CN110609851A (de)
    DE (1) DE102019112700A1 (de)

    Cited By (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102020207449A1 (de) 2020-06-16 2021-12-16 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten von Signalen

    Families Citing this family (9)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP3627262A1 (de) * 2018-09-18 2020-03-25 Siemens Aktiengesellschaft Verfahren und assistenzsystem zur parametrisierung eines anomalieerkennungsverfahrens
    US11297142B2 (en) * 2019-01-31 2022-04-05 Nec Corporation Temporal discrete event analytics system
    US11336724B2 (en) * 2019-04-25 2022-05-17 Microsoft Technology Licensing, Llc Data transformation and analytics at edge server
    US11328820B2 (en) * 2020-02-14 2022-05-10 Doctor on Demand, Inc. Decision engine based on disparate data sources
    WO2022015235A1 (en) * 2020-07-13 2022-01-20 Grabtaxi Holdings Pte. Ltd. System and method for handling events of a fleet of personal mobility devices
    US11687806B2 (en) 2020-11-03 2023-06-27 International Business Machines Corporation Problem solving using selected datasets of internet-of-things system
    CN112651617B (zh) * 2020-12-21 2022-07-01 福州大学 基于批流统一数据聚类的风电机组异常检测方法
    US20220229903A1 (en) * 2021-01-21 2022-07-21 Intuit Inc. Feature extraction and time series anomaly detection over dynamic graphs
    US20230088722A1 (en) * 2021-09-23 2023-03-23 Verizon Media Inc. System and method for generating relevant sets of results using datasets

    Family Cites Families (12)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
    US8175739B2 (en) * 2007-07-26 2012-05-08 3M Innovative Properties Company Multi-unit process spatial synchronization
    US9866426B2 (en) * 2009-11-17 2018-01-09 Hawk Network Defense, Inc. Methods and apparatus for analyzing system events
    US9043329B1 (en) * 2013-12-19 2015-05-26 Banjo, Inc. Dynamic event detection system and method
    US10445311B1 (en) * 2013-09-11 2019-10-15 Sumo Logic Anomaly detection
    US10387796B2 (en) * 2014-03-19 2019-08-20 Empire Technology Development Llc Methods and apparatuses for data streaming using training amplification
    US9760353B2 (en) * 2014-12-19 2017-09-12 Signalfx, Inc. Dynamically changing input data streams processed by data stream language programs
    US9869712B2 (en) * 2015-04-23 2018-01-16 Macronix International Co., Ltd. Method and system for detecting defects of wafer by wafer sort
    US9665460B2 (en) * 2015-05-26 2017-05-30 Microsoft Technology Licensing, Llc Detection of abnormal resource usage in a data center
    US9961571B2 (en) * 2015-09-24 2018-05-01 Futurewei Technologies, Inc. System and method for a multi view learning approach to anomaly detection and root cause analysis
    US10339470B1 (en) * 2015-12-11 2019-07-02 Amazon Technologies, Inc. Techniques for generating machine learning training data
    US9798540B1 (en) * 2017-04-26 2017-10-24 Semmle Limited Classification of anomalous static analysis rules

    Cited By (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102020207449A1 (de) 2020-06-16 2021-12-16 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten von Signalen
    DE102020207449B4 (de) 2020-06-16 2022-02-10 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten von Signalen

    Also Published As

    Publication number Publication date
    US11061885B2 (en) 2021-07-13
    US20190042618A1 (en) 2019-02-07
    CN110609851A (zh) 2019-12-24

    Similar Documents

    Publication Publication Date Title
    DE102019112700A1 (de) Autonome anomalieerkennung und ereignisauslösung für datenströme
    CN110928718B (zh) 一种基于关联分析的异常处理方法、系统、终端及介质
    DE112016004368T5 (de) Verwaltung eines Fehlerzustands in einem Datenverarbeitungssystem
    JP2022160405A (ja) アラームログ圧縮方法、装置、およびシステム、並びに記憶媒体
    DE112016005536T5 (de) Bestimmen von reihenfolgen einer ausführung eines neuronalen netzes
    DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
    DE102020132716A1 (de) System zum analysieren und verbessern von software auf der basis von graph attention netzen
    DE112012000797T5 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
    DE112011102242T5 (de) Vorrichtung zum Verarbeiten einer Stapelarbeitseinheit
    DE112012005639T5 (de) Auslösen von Fensterbedingungen bei Anwendungen des Stream-Computing
    CN105577440A (zh) 一种网络故障时间定位方法和分析设备
    DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
    CN110730100B (zh) 一种告警信息处理方法、装置及服务器
    DE112018005352T5 (de) Informationsverarbeitungsvorrichtung, bewegte einrichtung, verfahren und programm
    DE102012204167A1 (de) Vorauslaufende genäherte Berechnungen
    DE112020005071T5 (de) Verfahren für eine datenschutzgerechte anomalie-erkennung im iot
    DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
    DE112019005467T5 (de) System und verfahren zum erkennen und vorhersagen von mustern eines anomalen sensorverhaltens einer maschine
    DE112013002591T5 (de) Verhindern von Kaskadenfehlern in Computersystemen
    DE112011100168B4 (de) Erfassen von Diagnosedaten in einer Datenverarbeitungsumgebung
    DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit
    DE112021004854T5 (de) Dynamische ersetzung von verarbeitungselementen mit einem leistungsabfall in streaming-anwendungen
    DE112020004688T5 (de) Debuggen und erstellen von profilen von maschinenlernmodelltraining
    DE112021003657T5 (de) Fehlerlokalisierung für cloud-native anwendungen
    CN113487103A (zh) 模型更新方法、装置、设备及存储介质