DE112020005700T5 - Unterstützen und automatisieren von arbeitsabläufen unter verwendung von strukturierten protokollereignissen - Google Patents

Unterstützen und automatisieren von arbeitsabläufen unter verwendung von strukturierten protokollereignissen Download PDF

Info

Publication number
DE112020005700T5
DE112020005700T5 DE112020005700.3T DE112020005700T DE112020005700T5 DE 112020005700 T5 DE112020005700 T5 DE 112020005700T5 DE 112020005700 T DE112020005700 T DE 112020005700T DE 112020005700 T5 DE112020005700 T5 DE 112020005700T5
Authority
DE
Germany
Prior art keywords
workflow
processor
computer
common
processes
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
DE112020005700.3T
Other languages
English (en)
Inventor
Oded Sofer
Oded Margalit
Yair Allouche
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020005700T5 publication Critical patent/DE112020005700T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)

Abstract

Ein beispielhaftes System umfasst einen Prozessor zum Überwachen einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe umfassen. Der Prozessor dient zum Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und zum Erzeugen strukturierter Protokollereignisse auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen. Der Prozessor dient zum Erzeugen von Arbeitsablaufmodellen auf der Grundlage der strukturierten Protokollereignisse. Der Prozessor dient zum Automatisieren oder Unterstützen eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells.

