DE112021006232T5 - Proaktive anomalieerkennung - Google Patents

Proaktive anomalieerkennung Download PDF

Info

Publication number
DE112021006232T5
DE112021006232T5 DE112021006232.8T DE112021006232T DE112021006232T5 DE 112021006232 T5 DE112021006232 T5 DE 112021006232T5 DE 112021006232 T DE112021006232 T DE 112021006232T DE 112021006232 T5 DE112021006232 T5 DE 112021006232T5
Authority
DE
Germany
Prior art keywords
computer
request
program instructions
neural network
microservice
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
DE112021006232.8T
Other languages
English (en)
Inventor
Hui Kang
Xinyu Que
Yu Deng
Sinem Guven Kaya
Bruce D'Amora
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021006232T5 publication Critical patent/DE112021006232T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Bereitgestellt werden durch Computer realisierte Verfahren, Computerprogrammprodukte und Computersysteme. Beispielsweise kann das Verfahren als Reaktion auf das Empfangen einer Anfrage Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen für ein normales Verhalten einer Mikrodienstanwendung sammeln. Das Verfahren kann dann Anfragenkontextmerkmale aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation erzeugen. Das Verfahren kann dann ein neuronales Netzmodell auf Grundlage der erzeugten Kontextmerkmale trainieren und ein anormales Verhalten der Mikrodienstanwendung anhand des trainierten neuronalen Netzmodells vorhersagen.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft allgemein eine proaktive Anomalieerkennung und insbesondere eine proaktive Anomalieerkennung für Mikrodienstanwendungen mithilfe von Anfragenkontextdaten und neuronalen Netzen.
  • Bei einer Mikrodienstarchitektur ist eine Anwendung als Ansammlung locker verbundener Dienste angeordnet. Ein Mikrodienst ist keine Schicht innerhalb einer monolithischen Anwendung (z.B. die Internet-Steuereinheit oder das Backend-für-Frontend-Konzept). Auf diese Weise bietet sich die Mikrodienstarchitektur für einen Software-Entwicklungsprozess mit kontinuierlicher Bereitstellung an. Eine Änderung an einem kleinen Teil der Anwendung erfordert nur ein Neuaufbauen und Neubereitstellen nur eines oder eines kleinen Teils der Dienste.
  • Üblicherweise können Mikrodienstarchitekturen für Cloud-native Anwendungen, eine serverlose Datenverarbeitung und Anwendungen mit Bereitstellung leichter Container übernommen werden. Bei einem monolithischen Ansatz müsste eine Anwendung, die drei Funktionen unterstützt (Rahmenstrukturen, Datenbanken, Nachrichtenvermittler usw.) in ihrer Gesamtheit skaliert werden, auch wenn nur eine dieser Funktionen eine Ressourceneinschränkung hätte. Mit Mikrodiensten muss nur der Mikrodienst, der die Funktion mit Ressourceneinschränkungen unterstützt, horizontal skaliert werden, wodurch Vorteile einer Ressourcen- und Kostenoptimierung bereitgestellt werden.
  • Maschinelles Lernen (ML) ist die wissenschaftliche Erforschung von Algorithmen und statistischen Modellen, die von Computersystemen genutzt werden, um eine bestimmte Aufgabe auszuführen, ohne ausdrückliche Anweisungen heranzuziehen und stattdessen auf Muster und Folgerungen zu vertrauen. Maschinelles Lernen wird als Teilbereich der künstlichen Intelligenz betrachtet. Algorithmen des maschinellen Lernens bauen ein mathematisches Modell auf Grundlage von Beispieldaten, als Trainingsdaten bekannt, auf, um Vorhersagen oder Entscheidungen treffen zu können, ohne explizit zum Ausführen der Aufgabe programmiert zu sein. Algorithmen des maschinellen Lernens werden in einer großen Vielfalt von Anwendungen wie etwa E-Mail-Filterung und Computervision eingesetzt, bei denen es schwierig oder undurchführbar ist, einen herkömmlichen Algorithmus zum effektiven Ausführen der Ausgabe zu entwickeln.
  • Beim maschinellen Lernen ist ein Hyperparameter eine Konfiguration, die sich extern vom Modell befindet und dessen Wert nicht aus den Daten geschätzt werden kann. Hyperparameter werden in Prozessen verwendet, um das Schätzen von Modellparametern zu unterstützen. Andererseits werden Hyperparameter gesetzt, bevor der Lern- (z.B. Trainings-)Prozess beginnt, die Werte der anderen Parameter werden über das Training abgeleitet. Verschiedene Modelltrainingsalgorithmen erfordern verschiedene Hyperparameter, einige einfache Algorithmen wie etwa eine Regression nach der Methode der kleinsten Quadrate erfordern keinen. Bei einer gegebenen Menge von Hyperparametern lernt ein Trainingsalgorithmus die Parameterwerte aus den Daten, beispielsweise handelt es sich bei dem Operator für die kleinste absolute Minderung und Selektion (LASSO) um einen Algorithmus, der einen Regulierungshyperparameter zur Regression nach der Methode der kleinsten Quadrate hinzufügt und gesetzt werden muss, bevor die Parameter durch den Trainingsalgorithmus geschätzt werden. Ähnliche Modelle des maschinellen Lernens können verschiedene Hyperparameter erfordern (z.B. verschiedene Einschränkungen, Gewichtungen oder Lernraten), um verschiedene Datenmuster zu verallgemeinern.
  • Beim Tiefenlernen handelt es sich um einen Zweig des maschinellen Lernens auf Grundlage einer Menge von Algorithmen, die hochgradige Abstraktionen in Daten mithilfe von Modellarchitekturen mit komplexen Strukturen oder sonstigen modellieren, die oft aus mehreren nichtlinearen Transformationen zusammengesetzt sind. Das Tiefenlernen ist Teil einer größeren Familie von Verfahren des maschinellen Lernens auf Grundlage eines Lernens von Datendarstellungen. Eine Betrachtung (z.B. ein Bild) kann auf vielerlei Arten dargestellt werden, wie etwa als Vektor von Intensitätswerten pro Pixel oder abstrakter als Menge von Kanten, Bereichen einer bestimmten Form usw. Manche Darstellungen erleichtern das Lernen von Aufgaben (z.B. Gesichtserkennung oder Erkennung von Gesichtsausdrücken) aus Beispielen. Algorithmen des Tiefenlernens nutzen häufig eine Kaskade aus vielen Schichten nichtlinearer Verarbeitungseinheiten für die Merkmalsextraktion und Transformation. Jede nachfolgende Schicht nutzt die Ausgabe aus der vorherigen Schicht als Eingabe. Die Algorithmen können überwacht oder nichtüberwacht sein, und die Anwendungen umfassen eine Musteranalyse (nichtüberwacht) und -klassifizierung (überwacht). Zu den Tiefenlernmodellen gehören künstliche neuronale Netze (Artificial Neural Networks, ANNs), die von der Informationsverarbeitung und verteilten Signalübertragungsknoten in biologischen Systemen inspiriert sind. ANNs weisen verschiedene Unterschiede zu biologischen Gehirnen auf.
  • Bei neuronalen Netzen (NNs) handelt es sich um Computersysteme, die von biologischen neuronalen Netzen inspiriert sind. NNs sind nicht einfach Algorithmen, sondern eher eine Rahmenstruktur für viele verschiedene Algorithmen des maschinellen Lernens, um zusammenarbeiten und komplexe Dateneingaben zu verarbeiten. Solche Systeme „lernen“, Aufgaben durch Betrachtung von Beispielen auszuführen, im Allgemeinen ohne mit aufgabenspezifischen Regeln programmiert zu sein. Bei der Bilderkennung lernen NNs beispielsweise, Bilder zu identifizieren, die Katzen enthalten, indem sie Beispielbilder, die korrekt als „Katze“ oder „nicht Katze“ bezeichnet sind, analysieren und anhand der Ergebnisse Katzen auf anderen Bildern identifizieren. NNs bewerkstelligen dies ohne vorherige Kenntnis über Katzen, beispielsweise, dass Katzen ein Fell, einen Schwanz, Schnurrhaare und spitze Ohren haben. Stattdessen erzeugen NNs automatisch Identifikationsmerkmale aus dem Lernmaterial. NNs beruhen auf einer Sammlung verbundener Einheiten oder Knoten, künstliche Neuronen genannt, die die Neuronen in einem biologischen Gehirn grob modellieren. Jede Verbindung kann wie die Synapsen in einem biologischen Gehirn ein Signal von einem künstlichen Neuron an ein anderes übertragen. Ein künstliches Neuron, das ein Signal empfängt, kann das Signal verarbeiten und dann das Signal an zusätzliche künstliche Neuronen übertragen.
  • Bei üblichen NN-Realisierungen ist das Signal an einer Verbindung zwischen künstlichen Neuronen eine reelle Zahl, und die Ausgabe jedes künstlichen Neurons wird durch eine nichtlineare Funktion der Summe seiner Eingaben berechnet. Die Verbindungen zwischen künstlichen Neuronen werden „Kanten“ genannt. Künstliche Neuronen und Kanten haben üblicherweise eine Gewichtung, die sich mit fortschreitendem Lernen anpasst. Die Gewichtung erhöht oder verringert die Stärke des Signals an einer Verbindung. Künstliche Neuronen können einen Schwellenwert aufweisen, so dass das Signal nur gesendet wird, wenn das aggregierte Signal diesen Schwellenwert überschreitet. Üblicherweise sind künstliche Neuronen zu Schichten aggregiert. Verschiedene Schichten können verschiedene Arten von Transformationen an ihren Eingaben durchführen. Signale laufen von der ersten Schicht (der Eingabeschicht) zur letzten Schicht (der Ausgabeschicht), möglicherweise nach mehrmaligem Durchlaufen der Schichten.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung wird ein durch Computer realisiertes Verfahren bereitgestellt. Das Verfahren umfasst: als Reaktion auf das Empfangen einer Anfrage Sammeln von Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen für ein normales Verhalten einer Mikrodienstanwendung;
  • Erzeugen von Anfragenkontextmerkmalen aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation; Trainieren eines neuronalen Netzmodells auf Grundlage der erzeugten Kontextmerkmale; und Vorhersagen eines anomalen Verhaltens der Mikrodienstanwendung anhand des trainierten neuronalen Netzmodells.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nun nur beispielhaft unter Bezugnahme auf die folgenden Zeichnungen beschrieben, wobei:
    • 1 ein Blockschaubild einer Datenverarbeitungsumgebung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2 ein beispielhaftes Blockschaubild einer Anomalieerkennungseinheit für Mikrodienste gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 3 ein beispielhaftes Blockschaubild für eine Gestaltung eines neuronalen Netzmodells gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 4 ein beispielhaftes Blockschaubild eines neuronalen Netzmodells, das anfrageninterne Faktoren bei einzelnen Anfragen erfasst, gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 5 Verfahrensschritte zum Vorhersagen eines anormalen Verhaltens gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 6 ein beispielhaftes Schaubild gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
    • die 7A und 7B beispielhafte Datensammelcodes gemäß einer Ausführungsform der vorliegenden Erfindung zeigen; und
    • 8 ein Blockschaubild eines beispielhaften Systems gemäß einer Ausführungsform der vorliegenden Erfindung ist.
  • DETAILLIERTE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Erfindung dieser Mikrodienstarchitektur werden häufig für Anwendungen eingesetzt, die in hybriden Cloud-Umgebungen bereitgestellt sind, weil die locker verbundenen Komponenten eine bessere Skalierbarkeit, Flexibilität, Wartungsfreundlichkeit und beschleunigte Entwicklerproduktivität bieten. Solche Anwendungen setzen sich aus vielen Diensten zusammen, die wiederum in mehrere Instanzen dupliziert sind und an verschiedenen geografischen Standorten laufen. Mit der Zeit kann eine verschlechterte Leistungsfähigkeit aufgrund von Anomalien auftreten. Daher erkennen Ausführungsformen der vorliegenden Erfindung ferner an, dass ein Erkennen von Anomalien in Mikrodienstanwendungen eine kritische Aufgabe ist, die ein Ergreifen bestimmter Maßnahmen ermöglicht, die Ausfallzeiten und einen Produktivitätsverlust mindern helfen. Aktuelle Systeme haben Probleme mit dem Überwachen einer Mikrodienstanwendung und dem Optimieren der Leistungsfähigkeit aufgrund einer begrenzten Beobachtbarkeit. Ferner erkennen Ausführungsformen der vorliegenden Erfindung, dass es typischen Ansätzen zur Anomalieerkennung aktuell an der Fähigkeit mangelt, räumliche und zeitliche Abhängigkeiten zwischen den Diensten zu berücksichtigen, was zu mehr falschen Fehlermeldungen führen kann. Entsprechend stellen Ausführungsformen der vorliegenden Erfindung Lösungen bereit, um aktuelle Anomalieerkennungssysteme zu verbessern, und bieten ein effizientes Werkzeug für Support-Mitarbeiter des technischen Dienstes, die komplexe Mikrodienstanwendungen verwalten. Beispielsweise erkennen Ausführungsformen der vorliegenden Erfindung Anomalien auf Grundlage von Kontextdaten mithilfe eines neuronalen Netzwerks. Auf diese Weise sagen Ausführungsformen der vorliegenden Erfindung, wie weiter unten in dieser Spezifikation ausführlicher beschrieben, Anomalien der Leistungsfähigkeit (z.B. einen Verstoß gegen eine Vereinbarung zum Dienstumfang (Service Level Agreement, SLA)) in einer Anwendung vorher, die gemeinsam in den Anfragenkontextdaten verfügbare Abhängigkeiten mithilfe eines Ansatzes eines neuronalen Netzes berücksichtigen. Ausführungsformen der vorliegenden Erfindung können dann eine Meldung erzeugen und die erkannte Anomalie anschließend korrigieren, bevor ein Benutzer etwas davon bemerkt.
  • 1 ist ein funktionelles Blockschaubild, das eine Datenverarbeitungsumgebung, allgemein als Datenverarbeitungsumgebung 100 bezeichnet, gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. 1 stellt nur eine Veranschaulichung einer Realisierung bereit und enthält keine Einschränkungen hinsichtlich der Umgebungen, in denen verschiedene Ausführungsformen realisiert sein können. An der dargestellten Umgebung können vom Fachmann viele Modifikationen vorgenommen werden, ohne von dem in den Ansprüchen genannten Umfang der Erfindung abzuweichen.
  • Die Datenverarbeitungsumgebung 100 umfasst eine Client-Datenverarbeitungseinheit 102 und einen Server-Computer 108, die alle über ein Netzwerk 106 miteinander verbunden sind. Bei der Client-Datenverarbeitungseinheit 102 und dem Server-Computer 108 kann es sich um eine eigenständige Computer-Einheit, einen Verwaltungsserver, einen Webserver, eine mobile Datenverarbeitungseinheit oder eine beliebige sonstige elektronische Einheit bzw. ein Datenverarbeitungssystem handeln, das, der oder die zum Empfangen, Senden und Verarbeitung von Daten fähig ist. Bei anderen Ausführungsformen können die Client-Datenverarbeitungseinheit 102 und der Server-Computer 108 ein Server-Datenverarbeitungssystem darstellen, die mehrere Computer als Server-System nutzen, wie etwa in einer Cloud-Computing-Umgebung. Bei einer anderen Ausführungsform kann es sich bei der Client-Datenverarbeitungseinheit 102 und dem Server-Computer 108 um einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, einen elektronischen Assistenten (PDA, personal digital assistant), ein Smartphone oder eine beliebige programmierbare elektronische Einheit handeln, die dazu fähig ist, innerhalb der Datenverarbeitungsumgebung 100 mit verschiedenen Komponenten und anderen Datenverarbeitungseinheiten (nicht gezeigt) Daten auszutauschen. Bei einer anderen Ausführungsform können die Client-Datenverarbeitungseinheit 102 und der Server-Computer 108 jeweils ein Datenverarbeitungssystem darstellen, das gruppierte Computer und Komponenten (z.B. Datenbankserver-Computer, Anwendungsserver-Computer usw.) nutzt, die als ein Pool nahtloser Ressourcen agieren, wenn innerhalb der Datenverarbeitungsumgebung 100 darauf zugegriffen wird. Bei einigen Ausführungsformen handelt es sich bei der Client-Datenverarbeitungseinheit 102 und dem Server-Computer 108 um eine einzelne Einheit. Die Client-Datenverarbeitungseinheit 102 und der Server-Computer 108 können interne und externe Hardware-Komponenten umfassen, die dazu fähig sind, maschinenlesbare Programmanweisungen auszuführen, wie es in Bezug auf 6 in näheren Einzelheiten dargestellt und beschrieben ist.
  • Bei dieser Ausführungsform ist die Client-Datenverarbeitungseinheit 102 eine Benutzereinheit, die zu einem Benutzer gehört und eine Anwendung 104 umfasst. Die Anwendung 104 tauscht mit dem Server-Computer 108 Daten aus, um auf eine Anomalieerkennungseinheit 110 (z.B. über TCP/IP) zuzugreifen oder Dienstanfragen und Datenbankinformationen zu empfangen. Die Anwendung 104 kann ferner mit der Anomalieerkennungseinheit 110 Daten austauschen, um Kontextmerkmale einer empfangenen Anfrage zu identifizieren, ein neuronales Netzmodell zu erzeugen oder anderweitig zu trainieren und das erzeugte neuronale Netzmodell anzuwenden, um zukünftige in einer Mikrodienstanwendung verarbeitete Anfragen vorherzusagen, wie es in Bezug auf die 2 bis 5 ausführlicher erörtert wird.
  • Bei dem Netzwerk 106 kann es sich beispielsweise um ein Telekommunikationsnetz, ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN) wie etwa das Internet oder um eine Kombination aus den dreien handeln, und es kann drahtgebundene, drahtlose oder Lichtwellenleiterverbindungen umfassen. Das Netzwerk 106 kann ein oder mehrere drahtgebundene und/oder drahtlose Netzwerke umfassen, die dazu fähig sind, Daten-, Sprach- und/oder Videosignale zu empfangen und zu senden, darunter Multimediasignale, die Sprach-, Daten- und Videoinformationen umfassen. Im Allgemeinen kann es sich bei dem Netzwerk 106 um eine beliebige Kombination von Verbindungen und Protokollen handeln, die Datenaustausche zwischen der Client-Datenverarbeitungseinheit 102 und dem Server-Computer 108 und anderen Datenverarbeitungseinheiten (nicht gezeigt) in der Datenverarbeitungsumgebung 100 unterstützt.
  • Der Server-Computer 108 ist eine digitale Einheit, die die Anomalieerkennungseinheit 110 und die Datenbank 112 hostet. Bei dieser Ausführungsform kann sich der Server-Computer 108 in einer Cloud-Architektur (z.B. öffentlich, hybrid oder privat) befinden. Bei dieser Ausführungsform befindet sich die Anomalieerkennungseinheit 110 auf dem Server-Computer 108. Bei anderen Ausführungsformen kann die Anomalieerkennungseinheit 110 eine Instanz des Programms (nicht gezeigt) aufweisen, die lokal auf der Client-Datenverarbeitungseinheit 102 gespeichert ist. Bei anderen Ausführungsformen kann es sich bei der Anomalieerkennungseinheit 110 um ein eigenständiges Programm oder System handeln, das einen Absichtsklassifizierer eines mehrsprachigen neuronales Netzes trainiert. Bei wieder anderen Ausführungsformen kann die Anomalieerkennungseinheit 110 auf einer beliebigen Anzahl von Datenverarbeitungseinheiten gespeichert sein.
  • Die Anomalieerkennungseinheit 110 fördert eine proaktive Anomalieerkennung für Mikrodienstanwendungen, indem sie die Abhängigkeiten in den Abfragekontextdaten mithilfe des Ansatzes eines neuronalen Netzes berücksichtigt. Die von der Anomalieerkennungseinheit 110 bereitgestellte Lösung ist unabhängig von der Bereitstellung der Mikrodienstanwendung (z.B. private Cloud, öffentliche Cloud oder Hybrid) und unterstützt eine Vielfalt von Container-Orchestratoren (z.B. Kubernetes, OpenShift usw.). Die Anomalieerkennungseinheit 110 stellt einen Mechanismus für eine hybride Datensammlung auf Grundlage sowohl des Anwendungs- als auch des Systemverhaltens bereit. Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 eine oder mehrere Komponenten umfassen, die Bezug auf 2 ausführlicher beschrieben werden.
  • Beispielsweise kann die Anomalieerkennungseinheit 110 eine Anfrage eines Endbenutzers für eine Anwendung empfangen, die N Mikrodienste aufweist. Bei jeder Mikrodienstinstanz extrahiert ein jeweiliger Sammelagent (der zur Anomalieerkennungseinheit 110 gehört) Ablaufverfolgungsdaten und Spezifikationen jeder jeweiligen Instanz. Ein Sammelagent der Anomalieerkennungseinheit 110 kompiliert dann die empfangenen Informationen (jeweilige Ablaufverfolgungsdaten und Spezifikationen) und normalisiert die empfangenen Informationen. Von dort kann der Sammelagent die Daten für ihren Fortbestand in eine Warteschlange schieben. Ein Merkmalsextraktionsmodul (in 2 gezeigt und beschrieben) transformiert die Rohdaten in die Anfragenkontextmerkmale. Die Anomalieerkennungseinheit 110 kann dann die formatierten Kontextmerkmale nutzen, um ein neuronales Netzmodell zu bauen, und anschließend Vorhersagen anhand des gebauten Modells erzeugen. Die Anomalieerkennungseinheit 110 kann dann eine proaktive Warnung erzeugen.
  • Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 als Reaktion auf das Empfangen von Anfragen für das Vorhersagen eines anomalen Verhaltens zusätzliche Informationen von einem jeweiligen Mikrodienst anfordern. Die zusätzlichen Informationen können Kontextmerkmale umfassen, das heißt eine hierarchische Datenstruktur, die die vollständigen Details einer Anfrage darstellt. Die Kontextmerkmale können einen oder mehrere locker verbundene Dienste und einen Aufrufpfad umfassen. Die Kontextmerkmale können ferner den Ausführungskontext (z.B. CPU, Beschleuniger, Speicherauslastung, Pod-Region, Netzverkehr, E/A-Anfragen usw.) bei jeder Dienstinstanz umfassen.
  • Beispielsweise eine Anfrage nach zusätzlichen Informationen (z.B. Anfragenspezifikation), einen Mikrodienstpfad und einen Funktionspfad. Beispiele für eine zusätzliche Information können u.a. ein Benutzername, der zu einem Benutzer gehört (anonymisierte ID), ein Firmenname (anonymisierte ID), eine Latenz (z.B. 500 ms), eine Region (z.B. Europa), ein Browsertyp, ein Einheitentyp, ein Betriebssystem, eine Zeit (z.B. Freitag, 28. Februar 2020, 14:55:02 GMT-05:00) sein.
  • Ein Beispiel für einen Mikrodienstpfad kann einen Pfad von Mikrodienst A zu Mikrodienst B sein, beispielsweise eine Gruppen-ID, eine Region (US), eine Instanzen-ID, eine Dauer (100 ms), eine BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk), die zu Mikrodienst A gehören, und deine entsprechende Gruppen-ID, eine Region (US), eine Instanzen-ID, eine Dauer (400 ms), eine BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk) für Mikrodienst B.
  • Ein Beispiel für einen Aufrufpfad (z.B. einen Funktionspfad) könnte eine oder mehrere Funktionen umfassen. Beispielsweise die Funktionen eins bis drei: Funktion eins umfasst eine Dauer (40 ms), eine Ressourcenauslastung (20 %, 100 MB), Funktion zwei umfasst eine Dauer (60 ms), eine Ressourcenauslastung (20 %, 100 MB) zurück zu Funktion eins einschließlich der Dauer (400 ms), der Ressourcenauslastung (20 %, 100 MB).
  • Bei dieser Ausführungsform stellt eine Anomalieerkennungseinheit 110 eine hybride Datensammlung bereit, um die Kontextmerkmale anzufordern, das heißt, die Anfrage nach Kontextmerkmalen kann an verschiedene Quellen gesendet oder anderweitig von diesen gesammelt werden. Bei dieser Ausführungsform umfasst die Anomalieerkennungseinheit 110 einen Sammelagenten (in 2 gezeigt und erörtert), der innerhalb jeder Mikrodienstinstanz als Beistellmodul bereitgestellt ist (z.B. zwei Container eines einzelnen Kubernetes-Pod) und aus zwei verschiedenen Quellen schöpfen kann: Ablaufverfolgungsdaten vom Mikrodienst wie etwa Jaeger und OpenTelemetry) und Eigenschaften der Mikrodienst-Laufzeit (z.B. CPU, Speicherauslastungen, Netzwerk und andere zusammen damit angeordnete Beistellmodule, Zabbix-Agent (z.B. CPU, Speicherplatte, Speicher usw.), Envoy von Istio (z.B. Netzwerk) usw.).
  • Aus diesen Quellen kann die Anomalieerkennungseinheit 110 kategoriale Daten und numerische Daten sammeln. Bei dieser Ausführungsform bezeichnen kategoriale Daten Anfrage- und Mikrodienstinstanzdaten, die entweder aus dem Kopf der Anfrage oder den Umgebungsvariablen des Bereitstellungshosts extrahiert werden. Bei dieser Ausführungsform bezeichnen numerische Daten Daten, die die in jedem Mikrodienst verbrachte Zeit und seine kritischen Funktionen aus einer verteilten Ablaufverfolgungsbibliothek wie etwa OpenTelemetry oder Jaeger berichten. Auf diese Weise kann die Anomalieerkennungseinheit 110 die Berichte numerischer Daten nutzbar machen, die Informationen über die jeweilige Systemauslastung mit ordnungsgemäßen Privilegien berichten, aufzeichnen und abrufen. Entsprechend kann die Anomalieerkennungseinheit 110 durch Sammeln von Kontextmerkmalen aus verschiedenen Quellen eine ganzheitliche Sicht auf das schichtenübergreifende Verarbeiten der Anfrage ermöglichen.
  • Die Anomalieerkennungseinheit 110 kann dann die gesammelten Kontextmerkmale (d.h. die zusätzlichen Informationen) nutzen, um ein neuronales Netzmodell aufzubauen und zu trainieren, das zukünftige Anfragen, die innerhalb einer jeweiligen Mikrodienstanwendung verarbeitet werden, vorhersagen kann, wobei das oben genannte Anfragenkontextmerkmal als Eingabe hierarchisch behandelt wird.
  • Auf diese Weise kann die Anomalieerkennungseinheit 110 (anhand des aufgebauten neuronalen Netzmodells) anfragenübergreifende und anfrageninterne Faktoren erfassen und die erfassten Faktoren zum Vorhersagen zukünftiger Anfragen verwenden. Bei dieser Ausführungsform beschreibt ein anfragenübergreifender Faktor Verbindungen zwischen Eigenschaften in Anfragenspezifikationen (z.B. folgt auf eine Anmeldeanfrage einer Benutzer-ID aus einer bestimmten Region höchstwahrscheinlich eine get_Anfrage für die Produktkatalogseite von derselben Benutzer-ID der Region). Bei dieser Ausführungsform berücksichtigt ein anfrageninterner Faktor die Faktoren einzelner Anfragen, um zu verstehen, welche Dienste während des Verarbeitungspfads die wichtigste Rolle für zukünftige Anfragen aus den locker verbundenen Mikrodienst- und Funktionspfaddaten spielen. Durch Berücksichtigen dieser beiden Faktoren kann das aufgebaute neuronale Netzmodell die Korrelation zwischen einem jeweiligen Mikrodienst und dem letzten Schritt erfassen. Beispielsweise können frühere Anfragen von einem Mikrodienst zwei Pfade nehmen. Der erste Pfad kann die Mikrodienste A, B und C mit den jeweiligen Latenzen von 40 ms, 15 ms und 300 ms nutzen. Der zweite Pfad kann die Mikrodienste A, B und D mit den jeweiligen Latenzen von 200 ms, 40 ms und 1,2 s nutzen. Das aufgebaute neuronale Netz kann den Pfad der Nutzung von Mikrodienst A, B und D vorhersagen, wobei Mikrodienst D genutzt wird, wenn die Latenz bei Mikrodienst A hoch ist. Beispielsweise kann der Mikrodienst A eine Latenz von 300 ms haben und der Mikrodienst B kann eine Latenz von 50 ms haben. In diesem Beispiel kann die Anomalieerkennungseinheit 110 (anhand des aufgebauten neuronalen Netzes) vorhersagen, dass die nächste Anfrage bei Mikrodienst D verarbeitet werden soll, der eine Latenz von 2 s hat, statt bei C, der eine Latenz von 100 ms hat, und bei einer Zeit von 2,35 s kann die Anomalieerkennungseinheit 110 eine Warnung senden (z.B. 2,35 s = 300 ms (A) + 50 ms (B) + 2 s (D). Der Ablaufverfolgungspfad ((A->B->D) ist das Vorhersageergebnis des neuronalen Netzmodells, das die Korrelation zwischen der Dauer von A und der Auswahl des letzten Mals erfasst. Dies ist eine Anfrage (für eine Vorhersage) durch das neuronale Netzmodell, das gebaut und weiter unten mit Bezug auf die 3 und 4 gezeigt und beschrieben wird. Insbesondere wird das LSTM-Modell trainiert, um die sequenzielle Beziehung zwischen den Mikrodiensten zu lernen und vorherzusagen, welcher als nächstes verwendet wird.
  • Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 eine Steuereinheit (in 2 gezeigt und beschrieben) nutzen, um die Sequenz von Vorhersagen zu interpretieren und zu entscheiden, ob eine Anomalie auftreten wird. Bei dieser Ausführungsform gewichtet die Steuereinheit wichtige Maßzahlen der Leistungsfähigkeit (z.B. Latenz, Durchsatz, fehlgeschlagene RPC-Aufrufe usw.). Bei dieser Ausführungsform können wichtige Maßzahlen der Leistungsfähigkeit vom Eigentümer der Mikrodienstanwendung ermittelt oder anderweitig definiert werden. Die Steuereinheit berechnet die statistischen Kennzahlen (z.B. Abweichung, Perzentil) und bestimmt, ob eine proaktive Warnung ausgelöst wird. Beispielsweise kann die Steuereinheit eine Abweichung nach der folgenden Formel berechnen: Abweichung= |xi - Durchschnitt(X)|. Bei dieser Ausführungsform gilt: je größer die Abweichung ist, desto instabiler ist der Datensatz, der eine bestimmte Anomalie anzeigt. Bei dieser Ausführungsform ist Perzentil definiert als ein bestimmter Prozentsatz von Punktwerten, die diese Zahl unterschreiten. Beispielsweise ist das 50. Perzentil einer Auftragsliste von Zahlen ihr Median.
  • Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 eine proaktive Warnung als Reaktion auf ein vorhergesagtes anomales Verhalten erzeugen. Die erzeugte proaktive Warnung kann Gründe umfassen, weshalb die Anomalie vorhergesagt und/oder anderweitig signalisiert wurde. Bei dieser Ausführungsform kann die proaktive Warnung durch eine Komponente der Anomalieerkennungseinheit 110 (z.B. eine Steuereinheit, in 2 gezeigt und beschrieben) erzeugt werden. Bei dieser Ausführungsform kann die Steuereinheit eine geeignete Visualisierung, die proaktive Warnung, erzeugen, einen Ursachenbericht erzeugen, Ressourcenverwaltungsfähigkeiten und eine Systemsimulation bereitstellen.
  • Beispielsweise kann die Anomalieerkennungseinheit 110 eine Visualisierung der jeweiligen Komponenten erzeugen, die eine Anfrage eines Endbenutzers verarbeiten. Die Anfrage kann an die folgende Cloud-Infrastruktur gesendet werden, die die folgenden Komponenten enthält: Frontend-Dienst, einen Router-Dienst, einen Zuteilungsdienst, einen Adapterdienst, Infrastruktur vor Ort (z.B. älteren Code), Verbraucher, Backend-Dienst und Software as a Service (SaaS) einer privaten Cloud, die Datenbanken an zwei verschiedenen Standorten enthält (z.B. Vereinigte Staaten und Europa). In diesem Beispiel kann die Anomalieerkennungseinheit 110 eine Visualisierung jeder jeweiligen Komponente und einen Funktionspfad der Anfrage erzeugen sowie ein oder mehrere grafische Symbole erzeugen, um visuell zu zeigen, dass die erkannte Ursache eine des Dienstes (z.B. des Zuteilungsdienstes) sein könnte. Auf diese Weise kann die Anomalieerkennungseinheit 110 eine Visualisierung des vollständigen Ausführungsablaufs der anormalen Anfragen visualisieren und den Zuteilungsserver als Ursache hervorheben.
  • Bei dieser Ausführungsform enthält der Ursachenbericht den vorhergesagten anomalen Dienst und den möglichen Grund zusammen mit einer proaktiven Warnung, die erzeugt wird und die Begründung umfasst. In Fortsetzung des obigen Beispiels kann der Ursachenbericht eine Beschreibung des anomalen Verhaltens im Zuteilungsdienst umfassen und eine proaktive Warnung erzeugen, dass eine lange Latenz, die gegen die Vereinbarung zum Dienstumfang verstößt, Endbenutzer beeinträchtigt.
  • Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 Ressourcenverwaltungsfähigkeiten bereitstellen, die einen Systemadministrator warnen und geeignete Maßnahmen ergreifen. Wenn beispielsweise der Grund für eine vorhergesagte Anomalie durch unzureichende Datenverarbeitungsressourcen wie etwa die CPU, geringe Speicherkapazität, langsame Netzwerklatenz verursacht ist, kann der Systemadministrator mehr Ressourcen bereitstellen, bevor sie sich auf die Anwendungsclients auswirkt.
  • Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 auch eine Systemsimulation bereitstellen. Beispielsweise enthalten die Vorhersageergebnisse die Einzelheiten des vollständigen Ausführungsablaufs bei jedem Mikrodienst, darunter CPU, Speicher, Speicherplatte und Netzauslastung. Solche feinkörnig charakterisierten Ablaufverfolgungen stellen Einblicke in die Ansprüche der Anwendung an das darunter liegende Hardware-System bereit, die als Treiber des Systemsimulators dienen können, um die potenziellen Gestaltungen des Cloud-Systems zu evaluieren und die Herausforderungen und Abwägungen (z.B. lokal gegenüber entfernt angeordnet, Weiterleitungsablauf/Verkehrssteuerung, starke gegenüber schwachen Kernen, Auslagern von Vorteilen usw.) zu lernen. Dieser Prozess trägt dazu bei, dass Cloud-Systementwickler die Interaktionen zwischen verschiedenen zusammenstellbaren Hardware-Komponenten wie Massenspeicher, Netzwerk, CPU, Arbeitsspeicher und Beschleuniger aus verschiedenen Anwendungen verstehen. Er trägt auch dazu bei, die potenziellen Vorteile gegenüber Verschlechterungen bei verschiedenen Hardware-Konfigurationen zu analysieren und die Gestaltungsentscheidung für das zukünftige Cloud-System zu leiten.
  • In einem vollständigen Ablaufbeispiel kann ein System, das durch die Anomalieerkennungseinheit 110 betrieben wird, eine Anfrage zur Verarbeitung empfangen. Die Anfrage kann an die folgende Cloud-Infrastruktur gesendet werden, die die folgenden Komponenten enthält: Frontend-Dienst, einen Router-Dienst, einen Zuteilungsdienst, einen Adapterdienst, Infrastruktur vor Ort (z.B. älteren Code), Verbraucher, Backend-Dienst und Software as a Service (SaaS) einer privaten Cloud, die Datenbanken an zwei verschiedenen Standorten enthält (z.B. Vereinigte Staaten und Europa).
  • In einem ersten Szenario kann die Anfrage durch den Frontend-Dienst bearbeitet werden, an den Router, an einen Adapter zurück zum Verbraucher und schließlich an die Backend-Komponente gesendet werden. In diesem Szenario kann die Anomalieerkennungseinheit 110 eine proaktive Warnung als Reaktion auf das Vorhersagen, dass entweder der Zuteilungsdienst oder der Backend-Dienst eine lange Latenz erfahren, die sich auf Endbenutzer auswirkt und gegen die SLA verstößt. Indem die Anomalieerkennungseinheit 110 genutzt wird, wird das anomale Verhalten im Zuteilungs- und Backend-Dienst erkannt und den Dienstinstanzen, die die Verzögerung verursachen, richtig zugeordnet. Dagegen liefern aktuelle Systeme, die Vorhersagemodelle nutzen, weniger korrekte Ergebnisse (z.B. geringe Richtigkeit) aufgrund gemischter Protokolle, die von gleichzeitigen Anfragen gesammelt werden. Ausführungsformen der vorliegenden Erfindung (z.B. die Anomalieerkennungseinheit 110) unterscheiden sich von aktuellen Ansätzen darin, dass die Anfragenkontextdaten Ablaufverfolgungsspuren enthalten, die die Protokolle in einzelne Anfragen trennen. Beispielsweise verarbeitet ein Router-Dienst zehn Anfragen gleichzeitig, vier davon werden an den Zuteilungsdienst und die anderen an das Backend geleitet. Aktuelle Ansätze können nur die gemischten Protokolldaten betrachten, die aufgrund der gleichzeitigen Verarbeitung verschachtelt sind. Wenn eine oder mehrere Anfragen fehlschlagen, ist es deshalb schwer zu identifizieren, welche fehlgeschlagen ist. Dagegen stellt die Anomalieerkennungseinheit 110 Ablaufverfolgungsdaten (z.B. Anfragenkontextdaten) bereit und wir können identifizieren, welche Anfrage bei welchem Dienst fehlgeschlagen ist.
  • In einem zweiten Szenario, das die oben genannten Komponenten nutzt, kann die Anomalieerkennungseinheit 110 vorhersagen, dass der Backend-Dienst eine langsame Reaktion von einer Datenbank erfährt, die die Benutzerinformationen speichert, und kann eine proaktive Warnung erzeugen, die für eine bestimmte Gruppe von Benutzern einen Benutzer über eine verzögerte Reaktion informiert. Dagegen haben aktuelle Systeme Schwierigkeiten, Probleme der Statistik an den aggregierten Maßzahlen zu erkennen. In einigen Szenarien könnten die aggregierten Maßzahlen die Überwachungskomponente in die Irre führen. Liegt beispielsweise die durchschnittliche Latenz unter einem bestimmten Schwellenwert, bedeutet dies nicht unbedingt, dass das System gesund ist. In diesem Beispiel werden 90 % des Verkehrs zur europäischen (EU) DB und 10 % zur USamerikanischen (US) DB weitergeleitet. Wenn der EU-DB-Dienst normal und der US-DB-Dienst anomal ist, wirkt die durchschnittliche Latenz immer noch normal, weil 90 % der Anfragen eine normale Latenz haben. Stattdessen betrachtet unser Modell (z.B. die Anomalieerkennungseinheit 110) die Latenz der einzelnen Ablaufverfolgungsspur, so dass wir die Anomalie auf dem Ausführungspfad zur US-DB erkennen können.
  • In einem dritten Szenario mit Verwendung der oben genannten Komponenten kann die Anomalieerkennungseinheit 110 vorhersagen, dass die vom Zuteilungsdienst initiierte Aufgabe aufgrund der verschlechterten Leistungsfähigkeit beim älteren Code nicht abgeschlossen werden kann, und eine Warnung erzeugen, dass die Verzögerung im Backend liegt, das die Ergebnisse vom Verbraucher empfängt. Dagegen haben aktuelle Systeme Schwierigkeiten, die asynchrone Beziehung mithilfe von Maßzahlen aus Protokollen des Erzeugers und Verbrauchers zu modellieren. Aktuelle Systeme verwenden Protokolldaten zum Trainieren des maschinellen Lernmodells. Wir zuvor erwähnt, sind aus einzelnen Anfragen gesammelte Protokolldaten verschachtelt, so dass ein kausaler Zusammenhang schwer abzuleiten ist. Stattdessen vermeidet die Anomalieerkennungseinheit 110 dieses Problem, da der Anfragenkontext auf der Ablaufverfolgungsspur aufgebaut ist.
  • Die Anomalieerkennungseinheit 110 kann ferner die Ergebnisse der Vorhersage nutzbar machen, um eine Ursachenanalyse, Ressourcenverwaltung und Systemsimulation durchzuführen. Beispielsweise können die Ergebnisse der Vorhersage dazu dienen, den Systemsimulator anzutreiben, damit er die potenziellen Vorteile und Verschlechterungen verschiedener Hardware-Konfigurationen versteht, sowie die Gestaltungsentscheidung für das zukünftige Cloud-System zu leiten.
  • Die Datenbank 112 speichert empfangene Informationen und kann repräsentativ für eine oder mehrere Datenbanken, die der Anomalieerkennungseinheit 110 einen erlaubten Zugriff gewähren, oder öffentlich zugängliche Datenbanken sein. Im Allgemeinen kann die Datenbank 112 mithilfe eines in der Technik bekannten beliebigen nichtflüchtigen Speichermediums realisiert sein. Beispielsweise kann die Datenbank 112 mit einer Bandbibliothek, einer optischen Bibliothek oder einer oder mehreren unabhängigen Festplattenlaufwerken oder mehreren Festplattenwerken in einer redundanten Anordnung unabhängiger Speicherplatten (RAID) realisiert sein. Bei dieser Ausführungsform ist die Datenbank 112 auf dem Server-Computer 108 gespeichert.
  • 2 stellt ein beispielhaftes Blockschaubild 200 einer Anomalieerkennungseinheit für Mikrodienste gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • Dieses beispielhafte Schaubild zeigt eine oder mehrere Komponenten der Anomalieerkennungseinheit 110. Bei einigen Ausführungsformen kann die Anomalieerkennungseinheit 110 einen oder mehrere Hosts mit jeweiligen Mikrodiensten und Sammelagenten umfassen, es versteht sich jedoch, dass die Anomalieerkennungseinheit 110 auf Mikrodienste und Sammelagenten überall in einer Cloud-Architektur zugreifen kann.
  • In diesem Beispiel kann die Anomalieerkennungseinheit einen Host 202A, einen Host 202B bis 202N umfassen. Jeder Host kann einen jeweiligen Mikrodienst und Sammelagenten haben (z.B. den jeweiligen Mikrodienst 204A bis N und den Sammelagenten 206A bis N).
  • In diesem Beispiel kann die Anomalieerkennungseinheit 110 über den Sammelagenten 206A eine Anfrage eines Endbenutzers für den Mikrodienst 204A empfangen. In diesem Beispiel kann der Sammelagent 206 Anfragen von einem Endbenutzer empfangen und auch Anfragen von einer oder mehreren anderen Komponenten (z.B. anderen zusammen damit angeordneten Beistellmodulen, Zabbix-Agent (z.B. CPU, Speicherplatte, Speicher usw.), Envoy von Istio (z.B. Netzwerk) usw.) empfangen.
  • Der Sammelagent 206A ist zuständig für das Sammeln von Anfragen und Extrahieren von Ablaufverfolgungsdaten und Spezifikationen jeder jeweiligen Instanz. Bei dieser Ausführungsform kann der jeweilige Sammelagent mit einem Sammelmodul (z.B. Sammelmodul 208) der Anomalieerkennungseinheit 110 verbunden sein. Das Sammelmodul 208 ist zuständig für das Zusammenstellen der empfangenen Informationen (jeweilige Ablaufverfolgungsdaten und Spezifikationen). Das Sammelmodul 206 kann dann das Normalisierungsmodul 210 nutzen, um die Daten zu normalisieren, das heißt, das Normalisierungsmodul 210 normalisiert die Daten zu einem einheitlichen Format (z.B. JSON oder eine gemeinsame Datenstruktur). Das Sammelmodul 206 kann dann die zusammengestellten Informationen für ihren Fortbestand in eine Warteschlange schieben.
  • Das Merkmalsextraktionsmodul 212 kann dann auf die Daten in der Warteschlange zugreifen und Kontextmerkmale aus den zusammengestellten Daten extrahieren. Mit anderen Worten, das Merkmalsextraktionsmodul 212 transformiert die Rohdaten in Anfragenkontextmerkmale. Beispielsweise können die Anfragenkontextmerkmale (d.h. Anfragenspezifikation) aufweisen: Benutzernamen (anonymisierte ID), Firmennamen (anonymisierte ID), Latenz (500 ms), Region (EU), Browser (Firefox), Einheit (iOS), Zeit (Freitag, 28. Februar 2020 14:55:02 GMT-05:00), einen jeweiligen Mikrodienstpfad (z.B. Pfad von Mikrodienst A zu Mikrodienst B, beispielsweise Gruppen-ID, Region (US), Instanzen-ID, Dauer (100 ms), BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk), die zu Mikrodienst A gehören, und eine jeweilige Gruppen-ID, Region (US), Instanzen-ID, Dauer (400 ms), BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk) für Mikrodienst B) und einen Funktionspfad (z.B. Funktionen eins bis drei: Funktion eins umfasst eine Dauer (40 ms), eine Ressourcenauslastung (20 %, 100 MB), Funktion zwei umfasst eine Dauer (60 ms), eine Ressourcenauslastung (20 %, 100 MB) zurück zu Funktion eins einschließlich der Dauer (400 ms), der Ressourcenauslastung (20 %, 100 MB).
  • Die Anomalieerkennungseinheit 110 kann dann die formatierten Kontextmerkmale nutzen, um ein neuronales Netzmodell mithilfe des neuronalen Netzmoduls 214 (in den 3 und 4 gezeigt und beschrieben) aufzubauen. Das Steuermodul 216 kann dann anschließend Vorhersagen anhand des aufgebauten neuronalen Netzmodells erzeugen und kann eine geeignete Visualisierung, die proaktive Warnung, erzeugen, einen Ursachenbericht erzeugen, Ressourcenmanagementfähigkeiten und eine Systemsimulation bereitstellen.
  • 3 stellt ein beispielhaftes Blockschaubild 300 für eine Gestaltung eines neuronalen Netzmodells gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • Insbesondere stellt das Blockschaubild 300 eine Gestaltung des neuronalen Netzes dar (einige verborgene Schichten sind weggelassen). Die Eingaben sind die Anfragenspezifikationen einer Reihe von Anfragen. Die Eingabe Si in die anfrageninterne Einbettungsschicht ist die Ausgabe des Mikrodienstpfads des neuronalen Netzmodells, das in 4 gezeigt und beschrieben ist.
  • In diesem Beispiel empfängt die Anomalieerkennungseinheit 110 Eingaben 320A, 302B bis 302N (Spez. R1). Beispielsweise kann eine angefragte Eingabe, d.h. zusätzliche Informationen, kontextuelle Ablaufverfolgungsdaten einer hierarchischen Struktur umfassen, die während einer spezifizierten Zeit gesammelt wurden (z.B. in einem Zeitfenster, T). Diese angefragte Eingabe kann eine Anfragenspezifikation, einen Mikrodienstpfad und einen Funktionspfad umfassen. Zu Beispielen für eine zusätzliche Information der Anfragenspezifikation können u.a. ein Benutzername, der zu einem Benutzer gehört (anonymisierte ID), ein Firmenname (anonymisierte ID), eine Latenz (z.B. 500 ms), eine Region (z.B. Europa), ein Browsertyp, ein Einheitentyp, ein Betriebssystem, eine Zeit (z.B. Freitag, 28. Februar 2020, 14:55:02 GMT-05:00) zählen.
  • Bei einem Beispiel für einen Mikrodienstpfad kann es sich u.a. um einen Pfad von Mikrodienst A zu Mikrodienst B handeln, beispielsweise eine Gruppen-ID, eine Region (US), eine Instanzen-ID, eine Dauer (100 ms), eine BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk), die zu Mikrodienst A gehören, und eine entsprechende Gruppen-ID, eine Region (US), eine Instanzen-ID, eine Dauer (400 ms), eine BS-Spezifikation (CPU, Speicher, Speicherplatte, Netzwerk) für Mikrodienst B.
  • Ein Beispiel für einen Aufrufpfad (z.B. einen Funktionspfad) könnte eine oder mehrere Funktionen umfassen. Beispielsweise die Funktionen eins bis drei: Funktion eins umfasst eine Dauer (40 ms), eine Ressourcenauslastung (20 %, 100 MB), Funktion zwei umfasst eine Dauer (60 ms), eine Ressourcenauslastung (20 %, 100 MB) zurück zu Funktion eins einschließlich der Dauer (400 ms), der Ressourcenauslastung (20 %, 100 MB).
  • Die empfangene Eingabe wird dann in Block 320 zum Einbetten der Anfragenspezifikation verarbeitet (z.B. R1 und A1, bzw. 304A bis N und 306A bis N). Bei dieser Ausführungsform ist „R1“ das Einbettungsergebnis von Zeichenfolgenteilen in der Anfragenspezifikation (z.B. Benutzername, Browsertyp usw.), während „A1“ die zur Anfragenspezifikation gehörenden numerischen Teile bezeichnet. Bei dieser Ausführungsform verkettet die Anomalieerkennungseinheit 110 die eingebetteten Ergebnisse mit dem numerischen Teil der Anfragenspezifikation (z.B. Latenz, bezeichnet als A1 bis AN).
  • Die Anomalieerkennungseinheit kann dann die eingebettete Anfragenspezifikation mit den Komponenten B1 und S1 kombinieren, die als 308A bis N bzw. 310A bis N bezeichnet sind. Bei dieser Ausführungsform sind B1 bis BN die Ausgabe des Einbettens der Anfragenspezifikation. Bei dieser Ausführungsform ist S1 die Ausgabe des in 4 beschriebenen Modells. Bei dieser Ausführungsform stellt S1 die modellierte Ausgabe des vollständigen Ausführungsablaufs einer einzelnen Anfrage dar.
  • Der Prozess setzt sich für ein anfrageninternes Einbetten in Block 330 fort. Der anfrageninterne Faktor weist B1, S1 und C1 auf. Bei dieser Ausführungsform beziehen sich B1, S1 und C1 auf eine einzelne Anfragenspezifikation. Genauso beziehen sich B2, S2 und C2 auf eine andere Anfragenspezifikation. C1 ist die Einbettungsschicht (als 312A bis N bezeichnet) zum Konvertieren der Kombination aus B1 und S1 in einen Vektor.
  • Der Prozess setzt sich fort, um den anfrageninternen Faktor hinzuzufügen, der die Blöcke 340 und 350 (z.B. LSTM 340 und Dense 350) aufweist. In Block 340 werden die Kontextmerkmale durch eine Architektur des langen Kurzzeitgedächtnisses (Long Term Short Term Memory) eingespeist, die auf dem Gebiet des Tiefenlernens genutzt wird, und wird D1 hinzugefügt, das jeweils als 314A bis N bezeichnet wird. Bei dieser Ausführungsform ist D1 eine einzelne Einheit eines LSTM-Modells. Es sei daran erinnert, dass C1, C2, ... CN die modellierte Ausgabe einzelner Anfragen sind. Die Anomalieerkennungseinheit 110 nutzt ein LSTM-Modell, um die anfragenübergreifende Beziehung zwischen Anfragen zu lernen. Bei dieser Ausführungsform sind D1 bis DN die Einheit des LSTM-Modells. Schließlich wird in Dense 350 E1 hinzugefügt, als 316A bis N bezeichnet. Bei dieser Ausführungsform sind E1 bis EN die Einheit eines dicht verbundenen Netzes, das die Abmessung der Eingabe reduziert, um ihre inneren Korrelationen zu finden. Die resultierende Ausgabe ist Y1, Y2, bis YN, die jeweils als 318A bis N bezeichnet werden.
  • 4 stellt ein beispielhaftes Blockschaubild 400 eines neuronalen Netzmodells, das anfrageninterne Faktoren bei einzelnen Anfragen erfasst, gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • Die Eingaben (z.B. F1,1, F1,2, F2,1 und FB1, die als 402A, 402B, 402C bzw. 402N bezeichnet werden) sind die Beschreibungen der Funktionen in Anfragenspezifikationen einer Reihe von Anfragen. Die Anomalieerkennungseinheit 110 übernimmt die empfangene Eingabe und führt ein Einbetten der Anfragenspezifikation durch (z.B. Block 420). Bei dieser Ausführungsform werden G1,1, G1,2, G2,1 und GB,1 als 404A, 404B, 404C bis 404N bezeichnet, während H1,1 H1,2 H2,1 und HB,1 als 406A, 406B, 406C bzw. 406N bezeichnet werden. G1,1, G1,2 sind die Einbettungsschicht für die Zeichenfolgenteile in der Funktion F1,1. Ebenso ist G2,1 die Einbettungseinheit für die Zeichenfolgenteile in der Funktion F2,1. H1,1 stellte die Verkettung von G1,1 und dem numerischen Teil von F1,1 dar. Gemeinsam funktionieren 404A bis N und 406A bis N auf ähnliche Wiese wie 304A bis N und 306A bis N wie in 3 beschrieben.
  • Bei dieser Ausführungsform wird die eingebettete Anfragenspezifikation durch ein langes Kurzzeitgedächtnis (LSTM), ein künstliches rekurrentes neuronales Netz (RNN) in Block 430 und K1,1, K1,2, K2,1 bzw. KB,1 (d.h. die Einheiten des LSTM-Modells werden als 408A, 408B, 408C bzw. 408N bezeichnet) hinzugefügt.
  • Die Verarbeitung setzt sich mit Block 440 für ein Einbetten des Mikrodienstes fort, in dem M1, M2 und MB bzw. O1, O2 und OB hinzugefügt werden. M1, M2 und MB werden als Block 410A, 410B und 410N bezeichnet und bilden die Ausgabe des LSTM-Modells (z.B. Block 430), das B Mikrodienste darstellt, während O1, O2 und OB als Block 412A, 412B bzw. 412N bezeichnet werden und das Einbetten der Spezifikationen von B Mikrodiensten bezeichnen.
  • Die Verarbeitung setzt sich dann mit Block 450 fort, bei dem das Ergebnis von Block 440 durch eine weitere LSTM-Schicht eingespeist wird, in der P1, P2 bzw. PB hinzugefügt werden. P1, P2 und PB werden als Block 414A, 414B bzw. 414N bezeichnet. Bei dieser Ausführungsform sind P1, P2 und PB die Einheiten des LSTM-Modells von Block 450.
  • Die resultierenden Ausgaben von Block 450 werden in Block 460 eingespeist. Block 460 ist eine dichte Schicht, die Lernmerkmale aus allen Kombinationen der Merkmale der vorherigen Schicht bereitstellt und Q1, Q2 und QB hinzufügt, die als 416A, 416B bzw. 416N bezeichnet werden.
  • Bei dieser Ausführungsform sind Z1 Z2 und ZN (als 418A, 418B und 418N bezeichnet) sind die resultierende Ausgabe des Arbeitsablaufs des Blockschaubildes 400. Gemeinsamen stellen 418A, 418B und 418N die modellierte Ausgabe des vollständigen Ausführungsablaufs einer einzelnen Anfrage dar. 418B und 418N werden als S1 bezeichnet und werden als in das in 3 beschriebene Modell aufgenommen dargestellt.
  • 5 ist ein Ablaufplan 500, der Verfahrensschritte zum Trainieren einer vollständigen Rede, eines mehrsprachigen Absichtsklassifizierers, gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • In Schritt 502 empfängt die Anomalieerkennungseinheit 110 Informationen. Bei dieser Ausführungsform können die empfangenen Informationen eine Anfrage eines Endbenutzers für eine Anwendung enthalten, die N Mikrodienste aufweist. Beispielsweise handelt es sich bei einer Anfrage eines Endbenutzers um eine Anfrage, die durch eine Anforderung eines Benutzers an den Frontend-Dienst ausgelöst wird. Wenn beispielsweise ein Benutzer eine Webseite aufruft und das Anmelde-Schaltfeld anklickt, wird eine Anmeldeanfrage an die Anwendung erzeugt.
  • Bei dieser Ausführungsform empfängt die Anomalieerkennungseinheit 110 eine Anfrage von einer Client-Datenverarbeitungseinheit 102. Bei anderen Ausführungsformen kann die Anomalieerkennungseinheit 110 Informationen von einer oder mehreren Komponenten der Datenverarbeitungsumgebung 100 empfangen.
  • In Schritt 504 erzeugt die Anomalieerkennungseinheit 110 Kontextinformationen aus den empfangenen Informationen. Bei dieser Ausführungsform erzeugt die Anomalieerkennungseinheit 110 Kontextinformationen aus der empfangenen Anfrage, indem sie zusätzliche Informationen anfordert und eine hierarchische Datenstruktur erstellt, die die vollständigen Einzelheiten einer empfangenen Anfrage darstellt.
  • Insbesondere kann die Anomalieerkennungseinheit 110 zusätzliche Informationen (z.B. die Anfragenspezifikation) anfordern, die einen Benutzernamen, der zu einem Benutzer gehört (anonymisierte ID), einen Firmennamen (anonymisierte ID), eine Latenz (z.B. 500 ms), eine Region (z.B. Europa), einen Browsertyp, einen Einheitentyp, ein Betriebssystem, eine Zeit (z.B. Freitag, 28. Februar 2020, 14:55:02 GMT-05:00), einen Mikrodienstpfad und einen Funktionspfad umfassen kann.
  • Die Anfrage nach Kontextmerkmalen kann an verschiedene Quellen gesendet oder anderweitig von diesen gesammelt werden Bei dieser Ausführungsform umfasst die Anomalieerkennungseinheit 110 einen Sammelagenten (in 2 gezeigt und erörtert), der innerhalb jeder Mikrodienstinstanz als Beistellmodul bereitgestellt ist (z.B. zwei Container eines einzelnen Kubernetes-Pod) und zwei verschiedene Quellen heranziehen kann: Ablaufverfolgungsdaten vom Mikrodienst wie etwa Jaeger und OpenTelemetry) und Eigenschaften der Mikrodienst-Laufzeit (z.B. CPU, Speicherauslastungen, Netzwerk und andere damit angeordnete Beistellmodule, Zabbix-Agent (z.B. CPU, Speicherplatte, Speicher usw.), Envoy von Istio (z.B. Netzwerk) usw.).
  • Aus diesen Quellen kann die Anomalieerkennungseinheit 110 kategoriale Daten und numerische Daten sammeln. Bei dieser Ausführungsform bezeichnen kategoriale Daten Anfrage- und Mikrodienstinstanzdaten, die entweder aus dem Kopf der Anfrage oder den Umgebungsvariablen des Bereitstellungshosts extrahiert werden. Bei dieser Ausführungsform bezeichnen numerische Daten Daten, die die in jedem Mikrodienst verbrachte Zeit und seine kritischen Funktionen aus einer verteilten Ablaufverfolgungsbibliothek wie etwa OpenTelemetry oder Jaeger berichten. Auf diese Weise kann die Anomalieerkennungseinheit 110 die Berichte numerischer Daten nutzbar machen, die Informationen über die jeweilige Systemauslastung mit ordnungsgemäßen Privilegien berichten, aufzeichnen und abrufen. Entsprechend kann die Anomalieerkennungseinheit 110 durch Sammeln von Kontextmerkmalen aus verschiedenen Quellen eine ganzheitliche Sicht auf das schichtenübergreifende Verarbeiten der Anfrage ermöglichen.
  • In Schritt 506 trainiert eine Anomalieerkennungseinheit 110 ein neuronales Netz auf Grundlage der erzeugten Kontextinformationen. Bei dieser Ausführungsform trainiert die Anomalieerkennungseinheit 110 ein neuronales Netz auf Grundlage der erzeugten Kontextinformationen, die anfrageninterne und -übergreifende Anfragenfaktoren aufweisen. Wie zuvor erwähnt, beschreibt ein anfragenübergreifender Faktor Verbindungen zwischen Eigenschaften in Anfragenspezifikationen (z.B. folgt auf eine Anmeldeanfrage einer Benutzer-ID aus einer bestimmten Region höchstwahrscheinlich eine get_Anfrage für die Produktkatalogseite von derselben Benutzer-ID der Region). Dagegen berücksichtigt ein anfrageninterner Faktor die Faktoren einzelner Anfragen, um aus den locker verbundenen Mikrodienst- und Funktionspfaddaten zu verstehen, welche Dienste während des Verarbeitungspfads die wichtigsten Rollen für zukünftige Anfragen spielen. Durch Berücksichtigen dieser beiden Faktoren kann das aufgebaute neuronale Netzmodell die Korrelation zwischen einem jeweiligen Mikrodienst und dem letzten Schritt erfassen. Auf diese Weise kann das trainierte neuronale Netz vorhersagen, wie die nächste Reihe von Anfragen und ihre Kontextanfragen aussehen. Dann ermittelt das Steuermodul auf Grundlage der Vorhersagen, ob es eine Anomalie gibt.
  • In Schritt 508 sagt die Anomalieerkennungseinheit 110 anomales Verhalten anhand des trainierten neuronalen Netzes vorher. Beispielsweise kann die Anomalieerkennungseinheit 110 Anomalien wie etwa Verstöße gegen die SLA (z.B., dass sich in den nächsten zehn Minuten die Latenz erhöhen wird), Benutzer, die die Auswirkungen bemerken (z.B. eine Teilmenge von Benutzern in den USA, südliche Region) und die Auswirkung einer Teilmenge von Anfragen (z.B. Abrufen von Analyseergebnissen wird fehlschlagen) vorhersagen.
  • In Schritt 510 ergreift die Anomalieerkennungseinheit 110 geeignete Maßnahmen auf Grundlage des vorhergesagten anomalen Verhaltens. Bei dieser Ausführungsform kann es sich bei der geeigneten Maßnahme um das Erzeugen einer proaktiven Warnung, das Erzeugen eines Ursachenberichtes, das Bereitstellen von Ressourcenverwaltungsfähigkeiten und einer Systemsimulation handeln. Beispielsweise kann die Anomalieerkennungseinheit 110 dann auf Grundlage der Vorhersage ermitteln, ob eine proaktive Warnung gesendet werden soll. Bei dieser Ausführungsform kann die Anomalieerkennungseinheit 110 automatisch eine Warnung als Reaktion auf das Vorhersagen einer Anomalie erzeugen. Bei einer anderen Ausführungsform kann die Anomalieerkennungseinheit einen gewichteten Punktwert für die vorhergesagte Anomalie erzeugen und als Reaktion darauf, dass die vorhergesagte Anomalie den Schwellenwert für anomales Verhalten erfüllt oder überschreitet, eine proaktive Warnung erzeugen.
  • Beispielsweise kann eine proaktive Warnung die folgenden Vorhersagen enthalten: Verstöße gegen die SLA (z.B., dass sich in den nächsten zehn Minuten die Tail-Latenz erhöhen wird), Benutzer, die die Auswirkungen bemerken (z.B. eine Teilmenge von Benutzern in den USA, südliche Region) und die Auswirkung einer Teilmenge von Anfragen (z.B. Abrufen von Analyseergebnissen wird fehlschlagen).
  • Ein Beispiel für einen Ursachenbericht kann u.a. eine Identifizierung der versagenden Mikrodienstinstanz sowie Gründe für das Versagen sein, beispielsweise langsame Datenbankverbindung, unzureichende Datenverarbeitungsressourcen usw.
  • Bei einigen Ausführungsformen kann die Ressourcenverwaltung empfohlene Behebungsmaßnahmen umfassen. Beispielsweise kann die Anomalieerkennungseinheit 110 ein Bereitstellen der Mikrodienstinstanzen an einem Knoten mit höherer Kapazität empfehlen, die Netzwerkbandbreite zwischen dem Backend und der Datenbank erhöhen, einen Knoten mit einer leistungsfähigeren CPU hinzufügen usw.
  • 6 zeigt ein beispielhaftes Schaubild 600 gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Beispielsweise zeigt 6 eine Übersicht über das sequenzweise (seq2seq) Modell mit dem Codierer- und Decodiererteil, ihren Eingaben und Ausgaben, die die oben beschriebene Methodik darstellt. Sowohl der Codierer- (z.B. die Blöcke 602) als auch der Decodiererteil (z.B. die Blöcke 604) beruhen auf einem RNN und sind dazu fähig, Ausgabesequenzen entsprechend mehreren Zeitschritten in Anspruch zu nehmen und zurückzugeben. Das Modell erhält Eingaben von den vorherigen N Werten und gibt die nächsten N Vorhersagen zurück. N ist ein Hyperparameter und in dieser Figur empirisch auf 10 Minuten gesetzt. In der Mitte des Diagramms befindet sich ein auf einem RNN beruhendes hierarchisches neuronales Netz einer Anomalieerkennungseinheit, das drei Hauptkomponenten umfasst: einen anfrageninternen Faktor, einen anfragenübergreifenden Faktor und Einbettungen.
  • Insbesondere ist das Schaubild in 6 eine Codierer-Decodierer-Architektur (bekannt als seq2seq-Modell). Bei dieser Ausführungsform repräsentieren X, X1, X2, .... Xn die Eingaben in das Modell, bei denen es sich um die Anfragenkontextdaten einer Reihe von Anfragen handelt. Bei dieser Ausführungsform stellen Y, Y1, Y2,.. Yn die Ausgaben des Modells, die Vorhersagen des Modells dar. Die innere Architektur des Modells wird detailliert und weiter oben zu den 3 und 4 erörtert.
  • Die 7A und 7B zeigen beispielhafte Datensammelcodes gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Insbesondere stellt 7A einen beispielhaften Datensammelcode 700 dar, bei dem es sich um einen beispielhaften Anwendungscode in einem jeweiligen Mikrodienst handelt.
  • Mit Bezug 7B stellt 7B einen beispielhaften Datensammelcode 750 dar. Insbesondere stellt der beispielhafte Datensammelcode 750 einen Code in einem Sammelagenten dar.
  • 8 stellt ein Blockschaubild von Komponenten von Datenverarbeitungssystemen innerhalb der Datenverarbeitungsumgebung 100 aus 1 gemäß einer Ausführungsform der vorliegenden Erfindung dar. Es sollte ersichtlich sein, dass 8 nur eine Veranschaulichung einer Realisierung bereitstellt und keine Einschränkungen hinsichtlich der Umgebungen andeutet, in denen verschiedene Ausführungsformen realisiert sein können. An der dargestellten Umgebung können viele Modifikationen vorgenommen werden.
  • Die hierin beschriebenen Programme werden auf Grundlage der Anwendung bezeichnet, für die sie in einer bestimmten Ausführungsform der Erfindung umgesetzt sind. Es sollte jedoch ersichtlich sein, dass jegliche bestimmte Programmnomenklatur hierin nur der Zweckmäßigkeit halber verwendet wird und somit die Erfindung nicht einzig auf eine bestimmte Anwendung, die durch eine solche Nomenklatur bezeichnet und/oder impliziert ist, beschränkt sein soll.
  • Das Computersystem 800 enthält eine Datenübertragungsstruktur 802, die Datenübertragungen zwischen dem Cache 816, dem Speicher 806, dem dauerhaften Speicher 808, der Datenübertragungseinheit 812 und der bzw. den Eingabe/Ausgabe-(E/A-)Schnittstellen 814 bereitstellt. Die Datenübertragungsstruktur 802 kann mit einer beliebigen Architektur realisiert sein, die ausgelegt ist für eine Weitergabe von Daten und/oder Steuerungsinformationen zwischen Prozessoren (wie etwa Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), dem Systemspeicher, peripheren Einheiten und beliebigen anderen Hardwarekomponenten innerhalb eines Systems. Beispielsweise kann die Datenübertragungsstruktur 802 mit einem oder mehreren Bussen oder einem Kreuzschienenschalter realisiert sein.
  • Bei dem Speicher 806 und dem dauerhaften Speicher 808 handelt es sich um durch einen Computer lesbare Speichermedien. Bei dieser Ausführungsform umfasst der Speicher 806 einen Direktzugriffsspeicher (RAM). Im Allgemeinen kann der Speicher 806 beliebige geeignete flüchtige oder nichtflüchtige durch einen Computer lesbare Speichermedien umfassen. Der Cache 816 ist ein schneller Speicher, der die Leistungsfähigkeit des/der Computerprozessor(en) 804 verbessert, indem er kürzlich abgerufene Daten und Daten nahe den abgerufenen Daten aus dem Speicher 806 hält.
  • Die Anomalieerkennungseinheit 110 (nicht gezeigt) kann im dauerhaften Speicher 808 und im Speicher 806 zur Ausführung durch den einen oder mehrere der jeweiligen Computerprozessoren 804 über den Cache 816 gespeichert werden. Bei einer Ausführungsform umfasst der dauerhafte Speicher 808 ein magnetisches Festplattenlaufwerk. Alternativ oder zusätzlich zu einem magnetischen Festplattenlaufwerk kann der dauerhafte Speicher 808 eine Halbleiterspeicherplatte, eine Halbleiterspeichereinheit, einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM), einen Flash-Speicher oder ein beliebiges durch einen Computer lesbares Speichermedium umfassen, das dazu fähig ist, Programmanweisungen oder digitale Informationen zu speichern.
  • Die vom dauerhaften Speicher 808 verwendeten Medien können auch wechselbar sein. Beispielsweise kann eine wechselbare Festplatte als dauerhafter Speicher 808 verwendet werden. Sonstige Beispiele sind unter anderem optische und magnetische Platten, USB-Sticks und Chipkarten, die zum Transfer auf ein anderes durch einen Computer lesbares Medium, das auch Teil des dauerhaften Speichers 808 ist, in ein Laufwerk gesteckt werden.
  • Die Datenübertragungseinheit 812 sorgt in diesen Beispielen für Datenaustausche mit anderen Datenverarbeitungssystemen oder -einheiten. In diesen Beispielen umfasst die Datenübertragungseinheit 812 eine oder mehrere Netzwerkschnittstellenkarten. Die Datenübertragungseinheit 812 kann Datenübertragungen durch Nutzung einer physischen und/oder drahtlosen Datenübertragungsverbindung bereitstellen. Die Anomalieerkennungseinheit 110 kann über die Datenübertragungseinheit 812 in den dauerhaften Speicher 808 heruntergeladen werden.
  • Die E/A-Schnittstelle(n) 814 ermöglicht bzw. ermöglichen eine Eingabe und Ausgabe von Daten von bzw. zu anderen Einheiten, die mit einem Client-Datenverarbeitungssystem und/oder einem Server-Computer verbunden sein können. Beispielsweise kann die E/A-Schnittstelle 814 eine Verbindung zu externen Einheiten 820 wie etwa einer Tastatur, einem Tastenfeld, einem berührungsempfindlichen Bildschirm und/oder irgendeiner anderen geeigneten Eingabeeinheit bereitstellen. Bei den externen Einheiten 820 kann es sich unter anderem um tragbare, durch Computer lesbare Speichermedien wie etwa USB-Sticks, tragbare optische oder magnetische Platten und Speicherkarten handeln. Software und Daten, die dazu dienen, Ausführungsformen der vorliegenden Erfindung in die Praxis umzusetzen, z.B. die Anomalieerkennungseinheit 110, können auf solchen tragbaren, durch einen Computer lesbaren Speichermedien gespeichert werden und über die E/A-Schnittstelle(n) 814 in den dauerhaften Speicher 808 geladen werden. Die E/A-Schnittstelle(n) 814 ist/sind auch mit der Anzeige 822 verbunden.
  • Die Anzeige 822 stellt einen Mechanismus bereit, um Daten einem Benutzer anzuzeigen, und dabei kann es sich zum Beispiel um einen Computermonitor handeln.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um ein Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu bewirken, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. Bei einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Veranschaulichung dargestellt, sollen aber nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne vom Umfang der Erfindung abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber am Markt befindlichen Technologien am besten zu erläutern oder Fachleute zu befähigen, die hier offenbarten Ausführungsformen zu verstehen.
  • WEITERE ANMERKUNGEN UND/ODER AUSFÜHRUNGSFORMEN
  • Bei einigen Ausführungsformen der vorliegenden Erfindung spielen die folgenden Fakten, möglichen Probleme und/oder möglichen Bereiche für eine Verbesserung in Bezug auf den aktuellen Stand der Technik eine Rolle: Eine Mikrodienstarchitektur ist attraktiv für Anwendungen, die in einer hybriden Cloud-Umgebung bereitgestellt sind, weil die locker verbundenen Komponenten eine bessere Skalierbarkeit, Flexibilität, beschleunigte Entwicklerproduktivität usw. bieten. Um schwere finanzielle und geschäftliche Verluste durch einen Verstoß gegen die SLA zu vermeiden, besteht eine der kritischsten Aufgaben beim Verwalten der Mikrodienstanwendung darin, Anomalien in bestimmten Zeitschritten effektiv und effizient zu erkennen und zu diagnostizieren, so dass DevOps/SRE-Teams weitere Maßnahmen ergreifen können, um die zugrundeliegenden Probleme in angemessener Zeit lösen zu können. Jedoch sind bestehende Ansätze für das Ausgeben einer proaktiven Warnung vor einer erkannten Anomalie für Mikrodienstanwendungen immer noch nicht effektiv, weil sie die räumlichen und zeitlichen Abhängigkeiten, die in den multivariaten Zeitreihendaten aus entkoppelten Diensten und Anfragen der Endbenutzer vergraben sind, nicht berücksichtigen.
  • Einige Ausführungsformen der vorliegenden Erfindung können ein(e) oder mehrere der folgenden Merkmale, Eigenschaften und/oder Vorteile umfassen: Im Modell wird ein Tail-Latenzproblem gelernt, und dies trägt dazu bei, eine potenzielle Anomalie vorherzusagen, bevor sie auftritt.
  • Ausführungsformen der vorliegenden Erfindung sagen eine Anomalie vorher und identifizieren die Ursache für Mikrodienstanwendungen. In der bestehenden Funktionsweise der Anomalievorhersage führen Ausführungsformen der vorliegenden Erfindung als Erste doppelte Aufgaben durch, um das Anfragemuster und seinen Pfad vorherzusagen (d.h. die Dienste, die eine Anfrage durchläuft). Bei Ausführungsformen der vorliegenden Erfindung ist der Sammelagent so gestaltet, dass er Daten aus der Anwendungsbereitstellung sammelt. Das System unterstützt die Bereitstellung von Mikrodienstanwendungen in verschiedenen privaten, öffentlichen und hybriden Umgebungen.
  • Ausführungsformen der vorliegenden Erfindung definieren das Konzept des Anfragenkontextmerkmals, einer Datenstruktur, die drei Informationsebenen einer Anfrage umfasst: Anfragenspezifikation, Mikrodienstpfad, Funktionspfad. Dieses vorgeschlagene Merkmal integriert anfragenübergreifende Faktoren und anfrageninterne Faktoren, zwei Verlaufsdaten, die die Leistungsfähigkeit und den Verarbeitungspfad eingehender Anfragen beeinflussen.
  • Bei Ausführungsformen der vorliegenden Erfindung ist ein hierarchisches neuronales Netzmodell gestaltet, um die Trainingsdaten des Anfragenkontextmerkmals zu integrieren. Das Modell beruht auf der seq2seq-Architektur mit einem Einbetten heterogener Daten und eines Aufmerksamkeitsmechanismus, was zu einem gewissen Maß an Interpretierbarkeit der Ergebnisse führt.
  • Anwendungsspezifische Systemablaufverfolgungsinformationen sind in doppelter Hinsicht einzigartig vorteilhaft. Wir machen die zeitgestempelten Systemauslastungsinformation für das Verständnis und die Vorhersage der Ressourcenanforderungen des Systems nutzbar, um den Systemadministrator ferner anzuleiten, die Ressource zum Erfüllen der Dienstgüteanforderung neu zuzuweisen. Außerdem nutzen wir die detaillierte, feinkörnige Systemcharakterisierung, die aus der Anwendung abgeleitet wird, um die verschiedenen Hardware-Auswirkungen und Abwägungen durch eine Systemsimulation zu verstehen und solche Lektionen als Beitrag zur Gestaltung zukünftiger Cloud-Systeme zu nutzen.
  • Ausführungsformen der vorliegenden Erfindung ermöglichen eine proaktive Warnung und Anomaliediagnose für Mikrodienstanwendungen durch horizontales und vertikales Analysieren der oben genannten Abhängigkeiten, die in den Anfragenkontextdaten verfügbar sind, durch Tiefenlernen. Der vorgeschlagene Ansatz befasst sich mit zwei bestimmten Fragen: (1) wird es eine Anomalie der Leistungsfähigkeit geben (z.B. Verstoß gegen die SLA, erhöhte Tail-Latenz), die in bestimmten Zeitschritten ab dem aktuellen Zeitpunkt auftritt? und (2) wenn (1) wahr ist, welche(r) Mikrodienst(e) verursacht/verursachen die Anomalie am wahrscheinlichsten? Die erste Frage betrachtet die Vorhersage der Anomalie, und die zweite Frage nennt die Ursache der vorhergesagten Anomalie.
  • Lösung
  • Das Problem einer proaktiven Warnung und einer Anomaliediagnose kann als Vorhersageaufgabe betrachtet werden, wie eine Gruppe von Mikrodiensten die zukünftigen Anfragen kooperativ verarbeitet. Unsere vorgeschlagene Technik ist der Ansatz eines neuronalen Netzes, um detaillierte Eigenschaften früherer Anfragen zu integrieren, was sowohl ihre Spezifikationen und Ablaufverfolgungsinformationen in jeder Mikrodienstinstanz entlang des Pfads umfasst. Das neuronale Netzmodell kann vorhersagen, ob eine Anomalie (z.B. Tail-Latenz, Verstoß gegen die SLA) auftreten wird und was die Ursache(n) sein wird(werden). Die Lösung ist unabhängig von der Bereitstellung der Mikrodienstanwendung (private Cloud, öffentliche Cloud oder Hybrid) und unterstützt eine Vielfalt von Container-Orchestratoren, z.B. Kubernetes, OpenShift.
  • Grundgedanken
  • Grundgedanke 1: Eingeführt wird das Konzept des Anfragenkontextmerkmals, einer hierarchischen Datenstruktur, die die vollständigen Details einer Anfrage darstellt, darunter der Dienst und der Aufrufpfad, die kausal zusammenhängen, sowie der Ausführungskontext (z.B. CPU, Beschleuniger, Speicherauslastung, Pod-Region, Netzwerkstrecke, E/A-Anfragen usw.) in jedem Mikrodienst. Das Anfragenkontextmerkmal setzt sich aus Informationen in drei Kategorien zusammen: Anfragenspezifikation, Mikrodienstpfad und Funktionspfad (Einzelheiten in Abschnitt 6.2). Jede Kategorie enthält Daten in heterogenen Formen, etwa skalar, vektoriell, kategorial. Diese gesammelten Merkmalspunkte werden dem neuronalen Netz als Trainingsdaten bereitgestellt.
  • Grundgedanke 2: Wir entwickeln ein Verfahren zum Sammeln von Daten zum Anfragenkontextmerkmal aus verschiedenen Quellen (Abschnitt 6.1). Kategoriale Daten, die eine Anfrage und Mikrodienstinstanz beschreiben, werden entweder aus dem Kopf der Anfrage oder den Umgebungsvariablen des Bereitstellungshosts extrahiert. Numerische Daten, die über die Zeit, die in jedem Mikrodienst verbracht wird, und seine kritischen Funktionen berichten, stammen aus einer verteilten Ablaufverfolgungsbibliothek wie OpenTelemetry oder Jaeger, während Daten, die über die Nutzung von Ressourcen berichten, aufgezeichnet werden, indem Informationen über die Systemauslastung mit ordnungsgemäßen Privilegien abgerufen werden. Infolgedessen bietet das Anfragenkontextmerkmal einen ganzheitlichen Blick auf die schichtenübergreifende Anfragenverarbeitung.
  • Grundgedanke 3: Wir bauen ein neuronales Netzmodell zum Vorhersagen, wie zukünftige Anfragen in einer Mikrodienstanwendung verarbeitet werden, indem das oben genannte Anfragenkontextmerkmal hierarchisch als Eingabe behandelt wird. Wir halten die Vorhersage der Anfragenverarbeitung für ein langstreckenabhängiges sequenzielles Problem. Das heißt, das Verarbeiten einer Anfrage in naher Zukunft stützt sich auf zwei Gruppen von Faktoren: anfragenübergreifende Faktoren und anfrageninterne Faktoren. Die anfragenübergreifenden Faktoren beschreiben Verbindungen zwischen Eigenschaften in Anfragenspezifikationen wie etwa http-Verfahren, Benutzername, Region. Beispielsweise folgt auf eine Anmeldeanfrage einer Benutzer-ID aus einer bestimmten Region höchstwahrscheinlich eine get_Anfrage für die Produktkatalogseite aus derselben Region und von derselben Benutzer-ID. Die anfrageninternen Faktoren berücksichtigen die Faktoren einzelner Anfragen. Beim Verarbeiten einer Anfrage arbeiten Mikrodienste der Anwendung zusammen, indem sie untereinander RPC-Aufrufe senden. Ferner erscheinen nicht alle Instanzen im Aufrufpfad, da jeder Mikrodienst häufig viele Replikationen hat. Ein effektives Modell sollte in der Lage sein, aus den locker verbundenen Mikrodienst- und Funktionspfaddaten zu verstehen, welche Dienste während des Verarbeitungspfads die wichtigsten Rollen für zukünftige Anfragen spielen. All die obigen Faktoren werden während des Trainingsprozesses durch das vorgeschlagene Modell erfasst.
  • Grundgedanke 4: Während des Überwachens erzeugt das Modell Darstellungen vorhergesagter Anfragen mit nur einem Zeitschritt gleichzeitig, wobei es komplexe anfragenübergreifende und -interne Abhängigkeiten erfasst. Eine Steuereinheit wird geschaffen, um die Abfolge der Vorhersagen zu interpretieren: Betrachten der wesentlichen Maßzahlen der Leistungsfähigkeit (z.B. Latenz), Berechnen der statistischen Maße (z.B. Abweichung, Perzentil) und Ermitteln, ob eine Warnung ausgelöst werden soll. Sobald sich die Steuereinheit für ein Auslösen entscheidet, interpretiert das Ursachenanalysemodul die sequenziellen Darstellungen, ergänzt durch den aktuellen Trend, um die Ursache festzumachen (z.B. Mangel an Speicher in einer bestimmten Mikrodienstinstanz einer Region, langsame Verbindung zwischen einer bestimmten Mikrodienstinstanz und einem Backend-Speicher).
  • Motivierendes Beispiel
  • Wir beschreiben ein motivierendes Beispiel des Vorhersageproblems, bei dem es sich um eine aus 4 Diensten bestehende Mikrodienstanwendung handelt. Jede Anfrage muss durch A und B und dann entweder durch C oder D verarbeitet werden. In diesem besonderen Szenario gibt es zwei frühere Anfragen; die Dienstpfade sind A→ B→C und A→B→D. Wenn wir nur die Sequenz dieser Anfragen betrachten (d.h. die anfragenübergreifenden Faktoren), um die nächste Anfrage und ihren Pfad vorzusagen, ist das Ergebnis A→B→C. Das Modell, das aus anfragenübergreifenden Faktoren gelernt hat, betrachtet die Anfragensequenz als wichtiges Merkmal im Vorhersageprozess. Angesichts dessen, dass C und D aufgrund eines Lastenausgleichseffekts abwechselnd in den Verlaufsdaten erscheinen, ist das Ergebnis sinnvoll, und die vorhergesagte Gesamtlatenz beträgt < 1s. Andererseits widmet unser vorgeschlagenes Modell intelligenterweise den Latenzen entlang des Dienstpfads, die auf die längere Verarbeitungszeit in der Dienstinstanz A zurückzuführen sein kann, sowie der Korrelation zwischen A und der Wahl der letzten Etappe mehr Aufmerksamkeit. Daher kann es erfolgreich die richtige nächste Anfrage und ihren Pfad A→B→D vorhersagen, weil der Dienst D wahrscheinlicher ausgewählt wird, wenn die Latenz bei A hoch ist. Da die Gesamtlatenz der vorhergesagten Anfrage 2,3 s beträgt, was größer als ein Schwellenwert von vielleicht 1,5 s ist, wird eine proaktive Warnung an das SRE-Team gesendet. Um die richtigen Vorhersagen zu treffen, müssen wir die anfragenübergreifenden Faktoren und die anfrageninternen Faktoren in einzelnen Anfragen betrachten, die aus den detaillierten Informationen des Anfragenpfads ermittelt werden können, wie etwa die Ablaufverfolgungsdaten, Ressourcenauslastungen und Spezifikationen.
  • Beschreibung
  • Dieser Abschnitt stellt die von uns vorgeschlagene Methodik und technischen Details zum Behandeln des Problems der proaktiven Warnung und der Anomaliediagnose für Mikrodienstanwendungen vor. In der ersten Phase sammeln wir Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen mit normalem und anomalem Verhalten und bereiten sie für die Merkmalsextraktion vor. In dieser zweiten Phase stellen wir Anfragenkontextmerkmale aus den gesammelten Daten zusammen und erzeugen ein neuronales Netzmodell. Die dritte Phase dient dazu, eine Anomalie anhand des zuvor trainierten Modells vorherzusagen, und es wird eine Liste von Ursachen präsentiert.
  • Zuvor wurde in 2 eine übergeordnete Architektur des vorgeschlagenen Systems erörtert, bei dem eine aus N Mikrodiensten zusammengesetzte Anwendung mit unseren maßgeschneiderten Sammelagenten und der Modellerstellungs- und Vorhersage-Pipeline kombiniert ist. Der restliche Teil dieses Abschnitts erläutert den vollständigen Ablauf im Folgenden ausführlich.
  • Datensammlung
  • Zuerst sammelt der Sammelagent (wie im Ablaufplan 500 in den Schritten 502-504 beschrieben) Ablaufverfolgungsdaten aus dem zusammen damit angeordneten Mikrodienst. Das Paar aus Mikrodienst und Sammelagent läuft in separaten Containern eines einzelnen Kubernetes-Pod. Der Mikrodienst führt einen Anwendungscode aus, um Anfragen zu verarbeiten und an die nachgelagerten Dienste weiterzureichen. Ferner kann der Sammelagent wichtige Systeminformationen aus den Beistellmodulen wie dem Zabbix-Agenten oder dem Envoy-Proxy von Istio aggregieren.
  • Der Anwendungscode, der im Mikrodienst läuft, verwendet eine verteilte Ablaufverfolgungsbibliothek wie Jaeger oder OpenTelemetry, um die Zeit, die in für die Geschäftslogik kritischen Funktionen verbracht wird, aufzuzeichnen und die Ablaufverfolgungsdaten in UDP-Paketen an den Sammelagenten zu senden. Es sei darauf hingewiesen, dass das vorgeschlagene Verfahren nur ein einmaliges Erfassen der Spezifikation einer Benutzeranfrage im Frontend-Dienst erfordert (z.B. siehe die zuvor erörterte 7A). Zusätzlich zu den Ablaufverfolgungsinformationen im Mikrodienst muss der Sammelagent nicht nur die statische Konfiguration der Mikrodienstinstanz, sondern auch die dynamische Ressourcenauslastung beim Empfangen der Ablaufverfolgungsspur vom Mikrodienst (siehe z.B. die zuvor erörterte 7B) erfassen. Solche Daten können aus den Beistellmodulen abgerufen werden, wie zuvor erwähnt. Der Sammelagent setzt diese Daten in Stapel und liefert sie an eine zentralisierte Sammelstelle.
  • Die Sammelstelle ist als statusunabhängiger Server realisiert, so dass er auf viele Replikationen skaliert werden kann. Die Sammelstelle empfängt die Ablaufverfolgungsdaten und Spezifikationen der Anfragen, normalisiert sie in eine bestimmte übliche Darstellung und schiebt sie in eine Warteschlange. Ein Beispiel für die Warteschlange ist Kafka, eine quelloffene Software, die eine Plattform mit hohem Durchsatz und niedriger Latenz zum Behandeln von Echtzeit-Dateneinspeisungen (bis zu Millionen von Schreibvorgängen pro Sekunde) bereitstellt.
  • Die Anomalieerkennungseinheit kann dann Elemente aus der Warteschlange in das Merkmalsextraktionsmodul ziehen, was als eine auf Streaming beruhende Aufgabe auf der Flink-Rahmenstruktur entwickelt wurde. Die Aufgabe der Merkmalsextraktion besteht darin, die gesammelten Daten in die Form eines Anfragenkontextmerkmals zu transformieren.
  • Merkmalsbeschreibung
  • Wir fassen das gesammelte Merkmal in drei Kategorien zusammen: Anfragenspezifikation, Mikrodienstpfad, Funktionspfad. Die Anfragenspezifikation ist statisch und umfasst die Selbstbeschreibungsinformationen der Anfragen und, äußerst wichtig, ihre gesamte Latenz über die Menge der Mikrodienste hinweg, die die Anwendung bilden. Merkmale des Mikrodienstpfads und Merkmale des Funktionspfads werden als kausal zusammenhängende Daten gesammelt, um den Verarbeitungspfad der Anfragen zu beschreiben. 6 zeigt die hierarchische Datenstruktur, die bei jedem Schritt während eines Zeitfensters gesammelt wird.
  • Neuronales Netzmodell
  • Die Gestaltung unseres neuronalen Netzmodells wurzelt in einer seq2seq-Architektur. Wie zuvor in 6 beschrieben, umfasst das neuronale Netzmodell den Codierer- und Decodiererteil, ihre Eingaben und Ausgaben. Sowohl der Codierer- als auch der Decodiererteil beruhen auf einem RNN und sind dazu fähig, Ausgabesequenzen entsprechend mehreren Zeitschritten zu verbrauchen und zurückzugeben. Das Modell erhält Eingaben von den vorherigen N Werten und gibt die nächsten N Vorhersagen zurück. N ist ein Hyperparameter und empirisch auf 10 Minuten gesetzt. In der Mitte des Schaubilds befindet sich ein auf einem RNN beruhendes hierarchisches neuronales Netz einer Anomalieerkennungseinheit, das drei Hauptkomponenten umfasst: einen anfrageninternen Faktor, einen anfragenübergreifenden Faktor und Einbettungen. Der restliche Teil dieses Abschnitts beschreibt das neuronale Netz detailliert.
  • Wie zuvor erwähnt, veranschaulicht 3 die Gestaltung des neuronalen Netzes. Für den anfrageninternen Faktor kombinieren wir das sequenzielle Mikrodienstpfadmerkmal und die entsprechenden Anfragenspezifikationen. Das Mikrodienstpfadmerkmal wird in 4 näher veranschaulicht, bei der es sich um ein weiteres auf einem RNN beruhendes Netz handelt. Für den anfragenübergreifenden Faktor speisen wir die anfrageninternen Faktoren einer Sequenz von Anfragen in eine andere RNN-Schicht (z.B. LSTM) zum Trainieren des anfragenübergreifenden Musters. Im gesamten Netz wenden wir verschiedene Einbettungsschichten (z.B. word2vec, ELMO) an, um heterogene Daten in N-dimensionale Vektoren zu konvertieren (z.B. N = 300). Das hierarchische neuronale Netz zur Anfragenvorhersage hat die Fähigkeit, die Einflüsse eines anfragenübergreifenden und anfrageninternen Musters auf die Verarbeitung der zukünftigen Anfrage zu lernen. Wie zuvor betont, zielen Ausführungsformen der vorliegenden Erfindung darauf ab, die Spezifikation zukünftiger Anfragen sowie ihren Pfad durch die Mikrodienstinstanzen der Anwendung vorherzusagen.
  • Überwachung und Einblicke
  • Unser Problem der proaktiven Anomalieerkennung enthält zwei Hauptaufgaben: Vorhersage zukünftiger Anfragen mit ihrem detaillierten Dienstpfad und Erwartung eines Verstoßes gegen die SLA auf Grundlage der Vorhersagen (Schritt 508 in 5). Die erste wird durch das Vorhersagemodul umgesetzt (z.B. Schritt 510 aus 5). Während der Überwachungsphase sammelt das System kontinuierlich die Anfragenkontextdaten aus der laufenden Anwendung und nimmt sie in das Vorhersagemodul auf. Diese Daten werden in das aus dem Speicher geholte neuronale Netzmodell eingespeist. Die Ausgabe des Vorhersagemoduls ist eine Sequenz von Anfragen mit ihren vorhergesagten Ausführungsdetails, die in den nächsten Wt Sekunden eintreten. Beispielsweise setzen wir aufgrund empirischer Erfahrung Wt auf 500 ms, so dass die automatische Ressourcenaufteilungssoftware die Möglichkeit hat, Maßnahmen zu ergreifen.
  • Für die zweite Aufgabe, die proaktive Warnung zu ermitteln, integrieren wir eine Steuereinheit, um die Ausgaben aus dem Vorhersagemodul zu interpretieren. Wie in 2 sowie in den Schritten 510 in 5 gezeigt, hat die Steuereinheit mehrere Funktionen. Was die proaktive Warnung betrifft, berechnen wir den Nachzüglerabschnitt (Tail) der vorhergesagten Latenzen. Wenn das Ergebnis größer als ein bestimmter Schwellenwert ist, wird eine proaktive Warnung ausgelöst. Die Details der vorhergesagten Ergebnisse werden für eine anspruchsvolle Aufgabe wie Ursachenanalyse, Ressourcenverwaltung und Systemsimulation nutzbar gemacht.
  • Systemsimulation: Die Ausgabe aus 3 enthält die detaillierten Ablaufverfolgungsinformationen des Systems (darunter CPU, Speicher, Speicherplatt und Netznutzung) einer Anwendung nebenbei vom Zabbix-Agenten. Wie in 1 erörtert, stellt eine Systemsimulation, solche feinkörnig charakterisierten Ablaufverfolgungsspuren, Einblicke in die Anwendungsanforderungen an das zugrundeliegende Hardware-System bereit, die ferner als Treiber für den Systemsimulator dienen können, um die potenziellen Gestaltungen des Cloud-Systems zu evaluieren und die Herausforderungen und Abwägungen zu lernen. Dieser Prozess trägt dazu bei, dass Cloud-Systementwickler die Interaktionen zwischen verschiedenen zusammenstellbaren Hardware-Komponenten wie Massenspeicher, Netzwerk, CPU, Arbeitsspeicher und Beschleuniger verschiedener Anwendungen verstehen. Er trägt auch dazu bei, die potenziellen Vorteile gegenüber Verschlechterungen bei verschiedenen Hardware-Konfigurationen zu analysieren und die Gestaltungsentscheidungen für das zukünftige Cloud-System zu leiten.
  • DEFINITIONEN
  • Vorliegende Erfindung: ist nicht als absolute Angabe zu betrachten, dass der durch den Ausdruck „vorliegende Erfindung“ beschriebene Gegenstand entweder durch die so eingereichten Ansprüche oder durch die Ansprüche abgedeckt ist, die schließlich aus Patenterteilungsverfahren hervorgehen; während der Ausdruck „vorliegende Erfindung“ dazu dient, dem Leser ein allgemeines Gefühl dafür zu verschaffen, welche Offenbarungen hierin mutmaßlich potenziell neu sind, ist dieses Verständnis, wie durch den Ausdruck „vorliegende Erfindung“ angegeben, vorläufig und provisorisch und im Laufe des Patenterteilungsverfahrens im Zuge der Entwicklung relevanter Informationen und einer potenziellen Änderung der Ansprüche Änderungen unterworfen.
  • Ausführungsform: siehe die Definition für „vorliegende Erfindung“ oben - ähnliche Vorsichtshinweise gelten für den Ausdruck „Ausführungsform“.
  • und/oder: einschließendes Oder; beispielsweise bedeutet A, B „und/oder“ C, dass mindestens eines von A oder B oder C wahr ist und gilt.
  • Einschließlich, umfassend / umfassen / umfasst: sofern nicht ausdrücklich anderweitig angegeben, bedeutet „einschließlich, ohne unbedingt darauf beschränkt zu sein“.
  • Benutzer/Teilnehmer: schließt Folgendes ein, ohne unbedingt darauf beschränkt zu sein: (i) einen einzelnen Menschen; (ii) eine Entität der künstlichen Intelligenz mit ausreichend Intelligenz, um als Benutzer oder Teilnehmer zu handeln; und/oder (iii) eine Gruppe zusammengehöriger Benutzer oder Teilnehmer.
  • Modul / Teilmodul: beliebige Menge von Hardware, Firmware und/oder Software, die funktionsfähig arbeitet, um eine Art von Funktion auszuführen, ungeachtet dessen, ob auf das Modul Folgendes zutrifft: (i) in einer einzigen örtlichen Nähe befindlich; (ii) über einen weiten Bereich verteilt; (iii) in einer einzigen Nähe innerhalb eines größeren Stücks Softwarecode; (iv) innerhalb eines einzigen Stücks Softwarecode befindlich; (v) in einer einzigen Speichereinheit, einem einzigen Speicher oder Medium befindlich; (vi) mechanisch verbunden; (vii) elektrisch verbunden; und/oder (viii) im Datenaustausch verbunden.
  • Computer: eine beliebige Einheit mit erheblichen Datenverarbeitungs- und/oder auf maschinenlesbare Anweisungen bezogenen Lesefähigkeiten, darunter, aber nicht beschränkt auf: Desktop-Computer; Großrechner, Laptop-Computer; Einheiten beruhend auf im Feld programmierbaren Gatter-Anordnungen (FPGA); Smartphones, elektronische Assistenten (PDA, personal digital assistant), am Körper angebrachte oder innerlich eingesetzte Computer, eingebettete einheitenartige Computer, Dienstleistungen auf Grundlage anwendungsspezifischer integrierter Schaltkreise (ASIC).

