DE112017005412T5 - Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten - Google Patents

Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten Download PDF

Info

Publication number
DE112017005412T5
DE112017005412T5 DE112017005412.5T DE112017005412T DE112017005412T5 DE 112017005412 T5 DE112017005412 T5 DE 112017005412T5 DE 112017005412 T DE112017005412 T DE 112017005412T DE 112017005412 T5 DE112017005412 T5 DE 112017005412T5
Authority
DE
Germany
Prior art keywords
data
unit
predetermined event
production environment
metric
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
DE112017005412.5T
Other languages
English (en)
Inventor
Guy Fighel
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.)
SignifAI LLC
Original Assignee
SignifAI LLC
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 SignifAI LLC filed Critical SignifAI LLC
Publication of DE112017005412T5 publication Critical patent/DE112017005412T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Ein System zum Überwachen einer und Berichten über eine Produktionsumgebung erhält Daten aus einer Produktionsumgebung über eine oder mehrere Anwendungsprogrammierschnittstellen (APIs), die sich auf einem oder mehreren Informatiksystemem der Produktionsumgebung befinden. Das System verwendet die erhaltenen Daten zum Berechnen von Metriken und das System verwendet anschließend die erhaltenen Daten und die berechneten Metriken, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist. Wenn ein vorher festgelegtes Ereignis eingetreten ist, kann es sofort gemeldet werden, andernfalls kann zuerst eine Zweitanalyse durchgeführt werden, um festzustellen, ob das Ereignis gemeldet werden soll.