Description

  • HINTERGRUND
  • Die vorliegenden Techniken betreffen Arbeitsabläufe. Konkreter betreffen die Techniken eine Automatisierung von Arbeitsabläufen.
  • KURZDARSTELLUNG
  • Gemäß einer hierin beschriebenen Ausführungsform kann ein System einen Prozessor zum Überwachen einer Benutzeroberfläche umfassen, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen. Der Prozessor kann ferner auch Merkmale und gemeinsame Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen extrahieren und auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen strukturierte Protokollereignisse erzeugen. Der Prozessor kann außerdem auf der Grundlage der strukturierten Protokollereignisse Arbeitsablaufmodelle erzeugen. Der Prozessor kann ferner auch auf der Grundlage der erzeugten Arbeitsablaufmodelle einen Arbeitsablauf automatisieren oder unterstützen.
  • Gemäß einer weiteren hierin beschriebenen Ausführungsform kann ein Verfahren ein Überwachen, über einen Prozessor, einer Benutzeroberfläche umfassen, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen. Das Verfahren kann ferner ein Extrahieren, über den Prozessor, von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen umfassen und auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen strukturierte Protokollereignisse erzeugen. Das Verfahren kann ferner auch ein Erzeugen, über den Prozessor, eines Arbeitsablaufs auf der Grundlage der strukturierten Protokollereignisse umfassen. Das Verfahren kann außerdem ein Automatisieren oder Unterstützen, über den Prozessor, eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells umfassen.
  • Gemäß einer weiteren hierin beschriebenen Ausführungsform kann ein Computerprogrammprodukt zum Automatisieren oder Unterstützen von Arbeitsabläufen ein durch einen Computer lesbares Speichermedium umfassen, auf dem Programmcode verkörpert ist. Bei dem durch einen Computer lesbaren Speichermedium handelt es sich nicht um ein flüchtiges Signal an sich. Der Programmcode ist durch einen Prozessor ausführbar, um den Prozessor zu veranlassen, eine Benutzeroberfläche zu überwachen, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen. Der Programmcode kann den Prozessor außerdem veranlassen, Merkmale und gemeinsame Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen extrahieren und auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen strukturierte Protokollereignisse erzeugen. Der Programmcode kann den Prozessor außerdem veranlassen, auf der Grundlage der strukturierten Protokollereignisse ein Arbeitsablaufmodell zu erzeugen. Der Programmcode kann den Prozessor außerdem veranlassen, auf der Grundlage des erzeugten Arbeitsablaufmodells einen Arbeitsablauf zu automatisieren oder zu unterstützen.
  • Figurenliste
    • 1 ist ein Blockschema eines beispielhaften Systems zum Automatisieren und Unterstützen von Arbeitsabläufen unter Verwendung von strukturierten Protokollereignissen;
    • 2 ist ein Blockschema eines beispielhaften Verfahrens, mit dem Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können;
    • 3 ist ein Blockschema eines beispielhaften Verfahrens, mit dem ein Arbeitsablaufmodell zum Automatisieren oder Unterstützen eines Arbeitsablaufs erzeugt werden kann;
    • 4 ist ein Blockschema einer beispielhaften Datenverarbeitungseinheit, mit der Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können;
    • 5 ist eine Darstellung einer beispielhaften Cloud-Computing-Umgebung gemäß hierin beschriebenen Ausführungsformen;
    • 6 ist eine Darstellung beispielhafter Abstraktionsmodellschichten gemäß hierin beschriebenen Ausführungsformen; und
    • 7 ist ein beispielhaftes physisches, durch einen Computer lesbares nichtflüchtiges Medium, mit dem Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Sicherheitsbezogene Operationen sind sehr aufwendig und bedingt wirksam. Ein Durchsehen und Untersuchen jedes verdächtigen Ereignisses bei einer Sicherheitsuntersuchung ist nicht durchführbar, obwohl jedes dieser Ereignisse auf einen Sicherheitsvorfall mit Auswirkungen auf Server in einer im Visier stehenden Organisation hinweisen könnte. Darüber hinaus verbieten sich eine gemeinsame Problembewältigung (brainstorming) und eine Prozessplanung für jedes auffällige Ereignis möglicherweise aus Kostengründen. Des Weiteren können Tausende derartiger Prozesse zu einem bestimmten Zeitpunkt ausgeführt werden.
  • Einige automatisierte Lösungen zur Ereignisuntersuchung werden im Voraus erstellt. Zum Beispiel können Sicherheitsexperten „gebrauchsfertige“ Rezepturen zur automatisierten Ereignisuntersuchung entwerfen. Diese Ansätze sind jedoch sehr begrenzt und entsprechen möglicherweise nicht der heutigen anspruchsvollen Cybersicherheitslandschaft. Zum Beispiel kann die hohe und dynamische Kreativität eines Angreifers eine Erkennung verhindern. Darüber hinaus können häufige Änderungen in der Technologie schnell dazu führen, dass derartige Entwürfe unwirksam werden. Außerdem kann fehlendes Fachwissen des Lieferanten dazu führen, dass ein derartiger Entwurf von Anfang an unwirksam ist. Letztendlich funktionieren unternehmensspezifische Fälle in anderen Situationen möglicherweise nicht. Zum Beispiel kann sich ein Angreifer eine Schwachstelle zunutze machen, die spezifisch für einen Kunden ist. Außerdem kann es Fälle geben, in denen ein bestimmter Kunde eine bestimmte Architektur, Konfiguration oder einen bestimmten Code hat und die Prozesse, die der Lieferant veröffentlicht, diese Fälle möglicherweise nicht behandeln. Darüber hinaus gibt es bei Angriffen, die keine Signatur enthalten, möglicherweise keinen einfachen Weg zum automatischen Erstellen effizienter Mechanismen, um bei derartigen Angriffen Abhilfe zu schaffen.
  • Gemäß Ausführungsformen der vorliegenden Offenbarung kann ein System strukturierte Protokollereignisse verwenden, um Arbeitsabläufe automatisch zu unterstützen oder zu automatisieren. Ein beispielhaftes System umfasst einen Prozessor zum Überwachen einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe umfassen. Der Prozessor dient zum Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und zum Erzeugen strukturierter Protokollereignisse auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen. Der Prozessor dient zum Erzeugen von Arbeitsablaufmodellen auf der Grundlage der strukturierten Protokollereignisse. Der Prozessor dient zum Automatisieren oder Unterstützen eines Arbeitsablaufs auf der Grundlage der erzeugten Arbeitsablaufmodelle. Daher ermöglichen Ausführungsformen der vorliegenden Offenbarung eine Automatisierung oder einen unterstützten Arbeitsablauf-Support auf der Grundlage von Modellarbeitsabläufen, die aus überwachter Aktivität von Benutzern erzeugt wurden.
  • Unter Bezugnahme auf 1 zeigt ein Blockschema ein beispielhaftes System zum Automatisieren und Unterstützen von Arbeitsabläufen unter Verwendung von strukturierten Protokollereignissen. Das beispielhafte System ist allgemein mit der Bezugsnummer 100 bezeichnet und kann unter Verwendung der Datenverarbeitungseinheit 400 oder der durch einen Computer lesbaren Medien 500 der 4 und 5 unter Verwendung der Verfahren 200 und 300 der 2 und 3 realisiert sein.
  • Bei dem Beispiel von 1 umfasst das System 100 eine Anzahl von Benutzer-Anwendungsprogrammierschnittstellen (application programming interfaces, APIs) 102. Das System 100 umfasst außerdem eine Entschärfungsplattform 104, eine Vorfalluntersuchungsplattform 106 und ein Sicherheitsalarmierungssystem 108, das zu Datenaustauschzwecken mit den Benutzer-APIs 102 verbunden ist. Das System 100 umfasst ferner einen Aktivitätsüberwacher 110, der zu Datenaustauschzwecken mit den Benutzer-APIs 102 verbunden ist. Das System 100 umfasst ferner einen Ereignisprotokollspeicher 112, der zu Datenaustauschzwecken mit dem Aktivitätsüberwacher 110 verbunden ist. Das System 100 umfasst außerdem ein Spracherkennungsmodul (NLU-Modul) (NLU = natural language understanding), das zu Datenaustauschzwecken mit dem Ereignisprotokollspeicher 112 verbunden ist. Das System 100 umfasst ferner ein Process-Mining-Modul (Prozess-Schürf-Modul) 116, das zu Datenaustauschzwecken mit dem NLU-Modul 114 verbunden ist. Das System 100 umfasst außerdem einen Server 118, der zu Datenaustauschzwecken mit dem Process-Mining-Modul 116, den Benutzer-APIs 102 und der Vorfalluntersuchungsplattform 106 verbunden ist.
  • Nach wie vor unter Bezugnahme auf 1 kann das System 100 zum Automatisieren einer Erstellungseinheit für bewährte sicherheitsbezogene Vorgehensweisen, eines forensischen Prozesses, Systemabstimmung, von Risikoentschärfungsprozessen verwendet werden, indem die Kenntnisse und Fertigkeiten von Fachleuten genutzt werden. Insbesondere verwendet das System 100 eine Kombination aus NLU und Process Mining, um Arbeitsabläufe aufzubauen, die Experten auf diesen Gebieten beim Durchführen dieser Prozesse verwenden. Das System 100 kann dann die aufgebauten Arbeitsabläufe nutzen, um die Benutzer beim Anwenden dieser Prozesse zu unterstützen. Zum Beispiel kann das System 100 Entschärfungsmaßnahmen für eingehende verdächtige Ereignisse empfehlen, unter anderem Informationen, um derartige Entschärfungsmaßnahmen zu unterstützen. Das System 100 kann außerdem die aufgebauten Arbeitsabläufe nutzen, um Ereignisuntersuchung, Systemabstimmung und Risikoentschärfungsprozesse zu automatisieren.
  • Bei dem Beispiel von 1 umfasst das System 100 Benutzer-APIs 102, die Fachleute zum Anwenden einer Untersuchungsprozedur verwenden. Beispielhaft kann es sich bei einem Fachmann um einen SoC-Analytiker (SoC = system on chip) handeln. Bei verschiedenen Beispielen können diese Benutzer-APIs 102 von einer einfachen Schnittstelle zum Anwenden einfacher SQL-Abfragen bis hin zu einer auf NLU beruhenden UI reichen, die ein Abfragen des Systems und ein Erhalten von Antworten in normaler Sprache ermöglicht. Zum Beispiel können die Benutzer-APIs 102 einen Chatbot mit erweiterter NLU-Technologie realisieren, um die Arbeiten zu vereinfachen, die zum Untersuchen jedes verdächtigen Ereignisses benötigt werden. Bei einigen Beispielen können Chats mit Benutzern in eine Rest-API zum Abfragen der Daten umgewandelt werden, die zum Festlegen grundlegender Übergangsregeln verwendet werden können. Im hierin verwendeten Sinne umfasst eine Übergangsregel eine oder mehrere Bedingungen für einen Schritt eines Prozesses, um zu einem weiteren Schritt zu gehen. Zum Beispiel kann ein Benutzer das System bitten zu prüfen, ob sich ein verdächtiger Benutzer in den letzten 3 Tagen mehr als N Mal nicht erfolgreich angemeldet hat. Der Benutzer kann angeben „Wenn ja, ergreife Schritt A“ und „Wenn nein, ergreife Schritt B“. Somit beruht die Übergangsregel bei diesem Beispiel auf der Anzahl fehlgeschlagener Anmeldungen in den letzten 3 Tagen und wird durch das System 100 zum Ermitteln des nächsten Schritts verwendet. Bei verschiedenen Beispielen können die Daten aus den Chats mit Benutzern auch zum Ausführen verschiedener Aktionen verwendet werden. Zum Beispiel können die Aktionen für den verdächtigen Benutzer einen Zugriff für die nächsten N Stunden blockieren. Bei einigen Beispielen können die Aktionen ein Senden einer Benachrichtigung an einen Vorgesetzten des verdächtigen Benutzers umfassen. Bei verschiedenen Beispielen können die Aktionen ein Erhöhen einer Überprüfungsauflösung für den verdächtigen Benutzer umfassen. Bei einigen Beispielen können die Aktionen ein Protokollieren der Aktionen des verdächtigen Benutzers in ein Verstoßsystem umfassen. Bei einigen Beispielen können die Aktionen ein Öffnen eines Tickets umfassen. Zum Beispiel kann das Ticket verwendet werden, um die Aktionen des verdächtigen Nutzers für eine manuelle Überprüfung zu markieren. Bei verschiedenen Beispielen können die Aktionen ein Schließen des Falles als Reaktion auf ein Erkennen umfassen, dass die Erkennung eines verdächtigen Benutzers ein Falsch-Positiv war.
  • Das Sicherheitsalarmierungssystem 108 kann als Reaktion auf eine Erkennung eines Sicherheitsereignisses einen Sicherheitsalarm erzeugen. Zum Beispiel könnte ein Sicherheitsereignis über eine Daten-Firewall, ein Warnsystem gegen Angriffe von außen (intrusion detection system. IDS), ein Sicherheitsinformations- und Ereignismanagementsystem (SIEM-System) oder durch eine andere geeignete Technik zur Erkennung von Sicherheitsereignissen erkannt werden. Bei einigen Beispielen kann das Sicherheitsalarmierungssystem 108 mehrere Sicherheitsalarmierungssysteme umfassen.
  • Die Vorfalluntersuchungsplattform 106 kann zum Untersuchen von Sicherheitsvorfällen verwendet werden. Zum Beispiel können Sicherheitsvorfälle von einem SIEM, einem Malware-Analysemodul, einem Datenbankaktivitäts-Analysemodul usw. empfangen werden. Bei verschiedenen Beispielen umfasst die Vorfalluntersuchungsplattform 106 ein Suchmodul, das es Benutzern ermöglicht, interne und externe Datenbanken abzufragen.
  • Die Entschärfungsplattform 104 kann verwendet werden, um einen Konfigurationsabstimmungs- und Entschärfungsbefehl auf die Sicherheitssysteme der Organisation anzuwenden. Zum Beispiel kann die Entschärfungsplattform 104 verwendet werden, um eine Internetprotokoll-Adresse (AP-Adresse) zu einer schwarzen Liste einer Firewall hinzuzufügen. Bei einem weiteren Beispiel kann die Entschärfungsplattform 104 Benutzerberechtigungen für einen bestimmten Dienst annullieren.
  • Der Aktivitätsüberwacher 110 kann die Interaktion eines Fachmanns mit einem oder mehreren Systemen überwachen und Protokollaktivitäten erzeugen, die Schrittabläufe enthalten, die durch den Fachmann durchgeführt wurden. Bei verschiedenen Beispielen kann das Überwachen des Aktivitätsüberwachers 110 entweder auf der Client-Seite oder auf der Server-Seite erfolgen. Bei einigen Beispielen kann der Aktivitätsüberwacher 110 zum Erlangen der umfangreichsten Aufzeichnung einer überwachten Prozedur die gesamte Aktivität des Fachmanns während eines Prozesses überwachen. Daher kann der Aktivitätsüberwacher 110 auch Abfragen überwachen, die auf externe Plattformen angewendet wurden. Zum Beispiel kann der Aktivitätsüberwacher 110 Abfragen auf Web-Plattformen überwachen. Darüber hinaus kann der Aktivitätsüberwacher 110 bei einigen Beispielen ein passives Überwachen oder aktives Überwachen durchführen. Zum Beispiel kann das passive Überwachen für einen Benutzer wie z.B. für einen Fachmann transparent sein. Beim aktiven Überwachen kann der Aktivitätsüberwacher 110 mit dem Benutzer interagieren, um einen Einblick in einen bestimmten Arbeitsablauf zu erlangen. Zum Beispiel kann der Aktivitätsüberwacher 110 einen Benutzer bitten, einen Teil in einer bestimmten Antwort hervorzuheben, der zu dem nächsten Schritt in der Untersuchungsprozedur geführt hat. Bei verschiedenen Beispielen kann der Aktivitätsüberwacher 110 ein vorausschauendes Überwachen anwenden, indem er den Benutzer bittet, die Übergangsregel zu ermitteln und ein Token zu belegen, um das Process Mining zu verbessern. Im hierin verwendeten Sinne bezeichnet ein Token eine Liste von Parametern und Parameterwerten, die in aufeinanderfolgenden Schritten verwendet werden und somit gespeichert sein können. Zum Beispiel können die Parameterwerte als Laufzeitparameterwerte in aufeinanderfolgenden Schritten eines Prozesses verwendet werden. Somit kann ein Token als Kontext für aufeinanderfolgende Schritte dienen. Bei verschiedenen Beispielen kann es der Aktivitätsüberwacher 110 einem Benutzer ermöglichen, die Artefakte in einer Systemantwort hervorzuheben, die zu der folgenden Abfrage führten oder zu der Vorfallschlussfolgerung führten.
  • Bei verschiedenen Beispielen handelt es sich bei dem Ereignisprotokollspeicher 112 um eine Datenbank, die zum Speichern der Aktivitätsprotokolle verwendet wird, die durch den Aktivitätsüberwacher 110 erzeugt wurden. Zum Beispiel kann es sich bei dem Ereignisprotokollspeicher 112 um eine interne oder eine externe Datenbank handeln.
  • Bei dem NLU-Modul 114 kann es sich um ein Modell handeln, das zum Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in Aktivitätsprotokollen verwendet wird. Zum Beispiel kann es sich bei den Merkmalen um Benutzer, Dateien oder andere Merkmale eines überwachten Systems handeln. Das NLU-Modul 114 kann die unstrukturierten Daten in ein strukturiertes Protokollereignis umwandeln, das durch das Process-Mining-Modul 116 verarbeitet werden kann. Bei Variablen kann es sich um bestimmte Fehlertypen, Zeiten usw. handeln. Bei verschiedenen Beispielen kann das NLU-Modul 114 die strukturierten Protokollereignisse in einer Datenbank wie z.B. in dem Ereignisprotokollspeicher 112 speichern.
  • Das Process-Mining-Modul 116 kann aus dem Ereignisprotokollspeicher 112 Fachmannprotokolle empfangen und Arbeitsablaufmodelle auf der Grundlage der Fachmannprotokolle aufbauen. Um die Arbeitsablaufmodelle aufzubauen, kann das Process-Mining-Modul 116 eine Process-Mining-Prozedur ausführen. Die Process-Mining-Prozedur kann unter Verwendung des Verfahrens 300 von 3 realisiert werden. Zum Beispiel kann das Process-Mining-Modul 116 den Prozess in der verarbeitenden Mining-Prozedur in Start->Schrittablauf->Ende umwandeln. Das Process-Mining-Modul 116 kann einen gemeinsamen „Startschritt“ erkennen. Zum Beispiel kann es sich bei dem gemeinsamen Startschritt um ein gemeinsames verdächtiges Startereignis handeln, das mehrere Untersuchungen startete. Bei verschiedenen Beispielen kann ein Startschritt verwendet werden, um das Process-Mining-Modul 116 zum Konsolidieren und Optimieren derjenigen Prozesse auszuführen, die dem Startschritt zugehörig sind. Das Process-Mining-Modul 116 kann dann die gemeinsamen „Teilprozesse“ unter allen Prozessen erkennen. Das Process-Mining-Modul 116 kann ferner die Übergangsregeln jedes Prozesses erkennen. Zum Beispiel kann das Process-Mining-Modul 116 eine vordefinierte Syntax zum Erkennen der Übergangsregeln jedes Prozesses festlegen. Bei verschiedenen Beispielen kann das Process-Mining-Modul 116 dann eine Klassifizierung ausführen, um den Kontext des Schritts zu erkennen. Der Kontext eines Schritts kann auch als Token bezeichnet werden. Zu dem Zweck der Klassifizierung kann das Process-Mining-Modul 116 lernen, welche Teile variabel sind und woher die Variable extrahiert werden soll. Da das Lernen, welche Teile variabel sind und woher die Variablen extrahiert werden sollen, sehr komplex sein kann, kann das Process-Mining-Modul 116 bei einigen Beispielen dem Benutzer Optionen darstellen und somit eine manuelle Auswahl oder Anpassung der Variablen ermöglichen. Beispielhaft kann, wenn ein verdächtiges Ereignis eine bestimmte Datenbanktabelle betrifft, der erste Schritt bei Symptomen alarmieren, die diese Datenbanktabelle betreffen. Der nächste Schritt kann einen ersten Untersuchungsschritt in Bezug auf diese Datenbank ausführen. Die Klassifizierungszielsetzung kann zum Erkennen eines <Entität:Wert>-Paares dienen, sodass die Automatisierung weiß, dass <Tabelle:„Tabellenname“> als Laufparameter und nicht als Konstante gesetzt werden muss. Das Process-Mining-Modul 116 kann dann einen optimierten Ablauf erstellen. Zum Beispiel kann das Process-Mining-Modul 116 beim Erstellen optimierter Abläufe die Startereignisse, Übergangsregeln und die gemeinsamen Teilprozesse berücksichtigen. Bei verschiedenen Beispielen kann die Optimierung eines Ablaufs innerhalb von Benutzern desselben Unternehmens und sogar über mehrere Unternehmen hinweg vorgenommen werden. Bei einigen Beispielen kann das Process-Mining-Modul 116 dann das Arbeitsablaufmodell anpassen, indem dem Benutzer ermöglicht wird, das erzeugte Arbeitsablaufmodell benutzerdefiniert anzupassen und zu erweitern. Bei verschiedenen Beispielen handelt es sich bei dem Ergebnis der Process-Mining-Prozedur um einen automatisierten optimalen und konsolidierten Prozessablauf der automatisch auf der Grundlage von NLU erzeugt wird. Bei einigen Beispielen kann der entstandene optimale und konsolidierte Prozessablauf unter vielen Benutzern gemeinsam genutzt werden.
  • Bei verschiedenen Beispielen kann der Server 118 ein Modell umfassen, das als Eingabe die aufgebauten Arbeitsabläufe empfängt und die aufgebauten Arbeitsabläufe verwendet, um entweder den Benutzer beim Anwenden der Ereignisuntersuchungsprozedur zu unterstützen oder die Untersuchungsprozedur ganz oder teilweise zu automatisieren. Bei einigen Beispielen kann ein automatisierter Prozess durch einen Vorfall ausgelöst werden, der durch eines der Alarmierungssysteme der Organisation erkannt wurde, oder er kann in regelmäßigen Zeitabständen ausgelöst werden. Zum Beispiel kann ein Benutzer einen Bedrohungsanalyseprozess als Bsp2 aufzeichnen und planen, dass der Bedrohungsanalyseprozess alle N Stunden ausgeführt wird. Bei verschiedenen Beispielen kann der Server 118 außerdem einen Klassifizierungsalgorithmus umfassen, um Entitäten aus dem Script zu erkennen und dann das Token bezüglich eines Wertes nachschlagen, der für einen Laufzeitbarometer des Prozesses verwendet werden soll. Bei einigen Beispielen wird der Prozess automatisch mit seinen Übergangsregeln und seinem Token definiert. Zum Beispiel kann der Server 108 erkennen, dass der Benutzer in ein Token einbezogen werden soll, das aus dem ersten Schritt dynamisch erzeugt und in allen nachfolgenden Schritten verwendet werden soll. Zusätzliche Parameterwerte können in späteren Schritten hinzugefügt werden, die in nachfolgenden Schritten verwendet werden sollen.
  • Bei verschiedenen Beispielen kann das Process-Mining-Modul 116 unter der Annahme, dass der Benutzer weiterhin mehr und mehr Prozesse ausführt, in regelmäßigen Zeitabständen ausgeführt werden, um mehr Prozesse für dasselbe Startereignis und gemeinsame Teilprozesse zu erkennen. Das Process-Mining-Modul 116 kann einen bestimmten Process-Mining-Algorithmus ausführen, um viele Arbeitsablaufprozesse zu einem optimierten Prozess zu optimieren. Zum Beispiel kann das Process-Mining-Modul 116 einen Phase-Mining-Algorithmus ausführen. Das Process-Mining-Modul 116 kann den Prozess erkennen und mit allen möglichen Übergangsregeln optimieren. Beispielhaft können in dem Fall eines ersten Prozesses, bei dem der Benutzer einen Ausreißer ausführt, der BEFEHL = GEWÄHREN betrifft, und einige Zeit später derselbe Benutzer oder ein weiterer Benutzer einen ähnlichen Prozess an dem vorstehenden Bedrohungsanalyseprozess Bsp2 für BEFEHL = AUSWÄHLEN ausführt, die beiden Prozesse zu einem optimierten Prozess mit einer Übergangsregel kombiniert werden.
  • Auf diese Weise kann der Server 118 nicht nur den am besten passenden optimierten Prozess anwenden, sondern kann außerdem andere Prozesse anwenden, die nicht für einen bestimmten Vorfall verwendet wurden. Bei verschiedenen Beispielen umfasst der Server 118 eine Benutzeroberfläche, die eine Iteration zwischen dem Server und dem Sicherheitsfachmann ermöglicht. Zum Beispiel kann die Benutzeroberfläche Vorschläge für einen Sicherheitsanalytiker darstellen oder dem Sicherheitsanalytiker Rückmeldungen über den Automatisierungsprozess bereitstellen usw. Bei verschiedenen Beispielen kann der Server 118 kundenübergreifend gruppieren (clustern) und jedem Kunden eine Verbesserung für seinen Prozess vorschlagen. Zum Beispiel können die Kunden geclustert werden, indem ein Nächste-Nachbarn-Algorithmus ausgeführt wird. Bei einigen Beispielen kann der Server 118 interaktiv eine vorausschauende Analyse ausführen, um den nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen.
  • Als beispielhafter Prozess Bsp1 kann ein neuer Befehlsausreißer „GEWÄHREN“ erkannt worden sein. Ein Sicherheitsanalytiker kann die Anforderung senden: Finde den Benutzer mit dem wichtigsten Ausreißer der Kategorie „Neuer Befehl“. Das System kann antworten, indem es diesem Benutzer Einzelheiten über diesen Ausreißerbefehl anzeigt und bereitstellt. Dieses Ergebnis wird durch das NLU-Modul 114 verarbeitet, um die Merkmale in ein Token zu extrahieren. Zum Beispiel können diese Merkmale bei der Analyse nachfolgender Schritte und zum Auffinden von Merkmalen verwendet werden, die den Schritten gemeinsam sind. Das NLU-Modul 114 kann eine Kategorie = „Neuer Befehl“ und einen Benutzer = <Gefundener Benutzer> erkannt haben. Diese beiden dynamischen Parameter können zur späteren Verwendung in das Token kopiert werden. Der Sicherheitsanalytiker kann dann anfordern: Wenn der Ausreißer für diesen Benutzer „Neuer Befehl“ des Typs GEWÄHREN ist, prüfen, ob der GEWÄHRUNGSEMPFÄNGER ein RUHENDER BENUTZER war. Das System kann antworten „Wahr, dieser Benutzer ist ein ruhender Benutzer“ und kann neben anderen Informationen über den GEWÄHREN-Befehl bereitstellen, der erkannt wurde. Das NLU-Modul 114 kann dann ein Zuordnen von Merkmalen ausführen, eine relevante API ausführen, das Token den Laufzeitparametern zuordnen und den Befehl = GEWÄHREN und den Empfänger = <Benutzer, der das Recht empfing> zu dem Token hinzufügen. Der Sicherheitsanalytiker kann dann anfordern: Den GEWÄHRUNGSEMPFÄNGER abrufen und die Aktivitäten des GEWÄHRUNGSEMPFÄNGERS durchsuchen. Das System kann mit „Der GEWÄHRUNGSEMPFÄNGER ist John Smith“ antworten und eine Liste von Aktivitäten des Benutzers John Smith bereitstellen. Zu diesem Zeitpunkt kann das NLU-Modul 114. dementsprechend <Benutzer = John Smith> und Aktivitäten = <Liste gefundener Aktivitäten> zu dem Token hinzufügen. Der Sicherheitsanalytiker kann ferner anfordern: Prüfen, ob ein sensibles Objekt vorliegt (Rest-API führt eine Freitextsuche mit dem Filter <GEWÄHRUNGSEMPFÄNGER> und <Sensibles Objekt> aus). Das System kann mit „8 Datensätze gefunden ...“ antworten und Suchergebnisse bereitstellen. Das NLU-Modul 114. kann dementsprechend das sensible Objekt = <Liste gefundener Objekte> zu dem Token hinzufügen. Der Sicherheitsanalytiker kann dann anfordern „Prüfen, ob mehr als 1 Auftreten dieser Aktivitäten vorliegt (Rest-API führt eine Freitextsuche mit dem Filter „Zählwert > 1“ durch). Das System kann mit „Falsch“ antworten. Der Sicherheitsanalytiker kann dann ferner anfordern: Prüfen, ob die Anzahl von BETROFFENER DATENSATZ > 1 ist (Rest-API führt eine Freitextsuche mit dem Filter „Betroffene Datensätze > 1 und Zählwert > 1“ durch). Das System kann antworten: „Wahr, die Anzahl von BETROFFENER DATENSATZ beträgt 6“ und Suchergebnisse bereitstellen. Zu diesem Zeitpunkt kann das NLU-Modul 114 den Parameter „Betroffene Datensätze = 6“ zu dem Token hinzufügen. Dann kann der Sicherheitsanalytiker die Befehle senden: „Diesen BENUTZER zu der BEOBACHTUNGSLISTE hinzufügen“ (Rest-API fügt <Benutzer> zur Beobachtungsliste hinzu) und „Ein TICKET in ServiceNow öffnen und dem Vorgesetzten des Benutzers zuweisen“ (Rest-API öffnet ein TICKET in ServiceNow, das Ausgabeskript dieses Prozesses wird dem Ticket als Text hinzugefügt). Das NLU-Modul 114 kann dementsprechend die ServiceNow.ticketld dem Token hinzufügen.
  • Bei einem zweiten beispielhaften Prozess (Bsp2) kann ein neuer Befehlsausreißer „AUSWÄHLEN“ erkannt werden. Zum Beispiel kann der Sicherheitsanalytiker anfordern: Finde für mich den Benutzer mit dem wichtigsten Ausreißer der Kategorie „Neuer Befehl“. Das System kann antworten, indem es diesem Benutzer Einzelheiten über diesen Ausreißer anzeigt und bereitstellt. Der Sicherheitsanalytiker kann dann anfordern: „Die Ausreißer abrufen, bei denen der neue Befehl AUSWÄHLEN lautet“. Das System kann dann mit einer Liste von Ausreißern antworten, bei denen der neue Befehl AUSWÄHLEN lautet. Der Sicherheitsanalytiker kann anfordern: „Allgemeine Suche nach diesem BENUTZER ausführen und nach den Wörtern OUT_FILE, UTL_HTTP suchen“. Das System kann antworten: „Wahr“ und Suchergebnisse bereitstellen. Der Sicherheitsanalytiker kann dann die Befehle senden: „Ein Ticket für diesen Benutzer öffnen“, „Priorität HOHER SCHWEREGRAD festlegen“ und „Gefundenen Benutzernamen als Text in eine Datei oder in HTTP exportieren“.
  • Bei diesen beiden beispielhaften Prozessen kann das Process-Mining-Modul 116 zwei entsprechende Arbeitsabläufe (AA) von dem NLU-Modul 114 empfangen und erkennen, dass die beiden Arbeitsabläufe einen gemeinsamen Startpunkt haben. Das Process-Mining-Modul 116 kann dann den Algorithmus ausführen, um den optimalen Arbeitsablauf zum Kombinieren der beiden Arbeitsabläufe zu finden. Bei einigen Beispielen kann der Algorithmus des Process-Mining-Moduls 116 einen neuen Arbeitsablauf, der ab Schritt 1 startet, der für beide Arbeitsabläufe gemeinsam ist, und dann einen verschachtelten Arbeitsablauf erstellen, um die beiden Anwendungsfälle zu behandeln.
  • Es versteht sich, dass das Blockschema von 1 nicht andeuten soll, dass das System 100 alle der in 1 gezeigten Komponenten umfassen muss. Vielmehr kann das System 100 weniger oder zusätzliche Komponenten umfassen, die in 1 nicht veranschaulicht sind (z.B. zusätzliche Client-Einheiten oder zusätzliche Ressourcen-Server usw.).
  • 2 ist ein Prozessflussdiagramm eines beispielhaften Verfahrens, mit dem Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können. Das Verfahren 200 kann mit einer beliebigen geeigneten Datenverarbeitungseinheit wie z.B. mit der Datenverarbeitungseinheit 300 von 3 realisiert werden und wird unter Bezugnahme auf das System 100 von 1 beschrieben. Zum Beispiel können die nachstehend beschriebenen Verfahren durch die Datenverarbeitungseinheit 400 von 4 realisiert werden.
  • Bei Block 202 überwacht ein Prozessor Benutzeroberflächen, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe umfassen. Zum Beispiel kann der Prozessor eine Zwei-Wege-Konversation zwischen einem Benutzer und einem Dienst auf einem Server überwachen. Zum Beispiel kann es sich bei dem Dienst um einen Chatbot handeln, auf den über einen virtuellen Assistenten, eine Website oder eine Anwendung zugegriffen wird. Der Chatbot kann Konversationen mit Benutzern über akustische oder textuelle Techniken durchführen. Bei verschiedenen Beispielen kann der Benutzer als Teil eines Sicherheitsarbeitsablaufs, eines forensischen Prozesses, einer Systemabstimmung oder eines Risikoentschärfungsprozesses Anforderungen an den Dienst senden. Bei einigen Beispielen kann es sich bei dem Überwachen um ein passives Überwachen oder ein aktives Überwachen handeln.
  • Bei Block 204 speichert der Prozessor die Aktivitätsprotokolle in einer Datenbank. Zum Beispiel kann es sich bei der Datenbank um eine für den Prozessor direkt zugängliche interne Datenbank oder um eine externe Datenbank handeln, auf die über ein Netzwerk zugegriffen werden kann.
  • Bei Block 206 extrahiert der Prozessor Merkmale und gemeinsame Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und erzeugt auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen strukturierte Protokollereignisse. Zum Beispiel kann der Prozessor die Merkmale und gemeinsamen Variablen unter Verwendung eines trainierten Spracherkennungsmodells extrahieren. Bei verschiedenen Beispielen können die extrahierten Merkmale in einem Token gespeichert werden. Bei verschiedenen Beispielen können die extrahierten Merkmale neben anderen Arten von Merkmalen Benutzer, Server, Dienste, Zeiten, Befehle, Tabellen, Felder, Antwortzeiten, betroffene Datensätze Internetprotokolladressen von Clients, Fehlerarten, Fehlercodes, Arten von Verstößen, Schweregrade von Verstößen umfassen.
  • Bei Block 208 erzeugt der Prozessor auf der Grundlage der strukturierten Protokollereignisse Arbeitsablaufmodelle. Zum Beispiel kann der Prozessor ein optimiertes Arbeitsablaufmodell für verschiedene Arten von Arbeitsabläufen erzeugen. Bei einigen Beispielen kann der Prozessor mehrere Arbeitsablaufmodelle für eine Art von Arbeitsablauf erzeugen. Zum Beispiel können die Arbeitsablaufmodelle unterschiedliche Prozesse integrieren, unter anderem Prozesse oder Teilprozesse, die tatsächlich für eine bestimmte Aufgabe nicht verwendet worden. Bei einigen Ausführungsformen kann der Prozessor kundenübergreifend clustern und einen verbesserten Arbeitsablauf erzeugen, der jedem Kunden in dem Cluster empfohlen werden soll. Zum Beispiel kann der Prozessor mithilfe von Process Mining mehrere Arbeitsabläufe für einen bestimmten Kunden oder über mehrere Kunden hinweg ermitteln, in dem Daten gemeinsam genutzt werden und ein Lernen über mehrere Konten hinweg erfolgt.
  • Bei Block 210 automatisiert oder unterstützt der Prozessor einen Arbeitsablauf auf der Grundlage der erzeugten Arbeitsablaufmodelle. Bei einigen Ausführungsformen kann der Prozessor ein bestimmtes erzeugtes Arbeitsablaufmodell automatisch ausführen. Zum Beispiel kann der Prozessor ein Arbeitsablaufmodell ausführen, das für eine bestimmte Aufgabe optimiert ist. Bei einigen Ausführungsformen kann der Prozessor mehrere Arbeitsablaufmodelle für eine bestimmte Aufgabe ausführen und einem Benutzer die Ergebnisse darstellen. Zum Beispiel kann der Prozessor zusätzliche Arbeitsablaufmodelle auf der Grundlage der strukturierten Protokollereignisse erzeugt haben und die zusätzlichen Arbeitsablaufmodelle automatisch ausführen, um eine Anzahl darzustellender Ergebnisse zu erzeugen. Bei verschiedenen Beispielen kann der Prozessor einen Benutzer beim Durchführen einer bestimmten Aufgabe auf der Grundlage eines optimierten Arbeitsablaufs unterstützen. Zum Beispiel kann der Benutzer erkennen, dass sich ein Benutzer in einem bestimmten Schritt einer Aufgabe befindet, und einen nachfolgenden Schritt zum Durchführen vorschlagen. Bei verschiedenen Beispielen kann der Prozessor interaktiv eine vorausschauende Analyse ausführen, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen. Bei einigen Beispielen kann die Automatisierung des Arbeitsablaufs durch einen erkannten Vorfall aus einem Alarmierungssystem automatisch ausgelöst werden. Bei verschiedenen Beispielen kann die Automatisierung des Arbeitsablaufs in regelmäßigen Zeitabständen durchgeführt werden. Zum Beispiel kann der automatisierte Arbeitsablauf so geplant werden, dass er in einem vordefinierten Zeitintervall automatisch durchgeführt wird.
  • Das Prozessflussdiagramm von 2 soll nicht angeben, dass die Operationen des Verfahrens 200 in einer bestimmten Reihenfolge ausgeführt werden müssen oder alle der Operationen des Verfahrens 200 in jedem Fall enthalten sein müssen. Darüber hinaus kann das Verfahren 200 eine beliebige geeignete Anzahl von zusätzlichen Operationen umfassen.
  • 3 ist ein Prozessflussdiagramm eines beispielhaften Verfahrens, mit dem ein Arbeitsablaufmodell zum Automatisieren oder Unterstützen eines Arbeitsablaufs erzeugt werden kann. Das Verfahren 300 kann mit einer beliebigen geeigneten Datenverarbeitungseinheit wie z.B. mit der Datenverarbeitungseinheit 300 von 3 realisiert werden und wird unter Bezugnahme auf das System 100 von 1 beschrieben. Zum Beispiel kann das Verfahren 300 durch das Process-Mining-Modul 116 von 1, das Process-Miner-Modul 430 der Datenverarbeitungsvorrichtung 400 von 4 oder das Process-Miner-Modul 712 von 7 realisiert werden.
  • Bei Block 302 wandelt ein Prozessor die strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis um. Bei einem Startereignis handelt es sich um Ereignis, das einen bestimmten überwachten Prozess startet. Zum Beispiel kann es sich bei einem Startereignis um ein verdächtiges Ereignis handeln, das eine Untersuchung startet. Ein Schrittablauf kann eine Reihe von Schritten umfassen, die ein Startereignis mit einem Endereignis verbinden. Ein Endereignis kann ein Ereignis umfassen, das bewirkt, dass ein bestimmter überwachter Prozess endet.
  • Bei Block 304 erkennt der Prozessor unter den überwachten Prozessen ein gemeinsames Startereignis. Zum Beispiel kann der Prozessor das gemeinsame Startereignis auf der Grundlage eines oder mehrerer Merkmale erkennen, die den Startereignissen von zwei oder mehr Prozessen gemeinsam sind. Beispielhaft können zwei Arbeitsablaufprozesse ab einem Schritt starten, der den Befehl „Rufe mir die wichtigste Unregelmäßigkeit in den letzten N Tagen ab“ umfasst.
  • Bei Block 306 konsolidiert und optimiert der Prozessor die Prozesse auf der Grundlage des gemeinsamen Startereignisses. Zum Beispiel kann der Prozessor die Prozesse durch Zusammenführen zweier Prozesse zu einem optimierten Prozess konsolidieren. Beispielhaft kann der Prozessor zwei Startschritte konsolidieren. Der Prozessor kann die Prozesse durch eine beliebige geeignete Process-Mining-Technik optimieren.
  • Bei Block 308 erkennt der Prozessor unter Unterschiedlichen Prozessen gemeinsame Teilprozesse. Zum Beispiel können die gemeinsamen Teilprozesse auf der Grundlage gemeinsam genutzter Startschritte, Merkmale, Variablen usw. erkannt werden.
  • Bei Block 310 erkennt der Prozessor unter den konsolidierten Prozessen Übergangsregeln jedes Prozesses. Bei einigen Beispielen kann der Prozessor eine vordefinierte Syntax zum Erkennen von Übergangsregeln festlegen. Bei der vordefinierten Syntax kann es sich um ein Wörterbuch oder um einen Satz von Beispielen handeln, die durch den Prozessor verwendet werden, um verschiedenen Wörtern oder Satzteilen bestimmte Merkmale oder Variablen zuzuordnen.
  • Bei Block 312 führt der Prozessor eine Klassifizierung aus, um für jeden Schritt jedes Prozesses einen Kontext zu erkennen. Zum Beispiel kann der Prozessor einen Klassifikator verwenden, der zum Erkennen von Teilen jedes Schritts in jedem Prozess trainiert ist, die variabel sind und bei denen es sich um Positionen derartiger Variablen handelt. Der Prozessor kann die variablen Parameter in ein Token extrahieren. Das Token kann verwendet werden, um die extrahierten Parameter über die Schritte jedes Prozessors hinweg zu verfolgen.
  • Bei Block 314 erzeugt der Prozesse auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes ein optimiertes Ablaufmodell. Bei einigen Beispielen kann das optimierte Ablaufmodell für jeden Benutzer einer bestimmten Organisation erzeugt werden. Bei verschiedenen Beispielen kann das optimierte Ablaufmodell für die bestimmte Organisation erzeugt werden. Bei einigen Beispielen kann der Prozessor ein optimiertes Ablaufmodell erzeugen, das durch mehrere Organisationen verwendet werden kann.
  • Bei Block 316 passt der Prozessor das optimierte Ablaufmodell auf der Grundlage von Benutzerrückmeldungen an. Zum Beispiel kann der Prozessor einem Benutzer ermöglichen, das erzeugte optimierte Ablaufmodell anzupassen und zu erweitern.
  • Das Prozessflussdiagramm von 3 soll nicht angeben, dass die Operationen des Verfahrens 300 in einer bestimmten Reihenfolge ausgeführt werden müssen oder alle der Operationen des Verfahrens 300 in jedem Fall enthalten sein müssen. Darüber hinaus kann das Verfahren 300 eine beliebige geeignete Anzahl von zusätzlichen Operationen umfassen. Zum Beispiel kann der Prozessor unter der Annahme, dass ein Benutzer weiterhin zusätzliche Prozesse durchführt, dann in regelmäßigen Zeitabständen zusätzliche Prozesse mit einem gemeinsamen Startereignis und gemeinsamen Teilprozessen erkennen. Der Prozessor kann dann das optimierte Ablaufmodell aktualisieren, sodass es beliebige zusätzliche Übergangsregeln für diese Teilprozesse umfasst.
  • Bei einigen Szenarien können die hierin beschriebenen Techniken in einer Cloud-Computing-Umgebung realisiert sein. Wie nachstehend ausführlicher unter Bezugnahme auf mindestens die 4 bis 7 erörtert wird, kann eine Datenverarbeitungseinheit, die so konfiguriert ist, dass sie unter Verwendung von strukturierten Protokollereignissen Arbeitsabläufe automatisiert, in einer Cloud-Computing-Umgebung realisiert sein. Es versteht sich von vornherein, dass eine Realisierung der hierin vorgestellten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine Beschreibung des Cloud-Computing enthält. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einer beliebigen anderen Art von Datenverarbeitungsumgebung realisiert werden, die gegenwärtig bekannt ist oder in Zukunft entwickelt wird.
  • Bei Cloud-Computing handelt es sich um ein Modell zur Bereitstellung von Diensten, um einen praktischen und bei Bedarf verfügbaren Netzwerkzugriff auf ein gemeinsam genutztes Reservoir konfigurierbarer Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) zu ermöglichen, die bei minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Bereitstellungsmodelle umfassen.
  • Die Eigenschaften sind folgende:
    • On-demand Self Service (Selbstzuweisung bei Bedarf): Ein Cloud-Kunde kann sich einseitig Datenverarbeitungsfunktionen wie zum Beispiel Serverzeit und Netzwerkspeicher dem Bedarf entsprechend automatisch bereitstellen ohne dass eine Interaktion von Menschen mit dem Anbieter des Dienstes erforderlich ist.
    • Broad Network Access (umfassender Netzwerkzugriff): Es stehen Funktionen über ein Netzwerk zur Verfügung, auf die der Zugriff über Standardmechanismen erfolgt, die die Verwendung durch heterogene Plattformen Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Notebook-Computer und PDAs) unterstützen.
    • Resource Pooling (Ressourcenbündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehrere Kunden unter Verwendung eines Mehrfachnutzermodells mit unterschiedlichen physischen und virtuellen Ressourcen zu bedienen, die entsprechend dem Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gefühlte Standortunabhängigkeit in der Weise, dass der Kunde im Allgemeinen keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber möglicherweise in der Lage ist, den Standort auf einer höheren Abstraktionsebene (z.B. Land, Bundesstaat oder Datenverarbeitungszentrum) anzugeben.
    • Rapid Elasticity (rasche Elastizität): Funktionen können rasch und elastisch bereitgestellt werden, in einigen Fällen automatisch, um den Funktionsumfang schnell nach oben anzupassen, und schnell freigegeben werden, um den Funktionsumfang schnell nach unten anzupassen. Für den Kunden entsteht oftmals der Eindruck, dass die zum Bereitstellen verfügbaren Funktionen unbegrenzt sind und jederzeit in jeder beliebigen Menge gekauft werden können.
    • Measured Service (bemessener Dienst): Cloud-Systeme steuern und optimieren automatisch die Ressourcenverwendung durch Nutzung einer Bemessungsfunktion auf einer bestimmten Abstraktionsebene, die für die Art des Dienstes geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, gesteuert und gemeldet werden sodass Transparenz sowohl für den Anbieter als auch den Kunden des genutzten Dienstes besteht.
  • Die Dienstmodelle sind folgende:
    • Software as a Service (SaaS) (Software als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu nutzen. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie z.B. einen Webbrowser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme, Speicherplatz oder sogar einzelne Anwendungsfähigkeiten, nicht, abgesehen von der möglichen Ausnahme eingeschränkter benutzerspezifischer Konfigurationseinstellungen von Anwendungen.
    • Platform as a Service (PaaS) (Plattform als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, auf der Cloud-Infrastruktur vom Kunden erzeugte oder erworbene Anwendungen bereitzustellen, die unter Verwendung von Programmiersprachen und Programmierwerkzeugen erzeugt wurden, die durch den Anbieter unterstützt werden. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme oder Speicherplatz, nicht, hat aber die Kontrolle über die bereitgestellten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendungen.
    • Infrastructure as a Service (laaS) (Infrastruktur als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, Verarbeitung, Speicherplatz, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Kunde beliebige Software bereitstellen und ausführen kann, zu der Betriebssysteme und Anwendungen gehören können. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicherplatz sowie bereitgestellte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Vernetzungskomponenten (z.B. Host-Firewalls).
  • Die Bereitstellungsmodelle sind folgende:
    • Private Cloud (private Cloud): Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
    • Community Cloud (Community-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen genutzt und unterstützt eine bestimmte Benutzergemeinschaft, die gemeinsame Interessen hat (z.B. Gesichtspunkte im Zusammenhang mit einer Aufgabe, mit Sicherheitsanforderungen, Richtlinien und mit der Einhaltung von Gesetzen und Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
    • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Gruppe in einem Industriezweig zur Verfügung gestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
    • Hybrid cloud (Hybrid-Cloud): Bei der Cloud-Infrastruktur handelt es sich um eine Mischung aus zwei oder mehreren Clouds (Private Cloud, Community Cloud oder Public Cloud), die eigenständige Entitäten bleiben, aber über eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die die Portierbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung (Cloud Bursting) zum Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandsunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt des Cloud-Computing steht eine Infrastruktur, die ein Netzwerk aus untereinander verbundenen Knoten aufweist.
  • 4 ist ein Blockschema einer beispielhaften Datenverarbeitungseinheit, mit der Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können. Bei der Datenverarbeitungseinheit 400 kann es sich zum Beispiel um einen Server, einen Desktop-Computer, einen Notebook-Computer, einen Tablet-Computer oder ein Smartphone handeln. Bei einigen Beispielen kann es sich bei der Datenverarbeitungseinheit 400 um einen Cloud-Computing-Knoten handeln. Die Datenverarbeitungseinheit 400 kann im allgemeinen Kontext von auf einem Computersystem ausführbaren Anweisungen beschrieben werden, wie zum Beispiel von Programmmodulen, die durch ein Computersystem ausgeführt werden. Programmmodule können im Allgemeinen Routinen, Programme, Objekte, Komponenten, Logik und Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Die Datenverarbeitungseinheit 400 kann in verteilten Cloud-Computing-Umgebungen praktisch realisiert sein, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. Bei einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl auf lokal als auch auf entfernt angeordneten Computersystem-Speichermedien befinden, unter anderem auf Speichereinheiten.
  • Die Datenverarbeitungseinheit 400 kann einen Prozessor 402 umfassen, der zum Ausführen gespeicherter Informationen dient, und eine Hauptspeichereinheit 404 zum Bereitstellen von zeitweiligem Hauptspeicherplatz für Operationen der Anweisungen während des Betriebs. Bei dem Prozessor kann es sich um einen Prozessor mit einem Kern, einen Prozessor mit mehreren Kernen, um einen Datenverarbeitungs-Cluster oder um eine beliebige Anzahl anderer Konfigurationen handeln. Der Hauptspeicher 404 kann Direktzugriffsspeicher (random access memory, RAM), Nur-Lese-Speicher, Flash-Speicher oder beliebige andere geeignete Speichersysteme umfassen.
  • Der Prozessor 402 kann über eine Systemverbindungseinheit 406 (z.B. PCI®, PCI-Express® usw.) mit einer Eingabe/Ausgabe-Einheitenschnittstelle (E/A-Einheitenschnittstelle) 408 verbunden sein, die so ausgelegt ist, dass sie die Datenverarbeitungseinheit 400 mit einer oder mehreren E/A-Einheiten 410 verbindet. Die E/A-Einheiten 410 können zum Beispiel eine Tastatur, eine Zeigeeinheit umfassen, wobei die Zeigeeinheit unter anderem ein Touchpad oder einen Touchscreen umfassen kann. Bei den E/A-Einheiten 410 kann es sich um integrierte Komponenten der Datenverarbeitungseinheit 400 oder um Einheiten handeln, die außen an die Datenverarbeitungseinheit 400 angeschlossen sind.
  • Der Prozessor 402 kann außerdem über die Systemverbindungseinheit 406 mit einer Anzeigeschnittstelle 412 verbunden sein, die so ausgelegt ist, dass sie die Datenverarbeitungseinheit 400 mit einer Anzeigeeinheit 414 verbindet. Die Anzeigeeinheit 414 kann einen Anzeigebildschirm umfassen, bei dem es sich um eine integrierte Komponente der Datenverarbeitungseinheit 400 handelt. Die Anzeigeeinheit 414 kann darüber hinaus unter anderem einen Computermonitor, einen Fernsehempfänger oder einen Projektor umfassen, der außen an die Datenverarbeitungseinheit 400 angeschlossen ist. Des Weiteren kann eine Netzwerkschnittstellen-Steuereinheit (network interface controller, NIC) 416 so ausgelegt sein, dass sie die Datenverarbeitungseinheit 400 über die Systemverbindungseinheit 406 mit dem Netzwerk 418 verbindet. Bei einigen Ausführungsformen kann die NIC 416 unter Verwendung einer geeigneten Schnittstelle oder eines geeigneten Protokolls wie unter anderem z.B. des Internet Small Computer System Interface Daten übertragen. Bei dem Netzwerk 418 kann es sich unter anderem um ein Mobilfunknetz, ein Funknetz, ein Weitverkehrsnetzwerk (wide area network, WAN), ein lokales Netzwerk (local area network, LAN) wurde das Internet handeln. Eine externe Datenverarbeitungseinheit 420 kann über das Netzwerk 418 mit der Datenverarbeitungseinheit 400 verbunden sein. Bei einigen Beispielen kann es sich bei der externen Datenverarbeitungseinheit 420 um einen externen Webserver 420 handeln. Bei einigen Beispielen kann es sich bei der externen Datenverarbeitungseinheit 420 um einen Cloud-Computing-Knoten handeln.
  • Der Prozessor 402 kann außerdem über die Systemverbindungseinheit 406 mit einer Speichereinheit 422 verbunden sein, die ein Festplattenlaufwerk, ein optisches Laufwerk, ein USB-Flash-Laufwerk, eine Anordnung von Laufwerken oder eine beliebige Kombination davon umfassen kann. Bei einigen Beispielen kann die Speichereinheit ein Aktivitätsüberwachermodul 424, ein Aktivitätsprotokollierermodul 426, ein Spracherkennungsmodul (NLU-Modul) 428, ein Process-Miner-Modul 430 und ein Arbeitsablauf-Unterstützer- und Automatisierermodul 432 umfassen. Das Aktivitätsüberwachermodul 424 kann eine Benutzeroberfläche überwachen, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen. Zum Beispiel können die Schrittabläufe Schritte umfassen, die durch einen Benutzer zum Ausführen einer bestimmten Aufgabe ergriffen werden. Das Aktivitätsprotokollierermodul 426 kann die Aktivitätsprotokolle in einer Datenbank speichern. Zum Beispiel kann es sich bei der Datenbank um eine interne Datenbank oder eine externe Datenbank handeln. Das NLU-Modul 428 kann Merkmale und gemeinsame Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen extrahieren und auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen strukturierte Protokollereignisse erzeugen. Das Process-Miner-Modul 430 kann auf der Grundlage der strukturierten Protokollereignisse ein Arbeitsablaufmodell erzeugen. Zum Beispiel kann das Process-Miner-Modul 430 die strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis umwandeln. Das Process-Miner-Modul 430 kann dann unter den überwachten Prozessen ein gemeinsames Startereignis erkennen. Das Process-Miner-Modul 430 kann außerdem auf der Grundlage des gemeinsamen Startereignisses die Prozesse konsolidieren und optimieren. Das Process-Miner-Modul 430 kann auch ferner unter Prozessen gemeinsame Teilprozesse erkennen. Das Process-Miner-Modul 430 kann dann unter den konsolidierten Prozessen Übergangsregeln jedes Prozesses erkennen. Das Process-Miner-Modul 430 kann außerdem eine Klassifizierung ausführen, um einen Kontext zu erkennen. Das Process-Miner-Modul 430 kann dann auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes ein optimiertes Ablaufmodell erzeugen. Bei einigen Beispielen kann das Process-Miner-Modul 430 auf der Grundlage von Benutzerrückmeldungen das optimierte Ablaufmodell anpassen. Bei einigen Beispielen kann das Process-Miner-Modul 430 kundenübergreifend clustern und einen verbesserten Arbeitsablauf erzeugen, der jedem Kunden in dem Cluster dargestellt werden soll. Bei verschiedenen Beispielen kann das Process-Miner-Modul 430 interaktiv eine vorausschauende Analyse ausführen, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen. Das Arbeitsablauf-Unterstützer- und Automatisierermodul 432 kann auf der Grundlage des erzeugten Arbeitsablaufmodells einen Arbeitsablauf automatisieren oder unterstützen. Zum Beispiel kann es sich bei dem automatisierten oder unterstützten Arbeitsablauf um einen Arbeitsablauf mit bewährten Sicherheitsverfahrensweisen, einen Arbeitsablauf eines forensischen Prozesses, einen Arbeitsablauf zu Systemabstimmung oder einen Arbeitsablauf eines Risikoentschärfungsprozesses handeln.
  • Es versteht sich, dass das Blockschema von 4 nicht andeuten soll, dass das Datenverarbeitungseinheit 400 alle der in 4 gezeigten Komponenten umfassen muss. Vielmehr kann die Datenverarbeitungseinheit 400 weniger oder zusätzliche Komponenten umfassen, die in 4 nicht veranschaulicht sind (z.B. zusätzliche Speicherkomponenten, eingebettete Steuereinheiten, Module, zusätzliche Netzwerkschnittstellen usw.). Des Weiteren können beliebige der Funktionalitäten des Aktivitätsüberwachermoduls 424, des Aktivitätsprotokollierermoduls 426, des NLU-Moduls 428, des Process-Miner-Moduls 430 und des Arbeitsablauf-Unterstützer- und Automatisierermoduls 432 teilweise oder vollständig in Hardware und/oder in dem Prozessor 402 realisiert sein. Zum Beispiel kann die Funktionalität unter anderem mit einer anwendungsspezifischen integrierten Schaltung, mit in einer eingebetteten Steuereinheit realisierter Logik oder in Logik realisiert sein, die in dem Prozessor 402 realisiert ist. Bei einigen Ausführungsformen können die Funktionalitäten des Aktivitätsüberwachermoduls 424, des Aktivitätsprotokollierermoduls 426, des NLU-Moduls 428, des Process-Miner-Moduls 430 und des Arbeitsablauf-Unterstützer- und Automatisierermoduls 432 mit Logik realisiert sein, wobei die Logik im hierin bezeichneten Sinne beliebige geeignete Hardware (z.B. unter anderem einen Prozessor), Software (z.B. unter anderem eine Anwendung), Firmware oder eine beliebige geeignete Kombination aus Hardware, Software und Firmware umfassen kann.
  • Unter Bezugnahme auf 5 ist dort eine veranschaulichende Cloud-Computing-Umgebung 500 abgebildet. Wie dargestellt weist die Cloud-Computing-Umgebung 500 einen oder mehrere Cloud-Computing-Knoten 502 auf, mit denen lokale Datenverarbeitungseinheiten wie zum Beispiel ein Personal Digital Assistant (PDA) oder Mobiltelefon 504A, ein Desktop-Computer 504B, ein Notebook-Computer 504C und/oder ein Automobil-Computersystem 504N Daten austauschen können. Die Knoten 502 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie zum Beispiel in einer hierin oben beschriebenen Private Cloud, Community Cloud, Public Cloud oder Hybrid Cloud oder in einer Kombination davon gruppiert sein (nicht gezeigt). Dies ermöglicht der Cloud-Computing-Umgebung 500, Infrastruktur, Plattformen und/oder Software als Dienste zu bieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit zu verwalten braucht. Es versteht sich, dass die Arten von in 5 gezeigten Datenverarbeitungseinheiten 504A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 502 und die Cloud-Computing-Umgebung 500 über eine beliebige Art von Netzwerk und/oder über eine beliebige Art von Verbindung, die über ein Netzwerk aufgerufen werden kann (z.B. unter Verwendung eines Webbrowsers), mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 6 ist dort eine Gruppe von Funktionsabstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 500 (5) bereitgestellt werden. Im Vorhinein sollte klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen nur zur Veranschaulichung gedacht und Ausführungsformen der Erfindung nicht auf diese beschränkt sind. Wie abgebildet werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt.
  • Eine Hardware- und Softwareschicht 600 umfasst Hardware- und Softwarekomponenten. Zu Beispielen von Hardwarekomponenten zählen Großrechner, bei einem Beispiel IBM® zSeries®-Systeme; auf der RISC-Architektur (RISC = Reduced Instruction Set Computer) beruhende Server, bei einem Beispiel IBM pSeries®-Systeme; IBM xSeries®-Systeme; IBM BladeCenter®-Systeme; Speichereinheiten; Netzwerke und Vernetzungskomponenten. Zu Beispielen von Softwarekomponenten zählen Netzwerk-Anwendungsserversoftware, bei einem Beispiel die Anwendungsserversoftware IBM WebSphere®; und Datenbanksoftware, bei einem Beispiel die Datenbanksoftware IBM DB2®. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind weltweit in vielen juristischen Zuständigkeitsbereichen eingetragene Marken von International Business Machines Corporation.)
  • Eine Virtualisierungsschicht 602 stellt eine Abstraktionsschicht bereit, von der aus die folgenden Beispiele von virtuellen Einheiten bereitgestellt sein können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, unter anderem virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients. Bei einem Beispiel kann eine Verwaltungsschicht 604 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung stellt die dynamische Beschaffung von Datenverarbeitungsressourcen und von anderen Ressourcen bereit, die genutzt werden, um Aufgaben innerhalb der Cloud-Computing-Umgebung durchzuführen. Eine Gebührenerfassung und eine Preisberechnung stellen eine Kostüberwachung bereit, während Ressourcen innerhalb der Cloud-Computing-Umgebung genutzt werden, sowie Abrechnung und Fakturierung der Inanspruchnahme dieser Ressourcen. Bei einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen aufweisen. Eine Sicherheit stellt eine Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal bietet Kunden und Systemadministratoren einen Zugang zur Cloud-Computing-Umgebung. Eine Dienstgüteverwaltung (Service Level Management) stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die jeweils erforderliche Dienstgüte erreicht wird. Eine Planung und Erfüllung von Dienstgütevereinbarungen (Service Level Agreement (SLA), Servicevertrag) stellt die Vorausplanung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die auf der Grundlage eines SLA zukünftige Anforderungen erwartet werden.
  • Eine Betriebslastschicht 606 stellt Beispiele von Funktionalitäten bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Betriebslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, gehören: Zuordnung und Navigation; Softwareentwicklung und Lebenszyklusverwaltung; Bereitstellung von Schulungen in virtuellen Schulungsräumen; Verarbeiten von Datenanalysen; Transaktionsverarbeitung; und Arbeitsablaufautomatisierung.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt in einem beliebigen möglichen Integrationsgrad technischer Einzelheiten handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine materielle Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Eine nicht erschöpfende Liste genauerer Beispiele des durch einen Computer lesbaren Speichermediums umfasst Folgendes: eine transportable Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen transportablen Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein kabelloses Netzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, Drahtlosübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in der Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung können es sich um Assembleranweisungen, ISA-Anweisungen (ISA = Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, Daten zum Setzen von Zuständen oder entweder Code oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, zu denen eine objektorientierte Programmiersprache wie beispielsweise Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen gehören. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internetdienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Hierin sind Aspekte der vorliegenden Techniken unter Bezugnahme auf Flussdiagramme und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Techniken beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata mit Hilfe von durch einen Computer lesbaren Programmanweisungen realisiert werden kann bzw. können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Operationen ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Nunmehr unter Bezugnahme auf 7 ist dort ein Blockschema eines beispielhaften physischen, durch einen Computer lesbaren nichtflüchtigen Mediums 700 bildlich dargestellt, mit dem Arbeitsabläufe unter Verwendung von strukturierten Protokollereignissen automatisiert und unterstützt werden können. Auf das physische, durch einen Computer lesbare nichtflüchtige Medium 700 kann durch einen Prozessor 702 über eine Computerverbindungseinheit 704 zugegriffen werden. Des Weiteren kann das physische, durch einen Computer lesbare nichtflüchtige Medium 700 Code umfassen, um den Prozessor 702 anzuweisen, die Operationen der Verfahren 200 und 300 der 2 und 3 durchzuführen.
  • Die hierin erörterten verschiedenen Softwarekomponenten können wie in 7 angegeben auf dem physischen, durch einen computerlesbaren nichtflüchtigen Medium 700 gespeichert sein. Zum Beispiel umfasst ein Aktivitätsüberwacher 706 Code zum Überwachen einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen. Ein Spracherkennungsmodul (NLU-Modul) 710 umfasst Code zum Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und zum Erzeugen von strukturierten Protokollereignissen auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen. Das Process-Miner-Modul 712 umfasst Code zum Erzeugen eines Arbeitsablaufmodells auf der Grundlage der strukturierten Protokollereignisse. Bei einigen Beispielen umfasst das Process-Miner-Modul 712 Code zum Umwandeln der strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis. Bei verschiedenen Beispielen umfasst das Process-Miner-Modul 712 Code zum Erkennen eines gemeinsamen Startereignisses unter den überwachten Prozessen. Das Process-Miner-Modul 712 kann außerdem Code zum Konsolidieren und Optimieren der Prozesse auf der Grundlage des gemeinsamen Startereignisses umfassen. Das Process-Miner-Modul 712 kann ferner Code zum Erkennen gemeinsamer Teilprozesse unter den konsolidierten Prozessen umfassen. Das Process-Miner-Modul 712 kann außerdem Code zum Erkennen von Übergangsregeln jedes Prozesses unter den Prozessen umfassen. Das Process-Miner-Modul 712 kann außerdem Code zum Ausführen einer Klassifizierung umfassen, um einen Kontext zu erkennen. Das Process-Miner-Modul 712 kann außerdem Code umfassen, um auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes ein optimiertes Ablaufmodell zu erzeugen. Bei einigen Beispielen kann das Process-Miner-Modul 712 Code umfassen, um auf der Grundlage von Benutzerrückmeldungen das optimierte Ablaufmodell anzupassen. Bei verschiedenen Beispielen kann das Process-Miner-Modul 712 außerdem Code umfassen, um kundenübergreifend zu clustern und einen verbesserten Arbeitsablauf zu erzeugen, der jedem Kunden in dem Cluster empfohlen werden soll. Ein Arbeitsablauf-Unterstützer- und Automatisierermodul 714 umfasst Code zum Automatisieren oder Unterstützen eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells. Bei einigen Beispielen umfasst das Arbeitsablauf-Unterstützer- und Automatisierermodul 714 Code zum interaktiven Ausführen einer vorausschauenden Analyse, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen. Es versteht sich, dass je nach der betreffenden Anwendung eine beliebige Anzahl zusätzlicher Softwarekomponenten, die in 7 nicht gezeigt sind, in dem physischen, durch einen Computer lesbaren nichtflüchtigen Medium 700 gespeichert sein kann.
  • Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die in dem Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Zum Beispiel können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der Blockschemata und/oder Flussdiagrammdarstellungen sowie Kombinationen von Blöcken in den Blockschemata und/oder Flussdiagrammdarstellungen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können. Es versteht sich, dass je nach der konkreten Anwendung eine beliebige Anzahl zusätzlicher Softwarekomponenten, die in 7 nicht gezeigt sind, in dem physischen, durch einen Computer lesbaren nichtflüchtigen Medium 700 gespeichert sein kann.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Techniken sollen der Veranschaulichung dienen, sind jedoch nicht als vollständig oder auf die offenbarten Ausführungsformen beschränkt gedacht. Für Fachleute sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzumfang der beschriebenen Ausführungsformen darstellen würden. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung bzw. die technische Verbesserung gegenüber den auf dem Markt vorgefundenen Technologien zu erläutern bzw. anderen mit entsprechenden Fachkenntnissen das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (20)

  1. System, das einen Prozessor aufweist zum: Überwachen einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen; Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und Erzeugen strukturierter Protokollereignisse auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen; Erzeugen eines Arbeitsablaufmodells auf der Grundlage der strukturierten Protokollereignisse; und Automatisieren oder Unterstützen eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells.
  2. System nach Anspruch 1, wobei die strukturierten Protokollereignisse über eine Spracherkennungsmoduleinheit erzeugt werden, wobei der Prozessor zum Umwandeln der strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis dient.
  3. System nach Anspruch 1, wobei der Prozessor dient zum: Erkennen eines gemeinsamen Startereignisses unter den überwachten Prozessen; Konsolidieren und Optimieren der Prozesse auf der Grundlage des gemeinsamen Startereignisses; Erkennen gemeinsamer Teilprozesse unter den Prozessen; Erkennen von Übergangsregeln jedes Prozesses unter den konsolidierten Prozessen; Ausführen einer Klassifizierung, um einen Kontext zu erkennen; und Erzeugen eines optimierten Ablaufmodells auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes.
  4. System nach Anspruch 3, wobei der Prozessor zum Anpassen des optimalen Ablaufmodells auf der Grundlage von Benutzerrückmeldungen dient.
  5. System nach Anspruch 1, wobei der Prozessor zum kundenübergreifenden Clustern und Erzeugen eines verbesserten Arbeitsablaufs dient, der jedem Kunden in dem Cluster dargestellt werden soll.
  6. System nach Anspruch 1, wobei der Prozessor zum interaktiven Ausführen einer vorausschauenden Analyse dient, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen.
  7. System nach Anspruch 1, wobei der automatisierte oder unterstützte Arbeitsablauf einen Arbeitsablauf mit bewährten Sicherheitsverfahrensweisen, einen Arbeitsablauf eines forensischen Prozesses, einen Arbeitsablauf zu Systemabstimmung oder einen Arbeitsablauf eines Risikoentschärfungsprozesses aufweist.
  8. Mittels Computer realisiertes Verfahren, das aufweist: Überwachen, über einen Prozessor, einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen; Extrahieren, über den Prozessor, von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und Erzeugen strukturierter Protokollereignisse auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen; Erzeugen, über den Prozessor, eines Arbeitsablaufmodells auf der Grundlage der strukturierten Protokollereignisse; und Automatisieren oder Unterstützen, über den Prozessor, eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells.
  9. Mittels Computer realisiertes Verfahren nach Anspruch 8, das ein Umwandeln der strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis aufweist.
  10. Mittels Computer realisiertes Verfahren nach Anspruch 8, wobei das Erzeugen des Arbeitsablaufmodells aufweist: Erkennen eines gemeinsamen Startereignisses unter den überwachten Prozessen; Konsolidieren und Optimieren der Prozesse auf der Grundlage des gemeinsamen Startereignisses; Erkennen gemeinsamer Teilprozesse unter den Prozessen; Erkennen von Übergangsregeln jedes Prozesses unter den konsolidierten Prozessen; Ausführen einer Klassifizierung, um einen Kontext zu erkennen; und Erzeugen eines optimierten Ablaufmodells auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes.
  11. Mittels Computer realisiertes Verfahren nach Anspruch 8, wobei das Erzeugen des Arbeitsablaufmodells ein Anpassen des optimalen Ablaufmodells auf der Grundlage von Benutzerrückmeldungen aufweist.
  12. Mittels Computer realisiertes Verfahren nach Anspruch 8 das ein kundenübergreifendes Clustern und ein Erzeugen eines verbesserten Arbeitsablaufs aufweist, der jedem Kunden in dem Cluster empfohlen werden soll.
  13. Mittels Computer realisiertes Verfahren nach Anspruch 8, das ein interaktives Ausführen einer vorausschauenden Analyse aufweist, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen.
  14. Mittels Computer realisiertes Verfahren nach Anspruch 8, das ein Erzeugen zusätzlicher Arbeitsablaufmodelle auf der Grundlage der strukturierten Protokollereignisse und ein automatisches Ausführen der zusätzlichen Arbeitsablaufmodelle aufweist, um eine Mehrzahl darzustellender Ergebnisse zu erzeugen.
  15. Computerprogrammprodukt zum Automatisieren oder Unterstützen von Arbeitsabläufen, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem Programmcode verkörpert ist, wobei es sich bei dem durch einen Computer lesbaren Speichermedium nicht um ein flüchtiges Signal an sich handelt, wobei der Programmcode durch einen Prozessor ausführbar ist, um den Prozessor zu veranlassen zum: Überwachen einer Benutzeroberfläche, um Aktivitätsprotokolle zu erzeugen, die Schrittabläufe aufweisen; Extrahieren von Merkmalen und gemeinsamen Variablen aus unstrukturierten Daten in den Aktivitätsprotokollen und Erzeugen strukturierter Protokollereignisse auf der Grundlage der extrahierten Merkmale und der gemeinsamen Variablen; Erzeugen eines Arbeitsablaufmodells auf der Grundlage der strukturierten Protokollereignisse; und Automatisieren oder Unterstützen eines Arbeitsablaufs auf der Grundlage des erzeugten Arbeitsablaufmodells.
  16. Computerprogrammprodukt nach Anspruch 15, das ferner Programmcode aufweist, der durch den Prozessor ausführbar ist, um die strukturierten Protokollereignisse in ein Startereignis, einen Schrittablauf und ein Endereignis umzuwandeln.
  17. Computerprogrammprodukt nach Anspruch 15, das ferner durch einen Computer ausführbaren Programmcode aufweist zum: Erkennen eines gemeinsamen Startereignisses unter den überwachten Prozessen; Konsolidieren und Optimieren der Prozesse auf der Grundlage des gemeinsamen Startereignisses; Erkennen gemeinsamer Teilprozesse unter den konsolidierten Prozessen; Erkennen von Übergangsregeln jedes Prozesses unter den Prozessen; Ausführen einer Klassifizierung, um einen Kontext zu erkennen; und Erzeugen eines optimierten Ablaufmodells auf der Grundlage des Startereignisses, der Übergangsregeln, der gemeinsamen Teilprozesse und des Kontextes.
  18. Computerprogrammprodukt nach Anspruch 15, das ferner Programmcode aufweist, der durch den Prozessor ausführbar ist, um auf der Grundlage von Benutzerrückmeldungen ein optimiertes Ablaufmodell anzupassen.
  19. Computerprogrammprodukt nach Anspruch 15, das ferner Programmcode umfasst, der durch den Prozessor ausführbar ist, um kundenübergreifend zu clustern und einen verbesserten Arbeitsablauf zu erzeugen, der jedem Kunden in dem Cluster empfohlen werden soll.
  20. Computerprogrammprodukt nach Anspruch 15, das ferner Programmcode umfasst, der durch den Prozessor ausführbar ist, um interaktiv eine vorausschauende Analyse auszuführen, um einen nächsten Schritt für einen manuellen Prozess eines Benutzers vorzuschlagen.
DE112020005700.3T 2020-02-13 2020-12-30 Unterstützen und automatisieren von arbeitsabläufen unter verwendung von strukturierten protokollereignissen Pending DE112020005700T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/789,884 2020-02-13
US16/789,884 US11403577B2 (en) 2020-02-13 2020-02-13 Assisting and automating workflows using structured log events
PCT/IB2020/062537 WO2021161092A1 (en) 2020-02-13 2020-12-30 Assisting and automating workflows using structured log events

Publications (1)

Publication Number Publication Date
DE112020005700T5 true DE112020005700T5 (de) 2022-09-01

Family

ID=77272732

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005700.3T Pending DE112020005700T5 (de) 2020-02-13 2020-12-30 Unterstützen und automatisieren von arbeitsabläufen unter verwendung von strukturierten protokollereignissen

Country Status (6)

Country Link
US (1) US11403577B2 (de)
JP (1) JP2023514989A (de)
CN (1) CN114846491A (de)
DE (1) DE112020005700T5 (de)
GB (1) GB2608055A (de)
WO (1) WO2021161092A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114373563A (zh) * 2021-12-09 2022-04-19 中国核电工程有限公司 核电厂事故处理导则人机接口的设计方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
US20030233374A1 (en) * 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US7809822B2 (en) 2005-12-28 2010-10-05 Telecom Italia S.P.A. Method for the automatic generation of workflow models, in particular for interventions in a telecommunication network
US7761393B2 (en) 2006-06-27 2010-07-20 Microsoft Corporation Creating and managing activity-centric workflow
US8312322B2 (en) 2009-11-12 2012-11-13 Siemens Medical Solutions Usa, Inc. System for automated generation of computer test procedures
US8621637B2 (en) 2011-01-10 2013-12-31 Saudi Arabian Oil Company Systems, program product and methods for performing a risk assessment workflow process for plant networks and systems
CN102332125B (zh) 2011-11-08 2014-03-19 南京大学 基于后继任务的工作流挖掘方法
CN103218692B (zh) 2013-04-27 2017-03-15 南京理工大学 基于活动间依赖关系分析的工作流挖掘方法
US20150220308A1 (en) * 2014-01-31 2015-08-06 Dell Products L.P. Model-based development
US9122694B1 (en) * 2014-09-24 2015-09-01 Logzilla Corporation Systems and methods for highly scalable system log analysis, deduplication and management
US20160189203A1 (en) * 2014-12-27 2016-06-30 Teradata Us, Inc. Automatic and dynamic predictive analytics
US9858191B2 (en) * 2014-12-31 2018-01-02 Samsung Electronics Co., Ltd. Electronic system with data management mechanism and method of operation thereof
US20170017903A1 (en) * 2015-02-11 2017-01-19 Skytree, Inc. User Interface for a Unified Data Science Platform Including Management of Models, Experiments, Data Sets, Projects, Actions, Reports and Features
US10467635B1 (en) * 2016-01-28 2019-11-05 Numerify, Inc. Efficient cross customer analytics
US10614398B2 (en) 2016-05-26 2020-04-07 International Business Machines Corporation System impact based logging with resource finding remediation
US20180089602A1 (en) * 2016-09-29 2018-03-29 Sap Se Transformation of process model specification between formats
US20180107529A1 (en) 2016-10-13 2018-04-19 Nec Laboratories America, Inc. Structural event detection from log messages
FR3073644B1 (fr) * 2017-11-14 2021-01-01 Idemia Identity & Security France Procede de traitement d'image mis en oeuvre par un terminal formant un environnement " boite blanche "
CN107909344B (zh) 2017-11-21 2020-07-17 杭州电子科技大学 基于关系矩阵的工作流日志重复任务识别方法
US10554817B1 (en) * 2018-12-12 2020-02-04 Amazon Technologies, Inc. Automation of contact workflow and automated service agents in contact center system

Also Published As

Publication number Publication date
WO2021161092A1 (en) 2021-08-19
CN114846491A (zh) 2022-08-02
GB2608055A (en) 2022-12-21
JP2023514989A (ja) 2023-04-12
US20210256433A1 (en) 2021-08-19
GB202213054D0 (en) 2022-10-19
US11403577B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
CA2946224C (en) Method and apparatus for automating the building of threat models for the public cloud
DE112018002984T5 (de) Konformitätsbewusste Laufzeiterzeugung auf Grundlage von Anwendungsmustern und Risikobeurteilung
DE102016222034A1 (de) Dynamische Kennworterzeugung
DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112016000915T5 (de) Sicherheit innerhalb softwaredefinierter Infrastruktur
DE112017007963T5 (de) Identitätsüberprüfung unter verwendung von biometrischen daten und nicht umkehrbaren funktionen über eine blockchain
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE112019003431T5 (de) Regelerzeugung mithilfe von künstlicher intelligenz
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE112019001433T5 (de) Datenanonymisierung
DE112021004689T5 (de) Kontextbasierte risikobeurteilung einer schwachstelle in datenverarbeitungsressourcen
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112021001639T5 (de) Schutz von computeranlagen vor bösartigen angriffen
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE112020002552T5 (de) System und verfahren für eine siem-regel-sortierung und bedingte ausführung
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112020005373T5 (de) Mechanismus zur authentifizierung durch nutzung von positionsbestätigung
DE102020104871A1 (de) High performance compute-infrastruktur als service
DE112020002343T5 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112021000689T5 (de) Attestierung von neuronalen abläufen
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten

Legal Events

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