Claims (20)

  1. Durch Computer realisiertes Verfahren, das aufweist: als Reaktion auf das Empfangen einer Anfrage Sammeln von Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen für ein normales Verhalten einer Mikrodienstanwendung; Erzeugen von Anfragenkontextmerkmalen aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation; Trainieren eines neuronalen Netzmodells auf Grundlage der erzeugten Kontextmerkmale; und Vorhersagen eines anomalen Verhaltens der Mikrodienstanwendung anhand des trainierten neuronalen Netzmodells.
  2. Durch Computer realisiertes Verfahren nach Anspruch 1, das ferner aufweist: Erzeugen von Visualisierungen zu dem vorhergesagten anomalen Verhalten.
  3. Durch Computer realisiertes Verfahren nach Anspruch 1, das ferner aufweist: Erzeugen eines Ursachenberichtes zu dem vorhergesagten anomalen Verhalten.
  4. Durch Computer realisiertes Verfahren nach Anspruch 1, das ferner aufweist: Bereitstellen von Systemsimulationen für das vorhergesagte anomale Verhalten.
  5. Durch Computer realisiertes Verfahren nach Anspruch 1, wobei die Ablaufverfolgungsdaten eine hierarchische Datenstruktur bereitstellen, die Protokolle in einzelne Anfragen trennt.
  6. Durch Computer realisiertes Verfahren nach Anspruch 1, wobei es sich bei dem neuronalen Netzmodell um ein rekurrentes neuronales Netz handelt.
  7. Durch Computer realisiertes Verfahren nach Anspruch 1, wobei die Anfragenkontextmerkmale aufweisen: eine Datenstruktur, die drei Informationsebenen einer Anfrage aufweist: Anfragenspezifikation, Mikrodienstpfad und Funktionspfad.
  8. Durch Computer realisiertes Verfahren nach Anspruch 1, wobei das Erzeugen der Anfragenkontextmerkmale aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation aufweist: Integrieren anfragenübergreifender Faktoren und anfrageninterner Faktoren, die zur Anfrage gehören.
  9. Computerprogrammprodukt, das aufweist: ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen, die auf mindestens dem einem oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen zum Sammeln von Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen für ein normales Verhalten einer Mikrodienstanwendung als Reaktion auf das Empfangen einer Anfrage; Programmanweisungen zum Erzeugen von Anfragenkontextmerkmalen aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation; Programmanweisungen zum Trainieren eines neuronalen Netzmodells auf Grundlage der erzeugten Kontextmerkmale; und Programmanweisungen zum Vorhersagen eines anomalen Verhaltens der Mikrodienstanwendung anhand des trainierten neuronalen Netzmodells.
  10. Computerprogrammprodukt nach Anspruch 9, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Erzeugen von Visualisierungen zu dem vorhergesagten anomalen Verhalten.
  11. Computerprogrammprodukt nach Anspruch 9, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Erzeugen eines Ursachenberichtes zu dem vorhergesagten anomalen Verhalten.
  12. Computerprogrammprodukt nach Anspruch 9, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Bereitstellen von Systemsimulationen für das vorhergesagte anomale Verhalten.
  13. Computerprogrammprodukt nach Anspruch 9, wobei die Ablaufverfolgungsdaten eine hierarchische Datenstruktur bereitstellen, die Protokolle in einzelne Anfragen trennt.
  14. Computerprogrammprodukt nach Anspruch 9, wobei es sich bei dem neuronalen Netzmodell um ein rekurrentes neuronales Netz handelt.
  15. Computerprogrammprodukt nach Anspruch 9, wobei die Anfragenkontextmerkmale aufweisen: eine Datenstruktur, die drei Informationsebenen einer Anfrage aufweist: Anfragenspezifikation, Mikrodienstpfad und Funktionspfad.
  16. Computerprogrammprodukt nach Anspruch 9, wobei Programmanweisungen zum Erzeugen der Anfragenkontextmerkmale aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation aufweisen: Programmanweisungen zum Integrieren anfragenübergreifender Faktoren und anfrageninterner Faktoren, die zur Anfrage gehören.
  17. Computersystem, das aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; und Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen des einen oder mehrerer Computerprozessoren gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen zum Sammeln von Ablaufverfolgungsdaten und Spezifikationen für eine Sequenz von Anfragen für ein normales Verhalten einer Mikrodienstanwendung als Reaktion auf das Empfangen einer Anfrage; Programmanweisungen zum Erzeugen von Anfragenkontextmerkmalen aus den gesammelten Ablaufverfolgungsdaten und der Spezifikation; Programmanweisungen zum Trainieren eines neuronalen Netzmodells auf Grundlage der erzeugten Kontextmerkmale; und Programmanweisungen zum Vorhersagen eines anomalen Verhaltens der Mikrodienstanwendung anhand des trainierten neuronalen Netzmodells.
  18. Computersystem nach Anspruch 17, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Erzeugen von Visualisierungen zu dem vorhergesagten anomalen Verhalten.
  19. Computersystem nach Anspruch 17, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Erzeugen eines Ursachenberichtes zu dem vorhergesagten anomalen Verhalten.
  20. Computersystem nach Anspruch 17, wobei die Programmanweisungen, die auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, ferner aufweisen: Programmanweisungen zum Bereitstellen von Systemsimulationen für das vorhergesagte anomale Verhalten.