Description

  • HINTERGRUND
  • In der vorliegenden Anmeldung wird eine Technologie offenbart, die verwendet wird, um ein Geschäft dabei zu unterstützen, eine computerbasierte Produktionsumgebung weiterhin effizient und mit guter Leistung zu betreiben. Dabei kann die „Produktionsumgebung“ aus vielen verschiedenen Dingen bestehen. In einigen Fällen kann die Produktionsumgebung ein vernetztes System von Computerservern sein, die für den Betrieb eines Online-Einzelhandels verwendet werden. In einem anderen Fall kann die Produktionsumgebung ein Computersystem sein, das zur Erzeugung von Computersoftwareanwendungen verwendet wird. Bei noch weiteren Ausführungsformen kann die Produktionsumgebung ein computergesteuertes Fertigungssystem sein. Fast jede Art von Produktionsumgebung, die auf Computern, Computersoftware und/oder Computernetzwerken basiert, kann Vorteile aus den in dieser Anmeldung offenbarten Systemen und Verfahren ziehen.
  • Mit der Erweiterung und dem Größerwerden computerbasierter Produktionsumgebungen kann die Leistung sinken. Es wird immer schwieriger, alle Teile des Systems weiterhin effizient zu betreiben. Es liegen viele Softwareanwendungen vor, die konzipiert wurden, um eine Produktionsumgebung zu überwachen und zu wichtigen Metriken und Ereignissen Berichte anzufertigen. Die von solchen Überwachungsanwendungen erzeugten Daten und Berichte können jedoch selbst schwer verständlich sein. Die sinnvolle Verwendung dieser Daten und Berichte bei der Wiederherstellung der besten Leistung kann sich als schwierig herausstellen. Treten Probleme bezüglich der Produktionsumgebung auf, kann es für einen Systemadministrator darüber hinaus schwierig sind, die eigentliche Ursache der Probleme auf Grundlage der von der Überwachungsanwendung bereitgestellten Daten und Berichte zu ermitteln.
  • Aus den oben genannten Gründen besteht Bedarf an zusätzlichen Techniken, mit denen die Aktivitäten in einer Produktionsumgebung überwacht und die grundlegenden Ursachen von Problemen ermittelt werden können. Es besteht darüber hinaus Bedarf an Technologien, mit denen Probleme bei ihrer Entstehung proaktiv festgestellt werden können und die Maßnahmen vornehmen können, um die Probleme abzuschwächen oder zu lösen, ohne dass menschliche Eingriffe erforderlich sind.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das verschiedene Elemente eines Produktionsumgebungsassistenten zeigt;
    • 2 ist ein Blockdiagramm, das verschiedene Elemente einer Datenerfassungseinheit zeigt;
    • 3 ist ein Blockdiagramm, das verschiedene Elemente einer Datenerfassungs- und -umwandlungseinheit zeigt;
    • 4 ist ein Blockdiagramm, das verschiedene Elemente einer Metrikeinheit zeigt;
    • 5 ist ein Blockdiagramm, das verschiedene Elemente einer Bewertungseinheit zeigt;
    • 6 ist ein Blockdiagramm, das verschiedene Elemente einer Vorfalleinheit zeigt;
    • 7 ist ein Blockdiagramm, das verschiedene Elemente einer Benachrichtigungseinheit zeigt;
    • 8 ist ein Blockdiagramm, das verschiedene Elemente eines Systems aktiver Inspektoren zeigt;
    • 9 ist ein Blockdiagramm, das verschiedene Elemente einer Behebungseinheit zeigt;
    • 10 ist ein Blockdiagramm, das verschiedene Elemente eines Benutzerschnittstellensystems zeigt;
    • 11 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Erfassen von Daten aus Kundensystemen zeigt;
    • 12 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Speichern empfangener Kundendaten in verschiedenen Datenrepositorien zeigt;
    • 13 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Berechnen verschiedener Metriken aus den erfassten Kundendaten zeigt;
    • 14 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Analysieren von Daten zum Bestimmen, ob ein Vorfall aufgetreten ist, zeigt;
    • 15 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Melden eines aufgetretenen Vorfalls zeigt;
    • 16 ist ein Flussdiagramm, das Schritte eines Verfahrens zum aktiven Überwachen der Systeme eines Kunden zum Erfassen von Daten und zum Bestimmen, ob ein vordefinierter Vorfall aufgetreten ist, zeigt;
    • 17 ist ein Flussdiagramm, das Schritte eines Verfahrens zum Durchführen von Behebungsmaßnahmen zum Korrigieren von im System eines Kunden auftretenden Problemen zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt verschiedene Elemente eines Produktionsumgebungsassistenten 100, der Daten aus einer Produktionsumgebung eines Kunden empfängt oder abruft, der diese Daten zum Bestimmen, ob möglicherweise Probleme auftreten, analysiert, und der festgestellte Probleme meldet. Der Produktionsumgebungsassistent 100 kann darüber hinaus Behebungsmaßnahmen einleiten, um diese Probleme zu beseitigen oder abzuschwächen.
  • Der Produktionsumgebungsassistent weist eine Datenerfassungseinheit 200 auf, die das Empfangen oder Abrufen von Daten aus der Produktionsumgebung eines Kunden übernimmt. Die Datenerfassungseinheit 200 empfängt Daten in der Regel über Programmierschnittstellen (APIs), die auf dem System des Kunden installiert und eingerichtet wurden. Die APIs sind dabei so eingerichtet, dass sie automatisch in regelmäßigen Abständen oder laufend bestimmte Arten von Daten an die Datenerfassungseinheit 200 senden. Die von den APIs an die Datenerfassungseinheit 200 gesendeten Daten können Datenpunkte beinhalten, die für verschiedene Messungen der Produktionsumgebung eines Kunden repräsentativ sind, sowie Ereignisdaten zu Ereignissen, die in der Produktionsumgebung des Kunden aufgetreten sind.
  • Dabei können sich die Daten auf Vorgänge, die von Computeranwendungen oder -programmen ausgeführt werden, auf die Computersysteme und -netzwerke selbst oder auch auf andere Daten, die das Geschäft des Kunden betreffen, beziehen. So können die an die Datenerfassungseinheit 200 gemeldeten Daten beispielsweise statistische Daten oder Informationen über die in der Produktionsumgebung vorkommende Geschäftstätigkeit des Kunden beinhalten, wie beispielsweise Informationen zu Umsätzen oder der Nutzung der Produktionsumgebung des Kunden. Fast alle Arten von Daten, die für die Produktionsumgebung eines Kunden relevant sind, können über eine oder mehrere auf den Systemen des Kunden installierte APIs an die Datenerfassungseinheit 200 gemeldet werden.
  • Der Produktionsumgebungsassistent 100 weist darüber hinaus eine Datenumwandlungs- und -speichereinheit 300 auf. Die Datenumwandlungs- und -speichereinheit 300 empfängt von der Produktionsumgebung eines Kunden Daten, wandelt die Daten um und reichert sie an und lädt die Daten in eine Datenwarteschlange. Die Datenumwandlungs- und -speichereinheit 300 kann darüber hinaus zum Speichern empfangener oder abgerufener Kundendaten in einem oder mehreren Datenrepositorien dienen.
  • Der Produktionsumgebungsassistent 100 weist darüber hinaus eine Metrikeinheit 400 auf. Die Metrikeinheit 400 empfängt oder erfasst Daten zur Produktionsumgebung eines Kunden und berechnet sodann unter Verwendung dieser Rohdaten verschiedene Metriken. Solche Berechnungen können (insbesondere) verschiedene statistische Gleichungen und Algorithmen sowie Ausreißer- und Anomalie-Algorithmen beinhalten. Die Metrikdaten werden daraufhin in einem Metrikrepository gespeichert.
  • Der Produktionsumgebungsassistent 100 weist ferner eine Bewertungseinheit 500 auf. Die Bewertungseinheit ruft Daten die Produktionsumgebung eines Kunden betreffend ab oder erfasst diese und analysiert die Daten, um zu bestimmen, ob ein vordefinierter Vorfall aufgetreten ist oder gegenwärtig in der Produktionsumgebung des Kunden auftritt. Die Bewertungseinheit 500 kann sowohl herkömmliche Analysetechniken als auch auf künstlicher Intelligenz beruhende Analysetechniken verwenden.
  • Der Produktionsumgebungsassistent 100 weist darüber hinaus eine Vorfalleinheit 600 auf. Die Vorfalleinheit 600 erhält von der Bewertungseinheit immer dann eine Benachrichtigung, wenn bestimmt wurde, dass ein vordefinierter Vorfall aufgetreten ist. Diese Vorfälle sind in einer Vorfalldatenbank gespeichert, in der mittels einer Abfrageeinheit eine Suche durchgeführt werden kann.
  • Der Produktionsumgebungsassistent 100 weist ferner eine Benachrichtigungseinheit 700 auf, die Vorfälle an den Kunden und Systemadministratoren meldet. Die Benachrichtigungseinheit 700 kann zum Übermitteln einer Benachrichtigung an einen Kunden oder Systemadministrator verschiedene Kommunikationskanäle verwenden.
  • Der Produktionsumgebungsassistent 100 weist ferner ein System aktiver Inspektoren 800 auf. Von dem System aktiver Inspektoren 800 werden einzelne aktive Inspektoren eingerichtet und betrieben, die jeweils so eingestellt sind, dass sie die Produktionsumgebung eines einzelnen Kunden auf das Auftreten eines bestimmten Problems überwachen. Ein aktiver Inspektor kann dabei auch so eingerichtet sein, dass er im Bemühen, ein festgestelltes Problem zu korrigieren, Behebungsmaßnahmen vornimmt.
  • Der Produktionsumgebungsassistent 100 weist ferner eine Behebungseinheit 900 auf. Die Behebungseinheit 900 ist so eingerichtet, dass sie Maßnahmen vornimmt, um ein Problem bei der Produktionsumgebung des Kunden zu korrigieren oder abzuschwächen, wenn solche Probleme festgestellt wurden. Der Produktionsumgebungsassistent 100 weist darüber hinaus ein Benutzerschnittstellensystem 1000 auf. Das Benutzerschnittstellensystem 1000 sieht verschiedene Möglichkeiten vor, wie ein Kunde mit dem Produktionsumgebungsassistenten 100 interagieren kann, um Daten abzurufen oder die Vornahme verschiedener Vorgänge zu veranlassen. Das Benutzerschnittstellensystem kann zum Interagieren mit einem Kunden Spracherkennungstechniken verwenden, natürliche Sprache oder vordefinierte sprachbasierte Befehle verwenden. Das Benutzerschnittstellensystem 1000 kann mit verschiedenen Kundennutzern auch auf herkömmlichere Weise interagieren, einschließlich grafischer Benutzeroberflächen, die über ein Computersystem präsentiert werden.
  • Die einzelnen vorstehend erläuterten Elemente des Produktionsumgebungsassistenten 100 werden nachstehend genauer erläutert. Darüber hinaus werden in den 11-17 die Schritte verschiedener Verfahren gezeigt, die von den Elementen des Produktionsumgebungsassistenten 100 ausgeführt werden, um die Produktionsumgebung eines Kunden zu überwachen, zu bestimmen, dass Probleme aufgetreten sind, diese Probleme zu melden und Behebungsmaßnahmen vorzunehmen.
  • 2 zeigt verschiedene Elemente einer Datenerfassungs- und -umwandlungseinheit 200, die ein Teil des Produktionsumgebungsassistenten 100 sein kann. Die Datenerfassungseinheit 200 weist eine passive Erfassungseinheit 202 auf, die von verschiedenen Systemen der Produktionsumgebung eines Kunden gemeldete Daten empfängt. Die an die passive Erfassungseinheit 202 gemeldeten Daten können mittels verschiedener, in der Produktionsumgebung des Kunden installierter APIs gemeldet werden. Alternativ oder zusätzlich kann auf Kundenservern oder Netzwerkgeräten ein dedizierter Agent installiert sein. Dieser Agent kann das eine oder die mehreren separaten API-Erfassungsverfahren verwenden. Die APIs sind zum regelmäßigen oder laufenden Melden verschiedener Informationen bezüglich des Betriebs der Produktionsumgebung des Kunden eingerichtet.
  • Die passive Erfassungseinheit 202 kann eine API-Konfigurationseinheit 204 aufweisen, die zur Unterstützung bei der Einrichtung der verschiedenen, in der Produktionsumgebung eines Kunden installierten APIs verwendet werden kann. Insbesondere kann die API-Konfigurationseinheit 204 verwendet werden, um den in der Produktionsumgebung eines Kunden installierten APIs einen oder mehrere kundenspezifische Verschlüsselungscodes, -token oder -schlüssel bereitzustellen. Die APIs fügen daraufhin diesen Verschlüsselungscode, -token oder -schlüssel den Daten hinzu, die sie der passiven Erfassungseinheit 204 melden.
  • Die passive Erfassungseinheit 202 weist darüber hinaus eine Datenempfangseinheit 206 auf, die die von den in der Produktionsumgebung eines Kunden installierten APIs gemeldeten Daten eigentlich empfängt. Die Datenempfangseinheit 206 überprüft die empfangenen Daten, um sicherzustellen, dass in ihnen ein passender kundenspezifischer Verschlüsselungsschlüssel, -token oder -code enthalten ist. Ist dies der Fall, akzeptiert die Datenempfangseinheit 206 die empfangenen Daten. Falls die empfangenen Daten keinen passenden Verschlüsselungscode, -token oder -schlüssel enthalten, ignoriert die Datenempfangseinheit die empfangenen Daten. Damit wird eine erhebliche Erschwerung des Spoofings künstlicher und/oder inkorrekter Daten durch einen böswilligen Dritten erreicht. Der kundenspezifische Verschlüsselungscode, -token oder -schlüssel kann auch dazu dienen, empfangene Daten als von einem bestimmten Kunden stammend zu identifizieren.
  • Die Datenerfassungseinheit 200 kann darüber hinaus eine aktive Erfassungseinheit 208 aufweisen. Die aktive Erfassungseinheit 208 fragt und ruft aktiv von einer Produktionsumgebung eines Kunden bestimmte Informationen ab, indem sie an die in der Produktionsumgebung eines Kunden installierten APIs Anforderungen sendet. Die aktive Erfassungseinheit 208 kann eine API-Konfigurationseinheit 210 aufweisen, die zur Unterstützung bei der Einrichtung der in der Produktionsumgebung eines Kunden installierten APIs, damit diese auf derartige Anforderungen reagieren, verwendet wird. Dies kann beinhalten, den APIs in der Produktionsumgebung eines Kunden verschiedene Verschlüsselungsschlüssel oder -codes bereitzustellen, die von der aktiven Erfassungseinheit 208 verwendet werden müssen, um von diesen APIs Informationen über die Produktionsumgebung eines Kunden abzurufen. Das heißt, die aktive Erfassungseinheit 208 muss den APIs in der Produktionsumgebung eines Kunden möglicherweise einen Verschlüsselungsschlüssel oder -code bereitstellen, um von diesen APIs Daten abzurufen. Die API-Konfigurationseinheit 210 unterstützt die Erstellung des Verschlüsselungsschlüssels oder -codes, der von der aktiven Erfassungseinheit 208 zum Abrufen von Informationen von den APIs in der Produktionsumgebung eines Kunden verwendet wird.
  • Die aktive Erfassungseinheit 208 kann darüber hinaus eine Einheit für Regeln der aktiven Erfassung 212 aufweisen. Die Einheit für Regeln der aktiven Erfassung ermöglicht es einem Systemadministrator oder einem Kunden, vordefinierte Regeln einzustellen, mit denen bestimmt wird, wann und wie die aktive Erfassungseinheit 208 von der Produktionsumgebung eines Kunden Informationen abfragt. Wurden solche Regeln erstellt, geht die aktive Erfassungseinheit 208 gemäß den Regeln vor.
  • Die aktive Erfassungseinheit 208 kann ferner eine Kundenkommunikationsüberwachungseinheit 214 aufweisen. Die Kundenkommunikationsüberwachungseinheit 214 kann eine Kommunikationserfassungseinheit 216 aufweisen, die durch verschiedene, bei einem bestimmten Kunden angestellte oder mit ihm in Verbindung stehende Personen erzeugte oder empfangene Kommunikationen überwacht. Dies kann die Erfassung sowohl von Kopien von E-Mail-Nachrichten, Textnachrichten, Sofortnachrichten oder anderen Formen schriftlicher Kommunikation als auch von Kopien von zwischen bestimmten Personen stattfindenden Audiokommunikationen beinhalten. Eine Kommunikationsanalyseeinheit 218 analysiert daraufhin die von der Kommunikationserfassungseinheit 216 erfassten Kundenkommunikationen, um das Bestimmen, ob auf dem System oder in der Produktionsumgebung eines Kunden bestimmte Aktivitäten auftreten, zu unterstützen.
  • Das Ziel der Erfassung und Analyse der Kundenkommunikation ist es, zu bestimmen, ob ein Problem in der Produktionsumgebung eines Kunden aufgetreten ist. Dazu kann die Kommunikationsanalyseeinheit 218 Kundenkommunikationen nach bestimmten Schlüsselwörtern durchsuchen, die mit einem bestimmten Problem im Zusammenhang stehen. Werden ein oder mehrere Schlüsselwörter, die mit einer bestimmen Art von Problem im Zusammenhang stehen, in der Kundenkommunikation gefunden, ist die Kommunikationsanalyseeinheit 218 fähig, diese Informationen für eine tiefe Korrelierung mit anderen von dem System empfangenen Signalen an die Bewertungseinheit 500 zu senden. Diese kann eine Benachrichtigung über das möglicherweise aufgetretene Problem an einen Systemadministrator oder möglicherweise an andere Elemente des Produktionsumgebungsassistenten senden, so dass eine detailliertere Prüfung oder Behebungsmaßnahmen vorgenommen werden können.
  • Die Kommunikationsanalyseeinheit 218 kann Schlüsselwörter in Kundenkommunikationen mit Wörtern der Informationstechnik vergleichen, die in bestimmten Kontexten eine bekannte Bedeutung haben. Das Ziel der Analyse ist es, die Absicht und das Vorgehen eines Kunden in Bezug auf bestimmte Arten von Problemen zu ermitteln. Zu diesem Zweck könnte ein Wörterbuch der Informationstechnik oder zu Computerbegriffen herangezogen werden. Darüber hinaus kann die Kommunikationsanalyseeinheit 218 im Laufe der Zeit ein solches Wörterbuch oder eine solche Datenbank mit Schlüsselwörtern aufbauen, in denen bestimmten Schlüsselwörter bestimmten Arten von Problemen zugeordnet werden. Ein solches Wörterbuch oder eine solche Datenbank kann nur für einen bestimmten Kunden gelten oder eine breitere Anwendbarkeit bei mehreren Kunden haben. Diese Art historisches Wissen kann sehr wertvoll dabei sein, festzustellen, wann ein Problem erneut auftritt.
  • Die Kommunikationsanalyseeinheit 218 kann Algorithmen der Computerlinguistik (CL) verwenden, um zunächst einen Korpus der IT-Systemabsichten und IT-Systemobjekte aufzubauen. Eine Absicht ist zum Beispiel eine Aktion, die automatisch oder manuell auf einem System vorgenommen wird. Bei „Neustart“, „Erhöhen“, „Herunterfahren“, „Löschen“, „Hinzufügen“, „Skalieren“, „Anpassen“ handelt es sich jeweils um Beispiele für Absichten oder Aktionen, die an einem IT-System vorgenommen werden können. Bei „Prozessor“, „Speicher“, „Teilnetz“, „Netzwerkschnittstelle“, „Garbage Collection“, „E/A“, „Diskette“ handelt es sich jeweils um IT-Begriffe. Zahlen und Prozentsätze sowie Substantive stellen die Begrenzungen dar, durch die die Semantik des Gesamtsatzes erzeugt wird. Meldet ein Mensch mittels eines Computerbenachrichtigungssystems zum Beispiel: „Aufgrund hoher Prozessorauslastung musste ich den Server, Name: abc123, neu starten“, identifiziert die den Satz analysierende Kommunikationsanalyseeinheit 218 die Schlüsselwörter, wie „Aufgrund“, „Hoher“, „Prozessor“, „Neustarten“, „abc123“. Diese Schlüsselwörter zu identifizieren und an die Bewertungseinheit 500 weiterzuleiten, trägt dazu bei, Kausalitäts- und Behebungszusammenhänge zwischen generischen IT-Komponenten, die an eine bestimmte Umgebung angepasst oder die transitiv in größeren IT-Systemumgebungen verwendet werden können, herzustellen.
  • Wie vorstehend erläutert, könnten die Datentypen, die von der Datenerfassungseinheit 200 erfasst werden können, verschiedene Datenpunkte zu einzelnen Computersystemen oder -netzwerken aufweisen, die in der Produktionsumgebung eines Kunden vorhanden sind. Die Datenpunkte können darüber hinaus den Betrieb einzelner Softwareanwendungen betreffen, die in der Produktionsumgebung eines Kunden ausgeführt werden. Darüber hinaus können die von der Datenerfassungseinheit 200 erfassten Daten Informationen zum Geschäftsbetrieb beinhalten, wie Finanzinformationen, Umsatzdaten, Datenverkehr innerhalb eines Online-Einzelhandelssystems, Datenverkehr innerhalb eines Kommunikationssystems sowie fast jede andere Art von die Abläufe in der Produktionsumgebung eines Kunden betreffenden Daten.
  • Bei vielen Kunden wurden bereits verschiedene Überwachungssysteme oder Überwachungssoftwareanwendungen zum Überwachen des Betriebs der Produktionsumgebung des Kunden installiert. Die Datenerfassungseinheit 200 kann Informationen abrufen, die von diesen separaten Überwachungssystemen gemeldet werden, und zwar häufig über mit diesen Überwachungssystemen oder Überwachungssoftwareanwendungen bereitgestellte APIs. Beispiele für solche Überwachungssysteme oder Überwachungssoftwareanwendungen sind Graphit, New Relic, Appdynamics, Datadog, Ruxit (von Dynatrace), Takipi, Rollbar, Sensu, Nagios, Zabbix, ELK Stack sowie fast alle sonstigen Überwachungswerkzeuge für Produktionsu mgebu ngen.
  • Die Datenerfassungs- und -umwandlungseinheit 300 des Produktionsumgebungsassistenten 100 weist eine Datenwarteschlange 302 auf. Die von der Datenerfassungseinheit 200 abgerufenen Daten und Informationen werden zunächst in die Datenwarteschlange 302 geladen. Die Datenwarteschlange 302 kann eine Datenpunktwarteschlange 304 und eine Ereigniswarteschlange 306 aufweisen. Die Datenwarteschlange 302 ist so eingerichtet, dass sie eine umfangreiche Menge an von den Produktionsumgebungen verschiedener Kunden empfangenen Daten vorhalten kann. So kann die Datenwarteschlange 302 so eingerichtet sein, dass sie Daten von bis zu einer Woche vorhält, die von mehreren verschiedenen Kundenproduktionsumgebungen gemeldet wurden. Die Daten unverzüglich in die Datenwarteschlange 302 einzustellen stellt sicher, dass die empfangenen Daten nie verloren werden.
  • Eine Speicheroptimierungseinheit 314 analysiert sodann die Daten in der Datenwarteschlange 302 und speichert alle oder verschiedene Teile der empfangenen Daten in einem Kurzzeitrepository 308, einem Mittelzeitrepository 310 und einem Langzeitrepository 312. Die Speicheroptimierungseinheit 314 kann dazu dienen, die Daten zum Minimieren der Datenspeicherkosten hocheffizient speichern. Darüber hinaus kann die Speicheroptimierungseinheit 314 die Zerlegung der empfangenen Daten in ihre Bestandteile und die Speicherung der empfangenen Daten in vordefinierten Formaten übernehmen, womit die Analyse dieser Daten zu einem späteren Zeitpunkt vereinfacht wird.
  • Die Speicheroptimierungseinheit 314 implementiert eine Konfigurationsvorlage, die die Erweiterung der verschiedenen Speichertypen und -zeiträume unterstützt. Die Vorlage kann zum Beispiel Kategorien enthalten, die zunächst eine Speicherung in einem extrem kurzzeitigen, nur den Arbeitsspeicher verwendenden Repository verwenden. Dies kann auf jedem Knoten als tmpfs-Dateiensystem oder mittels jeglicher sonstiger In-Memory-Technik, wie einer Cache-Schicht (Redis, Memcache, RabbitMQ, ActiveMQ oder sonstigen verwandten Techniken), implementiert sein. Die Vorlage kann darüber hinaus entsprechend die Kurzzeit-, Mittelzeit- und Langzeitspeicherschicht beinhalten. Die Konfigurationsvorlage kann auch die einzelnen Speicherschichtprioritäten, die Bestimmung der Ausweichstrategie (im Falle eines Schreib- oder Lesefehlers) und den zu speichernden Objekttyp beinhalten.
  • Die Speicheroptimierungseinheit 314 sieht zunächst in der Konfigurationsvorlage nach und berechnet daraufhin für jedes Speicherobjekt in Echtzeit, welche die optimale zu verwendende Speicherschicht ist, und implementiert sodann die Richtlinien basierend auf einem Verfahren mit mehreren Speicherebenen. Muss ein Objekt aufgerufen werden, kann, da der Objekttyp und die Zeit bereits bekannt sind, der Suchvorgang übersprungen und direkt auf die relevante Ebene gezeigt werden. Dadurch wird hinsichtlich der Speicherkosten und der Leistung ein großer Vorteil erreicht.
  • Der Speicheroptimierungsalgorithmus kann darüber hinaus die tatsächlichen Daten zwischen verschiedenen Ebenen und in separate Dateien aufteilen. Enthält ein Datenstrom die Datenpunkte eines Monats, liest die Speicheroptimierungseinheit 314 zum Beispiel die Richtlinienvorlage und basierend auf Zeit, Prioritäten, Kosten oder sonstigen Attributen, dass die Datenpunkte eines Monat in kleinere Abschnitte und darüber hinaus über verschiedene Speicherarten aufgeteilt werden können. Nach einer Leseanforderung werden die einzelnen konkreten Informationen aufgerufen und vor dem Zurückschicken im Speicher als Komplettergebnis zusammengesetzt.
  • Eine Metrikeinheit 400, die Teil des Produktionsumgebungsassistenten 100 ist, übernimmt basierend auf von der Produktionsumgebung eines Kunden empfangenen oder abgerufenen Daten die Berechnung verschiedener Metriken. Die Metrikeinheit weist eine Metrikkonfigurationseinheit 404 auf, die es einem Systemadministrator und/oder einem Kunden ermöglicht, zu bestimmen, welche Art von Metriken aus den Kundendaten zu berechnen ist. Eine Metrikberechnungseinheit 406 führt dann basierend auf den von der Metrikkonfigurationseinheit 404 erstellten Konfigurationen die eigentlichen Metrikberechnungen durch.
  • Beispiele für Metriken, die aus von einer Produktionsumgebung eines Kunden empfangenen Datenpunkten berechnet werden können, sind unter anderem ein Durchschnittswert, ein Mittelwert, eine Varianz, eine Kovarianz sowie fast jede andere Art Metrik. Solche Metriken können unter Verwendung mehrerer Ausreißererkennungsalgorithmen, wie DBSCAN, Hampel Filter, HoltWinters, berechnet werden. Diese Metrikwerte können für einen bestimmten Zeitraum oder basierend auf einer anderen Art von Gruppierung berechnet werden. Die Metrikberechnungseinheit 406 kann Daten verwenden, die direkt der Datenwarteschlange 302 der Datenerfassungs- und -umwandlungseinheit 300 entnommen werden, oder Daten, die dem Kurzzeitrepository 308, Mittelzeitrepository 310 und Langzeitrepository 312 oder Kombinationen dieser Quellen entnommen werden. Berechnete Metriken werden in einem Metrikrepository 407 gespeichert.
  • Die Metrikeinheit 400 weist eine Metrikabfrageschnittstelle 408 auf, die es Systemadministratoren, Benutzern und anderen Elementen des Produktionsumgebungsassistenten 100 ermöglicht, Abfragen durchzuführen und Informationen aus den berechneten Metrikinformationen im Metrikrepository 407 abzurufen. Die Metrikabfrageschnittstelle ermöglicht es, berechnete Metriken einer Produktionsumgebung eines einzelnen Kunden oder Metriken, die für mehrere verschiedene Kundenproduktionsumgebungen berechnet wurden, abzurufen. Dadurch können die Metriken einer Produktionsumgebung mit den Metriken einer anderen Produktionsumgebung verglichen werden, um die Identifizierung von Trends und Problemen zu unterstützen.
  • Die Metrikberechnungseinheit 406 kann auch Metriken von Metriken berechnen. Das heißt, von der Metrikberechnungseinheit 406 kann ein Durchschnittswert einer Produktionsumgebungsvariablen berechnet werden, die für mehrere verschiedene ähnliche Produktionsumgebungen berechnet wurde, um einen globalen Durchschnitt der Variablen zu bilden. Der globale Durchschnittswert wird in dem Metrikrepository 407 gespeichert. Der globale Durchschnittswert kann sodann als Ausgangswert verwendet werden, mit dem der Durchschnittswert eines bestimmten Kunden verglichen wird. Der durchschnittliche Metrikwert dieser Variablen des bestimmten Kunden wird dann mit dem berechneten globalen Durchschnittswert dieser Variablen verglichen, um zu prüfen, wie sich die Produktionsumgebung des bestimmten Kunden im Vergleich zum globalen Durchschnitt darstellt.
  • Viele Einzelunternehmen verfügen nicht über die Fähigkeit, den Vergleich einer einzelnen Produktionsumgebungsmetrik mit einem globalen Durchschnitt durchzuführen. In der Regel kann ein Unternehmen nur auf die eigenen Metriken zugreifen. Die Fähigkeit Metriken der Produktionsumgebungen anderer Kunden mit Durchschnittswerten derselben Metrik zu vergleichen, kann daher ein leistungsstarkes Werkzeug sein, das die Identifizierung von Problemen bei einer einzelnen Produktionsumgebung unterstützt. Da die Metrikeinheit 400 nicht nur Rohdatenpunkte, sondern auch Ereignisse speichern kann, sind darüber hinaus eine Zusammenführung mehrerer Attribute und Kombinationen von Ereignissen und Datenpunkten möglich. Diese leistungsstarke Kombination ermöglicht es dem Administrator, gleichzeitig berechnete Datenpunkte abzufragen und korrelierte Ereignisse zu untersuchen. Dieses Verfahren kann auch automatisch zur Identifizierung möglicher Korrelationen zwischen Ereignissen, System/Server und Zeit verwendet werden.
  • Ereigniskorrelationen stellen die Verfahren und Mittel zum Erkennen des Auftretens außergewöhnlicher Ereignissen in einem komplexen System und zum Festzustellen, welches bestimmte Ereignis auftrat und wo es auftrat, dar. Die Menge der Ereignisse, die auftreten können, kann in dem System über einen Zeitraum als Ereignisströme erfasst werden.
  • Die Bewertungseinheit 500 des Umgebungsassistenten 100 verwendet sowohl empfangene Kundendaten als auch berechnete Metriken, um verschiedene Analysen durchzuführen, die dazu ausgelegt sind, zu bestimmen, ob in der Produktionsumgebung eines Kunden Probleme auftreten und wie sie zueinander in Beziehung stehen. Da die Ereigniskorrelation sowohl in der „Raum-“ als auch in der Zeitdimension stattfinden kann, werden Ereignisse häufig basierend auf dem zeitlichen Ablauf und den Abhängigkeiten in Beziehung gebracht.
  • Die Bewertungseinheit 500 weist eine Einheit für Bewertungsregeln 502 auf, die zur Erstellung individueller, auf den einzelnen Kunden zugeschnittener Regeln verwendet wird. Die Einheit für Bewertungsregeln 502 weist eine Regelerstelleinheit 504 auf, die es Systemadministratoren und Kunden ermöglicht, verschiedene Regeln zu erstellen, die festlegen, welche Arten der Bewertung bei einer Produktionsumgebung eines Kunden durchzuführen sind. In den Regeln kann auch festgelegt sein, wie häufig und/oder unter welchen Umstände eine bestimmte Art der Bewertung durchgeführt werden soll. In den Regeln können darüber hinaus verschiedenen Aspekte der Art und Weise der Durchführung einer bestimmten Analyse festgelegt sein.
  • Die Einheit für Bewertungsregeln 502 weist darüber hinaus eine Kundenschnittstelle 506 auf, die es einem einzelnen Kunden ermöglicht, zum Überwachen der Arten der vorgenommenen Bewertungen auf die Einheit für Bewertungsregeln zuzugreifen und die für den Kunden erstellten Bewertungsregeln im Nachhinein zu ändern. Die Einheit für Bewertungsregeln 502 weist darüber hinaus eine Regeldatenbank 508 auf, in der die Bewertungsregeln tatsächlich gespeichert sind.
  • Eine Analyseeinheit 512 der Bewertungseinheit 500 führt mithilfe der in der Regeldatenbank 508 gespeicherten Regeln diverse Analysen durch. Die Analyseeinheit 512 kann klassische Analysen sowie Analysen auf Basis von künstlicher Intelligenz ausführen. Beispielsweise könnte die Analyseeinheit 512 eine DROOLS-basierte Maschine zur Analyse von Daten verwenden, die auf einer Regelbasis basiert, die Fachwissen in der Form von Wenn-dann- oder Bedingung-Handlung-Regeln enthält. Der Bedingungsteil jeder Regel bestimmt, ob die Regel auf Basis des aktuellen Zustands des Arbeitsspeichers angewendet werden kann. Der Handlungsteil einer Regel beinhaltet eine Schlussfolgerung, die aus der Regel geschlossen werden kann, wenn die Bedingung erfüllt wird. Der Arbeitsspeicher wird laufend nach Fakten gescannt, die zur Erfüllung des Bedingungsteils einer jeden Regel verwendet werden können. Wenn eine Bedingung gefunden wird, wird die Regel ausgeführt. Die Ausführung einer Regel bedeutet, dass der Arbeitsspeicher auf Basis der in der Regel enthaltenen Schlussfolgerung aktualisiert wird.
  • Alternativ könnte die Analyseeinheit 512 diverse Arten von regelbasierten künstlich intelligenten Maschinen wie das CLIPS-System verwenden, das ein von der NASA entwickeltes Open-Source-System ist. Diverse andere Arten von künstlich intelligenten Techniken und Bewertungsmaschinen könnten von der Analyseeinheit 512 ebenso zur Analyse von Kundendaten und Messwerten verwendet werden sowie zur Anwendung von Korrelation und Rauschunterdrückung zur Bestimmung, ob ein Problem oder eine Schwierigkeit innerhalb einer Produktionsumgebung eines Kunden auftritt. Die Analyseeinheit 512 könnte auch die Grundursache einer logikbasierten Schwierigkeit bestimmen.
  • Der von der Analyseeinheit 512 verwendete Kl-Ansatz benutzt von diversen Ereignissen gewonnenes Wissen aus verschiedenen IT-Überwachungslösungen/-sensoren/-agenten und dem Endnutzerfeedback. Logik wird erreicht, indem Regeln zur Erkennung der Semantik des Ereignisses sowie generische Modelle angewendet werden, die vielmehr auf generischen Algorithmen als auf Fachwissen aufbauen, um Ereignisse auf Basis einer Abstraktion der Systemarchitektur und ihrer Komponenten zu korrelieren.
  • Wenn beispielsweise die Ereignisse A und B erkannt werden, und es bekannt ist, dass Ereignis A durch Problem n1, n2 oder n3 verursacht hätte werden können und Ereignis B durch Problem n2, n4 oder n6 verursacht hätte werden können, dann lautet die Diagnose, dass Problem n2 aufgetreten ist, weil es einen Schnittpunkt von möglichen Quellen der Ereignisse A und B darstellt. Die Planung wird erreicht, indem der gesamte Systemzustand und Bedingungen analysiert werden, bevor eine Maßnahme oder Empfehlung angewendet wird. Das Lernen wird erreicht, indem mehrere maschinelle Lernalgorithmen aus der Familie von überwachtem und unüberwachtem Lernen angewendet werden.
  • Ein weiterer Lernansatz, der verwendet werden könnte, ist der Versionsraum-Algorithmus. Bei einem Hypothesenraum H und Trainingsdaten D ist der Versionsraum die komplette Untermenge von H, die mit D konsistent ist. Der Versionsraum kann für jegliches finites H naiv erzeugt werden, indem alle Hypothesen aufgelistet und die inkonsistenten entfernt werden. In einem weiteren Lernbeispiel würde man zuerst eine Datenbank scannen, um häufige Elemente zu ermitteln, z. B. {a, b, c, d...}. Für jedes Paar solcher Elemente wird versucht, eine Regel mit nur zwei Elementen zu erstellen, z. B. {a}⇒{b}. Im Anschluss werden größere Regeln ermittelt, indem die Datenbank rekursiv gescannt wird, um jeweils ein einzelnes Element am linken oder rechten Teil einer jeden Regel hinzuzufügen (linke und rechte Erweiterungen), z. B. {a, c} =>{b}, dann {a, c, d} =>{b} etc.
  • Jede erstellte Regel wird getestet, um zu sehen, ob sie gültig ist. Dies bietet einen automatisierten und konstanten Lernansatz für die Erstellung und Anpassung von Regeln. Außerdem bietet es die Möglichkeit, Regeln und Logik zwischen verschiedenen Kunden zu übertragen. Da IT-Produktionsumgebungen mit exakten oder ähnlichen Techniken identifiziert werden können, gibt es spezifische technologische Signaturen, die möglicherweise verwendet werden können. Beispielsweise könnte Kunde A auf seine Umgebung bezogene Regeln festlegen, die innerhalb einer Containertechnologie wie Docker bereitgestellt wird. Da die Containertechnologie selbst gut bekannt ist, verfügt sie über eine Menge von Sensoren und Parametern, die in jeglicher Bereitstellung immer relevant sind. Sobald die Grundsignatur bei dem Kunden B erkannt wird, könnte das System dieselben generischen Regeln einspeisen und dem Benutzer empfehlen, die für seine eigenen Bedürfnisse relevante Anpassung durchzuführen.
  • Schließlich wird natürliche Sprachverarbeitung (Kommunikation), Wahrnehmung und die Handlungsfähigkeit auch als Teil der Behebungsmaschine implementiert. Einige der präventiven Überwachungsansätze umfassen statistische Analysen (hauptsächlich Bayessche Netze), neuronale Netzwerke und Fuzzylogik.
  • Die Bewertungseinheit 500 kann auch eine Datenerfassungseinheit umfassen, die von der Analyseeinheit 512 verwendet wird, um die benötigten Daten zur Durchführung eines bestimmten Analysetyps zu gewinnen. Die Datenerfassungseinheit 510 kann Daten aus dem Messwert-Repository 407 und auch aus jeglicher Datenquelle gewinnen, die von der Datensammlungs- und transformationseinheit 300 bereitgestellt werden. In manchen Fällen kann die Datenerfassungseinheit 510 die Dienste der aktiven Sammlungseinheit 208 einsetzen, um gewisse Daten zu gewinnen, die zur Durchführung einer Analyse benötigt werden.
  • Wenn die Analyseeinheit 512 letztlich zu dem Schluss kommt, dass ein Problem oder eine Schwierigkeit innerhalb einer Produktionsumgebung eines Kunden auftritt oder auftreten könnte, zeigt die Analyseeinheit an, dass ein „Vorfall“ aufgetreten ist. Der Begriff „Vorfall“ ist ein weitgefasster Begriff, der dazu vorgesehen ist, auf jegliche Art von Aktivität, Verlauf, Vorkommen oder Ereignis angewendet zu werden, was als Schwierigkeit oder Problem für eine Produktionsumgebung eines Kunden angesehen werden könnte. Vorfälle können auftreten, sobald eine spezifische Bedingung von der Bewertungseinheit 500 bestätigt worden ist. Eine Bedingung kann eine erkannte Anomalie, eine spezifische Messwertberechnung oder ein Datenpunkt, der über oder unter einer Schwelle liegt, ein Ereignis (wie eine neue Codebereitstellung, eine neue erkannte Skalierungsaktivität oder eine erkannte Konfigurationsänderung), eine komplizierte Berechnung wie eine Änderungsrate oder sogar eine Kombination aus alledem sein. Vorfälle können ebenso analysiert und für den nächsten Bewertungszyklus berücksichtigt werden.
  • Wenn bestimmt wurde, dass Vorfälle aufgetreten sind, werden die Vorfälle an die Vorfalleinheit 600 berichtet. Die Vorfalleinheit 600 umfasst eine Instantdatenbank 602, in der solche Vorfälle aufgezeichnet werden. Die Vorfalleinheit 600 umfasst außerdem eine Vorfallabfrageeinheit 604, die verwendet werden kann, um Informationen in der Vorfalldatenbank 602 abzufragen. Abfragen könnten für eine einzelne Produktionsumgebung eines Kunden durchgeführt werden. Alternativ könnte es die Vorfallabfrageeinheit 604 einem Benutzer ermöglichen, eine Abfrage für denselben oder einen ähnlichen Vorfall durchzuführen, der in mehreren verschiedenen Produktionsumgebungen von Kunden aufgetreten ist.
  • Wenn beispielsweise eine bestimmte neue Art von Vorfällen für eine Produktionsumgebung eines Kunden zum ersten Mal aufgetreten ist, könnte man anschließend die Vorfalldatenbank 602 abfragen, um zu bestimmen, ob derselbe oder ein ähnlicher Vorfall in anderen Produktionsumgebungen von Kunden aufgetreten ist. Wenn ja, könnte man sich anschließend andere Produktionsumgebungen von Kunden ansehen, um zu bestimmen, welche Art von Behebungsmaßnahmen den Vorfall gelöst oder gemindert hat. Daher bietet die Fähigkeit, Vorfälle in allen Produktionsumgebungen von Kunden abzufragen, ein wertvolles Hilfstool, mit dem schnell bestimmt werden kann, wie Schwierigkeiten gelöst oder gemindert werden können.
  • Diese Fähigkeit, mehrere Produktionsumgebungen von Kunden zu überwachen und aus ihnen zu lernen, erhöht im Vergleich zu einem System, das nur einer Produktionsumgebung gewidmet ist, die Wissensbasis drastisch. Außerdem hilft die Fähigkeit dabei, aus mehreren Produktionsumgebungen von Kunden erzeugte Daten mit Logik und Kausalzusammenhängen zu überprüfen. Die Fähigkeit, etwas in einem gemeinsamen schnellen Datenspeicher zu indizieren, der eine Wissensbasis mit Vorfällen verschiedener Kunden, Umgebungen, Ereignisse und Datenpunkte umfasst, ermöglicht Ähnlichkeitsalgorithmen auf Basis von Zeit, Semantik, Schlüsselbegriffen und Abhängigkeiten zwischen den Systemen.
  • Wenn beispielsweise derselbe Ereignisname nach einer spezifischen Sequenz auftritt, weist das System zu Darstellungszwecken dieser Sequenz und jedem Schritt eine Nummer zu. Die Anwendung von Sequenzmatching, Ähnlichkeitsalgorithmen wie Hamming-Abstand, BM25, DFR, DFI, IB-Ähnlichkeiten, LM Dirichlet, LM Jelinek Mercer-Ähnlichkeit sowie Apriori-Algorithmen kann die bestmögliche Übereinstimmung bestimmen und jede Relevanz bewerten. Auch hier ist es wieder so, dass es diese Fähigkeit nicht geben würde, wenn ein Kunde nur auf seine eigenen vergangenen Vorfälle aufbauen kann.
  • Die Benachrichtigungseinheit 700 ist dafür verantwortlich, einen Kunden zu benachrichtigen, wenn Probleme oder Schwierigkeiten aufgetreten sind. Die Benachrichtigungseinheit umfasst eine Einstellungseinheit für Benachrichtigungsregeln 702, die von Systemadministratoren und Kunden zur Bestimmung verwendet wird, wann und/oder wie Vorfälle an einen Kunden berichtet werden. Die von der Einstellungseinheit für Benachrichtigungsregeln 702 festgelegten Regeln werden anschließend in der Benachrichtigungsregeldatenbank 704 gespeichert. Eine Benachrichtigungsanalyseeinheit 706 verwendet die Regeln der Benachrichtigungsregeldatenbank zur Bestimmung, ob oder wann die von der Bewertungseinheit 500 identifizierten Vorfälle an einen Kunden berichtet werden sollen. Wie unten ausführlicher erklärt wird, könnte die Benachrichtigungsanalyseeinheit 706 bestimmen, dass es notwendig ist, eine Sekundäranalyse oder -untersuchung durchzuführen, sobald bestimmt wird, dass ein Vorfall aufgetreten ist, bevor der Vorfall tatsächlich an den Kunden berichtet wird.
  • Die Benachrichtigungseinheit 700 umfasst eine Benachrichtigungsübertragungseinheit 708, die dafür verantwortlich ist, einen Kunden über Vorfälle und andere Informationen zu benachrichtigen. Die Benachrichtigungsübertragungseinheit 708 kann diverse Kommunikationskanäle verwenden, um solche Benachrichtigungen an einen Kunden zu übermitteln. Die Benachrichtigungen könnten beispielsweise per E-Mail, SMS, Instant Messaging, Telefonanruf, Pager oder virtuell über jeglichen anderen Kommunikationskanal mit einer Verbindung zum Kunden übermittelt werden. Ebenso könnte die Benachrichtigungsübertragungseinheit 708 konfiguriert werden, um sowohl an einen Kunden als auch an einen Systemadministrator des Produktionsumgebungsassistenten 100 Benachrichtigungen zu übermitteln. Die Regeln der Benachrichtigungsregeldatenbank 704 geben üblicherweise an, wer eine solche Benachrichtigung empfangen soll und wie die Benachrichtigung übertragen wird.
  • Der Produktionsumgebungsassistent 100 umfasst ein aktives Inspektionssystem 800. Das aktive Inspektionssystem 800 umfasst eine aktive Inspektionskonfigurationseinheit 802, die verwendet werden würde, um individuelle aktive Inspektoren für einen bestimmten Kunden zu konfigurieren. Anders ausgedrückt könnte ein bestimmter Kunde mehrere aktive Inspektoren haben, die alle gleichzeitig einsatzbereit sind. Jeder individuelle aktive Inspektor wäre für die Suche nach oder Analyse von einer bestimmten Art von Problemen oder Schwierigkeiten konfiguriert.
  • Das aktive Inspektionssystem 800 umfasst eine Datenerfassungs- und analyseeinheit 804. Die Datenerfassungs- und analyseeinheit 804 könnte Informationen aus der Datenwarteschlange 302 der Datensammlungs- und transformationseinheit 300, dem kurzfristigen Repository 308, dem mittelfristigen Repository 310 und/oder der langfristigen Repository-Einheit 312 gewinnen. Die Datenerfassungs- und analyseeinheit 804 kann außerdem nach Informationen suchen, die von der Messwerteinheit 400 berechnet und dem Messwert-Repository 407 gespeichert worden sind. Darüber hinaus könnte die Datenerfassungs- und analyseeinheit 804 die Dienste der aktiven Sammlungseinheit 208 der Datensammlungseinheit 200 verwenden, um aktiv diverse Informationselemente direkt von einer Produktionsumgebung eines Kunden durch APIs zu gewinnen, die in der Produktionsumgebung eines Kunden konfiguriert worden sind.
  • Bei Bedarf könnte die Datenerfassungs- und analyseeinheit 804 die Dienste der Messwerteinheit 400 zur Berechnung der Messwerte aus den gewonnenen Daten verwenden. Die Datenerfassungs- und analyseeinheit 804 könnte außerdem die Dienste der Bewertungseinheit 500 zur Bewertung der erworbenen Informationen und Messwerte verwenden. Schließlich bestimmt die Datenerfassungs- und analyseeinheit 804, ob die Schwierigkeit, das Ereignis, das Problem oder der Vorfall, für deren/dessen Überwachung sie konfiguriert worden ist, aufgetreten ist oder nicht. Wenn ja, würde eine Berichtseinheit 806 des aktiven Inspektionssystems 800 anschließend über das Vorkommen dieser Schwierigkeit, dieses Problems, Ereignisses oder Vorfalls berichten. Die Berichtseinheit 806 könnte die Dienste der Benachrichtigungseinheit 700 für die Durchführung des Berichtens verwenden.
  • Der Produktionsumgebungsassistent 100 umfasst außerdem eine Behebungseinheit 900. Die Behebungseinheit 900 ist konfiguriert, um aktive Schritte zu unternehmen und zu versuchen, jegliche Probleme oder Schwierigkeiten zu korrigieren oder mindern, die möglicherweise innerhalb einer Produktionsumgebung eines Kunden aufgetreten sind. Die Behebungseinheit 900 umfasst eine Benachrichtigungsanalyseoberfläche 902. Die Benachrichtigungsanalyseoberfläche 902 empfängt Benachrichtigungen über Vorfälle, die aufgetreten sind, wobei diese Benachrichtigungen über die Benachrichtigungseinheit 700 übermittelt worden sind. Eine Analyseeinheit der Schlüsselwörter 904 analysiert anschließend die Benachrichtigung zur Bestimmung, ob gewisse Schlüsselwörter in der Benachrichtigung vorhanden sind. Eine Problemidentifikationseinheit 906 verwendet die Ausgabe von der Analyseeinheit der Schlüsselwörter 904 zur Bestimmung, ob der berichtete Vorfall ein Indikator für eine vordefinierte Art von Problemen ist.
  • Wenn die Benachrichtigungsanalyseoberfläche 902 schließlich bestimmt, dass eine vordefinierte Art von Problemen oder Schwierigkeiten aufgetreten ist, überprüft die Behebungsempfehlungseinheit 908 diverse Informationselemente zur Bestimmung, ob es ein festgelegtes Protokoll zur Korrektur, Minderung oder für einen anderweitigen Umgang mit der identifizierten Schwierigkeit oder dem identifizierten Problem gibt. Die Behebungsempfehlungseinheit 908 kann in der Behebungsmaßnahmendatenbank 910 nach vordefinierten Hilfsmöglichkeiten suchen, um ein Problem oder eine Schwierigkeit zu entschärfen. Die Behebungsempfehlungseinheit 908 kann außerdem ein Benutzerportal 912 umfassen, das es diversen Benutzern ermöglicht, zur Behebungsmaßnahmendatenbank 910 beizutragen.
  • In einer bestimmten Implementierung kann die Behebungsmaßnahmendatenbank 910 Ansible-Playbooks verwenden. Ein Remote-Ausführungsmodell mit Secure Shell (SSH) wird zur Ausführung des Vorgangs auf jedem Host verwendet oder indem eine Menge von API-Instruktionen in der Infrastruktur wie der Public Cloud Provider von Amazon Web Services, Google Cloud, Microsoft Azure Cloud oder jeglicher andere öffentliche oder private Cloudservice (wie Cloud Foundry, OpenStack und andere) ausgeführt werden, solange sie die Programmierschnittstelle (Application Programming Interface, API) unterstützen. Durch die Bereitstellung und Darlegung eines einzelnen Repository auf Basis von Schlüsselwörtern, Systemen und Maßnahmen zur Behebung kann jeder nach einem spezifischen Verwendungsfall suchen und ein relevantes Playbook oder Skript zur Behebung finden. Ein Beitragender kann seine eigene Erfahrung teilen, indem er ein Skript zur Behebung gemäß einer vordefinierten Vorlage verfasst und es in das gemeinsame Repository hochlädt. Dem System wird es somit ermöglicht, jedes Schlüsselwort und jeden Handlungsbegriff aus der vordefinierten Vorlage zu indizieren und sie jedem zur Ausführung zur Verfügung zu stellen. Das gemeinsame System und Wissen zur Behebung erhöht die Behebungsverlässlichkeit und reduziert Ausführungsfehler.
  • In manchen Fällen kann die Behebungsempfehlungseinheit 908 auf mehrere Behebungsmaßnahmen in der Behebungsmaßnahmendatenbank 910 stoßen, die verwendet werden könnten, um eine identifizierte Schwierigkeit oder ein identifiziertes Problem anzugehen. Tritt dies auf, könnte die Abfrageeinheit 914 verwendet werden, um Eingaben von einem Systemadministrator oder einem Kunden zu gewinnen, welche der Behebungsmaßnahmen versuchsweise eingesetzt werden könnten, um die identifizierte Schwierigkeit oder das identifizierte Problem zu mindern oder zu lösen. Außerdem könnte ein Systemadministrator oder Kunde neben der möglichen Auswahl einer Behebungsmaßnahme mehrere Behebungsmaßnahmen identifizieren, die in einer bestimmten Reihenfolge eingesetzt werden könnten, bis das identifizierte Problem gelöst oder gemindert wird.
  • Sobald eine Behebungsmaßnahme oder eine Gruppe von Behebungsmaßnahmen identifiziert worden ist, interagiert eine Behebungsmaßnahmeneinheit 916 mit einer Produktionsumgebung eines Kunden, um versuchsweise die Behebungsmaßnahme(n) auszuführen, um das Problem oder die Schwierigkeit zu mindern oder zu lösen.
  • Ein Benutzeroberflächensystem wird in 10 dargestellt. Das Benutzeroberflächensystem 1000 ist individualisierbar und kann sich an diverse Benutzerumgebungen anpassen. Eine benutzerspezifische Individualisierungseinheit 1002 bestimmt, wie am besten mit einem Kunden und seinen Rechengeräten interagiert wird und speichert benutzerspezifische Individualisierungsinformationen in einer Benutzerprofildatenbank 1004. Die benutzerspezifischen Individualisierungsinformationen können Informationen über spezifische Geräte und Anzeigebildschirme umfassen, die ein Benutzer üblicherweise zur Interaktion mit dem Produktionsumgebungsassistenten 100 verwendet. Die benutzerspezifischen Individualisierungsinformationen können außerdem Informationen umfassen, ob der Benutzer mit Texten, Sprache und/oder Videos interagiert. Weiters können die benutzerspezifischen Individualisierungsinformationen Informationen umfassen, die es dem Benutzeroberflächensystem 1000 ermöglichen, sich an spezifische Benutzercharakteristika oder -züge anzupassen, beispielsweise Wissen über den Akzent eines Benutzers, der berücksichtigt werden muss, wenn Sprachbefehle des Benutzers verarbeitet werden. Die in der Benutzerprofildatenbank 1002 gespeicherten Informationen ermöglichen es dem Benutzeroberflächensystem 1000 Informationen zu formatieren, sodass sie effektiv auf benutzerspezifischen Rechengeräten wie spezifischen Anzeigebildschirmen, spezifischen Smartphones, Tablets und anderen Mobilgeräten angezeigt werden können.
  • Das Benutzeroberflächensystem 1000 ist außerdem in der Lage, diverse Formen der Benutzerinteraktion durchzuführen. Wenn sich der Benutzer dazu entscheidet, über Texte zu interagieren, führt eine Textoberfläche 1006 die Benutzerinteraktion durch. Die Textoberfläche könnte eine oder mehrere ChatBot-Komponenten oder -dienste zur Kommunikation mit einem Benutzer verwenden. Ein ChatBot ist grundsätzlich ein Computerprogramm, das zur Simulierung von Konversationen zwischen menschlichen Benutzern vor allem über das Internet entwickelt wurde. Ein ChatBot ist typischerweise von Regeln und künstlicher Intelligenz gesteuert, sodass der Benutzer wahrnimmt, dass er mit einem anderen Menschen interagiert. Die Textoberfläche 1006 könnte eine oder mehrere eigene ChatBot-Komponenten oder -dienste umfassen, oder die Textoberfläche 1006 könnte ChatBot-Komponenten oder -dienste verwenden, die von anderen Dienstanbietern bereitgestellt werden. Beispielsweise könnte die Textoberfläche einen ChatBot verwenden, der von Facebook, Messenger, Slack, HipChat, Telegram oder anderen Onlineanbietern bereitgestellt wird.
  • In einer typischen textbasierten Interaktion würde ein Benutzer eine Frage stellen oder einen Befehl über einen Text erteilen, und die Textoberfläche 1006 würde den Text interpretieren und dazu führen, dass eine entsprechende Maßnahme auftritt. Beispielsweise könnte ein Benutzer eine textbasierte Frage erstellen, und die Textoberfläche 1006 würde die Frage interpretieren, dazu führen, dass eine Frage erhalten wird, und dem Benutzer die Antwort über eine textbasierte Rückmeldung bereitstellen. Die Textoberfläche 1006 kann natürliche Sprachverarbeitungsalgorithmen verwenden, um eine Textfrage oder einen Textbefehl eines Benutzers zu interpretieren.
  • Zusätzlich zur Textinteraktion unterstützt das Benutzeroberflächensystem 1000 andere Mittel der Benutzerinteraktion wie Audio und Video. Eine Sprachoberfläche 1008 könnte Benutzereingaben in der Form von gesprochenen Fragen oder Befehlen empfangen. Die Sprachoberfläche 1008 interpretiert anschließend die gesprochene Audioeingabe des Benutzers und führt dazu, dass entsprechende Maßnahmen auftreten. Beispielsweise könnte ein Benutzer eine gesprochene Audiofrage erstellen, und die Sprachoberfläche würde die Frage interpretieren, eine Antwort auf die Frage erhalten und dem Benutzer diese Antwort bereitstellen. Die Antwort könnte als Audioantwort, als textbasierte Antwort, als grafische Rückmeldung, die auf einem Anzeigebildschirm eines Benutzers bereitgestellt wird, oder als Kombination aus diesen Rückmeldungsformaten bereitgestellt werden.
  • Eine gesprochene Audioeingabe eines Benutzers könnte von jeglicher Art von Benutzeroberflächen erfasst werden, die ein Mikrofon umfasst. Solche Geräte könnten einen Computer, ein Smartphone oder eine dezidierte Sprachoberfläche wie Amazon Echo und die damit verbundene Alexa Skills SDK umfassen. Alternativ könnte der Benutzer mit der Sprachoberfläche 1008 des Benutzeroberflächensystems 1000 über die SiRi-Oberfläche von Apple und die damit verbundene SiRi SDK interagieren.
  • Wenn ein Benutzer eine separate Sprachoberfläche wie Amazon Echo und den Alexa-Sprachdienst verwendet, könnte die Benutzerinteraktion, die dem Benutzeroberflächensystem 1000 des Produktionsumgebungsassistenten 100 bereitgestellt wird, tatsächlich in der Form von Texten bereitgestellt werden, die von der Textoberfläche 1006 interpretiert werden. Beispielsweise könnte ein Sprachbefehl eines Benutzers vom Echo-Gerät erfasst werden, und das Echo-Gerät oder ein damit verbundener Alexa Skill könnte die gesprochene Eingabe in einen Text umwandeln. Der Text wird anschließend der Textoberfläche 1006 bereitgestellt, die die gesprochene Benutzereingabe interpretiert und eine entsprechende Maßnahme ergreift. Die Textoberfläche 1006 könnte anschließend eine textbasierte Rückmeldung bereitstellen, die dem Echo-Gerät bereitgestellt wird, und das Echo-Gerät wandelt die Textrückmeldung in Audiosprache um, die dem Benutzer durch das Echo-Gerät abgespielt wird. In diesem Fall wird die Sprache-in-Text-Umwandlung und die Text-in-Sprache-Umwandlung nicht vom Benutzeroberflächensystem 1000, sondern von einer separaten Einheit durchgeführt.
  • Wenn ein Benutzer eine Videokamera hat, könnte der Benutzer mit dem Benutzeroberflächensystem 1000 mittels Videoeingabe interagieren. Eine Videooberfläche 1010 würde das Video vom Benutzer empfangen und die Videoeingabe interpretieren. Dies könnte die Interpretation verschiedener Körperbewegungen und Gesten umfassen, die im vom Benutzer bereitgestellten Video dargestellt sind. Beispielsweise wird einem Benutzer eine Ja- oder Nein-Frage gestellt, wobei der Benutzer mit Daumen nach oben oder Daumen nach unten eine Rückmeldung auf die Frage gestikulieren und bereitstellen könnte. Die Videooberfläche könnte die Rückmeldung des Benutzers interpretieren und die Antwort dem Abschnitt des Produktionsumgebungsassistenten 100 bereitstellen, der die Frage gestellt hat.
  • Wenn ein Benutzer eine Videokamera hat, könnte die Videooberfläche 1010 außerdem ein vom Benutzer bereitgestelltes Video zur Benutzerauthentifizierung verwenden. In diesem Fall könnte der Benutzer, anstatt der Benutzereingabe eines klassischen Benutzernamens und Passworts, einfach direkt in die Videokamera schauen, wobei das Bild des Benutzers erfasst und für Benutzerauthentifizierungszwecke verwendet wird. Sobald der Benutzer identifiziert worden ist, könnte auf das Profil des Benutzers zugegriffen werden, um die Präferenzen des Benutzers für nachfolgende Benutzerinteraktionen zu bestimmen.
  • Die Videooberfläche 1010 könnte außerdem dazu verwendet werden, dass ein „Charakter“ oder eine „Person“ auf einem Anzeigebildschirm eines Benutzers angezeigt wird. Der Charakter oder die Person könnten abstrakte, menschenähnliche Gesichter, Körper oder andere Darstellungen aufweisen, und der Charakter oder die Person würden den Produktionsumgebungsassistenten 100 in Benutzerinteraktionen darstellen. Ein Systemcharakter oder eine Systemperson, die mit einem Benutzer interagiert, könnte mit einem bestimmten Namen oder Aussehen individualisiert werden. Der Benutzer könnte anschließend den Namen des Charakters oder der Person verwenden, wenn eine Frage gestellt oder ein Befehl erteilt wird. Beispielsweise könnte der Benutzer eine Informationsanfrage stellen, indem Folgendes gesagt wird: „Sam, bitte identifiziere alle Server mit mehr als 50 % CPU-Auslastung in meinem Produktionssystem und melde dich wieder, wenn du einen nach dem anderen neu gestartet hast.“ Ein solcher Befehl enthält die Intentionen (Identifizieren, Berichten, Neustarten), Nomen, Messwerte und Spezifika (Produktionssystem) des Benutzers.
  • Ein interaktives Feedbacksystem kann durch das Benutzeroberflächensystem 1000 implementiert werden. Für jedes Ereignis, das entweder durch Sprache, Video oder über die klassische grafische Benutzeroberfläche dargestellt wird, kann der Benutzer Feedback geben. Dieses Feedback ist ein essentieller Bestandteil des Systems, da es eine der Lerneingaben für das System darstellt. Das System ist in der Lage, mit mehreren Feedbackarten umzugehen. Beispielsweise könnte ein Benutzer angeben, dass ein Ereignis oder Vorfall ein False Positive ist. Ein Benutzer könnte außerdem angeben, dass eine Empfehlung hilfreich ist oder nicht. Der Benutzer könnte außerdem Eingaben hinsichtlich der Schritte angeben, die der Benutzer unternommen hat, um ein bestimmtes Problem zu beheben. Ein Benutzer kann möglicherweise auch Dateien in das System zur Indizierung und künftigen Referenz hochladen. Ein solches Benutzerfeedback wird anschließend zur Verbesserung der Leistung des Produktionsumgebungsassistenten 100 verwendet.
  • In 11 werden die Schritte eines Verfahrens dargestellt, das durchgeführt wird, um Daten von einer Produktionsumgebung eines Kunden zu gewinnen und diese Daten in einer oder mehreren Datenwarteschlangen zu speichern. Das Verfahren 1100 beginnt und fährt mit Schritt S1102 fort, wobei die Daten, die von APIs berichtet werden, die in einer Produktionsumgebung eines Kunden installiert sind, von der passiven Sammlungseinheit 202 der Datensammlungseinheit 200 empfangen werden. Die empfangenen Daten können Datenpunkte und Ereignisse umfassen. Diese Datenpunkte und Ereignisse können sich auf individuelle Elemente der Computerausstattung, Netzwerkausstattung und auch Softwareanwendungen beziehen, die in der Produktionsumgebung des Kunden ausgeführt werden. Wie oben angemerkt, könnten die empfangenen Daten auch geschäftsbezogene Daten wie Finanzdaten oder Verkehrsdaten umfassen.
  • Das Verfahren 1100 umfasst außerdem einen optionalen Schritt S1104, wobei eine aktive Sammlungseinheit 208 der Datensammlungseinheit 200 aktiv gewisse Daten von einer Produktionsumgebung eines Kunden über APIs gewinnt, die in einer Produktionsumgebung eines Kunden installiert sind. In Schritt S1106 werden die empfangenen Datenpunktinformationen in eine Datenpunktwarteschlange geladen. Das Verfahren umfasst außerdem Schritt S1108, wobei die empfangenen Ereignisinformationen in eine Ereigniswarteschlange geladen werden. Das Verfahren endet anschließend.
  • In 12 werden Schritte eines Verfahrens dargestellt, die von der Datensammlungs- und transformationseinheit 300 zur Speicherung von Daten durchgeführt werden würden. Das Verfahren 1200 beginnt und fährt mit Schritt S1202 fort, wobei eine Speicheroptimierungseinheit 314 der Datensammlungs- und transformationseinheit 300 Kundendaten gewinnt, die in einer Datenpunktwarteschlange 304 oder einer Ereigniswarteschlange 306 gespeichert worden sind. In Schritt S1004 manipuliert die Speicheroptimierungseinheit 314 die empfangenen Daten auf verschiedene Art und Weise, um die Daten für die Speicherung vorzubereiten. Dies kann eine Deserialisierung der empfangenen Daten und eine Neuformatierung der empfangenen Daten in vordefinierte Formate umfassen, wodurch spätere Datenanalysen leichter durchzuführen sind. Das Verfahren fährt anschließend mit Schritt S1206 fort, wobei die Speicheroptimierungseinheit 314 einige Datenelemente in einem kurzfristigen Repository 308 speichert. In Schritt S1208 speichert die Speicheroptimierungseinheit 314 gewisse Datenelemente in einem mittelfristigen Repository 310. In Schritt S1210 speichert die Speicheroptimierungseinheit 314 gewisse Datenelemente in einem langfristigen Repository. Das Verfahren endet anschließend.
  • In 13 werden Schritte eines Verfahrens dargestellt, die von einer Messwerteinheit 400 des Produktionsumgebungsassistenten 100 durchgeführt werden würden. Das Verfahren 1300 beginnt und fährt mit Schritt S1302 fort, wobei Daten im Zusammenhang mit einer Produktionsumgebung eines Kunden von einer Datenpunktwarteschlange 304 und/oder einer Ereigniswarteschlange 306 und/oder einem Datenspeicher-Repository wie dem kurzfristigen Speicher-Repository 308, dem mittelfristigen Speicher-Repository 310 und dem langfristigen Speicher-Repository 312 gewonnen werden. In Schritt S1304 werden die Daten validiert, um sicherzustellen, dass sie von den APIs eines bestimmten Kunden empfangen worden sind. Dies kann die Untersuchung von Daten nach der Existenz eines kundenspezifischen Codierungsschlüssels, Tokens oder Codes umfassen, der gemeinsam mit den Daten bereitgestellt worden ist.
  • Das Verfahren fährt anschließend mit Schritt S1306 fort, wobei die Daten zerlegt werden. In Schritt S1308 werden die Daten in vorbestimmte Datenformate geordnet. Die Schritte zur Zerlegung S1306 und zur Ordnung 1308 sind optionale Datenschritte, die, abhängig von dem bestimmten Datentyp, der verwendet wird, und den zu berechnenden Messwerten, durchgeführt werden können oder nicht.
  • In Schritt S1310 berechnet eine Messwertberechnungseinheit 406 anschließend diverse Messwerte, die die gewonnenen Daten verwenden. In Schritt S1312 werden die berechneten Messwerte anschließend in einem Messwert-Repository 407 gespeichert. Das Verfahren endet anschließend.
  • In 14 werden Schritte eines Verfahrens dargestellt, die von der Bewertungseinheit 500 zur Bestimmung durchgeführt werden würden, ob ein bestimmter Vorfall aufgetreten ist. Das Verfahren 1400 beginnt und fährt mit Schritt S1402 fort, wobei eine Datenerfassungseinheit 510 der Bewertungseinheit 500 Daten im Zusammenhang mit einer Produktionsumgebung eines bestimmten Kunden gewinnt. In Schritt S1404 werden die gewonnenen Daten durch die Analyseeinheit 512 der Bewertungseinheit 500 analysiert. In Schritt S1406 bestimmt die Analyseeinheit 512, ob ein vordefinierter Vorfall auf Basis der in Schritt S1404 durchgeführten Analyse aufgetreten ist. Wenn bestimmt wird, dass ein vordefinierter Vorfall aufgetreten ist, wird in Schritt S1408 der Vorfall an eine Vorfalleinheit 600 und/oder an eine Benachrichtigungseinheit 700 berichtet. Das Verfahren endet anschließend.
  • In 15 werden diverse Schritte eines Verfahrens dargestellt, die von einer Benachrichtigungseinheit 700 des Produktionsumgebungsassistenten 100 durchgeführt werden würden. Das Verfahren 1500 beginnt und fährt mit Schritt S1502 fort, wobei die Benachrichtigungseinheit 700 einen Bericht empfängt, in dem angegeben wird, dass ein vordefinierter Vorfall in einer Produktionsumgebung eines bestimmten Kunden aufgetreten ist. Das Verfahren fährt anschließend mit Schritt S1504 fort, wobei eine Benachrichtigungsanalyseeinheit 706 eine Benachrichtigungsregeldatenbank 704 zur Bestimmung überprüft, ob es innerhalb der Benachrichtigungsregeldatenbank 704 eine Regel für den Umgang mit einem solchen Vorfall gibt. Wenn es keine Regel für den Vorfall gibt, fährt das Verfahren mit Schritt S1506 fort, wobei der Vorfall an einen Kunden und/oder Systemadministrator gemäß dem standardmäßigen Berichtvorgang berichtet wird.
  • Wenn es eine Regel für den Umgang mit dem Vorfall gibt, berichtet die Benachrichtigungsübertragungseinheit den Vorfall gemäß dieser Regel. In manchen Fällen gibt die Regel einfach an, dass das Vorkommen des Vorfalls an einen Kunden oder Systemadministrator über einen oder mehrere Kommunikationskanäle berichtet werden soll. Wenn dies der Fall ist, führt die Benachrichtigungsübertragungseinheit 708 die Benachrichtigung gemäß dieser Regel aus.
  • In anderen Fällen wird die Regel für das Berichten eines Vorfalls angeben, dass eine zusätzliche Untersuchung oder Analyse durchgeführt werden soll, bevor der Vorfall an einen Kunden oder Systemadministrator berichtet werden soll. In diesem Fall fährt das Verfahren mit Schritt S1508 fort, wobei eine Sekundäranalyse durch eine Benachrichtigungsanalyseeinheit 706 der Benachrichtigungseinheit 700 durchgeführt wird. Die Sekundäranalyse könnte das Gewinnen zusätzlicher Informationen oder das Abwarten einer vorbestimmten Zeitdauer umfassen, um zu bestimmen, ob der Vorfall weiterhin besteht. Das Verfahren fährt anschließend mit Schritt S1510 fort, wobei der Vorfall nur berichtet wird, wenn die in Schritt S1508 durchgeführte Sekundäranalyse angibt, dass der Vorfall berichtet werden soll. Das Verfahren endet anschließend.
  • In 16 sind die Schritte eines Verfahrens dargestellt, das von einem aktiven Inspektor durchgeführt werden würde, der vom aktiven Inspektor-System 800 konfiguriert wurde. Wie vorstehend erwähnt, würde ein aktiver Inspektor innerhalb der Produktionsumgebung eines Client aktiv nach Daten oder Ereignissen suchen, um das Auftreten eines bestimmten Problems oder Fehlers zu überwachen.
  • Das Verfahren 1600 beginnt und geht weiter zu Schritt S1602, wo eine Datenerfassungs- und Analyseeinheit 804 des aktiven Inspektors aktiv Daten aus der Produktionsumgebung eines Client unter Verwendung von APIs sammelt, die innerhalb der Produktionsumgebung des Client eingerichtet sind. Das Verfahren fährt dann weiter mit Schritt S1604 fort, wo verschiedene Metriken unter Verwendung der erhaltenen Daten berechnet werden. Schritt S1604 könnte unter Nutzung der Dienste von Metrikeinheit 400 durchgeführt werden.
  • Anschließend fährt das Verfahren mit Schritt S1606 fort, bei welchem die erhaltenen Daten und/oder die berechneten Metriken analysiert werden, um festzustellen, ob ein vorher festgelegtes Ereignis eingetreten ist. Diese Analyse könnte mit den Diensten der Auswerteeinheit 500 durchgeführt werden, wie oben beschrieben ist. Der nächste Schritt im Verfahren ist Schritt S1608. Hier wird das Auftreten des Ereignisses gemeldet, sobald festgestellt wird, dass dieses eingetreten ist. Auch hier könnte die Meldung des Ereignisses, wie oben beschrieben, mit den Diensten von Meldeeinheit 700 erfolgen.
  • In 17 sind die Schritte eines Verfahrens dargestellt, das von der Abhilfeeinheit 900 durchgeführt wird, um zu versuchen, ein Problem oder eine Störung zu beheben oder zu minimieren, das innerhalb der Produktionsumgebung eines Client aufgetreten ist. Das Verfahren 1700 beginnt und fährt mit Schritt S1702 fort, wo eine Benachrichtigung über das System eines Client von der Abhilfeeinheit 900 empfangen wird. Das Verfahren fährt anschließend mit Schritt S1704 fort, wo eine Meldeanalyseschnittstelle 902 von Abhilfeeinheit 900 die empfangene Meldung analysiert, um festzustellen, ob sie sich auf einen Fehler oder ein Problem bezieht, das durch eine oder mehrere Arten von Abhilfemaßnahmen behoben oder gemindert werden konnte. Diese Analyse ist auch mit Hilfe der Dienste der Abhilfeempfehlungseinheit 908 von Abhilfeeinheit 900 durchführbar.
  • Das Verfahren fährt anschließend mit Schritt S1706 fort. Hier wird mittels einer Prüfung festgestellt, ob zum Beheben oder Abschwächen des ermittelten Problems mehrere Abhilfemaßnahmen verschiedener Art geeignet sind. Wenn mehrere Arten von Abhilfemaßnahmen ermittelt wurden, fährt das Verfahren mit Schritt S1708 fort, wo Informationen darüber erhalten werden, welche Art von Abhilfemaßnahme(n) durchgeführt werden soll(en). Dies kann eine Abfrageeinheit 914 der Abhilfeempfehlungseinheit 908 sein, die eine Anfrage an einen Systemadministrator oder Client sendet. Mittels der in Schritt S1708 empfangenen oder erhaltenen Information wird danach bestimmt, welche Art von Abhilfemaßnahmen durchgeführt werden soll. In Schritt S1701 werden diese Abhilfemaßnahmen von der Abhilfemaßnahmeneinheit 916 durchgeführt.
  • Sobald die Prüfung durchgeführt wurde, zeigt ein Schritt S1706 an, dass keine Abhilfemaßnahmen ermittelt wurden oder dass nur eine einzige Art von Abhilfemaßnahmen ermittelt wird. Danach geht das Verfahren zu Schritt S1712 über. In Schritt S1712 wird geprüft, ob nur eine einzige Art von Abhilfemaßnahmen ermittelt wurde. Wenn ja, fährt das Verfahren mit Schritt S1714 fort, wo die Abhilfemaßnahmeneinheit 916 die Abhilfemaßnahmen durchführt. Wenn sich aus der in Schritt S1712 durchgeführten Prüfung ergibt, dass keine Abhilfemaßnahmen ermittelt wurden, fährt das Verfahren einfach bis zum Ende fort.
  • Obwohl die Methoden und Systeme in Bezug auf spezifische Ausführungsformen davon beschrieben wurden, sind sie nicht so eingeschränkt. Als solche können viele Änderungen und Abweichungen im Zusammenhang mit den obigen Unterweisungen erkennbar werden. Viele zusätzliche Änderungen an den hier beschriebenen und veranschaulichten Einzelheiten, Materialien und der Anordnung von Teilen können von Fachleuten vorgenommen werden. Dementsprechend versteht es sich, dass die hierin zur Verfügung gestellten Methoden, Vorrichtungen und Systeme nicht auf die hier offenbarten Ausführungsformen beschränkt sein dürfen und andere als die ausdrücklich beschriebenen Praktiken beinhalten können und so weit auszulegen sind, wie dies gesetzlich zulässig ist.
  • Die Umsetzung des Gegenstands sowie die in dieser Spezifikation beschriebenen Vorgänge können in digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware erfolgen, einschließlich der in dieser Spezifikation veröffentlichten Strukturen und ihrer strukturellen Entsprechungen oder in Kombinationen von einer oder mehreren davon. Die Umsetzungen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramm(e) erfolgen, d.h. als ein oder mehrere Module von Computerprogramm-Anweisungen, die auf einem Computerspeichermedium zur Ausführung durch oder zur Steuerung des Betriebs von Datenverarbeitungsgeräten codiert sind. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten, propagierten Signal, z. B. einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal, codiert werden. Dieses wird erzeugt, um Informationen zwecks Übertragung an eine geeignete Empfangsvorrichtung zu codieren, um durch eine Datenverarbeitungsvorrichtung ausgeführt zu werden. Ein Computerspeichermedium kann eine computerlesbare Speichervorrichtung, ein computerlesbares Speichersubstrat, eine Speichermatrix oder -vorrichtung mit freiem oder seriellem Zugriff oder eine Kombination aus einer oder mehreren von ihnen sein oder darin enthalten sein. Während ein Computerspeichermedium kein propagiertes Signal ist, kann ein Computerspeichermedium außerdem eine Quelle oder ein Ziel von Computerprogrammbefehlen sein, die in einem künstlich erzeugten, propagierten Signal codiert sind. Das Computerspeichermedium kann auch eine oder mehrere separate physische Komponenten oder Medien (z. B. mehrere CDs, Disketten oder andere Speichermedien) sein oder darin enthalten sein.
  • Die in dieser Spezifikation beschriebenen Vorgänge können als Vorgänge umgesetzt werden, die von einer Datenverarbeitungsvorrichtung ausgeführt werden, und zwar anhand von Daten, die auf einem oder mehreren computerlesbaren Speichermedien gespeichert oder von anderen Quellen empfangen werden.
  • Der Begriff „Datenverarbeitungsgerät“ umfasst alle Arten von Geräten, Vorrichtungen und Anlagen zur Datenverarbeitung, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers, eines Systems auf einem Chip oder mehrere oder Kombinationen der vorgenannten. Die Vorrichtung kann eine spezielle Logikschaltung beinhalten, z. B. einen FPGA (field programmable gate array) oder einen ASIC (application-specific integrated circuit). Das Gerät kann neben der Hardware auch einen Code beinhalten, der eine Ausführungsumgebung für das betreffende Computerprogramm erzeugt, z. B. ein Code zur Darstellung von Prozessor-Firmware, Protokollstapel, Datenbankmanagementsystem, Betriebssystem, plattformübergreifender Laufzeitumgebung, virtueller Maschine oder einer Kombination aus einem oder mehreren davon. Die Geräte- und Ausführungsumgebung kann verschiedene Computermodell-Infrastrukturen umsetzen, wie z. B. Webservices, verteilte Rechen- und Grid-Computing-Infrastrukturen.
  • Ein Computerprogramm (auch bekannt als Programm, Software, Softwareanwendung, Skript oder Code) kann in Programmiersprachen in jeglicher Form geschrieben werden, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder prozeduraler Sprachen, und kann in jeder Form bereitgestellt werden, einschließlich als eigenständiges Programm oder als Modul, Komponente, Unterprogramm, Objekt oder eine andere Einheit, die für den Einsatz in einer Computerumgebung geeignet ist. Ein Computerprogramm kann, muss aber nicht zwingend einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert werden, der andere Programme oder Daten enthält (z. B. ein oder mehrere Skripte, die in einer Markup-Language-Ressource gespeichert sind), in einer einzelnen Datei, die dem betreffenden Programm zugeordnet ist, oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile des Codes speichern). Ein Computerprogramm kann zur Ausführung auf einem Computer oder auf mehreren Computern bereitgestellt werden, die sich an einem Standort befinden oder über mehrere Standorte verteilt und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren ausgeführt werden, welche ein oder mehrere Computerprogramme ausführen, um Aktionen auszuführen, indem sie mit Eingabedaten arbeiten und Ausgabedaten erzeugen. Die Prozesse und logischen Abläufe können auch von einer speziellen Logikschaltung ausgeführt werden, z. B. einem FPGA (field programmable gate array) oder einem ASIC (application-specific integrated circuit).
  • Zu den Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, gehören beispielsweise sowohl universelle als auch spezielle Mikroprozessoren und ein oder mehrere beliebige digitale Computer-Prozessoren. In der Regel empfängt ein Prozessor Anweisungen und Daten von einem Festwertspeicher (read-only memory) oder einem Random-Access-Memory oder beidem. Die wichtigsten Elemente eines Computers sind ein Prozessor zum Ausführen von Aktionen gemäß den Anweisungen sowie ein oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. In der Regel enthält ein Computer ebenso eines oder mehrere Massenspeichergeräte zur Speicherung von Daten, wie z. B. magnetische, magneto-optische oder optische Platten oder wird damit funktionsfähig gekoppelt, um Daten hiervon zu empfangen oder Daten hierhin zu übertragen oder beides. Allerdings muss ein Computer nicht über solche Geräte verfügen. Zudem kann ein Computer in ein anderes Gerät integriert werden, z. B. in ein Mobiltelefon, einen Personal Digital Assistant (PDA), einen mobilen Audio- oder Videoplayer, eine Spielekonsole, einen GPS-Empfänger (Global Positioning System) oder ein tragbares Speichermedium (z. B. USB-Stick), um nur einige zu nennen. Zur Speicherung von Computerprogrammbefehlen und -daten eignen sich alle Formen von nicht-flüchtigen Speichern, Medien und Speichervorrichtungen, einschließlich beispielsweise Halbleiterspeichervorrichtungen, z. B. EPROM, EEPROM und Flash-Speichergeräten; Magnetplatten, z. B. interne Festplatten oder Wechselplatten; magneto-optische Platten; CD-ROMs und DVD-ROMs. Der Prozessor und der Speicher können durch eine spezielle Logikschaltung ergänzt oder in diese integriert werden.
  • Für die Interaktion mit einem Benutzer können Implementierungen des in dieser Spezifikation beschriebenen Gegenstands auf einem Computer mit einer Anzeigevorrichtung, z. B. einem CRT-(Kathodenstrahlröhren-) oder LCD-(Flüssigkristallanzeige)-Monitor, zur Anzeige von Informationen für den Benutzer und einer Tastatur und einer Zeigevorrichtung, z. B. einer Maus oder einem Trackball, durchgeführt werden. Hiermit kann der Benutzer Eingaben für den Computer machen. Für die Interaktion mit einem Benutzer eignen sich auch andere Gerätetypen, wie z. B. die dem Benutzer zur Verfügung gestellte Rückmeldung, welche jede Form von sensorischer Rückmeldung sein kann, z. B. visuelle, akustische oder taktile Rückmeldung; Eingaben des Benutzers können auf jede Art und Weise empfangen werden, einschließlich der akustischen, sprachlichen oder taktilen Eingaben. Außerdem kann ein Computer mit einem Benutzer interagieren, indem er Ressourcen an ein Gerät sendet und von diesem empfängt, das vom Benutzer verwendet wird, z. B. indem er Webseiten an einen Webbrowser auf dem Client-Gerät eines Benutzers sendet, und zwar als Reaktion auf Anfragen, die vom Webbrowser empfangen werden.
  • Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können in einem Informatiksystem erfolgen, das eine Backend-Komponente, z. B. als Datenserver, oder eine Middleware-Komponente, z. B. einen Anwendungsserver, oder eine Frontend-Komponente, z. B. einen Client-Computer mit einer graphischen Benutzeroberfläche oder einen Webbrowser, über den ein Benutzer mit einer Implementierung des in dieser Spezifikation beschriebenen Gegenstands interagieren kann, oder eine Kombination aus einer oder mehreren dieser Backend-, Middleware- oder Frontend-Komponenten beinhaltet. Die Systemkomponenten können durch jede Form oder jedes Medium der digitalen Datenkommunikation, z. B. ein Kommunikationsnetz, miteinander verbunden werden. Zu den Kommunikationsnetzen gehören beispielsweise ein lokales Netzwerk („LAN“) und ein Weitverkehrsnetzwerk („WAN“), ein Inter-Netzwerk (z. B. das Internet) sowie Peer-to-Peer-Netzwerke (z. B. Ad-hoc-Peer-to-Peer-Netzwerke).
  • Das Informatiksystem kann Clients und Server enthalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren üblicherweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server wird durch Computerprogramme hergestellt, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander haben. Bei einigen Implementierungen überträgt ein Server Daten (z. B. eine HTML-Seite) an ein Client-Gerät (z. B. zum Anzeigen von Daten an einen Benutzer sowie zum Empfangen von Benutzereingaben von einem Benutzer, der mit dem Client-Gerät interagiert). Daten, die auf dem Client-Gerät erzeugt werden (z. B. ein Ergebnis der Benutzerinteraktion), können vom Client-Gerät auf dem Server empfangen werden.
  • Ein System mit einem oder mehreren Computern lässt sich so konfigurieren, dass bestimmte Operationen oder Aktionen durchgeführt werden können. Hierzu muss die Software, Firmware, Hardware oder eine Kombination davon auf dem System installiert sein, die beim Betrieb die Aktionen bewirkt oder deren Ausführung durch das System veranlasst. Ein oder mehrere Computerprogramme lassen sich so konfigurieren, dass bestimmte Operationen oder Aktionen durchgeführt werden können. Hierzu müssen sie Anweisungen enthalten, die, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, die Vorrichtung zur Ausführung der Aktionen veranlassen.
  • Obwohl diese Spezifikation viele spezifische Implementierungsdetails enthält, sollten diese nicht als Einschränkung des Umfangs jeglicher Erfindungen oder Ansprüche ausgelegt werden, sondern als Beschreibung von Merkmalen, die für bestimmte Implementierungen bestimmter Erfindungen spezifisch sind. Bestimmte Merkmale, die in dieser Spezifikation im Rahmen von separaten Implementierungen beschrieben werden, können auch in Kombination in einem einzigen Implementierungsvorgang umgesetzt werden. Im Umkehrschluss können verschiedene Merkmale, die im Rahmen eines einzelnen Implementierungsvorgangs beschrieben werden, auch in mehreren Implementierungsschritten einzeln oder in einer geeigneten Subkombination umgesetzt werden. Auch wenn die Merkmale wie oben beschrieben in bestimmten Kombinationen arbeiten und sogar zunächst ein derartiger Anspruch gestellt würde, können eine oder mehrere Merkmale einer beanspruchten Kombination in bestimmten Fällen aus der Kombination heraus ausgeführt werden. Zudem kann die beanspruchte Kombination an eine Subkombination oder an eine Variante davon gerichtet sein.
  • Auch wenn Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, ist dies nicht so zu verstehen, dass diese Operationen in der angegebenen oder in sequentieller Reihenfolge durchgeführt werden müssen oder dass alle dargestellten Operationen ausgeführt werden müssen, um die gewünschten Ergebnisse zu erzielen. Unter gewissen Umständen können Multitasking und parallele Vorgänge vorteilhaft sein. Darüber hinaus ist die Trennung verschiedener Systemkomponenten in den oben beschriebenen Implementierungen nicht so zu verstehen, dass eine derartige Trennung in allen Implementierungen erforderlich ist. Zudem versteht es sich, dass sich die beschriebenen Programmkomponenten und Systeme in der Regel zusammen in ein einziges Softwareprodukt integrieren oder in mehrere Softwareprodukte packen lassen können.

