DE102010028884A1 - Ursachenanalyse für Verarbeitung komplexer Ereignisse - Google Patents

Ursachenanalyse für Verarbeitung komplexer Ereignisse Download PDF

Info

Publication number
DE102010028884A1
DE102010028884A1 DE102010028884A DE102010028884A DE102010028884A1 DE 102010028884 A1 DE102010028884 A1 DE 102010028884A1 DE 102010028884 A DE102010028884 A DE 102010028884A DE 102010028884 A DE102010028884 A DE 102010028884A DE 102010028884 A1 DE102010028884 A1 DE 102010028884A1
Authority
DE
Germany
Prior art keywords
event
input
events
output
data
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
DE102010028884A
Other languages
English (en)
Inventor
Stephan Redmond Grell
Olivier Redmond Nano
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE102010028884A1 publication Critical patent/DE102010028884A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0275Fault isolation and identification, e.g. classify fault; estimate cause or root of failure
    • G05B23/0278Qualitative, e.g. if-then rules; Fuzzy logic; Lookup tables; Symptomatic search; FMEA

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Beschrieben wird Ursachenanalyse für Verarbeitung komplexer Ereignisse. In Ausführungsformen wird Ursachenanalyse an einer Einrichtung zum Verarbeiten komplexer Ereignisse automatisch ausgeführt, indem ein Ausgangsereignis von einem Operator ausgewählt wird und das Ausgangsereignis unter Verwendung von Ereignis-Typ und Lebensdauer-Daten für das Eingangsereignis und das Ausgangsereignis, die in einem Datenspeicher gespeichert sind, mit einem Eingangsereignis korreliert wird. Ausführungsformen beschreiben, dass die Lebensdauer-Daten eine Anfangszeit und eine Endzeit für das Ereignis umfassen können und die Korrelation auf einem Vergleich der Anfangs- und der Endzeiten zwischen dem Eingangs- und dem Ausgangsereignis basieren kann. Ausführungsformen beschreiben, dass der verwendete Korrelationsalgorithmus in Abhängigkeit von dem Ereignis-Typ ausgewählt wird. In Ausführungsformen umfasst eine Engine zum Verarbeiten komplexer Ereignisse eine Aufzeichnungseinheit, die so eingerichtet ist, dass sie in dem Datenspeicher einen Indikator eines Ereignis-Typs und Lebenszeit-Daten für jedes Ausgangsereignis von einem Operator speichert.