DE112021006232.8T 2020-11-30 2021-10-21 Proaktive anomalieerkennung Pending DE112021006232T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/106,298 US20220172037A1 (en) 2020-11-30 2020-11-30 Proactive anomaly detection
US17/106,298 2020-11-30
PCT/CN2021/125261 WO2022111154A1 (en) 2020-11-30 2021-10-21 Proactive anomaly detection

Publications (1)

Publication Number Publication Date
DE112021006232T5 true DE112021006232T5 (de) 2023-10-05

Family

ID=81751547

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021006232.8T Pending DE112021006232T5 (de) 2020-11-30 2021-10-21 Proaktive anomalieerkennung

Country Status (6)

Country Link
US (1) US20220172037A1 (de)
JP (1) JP2023551029A (de)
CN (1) CN116569179A (de)
DE (1) DE112021006232T5 (de)
GB (1) GB2617003A (de)
WO (1) WO2022111154A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031527B2 (ja) * 2018-08-07 2022-03-08 日本電信電話株式会社 操作列生成装置、操作列生成方法及びプログラム
CN115729668A (zh) * 2021-08-30 2023-03-03 富联精密电子(天津)有限公司 虚拟机运行监控方法、监控系统及监控设备
TWI774582B (zh) * 2021-10-13 2022-08-11 財團法人工業技術研究院 惡意超文本傳輸協定請求的偵測裝置和偵測方法
US20230300156A1 (en) * 2022-01-31 2023-09-21 Microsoft Technology Licensing, Llc Multi-variate anomalous access detection
US20230377004A1 (en) * 2022-05-23 2023-11-23 Verizon Patent And Licensing Inc. Systems and methods for request validation
US20230385143A1 (en) * 2022-05-31 2023-11-30 Dell Products L.P. Microservices anomaly detection
WO2023247996A1 (en) * 2022-06-23 2023-12-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to mitigate fault in a distributed system
US11743281B1 (en) * 2023-04-25 2023-08-29 Citibank, N.A. Microservices anomaly detection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218498B2 (en) * 2018-09-05 2022-01-04 Oracle International Corporation Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks
CN109067619B (zh) * 2018-09-25 2020-06-09 海南民航凯亚有限公司 一种微服务治理的弹性容量调度方法及处理终端
CN110362494B (zh) * 2019-07-18 2021-06-15 腾讯科技(深圳)有限公司 微服务状态信息展示的方法、模型训练方法以及相关装置
CN111913789A (zh) * 2020-06-29 2020-11-10 浪潮通用软件有限公司 一种支持微服务架构的程序跟踪方法及设备、介质