Claims (21)

  1. ES WIRD FOLGENDER ANSPRUCH GESTELLT:
  2. Verfahren zum Überwachen einer und Berichten über eine Produktionsumgebung, das Folgendes umfasst: Erhalten von Daten über eine Produktionsumgebung; Berechnen von mindestens einer Metrik basierend auf den erhaltenen Daten; Analysieren von mindestens einer der erhaltenen Daten und der mindestens einen berechneten Metrik zwecks Bestimmung, ob ein vorher festgelegtes Ereignis eingetreten ist; und bei Eintritt eines vorher festgelegten Ereignisses bestimmen, ob das vorher festgelegte Ereignis gemeldet werden soll. Abhängig davon, ob eine für das vorher festgelegte Ereignis relevante Regel existiert.
  3. Verfahren nach Anspruch 1, worin das Erhalten von Daten das Erhalten von Daten von mindestens einer Anwendungsprogrammierschnittstelle (API) umfasst, die auf einem Informatiksystem installiert ist, welches sich in der Produktionsumgebung befindet.
  4. Verfahren nach Anspruch 1, wobei das Erhalten von Daten Folgendes umfasst: Erhalten von Daten von mindestens einer Anwendungsprogrammierschnittstelle (API), die auf einem Informatiksystem installiert ist, welches sich in der Produktionsumgebung befindet; und Laden der erhaltenen Daten in mindestens eine Warteschlange.
  5. Verfahren nach Anspruch 1, wobei das Berechnen von mindestens einer Metrik Folgendes umfasst: Bestimmen, ob die erhaltenen Daten gültige Daten sind, und zwar unter Verwendung von mindestens einem Verschlüsselungscode oder Schlüssel, der der Produktionsumgebung zugewiesen wurde; und Berechnen von mindestens einer Metrik, basierend auf den erhaltenen Daten, und zwar nur, wenn die erhaltenen Daten für gültig befunden werden.
  6. Verfahren nach Anspruch 1, wobei das Bestimmen, ob das Ereignis gemeldet werden soll, Folgendes umfasst: Bestimmen, ob eine für das vorher festgelegte Ereignis relevante Regel existiert; Melden des vorher festgelegten Ereignisses, wenn keine für das vorher festgelegte Ereignis relevante Regel existiert; Durchführen einer Zweitanalyse, wenn eine für das vorher festgelegte Ereignis relevante Regel vorliegt, wobei die Zweitanalyse mit der Regel übereinstimmt; und Melden des vorher festgelegten Ereignisses nur dann, wenn die Regel und das Ergebnis der Zweitanalyse darauf hindeuten, dass das vorher festgelegte Ereignis gemeldet werden sollte.
  7. Verfahren nach Anspruch 1, wobei das Erhalten von Daten in Bezug auf eine Produktionsumgebung das aktive Erhalten von Daten umfasst, und zwar durch aktives Abfragen eines oder mehrerer in der Produktionsumgebung befindlicher Informatiksysteme über eine oder mehrere Anwendungsprogrammierschnittstellen, die auf einem oder mehreren Informatiksystemen installiert sind.
  8. Verfahren nach Anspruch 1, wobei der Analyseschritt das Vergleichen von mindestens einer der erhaltenen Daten und von mindestens einer berechneten Metrik mit Daten und/oder berechneten Metriken aus anderen ähnlichen Produktionsumgebungen umfasst, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist.
  9. Verfahren nach Anspruch 1, wobei der Analyseschritt Techniken und Daten künstlicher Intelligenz sowie berechnete Metriken aus anderen ähnlichen Produktionsumgebungen verwendet, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist.
  10. Verfahren nach Anspruch 1, das, wenn ein vorher festgelegtes Ereignis als eingetreten erkannt wird, ferner das Ermitteln einer Abhilfemaßnahme umfasst, die Probleme oder Leistungseinbußen innerhalb der Produktionsumgebung, die zu dem vorher festgelegten Ereignis geführt haben, potenziell minimieren könnte.
  11. System zum Überwachen und Berichten über eine Produktionsumgebung, das Folgendes umfasst: Mittel zum Erhalten von Daten über eine Produktionsumgebung; Mittel zum Berechnen von mindestens einer Metrik, basierend auf den erhaltenen Daten; Mittel zum Analysieren von mindestens einer der erhaltenen Daten und der mindestens einen berechneten Metrik zwecks Bestimmung, ob ein vorher festgelegtes Ereignis eingetreten ist; und bei Eintritt eines vorher festgelegten Ereignisses, Mittel zum Bestimmen, ob das vorher festgelegte Ereignis gemeldet werden soll, abhängig davon, ob eine für das vorher festgelegte Ereignis relevante Regel existiert.
  12. System zum Überwachen und Berichten über eine Produktionsumgebung, das Folgendes umfasst: eine Datenerfassungseinheit, die mindestens einen Prozessor umfasst, der Daten über eine Produktionsumgebung erhält; eine Metrikeinheit, die mindestens einen Prozessor umfasst, der mindestens eine Metrik, basierend auf den erhaltenen Daten, berechnet; eine Ereigniseinheit, die mindestens einen Prozessor umfasst, der mindestens eines der erhaltenen Daten und/oder mindestens eine berechnete Metrik verwendet, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist; und eine Auswerteeinheit, die mindestens einen Prozessor umfasst, der im Falle eines eingetretenen vorher festgelegten Ereignisses bestimmt, ob das vorher festgelegte Ereignis gemeldet werden soll, abhängig davon, ob eine für das vorher festgelegte Ereignis relevante Regel existiert.
  13. System nach Anspruch 11, wobei die Metrikeinheit Daten von mindestens einer Anwendungsprogrammierschnittstelle (API) erhält, die auf einem Informatiksystem installiert ist, das sich in der Produktionsumgebung befindet.
  14. System nach Anspruch 11, wobei die Metrikeinheit Daten von mindestens einer Anwendungsprogrammierschnittstelle (API) erhält, die auf einem Informatiksystem installiert ist, das sich in der Produktionsumgebung befindet und die erhaltenen Daten in mindestens eine Warteschlange lädt.
  15. System nach Anspruch 11, wobei die Metrikeinheit bestimmt, ob es sich bei den erhaltenen Daten um gültige Daten handelt, wobei mindestens einer von Verschlüsselungscodes oder Schlüsseln verwendet wird, der der Produktionsumgebung zugewiesen wurde und mindestens eine Metrik, basierend auf den erhaltenen Daten, berechnet, aber nur, wenn die erhaltenen Daten für gültig befunden werden.
  16. System nach Anspruch 11, wobei die Auswerteeinheit: bestimmt, ob eine für das vorher festgelegte Ereignis relevante Regel existiert; das vorher festgelegte Ereignis meldet, wenn keine für das vorher festgelegte Ereignis relevante Regel existiert; Eine Zweitanalyse durchführt, wenn eine für das vorher festgelegte Ereignis relevante Regel vorliegt, wobei die Zweitanalyse mit der Regel übereinstimmt; und das vorher festgelegte Ereignis nur dann meldet, wenn die Regel und das Ergebnis der Zweitanalyse darauf hindeuten, dass das vorher festgelegte Ereignis gemeldet werden sollte.
  17. System nach Anspruch 11, das ferner eine aktive Inspektor-Einheit umfasst, die aktiv Daten erhält, indem sie ein oder mehrere in der Produktionsumgebung befindliche Informatiksystem(e) über eine oder mehrere Anwendungsprogrammierschnittstellen, die auf einem oder mehreren Informatiksystem(en) installiert sind, aktiv abfragt.
  18. System nach Anspruch 11, wobei die Ereigniseinheit mindestens eine der erhaltenen Daten und/oder mindestens eine berechnete Metrik mit Daten und/oder mit berechneten Metriken aus anderen ähnlichen Produktionsumgebungen vergleicht, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist.
  19. System nach Anspruch 11, wobei die Ereigniseinheit Techniken und Daten künstlicher Intelligenz und/oder berechnete Metriken aus anderen ähnlichen Produktionsumgebungen verwendet, um zu bestimmen, ob ein vorher festgelegtes Ereignis eingetreten ist.
  20. System nach Anspruch 11, das ferner eine Abhilfeeinheit umfasst, die bei Feststellung eines eingetretenen vorher festgelegten Ereignisses eine Abhilfemaßnahme ermittelt, die Probleme oder Leistungseinbußen innerhalb der Produktionsumgebung, die zu dem vorher festgelegten Ereignis geführt haben, potenziell minimieren könnte.
  21. Nichtflüchtiges, computerlesbares Medium, das Anweisungen enthält, welches die Durchführung eines Verfahrens bewirkt, wenn diese von einem oder mehreren Prozessoren eines Systems zum Überwachen und Berichten über eine Produktionsumgebung ausgeführt werden, wobei das Verfahren Folgendes umfasst: Erhalten von Daten über eine Produktionsumgebung; Berechnen von mindestens einer Metrik, basierend auf den erhaltenen Daten; Analysieren von mindestens einer der erhaltenen Daten und der mindestens einen berechneten Metrik zwecks Bestimmung, ob ein vorher festgelegtes Ereignis eingetreten ist; und bei Eintritt eines vorher festgelegten Ereignisses bestimmen, ob das vorher festgelegte Ereignis gemeldet werden soll, abhängig davon, ob eine für das vorher festgelegte Ereignis relevante Regel existiert.
DE112017005412.5T 2016-10-26 2017-10-10 Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten Pending DE112017005412T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/334,928 2016-10-26
US15/334,928 US20180115464A1 (en) 2016-10-26 2016-10-26 Systems and methods for monitoring and analyzing computer and network activity
PCT/US2017/055848 WO2018080781A1 (en) 2016-10-26 2017-10-10 Systems and methods for monitoring and analyzing computer and network activity

Publications (1)

Publication Number Publication Date
DE112017005412T5 true DE112017005412T5 (de) 2019-08-22

Family

ID=61970095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005412.5T Pending DE112017005412T5 (de) 2016-10-26 2017-10-10 Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten

Country Status (6)

Country Link
US (1) US20180115464A1 (de)
JP (1) JP2019536185A (de)
AU (1) AU2017348460A1 (de)
DE (1) DE112017005412T5 (de)
IL (1) IL266224A (de)
WO (1) WO2018080781A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022112860A1 (de) 2022-05-23 2023-11-23 Endress+Hauser SE+Co. KG Verfahren zum Erkennen eines Automatisierungsanlagen übergreifenden Ereignisses

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740692B2 (en) 2017-10-17 2020-08-11 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
US10600002B2 (en) 2016-08-04 2020-03-24 Loom Systems LTD. Machine learning techniques for providing enriched root causes based on machine-generated data
US11416325B2 (en) 2012-03-13 2022-08-16 Servicenow, Inc. Machine-learning and deep-learning techniques for predictive ticketing in information technology systems
US10291463B2 (en) * 2015-10-07 2019-05-14 Riverbed Technology, Inc. Large-scale distributed correlation
US10789119B2 (en) 2016-08-04 2020-09-29 Servicenow, Inc. Determining root-cause of failures based on machine-generated textual data
US10963634B2 (en) 2016-08-04 2021-03-30 Servicenow, Inc. Cross-platform classification of machine-generated textual data
US11556871B2 (en) 2016-10-26 2023-01-17 New Relic, Inc. Systems and methods for escalation policy activation
US10831585B2 (en) * 2017-03-28 2020-11-10 Xiaohui Gu System and method for online unsupervised event pattern extraction and holistic root cause analysis for distributed systems
US10671143B2 (en) 2018-01-11 2020-06-02 Red Hat Israel, Ltd. Power management using automation engine
US10949287B2 (en) * 2018-09-19 2021-03-16 International Business Machines Corporation Finding, troubleshooting and auto-remediating problems in active storage environments
US11892924B2 (en) * 2020-03-20 2024-02-06 UncommonX Inc. Generation of an issue detection evaluation regarding a system aspect of a system
US11809865B2 (en) * 2021-04-28 2023-11-07 Jpmorgan Chase Bank, N.A. Method and system for evidence servicing
CN117560306B (zh) * 2024-01-11 2024-04-02 腾讯科技(深圳)有限公司 一种丢包上报方法、网络交换机和相关装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528759A (en) * 1990-10-31 1996-06-18 International Business Machines Corporation Method and apparatus for correlating network management report messages
US5917726A (en) * 1993-11-18 1999-06-29 Sensor Adaptive Machines, Inc. Intelligent machining and manufacturing
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US6735484B1 (en) * 2000-09-20 2004-05-11 Fargo Electronics, Inc. Printer with a process diagnostics system for detecting events
US6970758B1 (en) * 2001-07-12 2005-11-29 Advanced Micro Devices, Inc. System and software for data collection and process control in semiconductor manufacturing and method thereof
US20060047561A1 (en) * 2004-08-27 2006-03-02 Ubs Ag Systems and methods for providing operational risk management and control
US7739293B2 (en) * 2004-11-22 2010-06-15 International Business Machines Corporation Method, system, and program for collecting statistics of data stored in a database
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US20080140469A1 (en) * 2006-12-06 2008-06-12 International Business Machines Corporation Method, system and program product for determining an optimal configuration and operational costs for implementing a capacity management service
US20080263626A1 (en) * 2007-04-17 2008-10-23 Caterpillar Inc. Method and system for logging a network communication event
US8150862B2 (en) * 2009-03-13 2012-04-03 Accelops, Inc. Multiple related event handling based on XML encoded event handling definitions
US8600992B2 (en) * 2011-08-17 2013-12-03 International Business Machines Corporation Coordinating problem resolution in complex systems using disparate information sources
US8966501B2 (en) * 2011-11-28 2015-02-24 Ca, Inc. Method and system for time-based correlation of events
US20130304897A1 (en) * 2012-05-08 2013-11-14 Verizon Patent And Licensing Inc. Method and system for proactively providing troubleshooting information
US9317829B2 (en) * 2012-11-08 2016-04-19 International Business Machines Corporation Diagnosing incidents for information technology service management
EP3069474B1 (de) * 2013-11-15 2020-03-11 Nokia Solutions and Networks Oy Korrelation von ereignisberichten
US9369474B2 (en) * 2014-03-27 2016-06-14 Adobe Systems Incorporated Analytics data validation
US9973397B2 (en) * 2014-07-23 2018-05-15 Guavus, Inc. Diagnosis of network anomalies using customer probes
US10652103B2 (en) * 2015-04-24 2020-05-12 Goldman Sachs & Co. LLC System and method for handling events involving computing systems and networks using fabric monitoring system
US10474954B2 (en) * 2015-06-29 2019-11-12 Ca, Inc. Feedback and customization in expert systems for anomaly prediction
US10078571B2 (en) * 2015-12-09 2018-09-18 International Business Machines Corporation Rule-based adaptive monitoring of application performance
US20180284735A1 (en) * 2016-05-09 2018-10-04 StrongForce IoT Portfolio 2016, LLC Methods and systems for industrial internet of things data collection in a network sensitive upstream oil and gas environment
US9582781B1 (en) * 2016-09-01 2017-02-28 PagerDuty, Inc. Real-time adaptive operations performance management system using event clusters and trained models
US10515323B2 (en) * 2016-09-12 2019-12-24 PagerDuty, Inc. Operations command console
US10387899B2 (en) * 2016-10-26 2019-08-20 New Relic, Inc. Systems and methods for monitoring and analyzing computer and network activity
US10687306B2 (en) * 2017-03-31 2020-06-16 Microsoft Technology Licensing, Llc Intelligent throttling and notifications management for monitoring and incident management systems
US10693758B2 (en) * 2017-09-25 2020-06-23 Splunk Inc. Collaborative incident management for networked computing systems
US10659485B2 (en) * 2017-12-06 2020-05-19 Ribbon Communications Operating Company, Inc. Communications methods and apparatus for dynamic detection and/or mitigation of anomalies
US10868821B2 (en) * 2017-12-20 2020-12-15 Sophos Limited Electronic mail security using a heartbeat

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022112860A1 (de) 2022-05-23 2023-11-23 Endress+Hauser SE+Co. KG Verfahren zum Erkennen eines Automatisierungsanlagen übergreifenden Ereignisses

Also Published As

Publication number Publication date
WO2018080781A1 (en) 2018-05-03
JP2019536185A (ja) 2019-12-12
IL266224A (en) 2019-06-30
US20180115464A1 (en) 2018-04-26
AU2017348460A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
DE112017005412T5 (de) Systeme und verfahren zum überwachen und analysieren von computer- und netzwerkaktivitäten
US10387899B2 (en) Systems and methods for monitoring and analyzing computer and network activity
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE102017125256A1 (de) Suche nach einer neuronalen Architektur
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE112016002120T5 (de) Entwicklungs- und Vetriebsplattform für Software
DE112020004623T5 (de) Ml-basierte ereignishandhabung
DE102012210425A1 (de) Verwendung einer dynamisch erzeugten inhaltsbezogenen Aktualitätsbewertung zum Bereitstellen von Empfehlungen zu aktuellen Inhalten
DE112021006232T5 (de) Proaktive anomalieerkennung
DE112012005051T5 (de) Korrekturbereitstellungssystem
DE102021109767A1 (de) Systeme und methoden zur vorausschauenden sicherheit
DE102014116367A1 (de) Verwaltung von leistungsstufen von informationstechnologiesystemen
DE112017003884T5 (de) Benutzerschnittstelle für Protokollabfragen
DE102022102912A1 (de) Pipelines für effizientes training und einsatz von modellen für maschinelles lernen
DE102021004157A1 (de) Maschinell lernendes Modellieren zum Schutz gegen die Online-Offenlegung empfindlicher Daten
DE112017007530T5 (de) Entitätsmodell-erstellung
DE112018001524T5 (de) Gesundheitsdaten-analysesystem-verwaltung
DE112019005467T5 (de) System und verfahren zum erkennen und vorhersagen von mustern eines anomalen sensorverhaltens einer maschine
DE202017100386U1 (de) Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance
EP3889784B1 (de) Testfalloptimierung und -priorisierung
US8572553B2 (en) Systems and methods for providing feedback for software components
DE112022001085T5 (de) Verfahren für eine elektronische nachrichtenübermittlung
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE112020005296T5 (de) Durchsuchen von gesprächsprotokollen eines systems mit virtuellen dialogagenten nach kontrastierenden zeitlichen mustern
DE112012004301T5 (de) Erzeugen einer vorhersagenden Datenstruktur