Description

  • Hintergrund
  • Die Verarbeitung komplexer Ereignisse, das sogenannte Complex Event Processing (CEP), ist ein Verfahren der Informatik, mit dem Operationen an komplexen Ereignissen durchgeführt werden. Zu typischen Beispielen für CEP gehören Server-Management, Risikomanagement, die Automatisierung von Lieferketten- und Einzelhandelsoperationen, Flugbetriebs-Management, Betrugserkennung (fraud detection) und Infrastrukturüberwachung (infrastructure monitoring). Das Ziel von CEP besteht darin, signifikante Ausgangsereignisse aus einer großen Anzahl von Eingangsereignissen unter Verwendung von Mustern oder Beziehungen her- bzw. abzuleiten, die zwischen diesen Eingangsereignissen existieren können. Ein komplexes Ereignis ist ein Ereignis, das eine Abstraktion anderer Ereignisse ist. An den Ereignissen in einer Einrichtung zum Verarbeiten komplexer Ereignisse durchgeführte Operationen können Lesen, Erzeugen, Transformieren oder Abstrahieren der Ereignisse einschließen (sind jedoch nicht darauf beschränkt).
  • Die Verarbeitung komplexer Ereignisse schließt das Überwachen vieler Quellen von Ereignisdaten ein. Ein Ereignis ist ein beliebiger Vorgang in einem überwachten System, so beispielsweise eine CPU-Last, ein Sensorausgang, ein Tastenanschlag, eine finanzielle Transaktion oder jeder beliebige andere erfassbare Vorgang. Diese Ursprungsereignisse werden dann auf Schlüssel-Leistungsindikatoren hin analysiert, die als Ereignis-Regeln oder Operatoren ausgedrückt werden. Auf diese Ursprungsereignisse wird dann in Echtzeit eingewirkt, indem ein kontinuierlicher Ausgang komplexer Ereignisse erzeugt wird.
  • Jedoch ist es im Allgemeinen schwierig, aus dem Ausgang einer Einrichtung zum Verarbeiten komplexer Ereignisse darauf zu schließen, welche spezifischen Ursprungs-Eingangsereignisse zu dem Ausgang beigetragen haben. Beispielsweise kann bei einem webbasierten E-Mail-Dienst, der unter Verwendung einer großen Anzahl von Servern arbeitet, eine Einrichtung zum Verarbeiten komplexer Ereignisse Informationen von jedem der Server bezüglich seines Status (beispielsweise CPU-Last, Speicherplatz) und der Anzahl von E-Mails, die er verarbeitet, empfangen. Die Einrichtung zum Verarbeiten komplexer Ereignisse kann diese Ursprungsereignisse analysieren und feststellen, ob die Leistung des E-Mail-Dienstes abnimmt. Obwohl damit eine umgehende Mitteilung über eine Verschlechterung des Dienstes möglich ist, zeigt dies nicht ohne weiteres an, welcher spezielle Server oder welche spezielle Gruppe von Servern die Verschlechterung verursacht oder wo der Fehler liegt.
  • Ursachenanalyse, eine als ”Root Cause Analysis” bekannte Methode, ist ein Verfahren, bei dem ein Ausgang von einem Prozess betrachtet wird und dann versucht wird, die ursprünglichen Eingänge (d. h. die Grundursachen) zu definieren, die das untersuchte Ereignis verursacht haben. Um Ursachenanalyse bei einer Einrichtung zum Verarbeiten komplexer Ereignisse anzuwenden, muss eine Aufzeichnung aller Ursprungsereignisse, Ausgänge und vorzugsweise aller Zwischenereignisse für die Ursachenanalyse zugänglich sein. Daher muss jedes Ereignis von der Einrichtung zum Verarbeiten komplexer Ereignisse zusammen mit Informationen gespeichert werden, die es mit den vorhergehenden Ereignissen verknüpfen. Da Engines zum Verarbeiten komplexer Ereignisse normalerweise mehrere zehntausend Ereignisse pro Sekunde verarbeiten können, führt dies zu einem erheblichen Speicherplatzbedarf. Die Speicherung all dieser Ereignisse verursacht des Weiteren Leistungsaufwand an der Engine zum Verarbeiten komplexer Ereignisse. Des Weiteren werden viele dieser gespeicherten Ereignisse niemals verwendet, da sie für die Ursachenanalyse nicht relevant sind.
  • Darüber hinaus machen Konstruktion und Verständnis der Ursachenanalyse Sichtung großer Datenmengen erforderlich, die von einem Benutzer manuell analysiert werden müssen. Das heißt, der Nutzer muss die Daten manuell analysieren und filtern, um diejenigen Ereignisse zu finden, die zu einem bestimmten Ausgang beigetragen haben.
  • Die im Folgenden beschriebenen Ausführungsformen sind nicht auf Implementierungen beschränkt, die beliebige oder alle der Nachteile bekannter Einrichtungen zum Verarbeiten komplexer Ereignisse beheben.
  • Zusammenfassung
  • Es folgt eine vereinfachte Zusammenfassung der Offenbarung, die dem Leser ein grundlegendes Verständnis ermöglicht. Diese Zusammenfassung ist kein erschöpfender Überblick über die Offenbarung und benennt nicht wichtige bzw. ausschlaggebende Elemente der Erfindung oder grenzt den Schutzumfang der Erfindung ab. Ihr einziger Zweck besteht darin, einige hier offenbarte Prinzipien in vereinfachter Form in Vorgriff auf die später folgende ausführliche Beschreibung darzustellen.
  • Beschrieben wird Ursachenanalyse für Verarbeitung komplexer Ereignisse. In Ausführungsformen wird Ursachenanalyse an einer Einrichtung zum Verarbeiten komplexer Ereignisse automatisch durchgeführt, indem ein Ausgangsereignis von einem Operator ausgewählt wird und das Ausgangsereignis unter Verwendung von Ereignistyp-Daten und Lebensdauer-Daten für das Eingangsereignis und das Ausgangsereignis, die in einem Datenspeicher gespeichert sind, korreliert wird. Ausführungsformen beschreiben, dass die Lebensdauer-Daten eine Anfangszeit und eine Endzeit für das Ereignis umfassen können und die Korrelation auf einem Vergleich der Anfangs- und der Endzeit zwischen dem Eingangs- und dem Ausgangsereignis basieren kann. Ausführungsformen beschreiben, dass der verwendete Korrelationsalgorithmus in Abhängigkeit von dem Ereignistyp ausgewählt wird. In Ausführungsformen umfasst eine Engine zum Verarbeiten komplexer Ereignisse eine Aufzeichnungseinheit, die so eingerichtet ist, dass sie einen Indikator eines Ereignis-Typs und Lebensdauer-Daten für jedes Ausgangereignis von einem Operator in dem Datenspeicher speichert.
  • Viele der weiteren Merkmale werden bei besserem Verständnis unter Bezugnahme auf die folgende ausführliche Beschreibung im Zusammenhang mit den beigefügten Zeichnungen leichter ersichtlich.
  • Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird beim Lesen der folgenden ausführlichen Beschreibung im Zusammenhang mit den beigefügten Zeichnungen besser verständlich, wobei:
  • 1 eine Engine zum Verarbeiten komplexer Ereignisse darstellt;
  • 2 einen Prozess zum Durchführen von Ursachenanalyse in einer Engine zum Verarbeiten komplexer Ereignisse darstellt;
  • 3 einen Prozess zum Erstellen eines Fehlerbaums darstellt;
  • 4 einen Prozess darstellt, mit dem festgestellt wird, ob Korrelation eines Eingangsereignisses mit einem Ausgangsereignis vorliegt;
  • 5 einen Modifizierungs-Korrelationsalgorithmus darstellt;
  • 6 ein Beispiel eines Operators darstellt, der die Nutzinformation eines Einfüge-Ereignisses modifiziert;
  • 7 ein Beispiel eines Operators darstellt, der die Lebensdauer eines Einfügungs-Ereignisses modifiziert;
  • 8 einen Korrelationsalgorithmus für neue Ereignisse darstellt;
  • 9 ein Beispiel eines Operators darstellt, der Einfüge-Ereignisse zusammenführt;
  • 10 ein weiteres Beispiel eines Operators darstellt, der Einfüge-Ereignisse zusammenführt;
  • 11 ein Beispiel eines Operators darstellt, der Einfüge-Ereignisse vereinigt;
  • 12 einen Korrelationsalgorithmus für aktualisierte Ereignisse darstellt;
  • 13 ein Beispiel einer Operation darstellt, die an einem aktualisierten Ereignis durchgeführt wird;
  • 14 einen Korrelationsalgorithmus für ein Synchronzeitschritt-Ereignis (concurrent time increment event correlation algorithm) darstellt;
  • 15 ein Beispiel einer Operation darstellt, die an einem Synchronzeitschritt-Ereignis durchgeführt wird;
  • 16 eine beispielhafte computerbasierte Vorrichtung darstellt, in der Ausführungsformen einer Einrichtung zum Verarbeiten komplexer Ereignisse unter Verwendung von Ursachenanalyse implementiert werden können.
  • Gleiche Bezugszeichen werden in den beigefügten Zeichnungen zum Kennzeichnen gleicher Teile verwendet.
  • Ausführliche Beschreibung
  • Die ausführliche Beschreibung, die nun im Zusammenhang mit den beigefügten Zeichnungen erfolgt, ist als Beschreibung der vorliegenden Beispiele gedacht und soll nicht die einzigen Formen darstellen, in denen das vorliegende Beispiel konstruiert oder eingesetzt werden kann. Die Beschreibung legt die Funktionen des Beispiels und die Abfolge von Schritten zum Konstruieren und Betreiben des Beispiels dar. Die gleichen oder äquivalente Funktionen und Abfolgen können jedoch mit anderen Beispielen umgesetzt werden.
  • Obwohl die vorliegenden Beispiele hier in einem System zur Verarbeitung komplexer Ereignisse implementiert beschrieben und dargestellt sind, dient das beschriebene System lediglich als Beispiel und nicht als Beschränkung. Der Fachmann weiß, dass die vorliegenden Beispiele für den Einsatz in einer Vielzahl verschiedener Typen von Verarbeitungssystemen geeignet sind.
  • 1 stellt eine Engine 100 zum Verarbeiten komplexer Ereignisse dar, die in Verbindung mit einer Methode für automatisierte Ursachenanalyse eingesetzt werden kann. In der folgenden Beschreibung werden Ereignisse, die in die Engine zum Verarbeiten komplexer Ereignisse (beispielsweise von einem Sensor in einem überwachten System) eingegeben werden, als ”Ursprungsereignisse” bezeichnet, und Ereignisse, die von der Engine zum Verarbeiten komplexer Ereignisse ausgegeben werden, werden als ”abgeleitete Ereignisse” bezeichnet.
  • Zwei Eingangs-Adaptereinrichtungen 101 und 102 sind dargestellt. Bei anderen Beispielen kann/können lediglich eine oder mehr als zwei Eingangs-Adaptereinrichtung/en vorhanden sein. Jede Eingangs-Adaptereinrichtung 101, 102 ist so eingerichtet, dass sie Ursprungs-Ereignisse eines jeweils anderen Typs empfängt und verarbeitet. Ereignisse von den Eingangs-Adaptereinrichtungen 101, 102 werden von einem Verarbeitungsblock 103 verarbeitet und transformiert, um die abgeleiteten Ereignisse zu erzeugen.
  • Der Verarbeitungsblock 103 umfasst eine Vielzahl von Operatoren, die so eingerichtet sind, dass sie eine oder mehrere Operation/en an den Ereignissen durchführen, während sie den Verarbeitungsblock 103 durchlaufen. Der Verarbeitungsblock 103 kann jede beliebige Anzahl von Operatoren aufweisen. Die Operatoren können ”Modifizierungs-Operatoren” sein, die Ereignisse modifizieren (beispielsweise Filter, Nutzinformations-Modifiziereinrichtungen oder Lebensdauer-Modifiziereinrichtungen) oder ”Operatoren für neue Ereignisse”, die neue Ereignisse schaffen (so beispielsweise Zusammenführeinrichtungen, Summiereinrichtungen oder Vereinigungseinrichtungen). Bei dem in 1 gezeigten veranschaulichenden Beispiel umfasst der Verarbeitungsblock 103 Filter-Operatoren 104, eine Nutzinformations-Modifiziereinrichtung 105, eine Lebensdauer-Modifiziereinrichtung 106, einen Vereinigungsoperator 107 und einen Zusammenführ-Operator 108. Die Operatoren sind so eingerichtet, dass sie Operationen so durchführen, dass die abgeleiteten Ereignisse von einer oder mehreren Ausgangs-Adaptereinrichtung/en 109 bereitgestellt werden (in 1 ist nur eine Ausgangs-Adaptereinrichtung dargestellt).
  • Eine Vielzahl von Aufzeichnungseinheiten 110 ist am Ausgang jedes der Operatoren und jeder der Eingangs-Adaptereinrichtungen vorhanden. Die Aufzeichnungseinheiten 110 sind so eingerichtet, dass sie die Ereignisse aufzeichnen, die sie in dem Verarbeitungsblock 103 durchlaufen. Die aufgezeichneten Ereignisse werden in einem Aufzeichnungsdaten-Speicher 111 gespeichert. Die durch die Aufzeichnungseinheiten 110 gespeicherten Daten werden weiter unten ausführlicher erläutert.
  • In Funktion gelangen Ursprungsereignisse so zu den Eingangs-Adaptereinrichtungen 101 und 102 (potenziell von einer großen Anzahl von Quellen), dass ein bestimmter Typ Ereignis einer Eingangs-Adaptereinrichtung bereitgestellt wird und ein anderer Typ Ereignis einer anderen Eingangs-Adaptereinrichtung bereitgestellt wird. Die Eingangs-Adaptereinrichtungen 101 und 102 können, wenn erforderlich, die Ereignisse transformieren, bevor sie weiter verarbeitet werden. Die Ereignisse werden von den Operatoren in dem Verarbeitungsblock 103 verarbeitet, und Daten über die Ereignisse werden durch die Aufzeichnungseinheiten 110 in dem Aufzeichnungsdaten-Speicher 111 auf jeder Stufe aufgezeichnet. Wenn die Ereignisse verarbeitet worden sind, wird ein abgeleitetes Ereignis von der Ausgangs-Adaptereinrichtung 109 bereitgestellt (die das Ereignis, falls erforderlich, auch transformieren kann, bevor es ausgegeben wird). Das hergeleitete Ereignis stellt eine aussagekräftige Analyse der Eingangsereignisse dar und gestattet es dem Benutzer der Engine 100 zum Verarbeiten komplexer Ereignisse, Schlüsse über das überwachte System zu ziehen.
  • Beispielsweise kann bei einem webbasierten E-Mail-Dienst, der unter Verwendung einer großen Anzahl von Servern arbeitet, die Engine zum Verarbeiten komplexer Ereignisse aus 1 Informationen von jedem der Server von der Eingangs-Adaptereinrichtung 101 bezüglich seiner CPU-Last empfangen und Informationen von jedem der Server an Eingangs-Adaptereinrichtung 102 bezüglich der verarbeiteten Anzahl von E-Mails empfangen. Der Verarbeitungsblock 103 führt Operationen zum Analysieren dieser Ursprungsereignisse durch und kann so eingerichtet sein, dass er, wenn die Leistung des E-Mail-Dienstes abnimmt, ein abgeleitetes Ereignis über die Ausgangs-Adaptereinrichtung bereitstellt.
  • Aus einem abgeleiteten Ereignis kann der Benutzer, wie oben erwähnt, nur schwer darauf schließen, welches spezifische Ursprungsereignis (beziehungsweise Ursprungsereignisse) das abgeleitete Ereignis verursacht hat. Ursachenanalyse (root cause analysis – RCA) kann durchgeführt werden, um die Ursprungseingänge (bzw. Grundursachen) zu bestimmen, die zu dem abgeleiteten Ereignis geführt haben. Dies macht jedoch das Speichern eines Eintrages jedes Ereignisses zusammen mit Informationen erforderlich, die es mit den vorher gehenden Ereignissen verknüpfen. Aufgrund der sehr großen Anzahl von Ereignissen, die von einer Engine zum Verarbeiten komplexer Ereignisse verarbeitet werden, führt dies zur Inanspruchnahme einer großen Menge an Speicherraum sowie zu einem erheblichen Leistungsaufwand.
  • Die Menge an Daten, die für jedes Ereignis gespeichert wird, kann jedoch erheblich reduziert werden, indem die Ereignisse während der Ursachenanalyse analysiert werden, um automatisch die Beziehungen zwischen den Ereignissen zu rekonstruieren, und so das Speichern dieser Daten während der Verarbeitung komplexer Ereignisse überflüssig zu machen.
  • Um die Verringerung der Speicheranforderungen für die Ereignisse zu erzielen, werden durch die Aufzeichnungseinheiten 110 für jedes Ereignis nur bestimmte Daten aufgezeichnet. Die aufgezeichneten Daten werden sorgfältig ausgewählt, um zu gewährleisten, dass bei Durchführung der Ursachenanalyse die Beziehungen zwischen den Ereignissen dennoch rekonstruiert werden können. Bei einem Beispiel umfassen die durch die Aufzeichnungseinheiten 110 für jedes Ereignis gespeicherten Daten eine Ereignis-Lebensdauer, eine Identität des Operators, der das Ereignis erzeugt hat, eine Aufzeichnungszeit, Nutzinformations-Daten sowie einen Ereignis-Typ. Die Lebensdauer-Daten des Ereignisses definieren die Zeitdauer, über die das Ereignis gültig ist. Bei anderen Beispielen können die aufgezeichneten Daten auch eine eindeutige Ereignis-Kennung umfassen, die durch die Aufzeichnungseinheiten erzeugt wird.
  • Die Lebensdauer-Daten können wenigstens eine Anfangszeit für das Ereignis, eine Endzeit für das Ereignis und eine modifizierte Endzeit für das Ereignis umfassen. Die modifizierte Endzeit wird dann verwendet, wenn ein Operator die Endzeit für das Ereignis ändert. Die Aufzeichnungszeit ist die Zeit, zu der die Daten durch die Aufzeichnungseinheit 110 aufgezeichnet werden. Die Nutzinformations-Daten stellen eine Nachricht dar, die in dem Ereignis enthalten ist.
  • Der Ereignis-Typ definiert eine Klassifizierung für das Ereignis. Es können beispielsweise drei verschiedene Ereignis-Typen unterschieden werden. Ein erster Ereignis-Typ ist ein Einfüge-Ereignis, das ein normales neues Ereignis ist, das in die Engine zum Verarbeiten komplexer Ereignisse eintritt. Ein zweiter Ereignis-Typ ist ein Aktualisierungs-Ereignis, das eine Korrektur eines zuvor hinzugefügten Ereignisses ist und das Parameter, wie beispielsweise die Lebensdauer oder die Nutzinformation, modifizieren kann. Ein dritter Typ Ereignis ist ein Synchronzeitschritt (concurrent time increment – CTI), der als eine Zeitmarkierung verwendet wird. Ein CTI-Ereignis wird eingesetzt, weil Ereignisse ungeordnet an dem System eintreffen können, und das CTI-Ereignis zeigt dem System an, dass vorhergehende Ereignisse umgeordnet werden können.
  • Wenn ein abgeleitetes Ausgangsereignis von Interesse an einer der Ausgangs-Adaptereinrichtungen empfangen wird, kann eine Ursachenanalyse unter Verwendung der oben erwähnten aufgezeichneten Daten durchgeführt werden, um das/die früheren Ursprungsereignis/se zu rekonstruieren, das/die das abgeleitete Ereignis verursacht hat/haben. Das Verfahren der Ursachenanalyse, das bei diesem Beispiel eingesetzt wird, ist als Fehlerbaumanalyse bekannt (obwohl auch andere Verfahren der Ursachenanalyse eingesetzt werden können). Bei der Fehlerbaumanalyse ist der Ausgangspunkt ein anfängliches abgeleitetes Ereignis, das an der Ausgangs-Adaptereinrichtung 109 empfangen wird. Dann wird ein Fehlerbaum erstellt, der alle Ursprungsereignisse zeigt, die mit dem abgeleiteten Ereignis zusammenhingen, und zeigt, wie sie zusammenhängen. Der Fehlerbaum kann dann analysiert werden, um die Ursprungsereignisse an den Eingangs-Adaptereinrichtungen 101, 102 zu finden, die die ausgewählten abgeleiteten Ereignisse erzeugt haben.
  • 2 stellt einen Prozess zum Durchführen von Ursachenanalyse an einer Engine zur Verarbeitung komplexer Ereignisse und zum Nutzen der Ereignisse derselben dar. Zunächst wird in 200 ein zu analysierendes abgeleitetes Ereignis ausgewählt. Wenn beispielsweise ein abgeleitetes Ereignis von der Einrichtung zum Verarbeiten komplexer Ereignisse ausgegeben wird, das einen Abfall der Leistung eines E-Mail-Dienstes anzeigt, kann dies als zu untersuchendes Ereignis dienen. Der Ursachenanalyse-Algorithmus liest dann in 201 die Struktur des Verarbeitungsblocks 103. Das heißt, der Ursachenanalyse-Algorithmus interpretiert die Struktur des Verarbeitungsblocks 103, um festzustellen, wie die Operatoren miteinander verbunden sind, und wie letztendlich die Eingangs- und Ausgangs-Adaptereinrichtungen über die Operatoren in der Engine 100 zur Verarbeitung komplexer Ereignisse verbunden sind.
  • Dann wird eine Fehlerbaumanalyse durchgeführt, um in 202 einen Fehlerbaum zu erstellen, der von dem ausgewählten abgeleiteten Ereignis ausgehend Ereignisse miteinander verknüpft, bis ein oder mehr Ursprungsereignis/se erreicht wird/werden. Der Prozess zum Durchführen der Erstellung des Fehlerbaums wird im Folgenden unter Bezugnahme auf 3 ausführlicher beschrieben. Wenn der Fehlerbaum erstellt worden ist, kann er in 203 bewertet werden, um zu erwägen, welche Ursprungsereignisse das hergeleitete Ereignis verursacht haben. Die Ergebnisse der Bewertung können dann in 204 zum Vorteil des Benutzers und des zukünftigen Betriebes der Engine zum Verarbeiten komplexer Ereignisse verwendet werden.
  • Im Folgenden wird auf 3 Bezug genommen, die einen Prozess zum Durchführen von Ursachenanalyse in der Engine zum Verarbeiten komplexer Ereignisse darstellt. Der Ursachenanalyse-Prozess 300 arbeitet sich von der Ausgangs-Adaptereinrichtung 109 nacheinander über jeden Operator in dem Verarbeitungsblock 103 nach hinten, bis die Eingangs-Adaptereinrichtungen 101, 102 erreicht sind. Der Ursachenanalyse-Prozess 300 betrachtet jeweils einen einzelnen Operator und betrachtet das Ausgangsereignis von diesem Operator und stellt fest, welche Eingangsereignisse an diesem Operator mit dem Ausgangsereignis zusammenhängen. Es ist anzumerken, dass sich in der folgenden Beschreibung ”Ausgangsereignis” auf das Ereignis bezieht, das von dem einzelnen Operator ausgegeben wird, auf den der Ursachenanalyse-Algorithmus aktuell fokussiert ist. Desgleichen bezieht sich ”Eingangsereignis” auf ein Ereignis, das in den einzelnen Operator eingegeben wird, auf den der Ursachenanalyse-Algorithmus aktuell fokussiert ist. Dies ist nicht zu verwechseln mit ”Ursprungsereignis”, bei dem es sich um diejenigen Ereignisse handelt, die den Eingangs-Adaptereinrichtungen bereitgestellt werden, sowie mit ”abgeleitetes Ereignis”, bei dem es sich um die Ereignisse handelt, die von den Ausgangs-Adaptereinrichtungen erzeugt werden.
  • Der Ursachenanalyse-Prozess 300 beginnt mit dem abgeleiteten Ereignis, das analysiert wird. Der Ursachenanalyse-Prozess 300 wählt zunächst in 301 den Operator in dem Verarbeitungsblock 103, der das abgeleitete Ereignis als ein Ausgangsereignis aufweist. Der RCA-Prozess 300 verwendet die bekannte Struktur der Engine 100 zum Verarbeiten komplexer Ereignisse, um den Operator auszuwählen, der das Ausgangsereignis erzeugt hat. Bei dem Beispiel in 1 bewegt sich der RCA-Prozess von der Ausgangs-Adaptereinrichtung 109 zurück zu dem Zusammenführ-Operator 108.
  • Dann wird auf den Aufzeichnungsdaten-Speicher 111 zugegriffen, und die darin für das Ausgangsereignis von dem ausgewählten Operator gespeicherten Daten werden in 302 gelesen. Dies umfasst, wie oben beschrieben, die durch die Aufzeichnungseinheit gespeicherten ausgewählten Daten.
  • Der RCA-Prozess 300 bestimmt dann in 302 eine Gruppe aus einem oder mehreren Ereignis/en, das/die in diesen ausgewählten Operator eingegeben wurde/n. Bei dem Beispiel in 1 stellt der RCA-Prozess alle Ereignisse fest, die in den Zusammenführ-Operator 108 eingegeben wurden. Das erste Ereignis in der Gruppe von Ereignissen, die in den Operator eingegeben wurden, wird in 304 ausgewählt, und der RCA-Prozess 300 greift dann auf den Aufzeichnungsdaten-Speicher 111 zu und liest in 305 die gespeicherten Aufzeichnungsdaten für das ausgewählte Eingangsereignis in den betreffenden Operator.
  • Der RCA-Prozess 300 stellt in 306 fest, ob das ausgewählte Eingangsereignis mit dem Ausgangsereignis an dem Operator korreliert, d. h., es wenigstens teilweise verursacht hat. Die Feststellung der Korrelation wird unter Verwendung der gespeicherten Aufzeichnungsdaten für das ausgewählte Eingangsereignis und das Ausgangsereignis durchgeführt. Daher wird das Vorhandensein einer Beziehung zwischen dem Eingangsereignis und dem Ausgangsereignis unter Verwendung des Korrelationsprozesses und der gespeicherten Aufzeichnungsdaten bestimmt, ohne dass Informationen gespeichert werden müssen, die die Beziehung ausdrücklich detailliert beschreiben.
  • Um den Korrelationsprozess durchzuführen, wird ein Vergleich zwischen dem Eingangsereignis und dem Ausgangsereignis ausgeführt. Dieser Vergleich basiert auf einer Anzahl von Datenelementen, die sowohl mit dem Eingangs- als auch dem Ausgangsereignis zusammenhängen und aus dem Aufzeichnungsdaten-Speicher 111 gelesen wurden. Ein Beispiel dafür ist der Vergleich der Ereignisse entsprechend den für jedes Ereignis gespeicherten Zeitinformationen. Ein weiteres Beispiel ist der Vergleich der Nutzinformation jedes Ereignisses. Ein weiteres Beispiel besteht im Vergleich der Ereignis-Kennung jedes Ereignisses. Es können auch andere Daten verglichen werden. Der Ereignis-Typ der Ereignisse kann verwendet werden, um einen bestimmten zu verwendenden Korrelationsprozess auszuwählen, wie dies weiter unten ausführlicher beschrieben ist. Eine ausführliche Beschreibung des Korrelationsprozesses folgt unter Bezugnahme auf 415, wenn die Beschreibung von 3 abgeschlossen ist.
  • Wenn der RCA-Prozess 300 in 306 feststellt, dass keine Korrelation zwischen dem ersten Eingangsereignis in der Gruppe von Eingangsereignissen und dem Ausgangsereignis vorliegt, wird in 307 geprüft, ob noch weitere Eingangsereignisse in der Gruppe von Eingangsereignissen zu analysieren sind. Wenn dies der Fall ist, wird das nächste Ereignis in der Gruppe von Eingangsereignissen in 308 ausgewählt, und die Korrelation für dieses Ereignis wird durchgeführt. Wenn dies nicht der Fall ist, endet der RCA-Prozess 300 in 309.
  • Wenn jedoch der RCA-Prozess 300 in 306 feststellt, dass eine Korrelation zwischen dem Eingangsereignis an dem betreffenden Operator und dem Ausgangsereignis vorliegt, wird das Eingangsereignis in 310 zu einer Baum-Datenstruktur hinzugefügt. Die Baum-Datenstruktur ist eine Datenstruktur, in der alle Ereignisse gespeichert werden, für die der RCA-Prozess 300 feststellt, dass sie mit dem abgeleiteten Ereignis zusammenhängen, das untersucht wird, und auch die Beziehungen zwischen den Ereignissen gespeichert werden. Das abgeleitete Ereignis, das untersucht wird, befindet sich an der Wurzel des Baums, und jede Stufe darunter in dem Baum entspricht Ereignissen, für die festgestellt wird, dass sie mit den Ereignissen auf den Stufen darüber zusammenhängen. Schließlich entsprechen die Blattknoten an dem Baum Ursprungsereignissen, so dass die gesamte Beziehung zwischen den Ursprungsereignissen und dem hergeleiteten Ereignis vorliegt, das untersucht wird.
  • Wenn das Ereignis in 310 zu dem Baum hinzugefügt worden ist, wird der RCA-Prozess rekursiv ausgeführt, so dass das korrelierende Eingangsereignis nunmehr das Ausgangsereignis für die nächste Ausführung des RCA-Prozesses 300 wird. Das heißt, der RCA-Prozess 300 wird erneut durchgeführt, jedoch wird diesmal der nächste zurückliegende Operator (d. h. der Operator, dessen Ausgang das Ereignis ist, das das korrelierende Ereignis bei der vorhergehenden Ausführung war) in der Engine zum Verarbeiten komplexer Ereignisse ausgewählt. Beispielsweise weist in dem Fall in 1 der Zusammenführ-Operator 108 ein Eingangsereignis auf, das ein Ausgangsereignis von dem Vereinigungs-Operator 107 ist. Wenn sich erweist, dass dieses Eingangsereignis an dem Zusammenführ-Operator 108 mit dem Ausgangsereignis des Zusammenführ-Operators 108 korreliert, verläuft die rekursive Ausführung des RCA-Prozesses 300 so, dass sich der RCA-Prozess 300 zu dem Vereinigungs-Operator 107 bewegt. Das Ausgangsereignis für diese Ausführung des RCA-Prozesses ist der Ausgang des Vereinigungs-Operators (der in der vorhergehenden Ausführung der Eingang zu dem Zusammenfüge-Operator 108 war).
  • Die Rekursion des RCA-Prozesses 300 setzt sich so fort, bis alle Eingänge von allen Operatoren berücksichtigt worden sind. Es ist anzumerken, dass, wenn ein RCA-Prozess 100 in 309 endet, damit nicht der gesamte Prozess beendet ist. Stattdessen endet an diesem Punkt nur die in Ausführung befindliche Instanz des Prozesses. Der Prozess geht dann zu der vorhergehenden Ausführung über und fährt von dort aus fort.
  • Der RCA-Prozess 300 kann mit dem folgenden Pseudo-Code zusammengefasst werden:
    Figure 00120001
  • Die gesamte RootCauseAnalysis-Funktion hat ein Ereignis als ein Argument. Bei der ersten Ausführung der Funktion ist das Argument das abgeleitete Ereignis, das untersucht wird. Folgende (rekursive) Ausführungen der Funktion haben andere Ereignisse zum Argument. Die Funktion wählt den Operator für das Ereignis aus, liest die mit dem Ereignis zusammenhängenden Daten und bestimmt die Gruppe von Eingangsereignissen für den Operator, wie dies oben umrissen ist. Dann wird für jedes der Eingangsereignisse in den Operator (d. h. jedes der Eingangsereignisse in der Gruppe von Eingangsereignissen) festgestellt, ob das Eingangsereignis mit dem Argument der RootCauseAnalysis-Funktion korreliert. Wenn dies der Fall ist, wird das Eingangsereignis zu dem Baum hinzugefügt, und die Funktion ruft sich dann selbst auf, wobei das korrelierende Eingangsereignis als Eingang in die Funktion verwendet wird.
  • Im Folgenden wird auf 4 Bezug genommen, die den Prozess darstellt, mit dem der RCA-Prozess 300 in 306 feststellt, ob ein Eingangsereignis mit einem Ausgangsereignis an einem Operator korreliert, wie dies oben unter Bezugnahme auf 3 erwähnt wird. Der in 4 gezeigte Prozess dient dazu, bestimmte Korrelations-Algorithmen auszuwählen, die für bestimmte Typen von Ereignissen verwendet werden.
  • Der Typ des Eingangsereignisses wird zunächst in 400 anhand der Aufzeichnungsdaten bestimmt, die mit dem Eingangsereignis zusammenhängen (wie in 3 in 305 gelesen).
  • Die Ereignisse bei diesem Beispiel werden, wie oben beschrieben, als zu einem von drei Typen gehörend klassifiziert, d. h. ein Einfüge-Ereignis, ein Aktualisierungs-Ereignis oder ein CTI-Ereignis.
  • Wenn in 400 festgestellt wird, dass das Eingangsereignis von dem Typ Einfüge-Ereignis ist, wird die Operator-Identität verwendet, um in 401 festzustellen, ob der Operator, der das Ausgangsereignis ausgibt, ein Modifikations-Operator oder ein Operator für neue Ereignisse ist. Wenn festgestellt wird, dass der Operator ein Modifikations-Operator ist, wird ein Modifikations-Korrelationsalgorithmus 402 verwendet, um festzustellen, ob das Ausgangsereignis mit dem betreffenden Eingangsereignis korreliert oder nicht.
  • Ein Modifikations-Korrelationsalgorithmus ist in 5 dargestellt. Um festzustellen, ob ein Eingangsereignis mit dem Ausgangsereignis bei einem Einfüge-Ereignis und einem Modifikations-Operator korreliert, wird zunächst in 500 festgestellt, ob eine Ereignis-Kennung für das Eingangs- und das Ausgangsereignis existiert (diese wurden oben als optional zu speichernde Aufzeichnungsdaten erwähnt). Wenn diese existiert, wird in 501 festgestellt, ob die Ereignis-Kennungen für das Eingangs- und das Ausgangsereignis übereinstimmen. Wenn dies der Fall ist, korrelieren das Eingangs- und das Ausgangsereignis. Wenn sie nicht übereinstimmen, korrelieren das Eingangs- und das Ausgangsereignis nicht.
  • Wenn in 500 festgestellt wurde, dass keine Ereignis-Kennung für das Eingangs- und/oder das Ausgangsereignis vorhanden war, werden in 502 die Lebensdauer-Daten für das Eingangs- und das Ausgangsereignis verglichen. Wenn die Lebensdauer-Daten übereinstimmen, korrelieren das Eingangs- und das Ausgangsereignis. Wenn die Lebensdauer-Daten nicht übereinstimmen, werden in 503 die Nutzinformationen des Eingangs- und des Ausgangsereignisses verglichen. Wenn die Nutzinformationen nicht übereinstimmen, korrelieren das Eingangs- und das Ausgangsereignis nicht, während, wenn die Nutzinformationen übereinstimmen, das Eingangs- und das Ausgangsereignis korrelieren.
  • Dies ist weitergehend in 6 dargestellt, wo ein Eingangsereignis 600 in einen Operator 105 eingegeben wird, der die Nutzinformation des Ereignisses modifiziert und ein Ausgangsereignis 601 ausgibt. Bei diesem Beispiel weist das Eingangsereignis 600 Daten auf, die einen ”Einfüge”-Ereignistyp (ET) umfassen, Lebensdauer-Daten, die eine Anfangszeit (Ts) 19, eine Endzeit (Te) 23 sowie eine modifizierte Endzeit (Tn) 23 umfassen, sowie eine Nutzinformation ”ABC”. Das Ausgangsereignis 601 weist Daten auf, die einen ”Einfüge”-Ereignistyp (ET) umfassen, Lebensdauer-Daten, die eine Anfangszeit Ts 19, eine Endzeit 23 und eine modifizierte Endzeit Tn 23 umfassen, sowie eine Nutzinformation ”XYZ”. Daher stimmen bei diesem Beispiel die Lebensdauer-Daten überein, und es wird festgestellt, dass das Eingangs- und das Ausgangsereignis korrelieren.
  • Ein weiteres Beispiel ist in 7 dargestellt, bei dem das Eingangsereignis 600 in einen Operator 106 eingegeben wird, der die Lebensdauer des Ereignisses modifiziert und ein Ausgangsereignis 601 ausgibt. Das Eingangsereignis 600 weist eine Anfangszeit 19, eine Endzeit 23, eine modifizierte Endzeit 23 sowie eine Nutzinformation ”ABC” auf, und das Ausgangsereignis 601 weist eine Anfangszeit 5, eine Endzeit 20, eine modifizierte Endzeit 20 sowie eine Nutzinformation ”ABC” auf. Daher stimmen die Lebensdauer-Daten nicht überein, die Nutzinformationen stimmen jedoch überein, und das Eingangs- und das Ausgangsereignis korrelieren.
  • Wenn, um auf 4 zurückzukommen, in 401 festgestellt wird, dass der Operator ein Operator für neue Ereignisse ist, wird ein Korrelationsalgorithmus 403 für neue Ereignisse verwendet, um festzustellen, ob das Ausgangsereignis mit dem betreffenden Eingangsereignis korreliert oder nicht. Ein Korrelationsalgorithmus für neue Ereignisse ist in 8 dargestellt. Um bei einem Einfüge-Ereignis und einem Operator für neue Ereignisse festzustellen, ob ein Eingangsereignis mit dem Ausgang korreliert, werden die Lebensdauer-Daten für das Eingangs- und das Ausgangsereignis miteinander verglichen. Insbesondere die Eingangszeit des Eingangsereignisses (Tsi) wird mit der Anfangszeit des Ausgangsereignisses (Tso) verglichen, und die Endzeit des Eingangsereignisses (Tei) wird mit der Endzeit des Ausgangsereignisses (Teo) verglichen. Das Eingangsereignis korreliert, wie in 8 dargestellt, mit dem Ausgangsereignis, wenn die folgenden Aussagen wahr sind:
    • 1). Tsi < Tso UND Tei > Teo (800)
    • 2). Tsi = Tso UND Tei ≥ Teo (801)
    • 3). Tsi ≤ Tso UND Tei = Teo (802)
    • 4). Tsi = Tso UND Tei = Teo (803)
  • Ein Beispiel dafür ist in 9 dargestellt, bei dem ein Zusammenführ-Operator 108 zwei Eingänge hat und ein erstes Eingangsereignis 600 sowie ein zweites Eingangsereignis 900 empfängt, und ein Ausgangsereignis 601 ausgibt. Das erste Eingangsereignis 600 korreliert als Ergebnis von Aussage 3) mit dem Ausgangsereignis 601, und das zweite Eingangs ereignis 900 korreliert als Ergebnis von Aussage 2) mit dem Ausgangsereignis 601. Ein weiteres Beispiel für das gleiche Szenario ist in 10 dargestellt, bei dem das erste Eingangsereignis 600 als Resultat von Aussage 1) mit dem Ausgangsereignis 601 korreliert und das zweite Eingangsereignis 900 als Resultat von Aussage 4) mit dem Ausgangsereignis 601 korreliert. Ein weiteres Beispiel ist in 11 dargestellt, bei dem ein Vereinigungs-Operator 107 mehrere Eingangsereignisse an einem Eingang empfängt (Eingangsereignis 600, 1100 und 1101), und das Eingangsereignis aufgrund der obenstehenden Aussage 4) mit jedem Eingangsereignis 600, 1100 und 1101 korreliert. Das Szenario in 11 kann in dem Fall auftreten, in dem eine Anzahl von Quellen Ereignis-Daten des gleichen Typs senden, die sämtlich dem gleichen Zeitintervall entsprechen.
  • Um auf 4 zurückzukommen, wird, wenn in 400 festgestellt wird, dass das Eingangsereignis vom Aktualisierungs-Ereignis-Typ ist, ein Korrelationsalgorithmus 404 für Aktualisierungs-Ereignisse verwendet, um festzustellen, ob das Ausgangsereignis mit dem betreffenden Eingangsereignis korreliert oder nicht. Ein Korrelationsalgorithmus für Aktualisierungs-Ereignisse ist in 12 dargestellt.
  • Ein Aktualisierungs-Ereignis ist, wie erwähnt, eine Korrektur eines zuvor eingefügten Ereignisses. Ein Aktualisierungs-Ausgangsereignis bezieht sich auf ein Eingangsereignis oder ein anderes Aktualisierungs-Ereignis. Des Weiteren wird ein Aktualisierungs-Eingangsereignis von einem Eingangsereignis abgeleitet. Das heißt, für einen Operator, der ein Aktualisierungs-Ereignis als Eingang empfängt, existiert eine vorhergehende Abfolge von N Ereignissen, die mit einem Einfüge-Ereignis endet (wobei das Einfüge-Ereignis das 0-te Ereignis ist und das betreffende Eingangs-Aktualisierungs-Ereignis das N-te Ereignis ist).
  • Des Weiteren modifiziert ein Aktualisierungs-Ereignis die Anfangszeit eines Ereignisses nicht. Jedoch kann ein Aktualisierungs-Ereignis die Endzeit eines Ereignisses modifizieren und kann die Nutzinformation eines Ereignisses modifizieren. Daher werden das Eingangs- und das Ausgangsereignis bezüglich der Lebenszeit-Daten und des Ereignis-Typs verglichen.
  • Ein Eingangsereignis korreliert, wie unter Bezugnahme auf 12 zu sehen ist, mit einem Ausgangsereignis, wenn alle der folgenden Aussagen wahr sind:
    • I). Tsi = Tso (1200)
    • II). Die Abfolge von Ereignissen an diesem Eingang des Operators führt zu einem Eingangsereignis zurück (ETi0 = ”Einfügen”) (1201)
    • III). Die Abfolge von Ereignissen an diesem Eingang des Operators nach dem Eingangsereignis sind Aktualisierungs-Ereignisse (ETi1...N ) = ”Aktualisierung”) (1202)
    • IV). Die modifizierte Endzeit jedes Aktualisierungs-Ereignisses an diesem Eingang des Operators entspricht der Endzeit des folgenden Aktualisierungs-Ereignisses (d. h. Tnia = Teia+1 bei a = 1 bis N (1203).
  • Wenn irgendeine dieser Aussagen nicht wahr ist, wird in 1204 festgestellt, ob der Operator ein Multiplikations-Operator ist. Wenn dies nicht der Fall ist, korrelieren das Eingangs- und das Ausgangsereignis nicht. Wenn dies der Fall ist, wird in 1205 festgestellt, ob die Ereignis-Kennungen übereinstimmen, falls sie vorhanden sind. Wenn dies der Fall ist, korrelieren das Eingangs- und das Ausgangsereignis, und wenn dies nicht der Fall ist, korrelieren sie nicht.
  • Ein Beispiel eines Aktualisierungs-Ereignisses ist in 13 dargestellt. Ein erster Eingang eines Zusammenführ-Operators 108 empfängt eine Abfolge von Eingangsereignissen. Das erste Eingangsereignis 600 ist ein Aktualisierungs-Ereignis, dem zwei vorhergehende Aktualisierungs-Ereignisse 1300, 1301 und ein Eingangsereignis 1302 vorangehen. Bei diesem Beispiel sind alle oben aufgeführten Aussagen erfüllt, und daher korreliert das Eingangsereignis 600 mit dem Ausgangsereignis 601. Bei dem zweiten Eingangsereignis 900 handelt es sich um ein Einfüge-Ereignis, so dass die Korrelation entsprechend dem oben beschriebenen Korrelationsalgorithmus für neue Ereignisse bestimmt wird.
  • Wenn, um zu 4 zurückzukehren, in 400 festgestellt wird, dass das Eingangsereignis vom CTI-Ereignis-Typ ist, dann wird ein Korrelationsalgorithmus 405 für CTI-Ereignisse verwendet, um festzustellen, ob das Ausgangsereignis mit dem betreffenden Eingangsereignis korreliert oder nicht. Ein Korrelationsalgorithmus für CTI-Ereignisse ist in 14 dargestellt.
  • Ein CTI-Ereignis wird durch Operatoren in der Engine 100 zur Verarbeitung komplexer Ereignisse nicht modifiziert. Dies bedeutet, dass ein CTI-Ausgangsereignis gegenüber einem CTI-Eingangsereignis unverändert ist. Daher können Lebensdauer-Daten für das CTI-Eingangsereignis verwendet werden, um das Eingangs- und das Ausgangsereignis miteinander zu korrelieren. Es wird, wie in 14 dargestellt, in 1400 festgestellt, ob die Lebens dauer-Daten für das Eingangsereignis und das Ausgangsereignis übereinstimmen. Wenn dies der Fall ist, korrelieren das Eingangs- und das Ausgangsereignis. Wenn dies nicht der Fall ist, korrelieren das Eingangs- und das Ausgangsereignis nicht.
  • In 15 ist ein Beispiel dargestellt, bei dem ein erstes Eingangsereignis 600 und ein zweites Eingangsereignis 900, die beide vom CTI-Typ sind, in einen Zusammenführ-Operator 108 eingegeben werden und ein Ausgangsereignis 601 ausgegeben wird. Da die Lebensdauer-Daten übereinstimmen, korrelieren beide Eingangsereignisse mit dem Ausgangsereignis 601.
  • Als Ergebnis der Durchführung des Prozesses in 3, 4, 5, 8, 12 und 14 wird jedes der Ereignisse an jedem der Operatoren in der Engine 100 zur Verarbeitung komplexer Ereignisse analysiert, und jedes der Ereignisse, das Korrelationen zu dem abgeleiteten Ereignis aufweist, wird zu dem Fehlerbaum hinzugefügt. Daher wird, wenn der Prozess endet, ein vollständiger Fehlerbaum erzeugt, der die Beziehungen zwischen dem abgeleiteten Ereignis und den Ursprungsereignissen zeigt.
  • Wenn der Fehlerbaum erstellt worden ist, kann, wie in 2 gezeigt, dieser bewertet werden und die Ergebnisse genutzt werden. Eine Möglichkeit, die Ergebnisse der Ursachenanalyse zu nutzen, ist Zurückführen der ermittelten Ergebnisse in die Aufzeichnungseinheiten 110, so dass sie ”selektives Aufzeichnen” durchführen können. Dies kann erreicht werden, indem Ursachenanalyse durchgeführt wird, um den Fehlerbaum für ausgewählte Ausgangsereignisse zu bestimmen, für die bekannt ist, dass sie von Interesse sind. Der Fehlerbaum für diese Ereignisse kann dann bewertet werden, und die Ergebnisse können verwendet werden, um zu bestimmen, welche Ereignisse die Aufzeichnungseinheiten 110 in dem Datenspeicher 111 aufzeichnen.
  • Ursachenanalyse kann beispielsweise verwendet werden, um den Fehlerbaum für bestimmte außergewöhnliche Ereignisse zu verwenden. Die Aufzeichnungseinheiten 110 können dann so eingerichtet sein, dass sie nur diejenigen Ereignisse aufzeichnen, die zu diesem außergewöhnlichen Ereignissen führen. Andere Ereignisse werden von den Aufzeichnungseinheiten 110 nicht aufgezeichnet. Damit wird Speicheraufwand in der Engine 100 zum Verarbeiten komplexer Ereignisse weiter verringert.
  • Wenn der Fehlerbaum unter Verwendung der oben beschriebenen Prozesse erzeugt worden ist, kann er für den Benutzer der Engine 100 zum Verarbeiten komplexer Ereignisse über eine Benutzerschnittstelle auf einer Anzeige angezeigt werden. Ein Debugger-Tool ist so eingerichtet, dass es den Fehlerbaum empfängt und für den Benutzer anzeigt. Das Debugger-Tool kann automatisch Filter und Ansichten der Ereignisse in dem Fehlerbaum erzeugen. Dies ermöglicht es dem Benutzer, die Ereignisse zu visualisieren, die ein bestimmtes abgeleitetes Ereignis verursachen, ohne dass die Daten manuell analysiert und zerlegt werden müssen, wodurch die Ursachenanalyse für den Benutzer vereinfacht wird.
  • 16 stellt verschiedene Komponenten einer beispielhaften computerbasierten Vorrichtung 1600 dar, die als eine beliebige Form einer Computer- und/oder Elektronikvorrichtung implementiert werden kann und in der Ausführungsformen der Ursachenanalyse für Verarbeitung komplexer Ereignisse implementiert werden können.
  • Die computerbasierte Vorrichtung 1600 umfasst einen oder mehrere Eingang/Eingänge 1601, der/die von jedem beliebigen geeigneten Typ zum Empfangen von Benutzereingabe, IP-Eingabe (Internet Protocol input) ist/sind.
  • Die computerbasierte Vorrichtung 1600 umfasst des Weiteren eine oder mehrere Verarbeitungseinrichtung/en 1602, die Mikroprozessoren, Controller oder jeder beliebige andere geeignete Typ Verarbeitungseinrichtung sein kann/können, mit dem durch Computer ausführbare Befehle verarbeitet werden können, um die Funktion der Vorrichtung zu steuern und Verarbeitung komplexer Ereignisse sowie Ursachenanalyse durchzuführen. Die Plattform-Software, die ein Betriebssystem 1603 umfasst, oder jede beliebige andere geeignete Plattform-Software kann an der computerbasierten Vorrichtung bereitgestellt werden, um die Ausführung von Anwendungs-Software 1604 auf der Vorrichtung zu ermöglichen.
  • Die durch Computer ausführbaren Befehle können unter Verwendung jedes beliebigen computerlesbaren Mediums, beispielsweise des Speichers 1605, bereitgestellt werden. Der Speicher ist von jedem beliebigen geeigneten Typ, wie beispielsweise ein Direktzugriffsspeicher (RAM), eine Plattenspeichervorrichtung eines beliebigen Typs, wie beispielsweise eine magnetische oder optische Speichervorrichtung, ein Festplattenlaufwerk oder ein CD-, DVD- oder ein anderes Plattenlaufwerk. Auch Flash-Speicher, EPROM oder EEPROM kann eingesetzt werden.
  • Des Weiteren ist ein Ausgang, wie beispielsweise ein Audio- und/oder Video-Ausgang, zu einem Anzeigesystem 1606 vorhanden, das integral mit der computerbasierten Vorrichtung ausgebildet ist oder mit ihr in Verbindung steht. Das Anzeigesystem kann eine grafische Benutzerschnittstelle oder eine andere Benutzerschnittstelle jedes beliebigen geeigneten Typs bereitstellen, obwohl dies nicht von grundlegender Bedeutung ist.
  • Der hier verwendete Begriff ”Computer” bezieht sich auf jede beliebige Vorrichtung, die Verarbeitungsfähigkeit dahingehend aufweist, dass sie Befehle ausführen kann. Für den Fachmann liegt auf der Hand, dass derartige Verarbeitungsfähigkeiten in viele verschiedene Vorrichtungen integriert sind und daher der Begriff ”Computer” Personal Computer, Server, Mobiltelefone, PDA und viele andere Vorrichtungen einschließt.
  • Die hier beschriebenen Verfahren können durch Software in maschinenlesbarer Form auf einem physischen Speichermedium durchgeführt werden. Die Software kann zur Ausführung auf einem parallelem Prozessor oder einem seriellen Prozessor geeignet sein, so dass die Verfahrensschritte in jeder beliebigen geeigneten Reihenfolge oder simultan ausgeführt werden.
  • Damit wird anerkannt, dass Software eine Ware sein kann, die einen Wert besitzt und separat gehandelt werden kann. Dies schließt Software ein, die auf ”nicht intelligenter” bzw. Standard-Hardware läuft bzw. diese steuert, um die gewünschten Funktionen auszuführen. Des Weiteren soll dies Software einschließen, die die Konfiguration von Hardware ”beschreibt” oder definiert, so beispielsweise HDL-Software (hardeware description language software), wie sie für das Design von Halbleiterchips oder zum Konfigurieren universeller programmierbarer Chips eingesetzt wird, um gewünschte Funktionen auszuführen.
  • Der Fachmann weiß, dass Speichervorrichtungen, die zum Speichern von Programmbefehlen eingesetzt werden, über ein Netzwerk verteilt sein können. Ein Remote-Computer kann z. B. ein Beispiel des beschriebenen Prozesses als Software speichern. Ein lokaler bzw. Endstellencomputer kann auf den Remote-Computer zugreifen und die Software teilweise oder vollständig herunterladen, um das Programm auszuführen. Als Alternative dazu kann der lokale Computer Teile der Software nach Bedarf herunterladen oder einige Softwarebefehle an dem lokalen Endgerät und einige an dem Remote-Computer (oder Computernetzwerk) ausführen. Der Fachmann weiß auch, dass unter Verwendung herkömmlicher Methoden, die dem Fachmann bekannt sind, die Softwarebefehle vollständig oder teilweise durch eine spezielle Schaltung, wie beispielsweise einen DSP, ein programmierbares Logikfeld oder dergleichen ausgeführt werden kann.
  • Jeder hier angegebene Bereich oder Vorrichtungs-Wert kann erweitert oder verändert werden, ohne dass dies den Verlust des beabsichtigten Effektes zur Folge hat, wie dies der Fachmann weiß.
  • Es versteht sich, dass die beschriebenen Vorteile und Vorzüge mit einer Ausführungsform oder mit mehreren Ausführungsformen zusammenhängen können. Die Ausführungsformen sind nicht auf diejenigen beschränkt, die eines oder alle der ausgeführten Probleme lösen oder diejenigen, die einen oder alle der aufgeführten Vorteile und Vorzüge aufweisen. Es versteht sich des Weiteren, dass sich ein Verweis auf ”ein Element” auf eines oder mehrere dieser Element/e bezieht.
  • Die Schritte der hier beschriebenen Verfahren können in jeder beliebigen geeigneten Reihenfolge oder, wenn angebracht, simultan ausgeführt werden. Des Weiteren können einzelne Blöcke aus jedem der Verfahren entfernt werden, ohne vom Geist und vom Schutzumfang des hier beschriebenen Gegenstandes abzuweichen. Aspekte aller hier beschriebenen Beispiele können mit Aspekten aller anderen beschriebenen Beispiele kombiniert werden, um weitere Beispiele zu schaffen, ohne dass dies den Verlust des beabsichtigten Effektes zur Folge hat.
  • Der Begriff ”umfasst” wird hier in der Bedeutung gebraucht, dass die genannten Verarbeitungsblöcke oder Elemente enthalten sind, diese Blöcke oder Elemente jedoch keine ausschließliche Liste bilden und ein Verfahren oder eine Vorrichtung weitere Blöcke oder Elemente beinhalten kann.
  • Es versteht sich, dass die obenstehende Beschreibung einer bevorzugten Ausführungsform lediglich als Beispiel dient und dass verschiedene Abwandlungen von dem Fachmann vorgenommen werden können. Die obenstehende/n Patentbeschreibung, Beispiele und Daten bilden eine vollständige Beschreibung des Aufbaus und des Einsatzes beispielhafter Ausführungsformen der Erfindung. Obwohl verschiedene Ausführungsformen der Erfindung oben mit einem bestimmten Grad an Detailliertheit beschrieben worden sind, könnte der Fachmann zahlreiche Veränderungen an den offenbarten Ausführungsformen vornehmen, ohne vom Geist oder vom Schutzumfang der Erfindung abzuweichen.

Claims (20)

  1. Verfahren für Ursachenanalyse an einer Engine zum Verarbeiten komplexer Ereignisse, die auf einer Verarbeitungseinrichtung ausgeführt wird, wobei es umfasst: Auswählen eines Ausgangsereignisses in der Engine zum Verarbeiten komplexer Ereignisse durch den Prozessor, wobei das Ausgangsereignis von einem Operator ausgegeben wird, der ein Eingangsereignis aufweist; Lesen eines Ereignis-Typs und von Lebensdauer-Daten für das Eingangsereignis und das Ausgangsereignis aus einem Datenspeicher, der mit der Verarbeitungseinrichtung in Verbindung steht; und Korrelieren des Eingangsereignisses und des Ausgangsereignisses unter Verwendung des Ereignis-Typs und der Lebensdauer-Daten durch die Verarbeitungseinrichtung.
  2. Verfahren nach Anspruch 1, das des Weiteren den Schritt umfasst, in dem, wenn das Eingangsereignis und das Ausgangsereignis korrelieren, das Eingangsereignis zu einer Baum-Datenstruktur hinzugefügt wird, so dass das Eingangsereignis mit dem Ausgangsereignis verknüpft wird.
  3. Verfahren nach Anspruch 1, wobei die Lebensdauer-Daten eine Anfangszeit für das Eingangsereignis und das Ausgangsereignis umfassen und der Schritt des Korrelierens Vergleichen der Anfangszeit des Eingangsereignisses mit der Anfangszeit des Ausgangsereignisses umfasst.
  4. Verfahren nach Anspruch 1, wobei die Lebensdauer-Daten eine Endzeit für das Eingangsereignis und das Ausgangsereignis umfassen und der Schritt des Korrelierens Vergleichen der Endzeit des Eingangsereignisses mit der Endzeit des Ausgangsereignisses umfasst.
  5. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Lesens von Nutzinformations-Daten für das Eingangsereignis und das Ausgangsereignis aus dem Datenspeicher umfasst und der Schritt des Korrelierens Vergleichen der Nutzinformations-Daten für das Ausgangsereignis mit den Nutzinformations-Daten für das Eingangsereignis umfasst.
  6. Verfahren nach Anspruch 1, das des Weiteren den Schritt des Lesens einer Ereignis-Kennung für das Eingangsereignis und das Ausgangsereignis aus dem Datenspeicher umfasst und der Schritt des Korrelierens Vergleichen der Ereignis-Kennung für das Ausgangsereignis mit der Ereignis-Kennung für das Eingangsereignis umfasst.
  7. Verfahren nach Anspruch 1, wobei der Schritt des Korrelierens Auswählen und Ausführen eines einer Vielzahl von Korrelationsalgorithmen in Abhängigkeit von dem Ereignis-Typ umfasst.
  8. Verfahren nach Anspruch 7, wobei der Schritt des Korrelierens Auswählen und Ausführen eines der Vielzahl von Korrelations-Algorithmen in Abhängigkeit von einem Operator-Typ für den Operator umfasst.
  9. Verfahren nach Anspruch 2, das des Weiteren den Schritt umfasst, in dem die Baum-Datenstruktur verwendet wird, um die anschließende Funktion der Engine zum Verarbeiten komplexer Ereignisse so zu steuern, dass die Engine zum Verarbeiten komplexer Ereignisse nur Aufzeichnungsdaten für Ereignisse in der Baum-Datenstruktur speichert.
  10. Verfahren nach Anspruch 1, wobei die Ursachenanalyse eine Fehlerbaumanalyse ist.
  11. Engine zum Verarbeiten komplexer Ereignisse, die umfasst: einen Aufzeichnungs-Datenspeicher; einen Operator, der so eingerichtet ist, dass er ein Eingangsereignis verarbeitet und ein Ausgangsereignis ausgibt; und eine Aufzeichnungseinheit, die mit dem Ausgang des Operators verbunden und so eingerichtet ist, dass sie in dem Datenspeicher einen Indikator eines Ereignis-Typs und Lebenszeit-Daten für jedes Ausgangsereignis von dem Operator speichert.
  12. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei die Lebenszeit-Daten eine Anfangszeit für das Ausgangsereignis umfassen.
  13. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei die Lebenszeit-Daten eine Endzeit für das Ausgangsereignis umfassen.
  14. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei die Lebenszeit-Daten des Weiteren eine modifizierte Endzeit für das Ausgangsereignis umfassen.
  15. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei der Ereignis-Typ wenigstens ein Einfüge-Ereignis, ein Aktualisierungs-Ereignis oder ein Synchronzeitschritt-Ereignis ist.
  16. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei der Operator ein Modifikations-Operator ist, der so eingerichtet ist, dass er das Eingangsereignis modifiziert, um das Ausgangsereignis zu erzeugen.
  17. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei der Operator ein Operator für neue Ereignisse ist, der so eingerichtet ist, dass er das Ausgangsereignis unter Verwendung des Eingangsereignisses erzeugt.
  18. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei die Aufzeichnungseinheit des Weiteren so eingerichtet ist, dass sie für jedes Ausgangsereignis wenigstens eine Identität des Operators, eine Aufzeichnungszeit, eine Ereignis-Nutzinformation oder eine Ereignis-Kennung speichert.
  19. Engine zum Verarbeiten komplexer Ereignisse nach Anspruch 11, wobei die Aufzeichnungseinheit des Weiteren so eingerichtet ist, dass sie auf Basis gespeicherter Ereignisse einer Ursachenanalyse, die zuvor an der Engine zum Verarbeiten komplexer Ereignisse durchgeführt wurde, bestimmt, ob Daten für das Ausgangsereignis gespeichert werden.
  20. Verfahren für Ursachenanalyse an einer Engine zum Verarbeiten komplexer Ereignisse, die auf einer Verarbeitungseinrichtung ausgeführt wird, wobei es umfasst: Auswählen eines Ausgangsereignisses in der Engine zum Verarbeiten komplexer Ereignisse durch die Verarbeitungseinrichtung, wobei das Ausgangsereignis von einem Operator ausgegeben wird, der ein Eingangsereignis aufweist; Lesen eines Ereignis-Typs und von Lebensdauer-Daten für das Eingangsereignis und das Ausgangsereignis aus einem Datenspeicher, der mit der Verarbeitungseinrichtung in Verbindung steht; Korrelieren des Eingangsereignisses und des Ausgangsereignisses unter Verwendung des Ereignis-Typs und der Lebensdauer-Daten durch die Verarbeitungseinrichtung; wenn das Eingangsereignis und das Ausgangsereignis korrelieren, Hinzufügen des Eingangsereignisses zu einer Baum-Datenstruktur, so dass das Eingangsereignis mit dem Ausgangsereignis verknüpft ist; und Anzeigen des Baums an einer Benutzerschnittstelle auf einer Anzeige.
DE102010028884A 2009-05-11 2010-05-11 Ursachenanalyse für Verarbeitung komplexer Ereignisse Pending DE102010028884A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/463,506 US8386848B2 (en) 2009-05-11 2009-05-11 Root cause analysis for complex event processing
US12/463,506 2009-05-11

Publications (1)

Publication Number Publication Date
DE102010028884A1 true DE102010028884A1 (de) 2010-12-02

Family

ID=43028770

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010028884A Pending DE102010028884A1 (de) 2009-05-11 2010-05-11 Ursachenanalyse für Verarbeitung komplexer Ereignisse

Country Status (2)

Country Link
US (1) US8386848B2 (de)
DE (1) DE102010028884A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120296692A1 (en) * 2011-05-19 2012-11-22 O'malley John Edward System and method for managing a fraud exchange
TWI539294B (zh) * 2011-12-12 2016-06-21 亞佛森亨茨維爾公司 合併可管理子系統的實時監控與管理資料中心資源之系統以及方法
EP2865133A1 (de) 2012-06-25 2015-04-29 Kni M Szaki Tanácsadó Kft. Verfahren zur implementierung eines dynamischen dienstereignisverwaltungssystems
CN103049346B (zh) * 2012-12-11 2015-03-18 工业和信息化部电子第五研究所 基于失效物理的元器件故障树构建方法和系统
GB2515115A (en) * 2013-06-14 2014-12-17 Warwick Analytical Software Ltd Early Warning and Prevention System
TWI623881B (zh) * 2013-12-13 2018-05-11 財團法人資訊工業策進會 事件串流處理系統、方法與機器可讀記憶體
US9547547B2 (en) 2014-11-28 2017-01-17 Software Ag Systems and/or methods for handling erroneous events in complex event processing (CEP) applications
US10565045B2 (en) 2017-06-28 2020-02-18 Microsoft Technology Licensing, Llc Modularized collaborative performance issue diagnostic system
US11010223B2 (en) * 2017-09-01 2021-05-18 Infosys Limited Method and system of automatic event and error correlation from log data
US11526391B2 (en) 2019-09-09 2022-12-13 Kyndryl, Inc. Real-time cognitive root cause analysis (CRCA) computing
US11595245B1 (en) 2022-03-27 2023-02-28 Bank Of America Corporation Computer network troubleshooting and diagnostics using metadata
US11658889B1 (en) 2022-03-27 2023-05-23 Bank Of America Corporation Computer network architecture mapping using metadata
CN115174426B (zh) * 2022-07-21 2024-04-12 北京物芯科技有限责任公司 一种输出报文检测方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566092A (en) * 1993-12-30 1996-10-15 Caterpillar Inc. Machine fault diagnostics system and method
US20050096759A1 (en) * 2003-10-31 2005-05-05 General Electric Company Distributed power generation plant automated event assessment and mitigation plan determination process
US7516362B2 (en) * 2004-03-19 2009-04-07 Hewlett-Packard Development Company, L.P. Method and apparatus for automating the root cause analysis of system failures
US7379846B1 (en) * 2004-06-29 2008-05-27 Sun Microsystems, Inc. System and method for automated problem diagnosis
US7873998B1 (en) * 2005-07-19 2011-01-18 Trustwave Holdings, Inc. Rapidly propagating threat detection
US8694621B2 (en) * 2005-08-19 2014-04-08 Riverbed Technology, Inc. Capture, analysis, and visualization of concurrent system and network behavior of an application
US7251584B1 (en) * 2006-03-14 2007-07-31 International Business Machines Corporation Incremental detection and visualization of problem patterns and symptoms based monitored events
US8589949B2 (en) * 2006-05-01 2013-11-19 International Business Machines Corporation Processing multiple heterogeneous event types in a complex event processing engine
US7835814B2 (en) * 2007-08-16 2010-11-16 International Business Machines Corporation Tool for reporting the status and drill-down of a control application in an automated manufacturing environment
US7856575B2 (en) * 2007-10-26 2010-12-21 International Business Machines Corporation Collaborative troubleshooting computer systems using fault tree analysis
US8166351B2 (en) * 2008-10-21 2012-04-24 At&T Intellectual Property I, L.P. Filtering redundant events based on a statistical correlation between events

Also Published As

Publication number Publication date
US8386848B2 (en) 2013-02-26
US20100287361A1 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
DE102010028884A1 (de) Ursachenanalyse für Verarbeitung komplexer Ereignisse
DE102012102770B4 (de) System und Verfahren zur Fehlereingrenzung und Fehlerabschwächung basierend auf einer Netzwerkmodellierung
DE112012002362B4 (de) Automatisierte Empfehlungen für Cloud-Computing-Optionen
DE10204657A1 (de) Nachrichtenanalyseeinrichtung und Verfahren zum Anzeigen von Nachrichten
DE102015101370A1 (de) Verwalten von Big-Data in Prozesssteuerungssystemen
DE202012013427U1 (de) Verknüpfung von Tabellen in einem MapReduce-Verfahren
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
DE102010034430A1 (de) Verfahren zur Konfiguration einer Bildgebungsvorrichtung
DE202016008918U1 (de) Ein Dokumentenverifizierungssystem
DE102012223167A1 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE112007000051T5 (de) Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung
DE112012006414T5 (de) Kommunikationssystem, Client-Endgerät, und Server-Gerät
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung
EP2854045B1 (de) Verfahren und System zum Bewerten von erhobenen Messwerten eines Systems
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
DE102012216321A1 (de) Verfahren und System zur Nachkonstruktion von Protokollen
AT522281B1 (de) Verfahren zur Charakterisierung des Betriebszustands eines Computersystems
DE102015102034A1 (de) Verfahren zum Analysieren von Ergebnissen in einem Entwurfsautomatisierungsablauf für elektronische Systeme, Computersystem und Computerprogrammprodukt
WO2011131186A2 (de) Computergestütztes verfahren zum erzeugen eines softwarebasierten analysemoduls
DE112020002465T5 (de) Zufallsabtasten aus einer suchmaschine
EP2601594A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
EP3441919A1 (de) Verfahren zum austausch von daten zwischen engineering-tools eines engineering-systems sowie engineering-system zur durchführung des verfahrens
DE112018007194T5 (de) Datenverarbeitungsgerät
EP3716578B1 (de) Verfahren und eine vorrichtung zum ansteuern eines technischen geräts mit einem optimalen modell
EP1447957B1 (de) Verfahren zum Erlernen der Kontextregeln zu Nachrichtenattributen

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, REDMOND, US

Free format text: FORMER OWNER: MICROSOFT CORPORATION, REDMOND, WASH., US

Effective date: 20150123

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20150123

R012 Request for examination validly filed
R016 Response to examination communication