Also Published As

Publication number Publication date
CN116569179A (zh) 2023-08-08
GB2617003A (en) 2023-09-27
US20220172037A1 (en) 2022-06-02
WO2022111154A1 (en) 2022-06-02
JP2023551029A (ja) 2023-12-06
GB202309408D0 (en) 2023-08-09

Similar Documents

Publication Publication Date Title
DE112021006232T5 (de) Proaktive anomalieerkennung
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112021004197T5 (de) Semantisches Lernen in einem System für ein föderiertes Lernen
DE112020000537T5 (de) Verbesserung von fairness durch bestärkendes lernen
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112021004261T5 (de) Dualmodale beziehungsnetzwerke zur audiovisuellen ereignislokalisierung
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
DE102021109767A1 (de) Systeme und methoden zur vorausschauenden sicherheit
DE112021000392T5 (de) Leistungsfähiges kommentieren der grundwahrheit
DE112021001566T5 (de) Ermitteln von abhängigkeiten multivariater zeitreihendaten
DE102020108374A1 (de) Verfahren und vorrichtung zur laufzeitmehrfachplanung von software, die in einem heterogenen system ausgeführt wird
DE112017008151T5 (de) Schaltungen geringer tiefe als quantenklassifikatoren
DE112021002820T5 (de) Dynamische automatisierung einer auswahl von pipeline-artefakten
DE112021000370T5 (de) Auf maschinellem lernen beruhende datenüberwachung
DE112017001376T5 (de) Erkennen und Vorhersagen von Engpässen in komplexen Systemen
DE112021004559T5 (de) System zur robusten vorhersage bei unregelmässigen zeitreihen in dialysepatientenakten
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE102021125856A1 (de) Erkennen von feindlichen angriffen auf ein tiefes neuronales netz (deep neural network (dnn))
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE112021005678T5 (de) Normieren von OCT-Bilddaten
DE112018005424T5 (de) Automatisches Verbinden von externen Daten mit einem Geschäftsanalyseprozess
DE112020004688T5 (de) Debuggen und erstellen von profilen von maschinenlernmodelltraining
DE112021001422T5 (de) Algorithmische Lernmaschine zur dynamischen Erzeugung von Vorhersageanalysen aus Streaming-Daten mit hohem Volumen und hoher Geschwindigkeit
DE102023103798A1 (de) Automatische fehlervorhersage in rechenzentren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence