DE112020000467T5 - Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte - Google Patents

Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte Download PDF

Info

Publication number
DE112020000467T5
DE112020000467T5 DE112020000467.8T DE112020000467T DE112020000467T5 DE 112020000467 T5 DE112020000467 T5 DE 112020000467T5 DE 112020000467 T DE112020000467 T DE 112020000467T DE 112020000467 T5 DE112020000467 T5 DE 112020000467T5
Authority
DE
Germany
Prior art keywords
workflow
data object
fsm
state
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020000467.8T
Other languages
English (en)
Inventor
Robert Parks
Anthony Yeracaris
Dusan Radivojevic
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of DE112020000467T5 publication Critical patent/DE112020000467T5/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
    • 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/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

Techniken zum Verwenden von endlichen Zustandsmaschinen (FSM) zum Implementieren von Workflows in einem Datenverarbeitungssystem, das mindestens einen Datenspeicher, der Datenobjekte speichert, und ein Workflow-Verwaltungssystem (WMS) umfasst. Das WMS ist so konfiguriert, dass es Folgendes durchführt: Bestimmen eines aktuellen Wertes eines Attributs eines ersten Datenobjekts durch Zugreifen auf den aktuellen Wert in dem mindestens einen Datenspeicher; Identifizieren eines Akteurs, der zum Durchführen einer Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes und von Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer GUI, durch die der Akteur die Eingabe bereitstellen kann, dass die Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang der Eingabe, die spezifiziert, dass die Workflow-Aufgabe durchgeführt werden soll, vom Akteur und durch die GUI: Durchführen der Workflow-Aufgabe; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität gemäß 35 U.S.C. § 119(e) gegenüber der vorläufigen US-Patentanmeldung Nr. 62/795,443 , eingereicht am 22. Januar 2019 unter dem Titel „FINITE STATE MACHINES FOR IMPLEMENTING WORKFLOWS FOR DATA OBJECTS MANAGED BY A DATA PROCESSING SYSTEM“, die durch Bezugnahme hierin in ihrer Gesamtheit aufgenommen wird.
  • HINTERGRUND
  • Eine endliche Zustandsmaschine (FSM - Finite State Machine) ist ein Rechenmodell, das in Hardware oder Software implementiert werden kann. Wie der Name schon sagt, umfasst eine endliche Zustandsmaschine einen endlichen Satz von Zuständen, und die endliche Zustandsmaschine kann zu einem bestimmten Zeitpunkt in genau einem dieser Zustände sein. Ein endliche Zustandsmaschine umfasst außerdem einen oder mehrere Übergänge zwischen Zuständen im Satz von Zuständen. Eine endliche Zustandsmaschine kann auf vielfältige Weise und zum Beispiel in Reaktion darauf, dass eine Bedingung erfüllt wird, und/oder in Reaktion auf eine externe Eingabe von einem Zustand in einen anderen übergehen. Eine endliche Zustandsmaschine kann in Speicher unter Verwendung einer oder mehrerer Datenstrukturen dargestellt werden, die Daten speichern, welche die Liste von Zuständen, die Übergänge zwischen den Zuständen und/oder eine Angabe des aktuellen Zustands spezifizieren. Endliche Zustandsmaschinen werden in vielen verschiedenen Bereichen verwendet, die Modellieren reaktiver Systeme, Design von digitalen Hardwaresystemen, Modellieren von Anwendungsverhalten, Software-Engineering, Netzwerkprotokolle, Verarbeitung natürlicher Sprache und Compiler umfassen.
  • KURZDARSTELLUNG
  • Einige Ausführungsformen betreffen ein Verfahren zur Verwaltung von Workflows in einem Datenverarbeitungssystem, wobei das Datenverarbeitungssystem umfasst: (i) mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und (ii) ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist. Das Verfahren umfasst: Verwenden, wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist, des Workflow-Verwaltungssystems zum Durchführen von Folgendem: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch die der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.
  • Einige Ausführungsformen betreffen mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch ein Datenverarbeitungssystem das Datenverarbeitungssystem zum Durchführen eines Verfahrens zur Verwaltung von Workflows im Datenverarbeitungssystem veranlassen, wobei das Datenverarbeitungssystem umfasst: (i) mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und (ii) ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist, wobei das Verfahren umfasst: Verwenden, wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist, des Workflow-Verwaltungssystems zum Durchführen von Folgendem: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch die der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand
  • Einige Ausführungsformen betreffen ein Datenverarbeitungssystem, das umfasst: mindestens einen Computerhardware-Prozessor; mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist, wobei das Workflow-Verwaltungssystem so konfiguriert ist, dass es unter Verwendung des mindestens einen Computerhardware-Prozessors ein Verfahren durchführt, das umfasst: wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch die der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.
  • Einige Ausführungsformen betreffen ein System zum Verwalten eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM), wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt. Das System umfasst: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen veranlassen von: Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe vom ersten Akteur, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen betreffen ein Verfahren zur Verwaltung eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM), wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt. Das Verfahren umfasst ein Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem: Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe vom ersten Akteur, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen betreffen mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen eines Verfahrens zur Verwaltung eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM) veranlassen, wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt. Das Verfahren umfasst: Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe vom ersten Akteur, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen stellen ein Verfahren zur Verwaltung von Workflows für eine Mehrzahl von Datenobjekten bereit, die ein erstes Datenobjekt umfasst, wobei das Verfahren ein Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem umfasst: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) zum Verwalten eines ersten Workflows für einen Satz von Datenobjekten unter Verwendung einer ersten Spezifikation für eine erste FSM, wobei die erste Spezifikation angibt: einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst; und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für den ersten Satz von Datenobjekten der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für den ersten Satz von Datenobjekten der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen stellen mindestens ein nicht-transitorisches computerlesbares Speichermedium bereit, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow für ein erstes Datenobjekt einer Mehrzahl von Datenobjekten; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows der erste Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Darstellen der GUI für den ersten Akteur.
  • Einige Ausführungsformen stellen ein Verfahren bereit, das ein Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem umfasst: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow für ein erstes Datenobjekt einer Mehrzahl von Datenobjekten; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows der erste Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Darstellen der GUI für den ersten Akteur.
  • Einige Ausführungsformen stellen ein System bereit, das umfasst: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow für ein erstes Datenobjekt einer Mehrzahl von Datenobjekten; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows ein erster Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Darstellen der GUI für den ersten Akteur.
  • Einige Ausführungsformen stellen mindestens ein nicht-transitorisches computerlesbares Speichermedium bereit, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten FSM zum Verwalten eines ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen stellen ein System bereit, das umfasst: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium bereit, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten FSM zum Verwalten des ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Einige Ausführungsformen stellen ein Verfahren bereit, das ein Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem umfasst: Erzeugen einer ersten FSM zum Verwalten des ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  • Das Vorhergesagte ist eine nicht einschränkende Zusammenfassung der Erfindung, die durch die beigefügten Ansprüche definiert wird.
  • Figurenliste
  • Verschiedene Aspekte und Ausführungsformen werden unter Bezugnahme auf die folgenden Figuren beschrieben. Es versteht sich, dass die Figuren nicht notwendigerweise maßstabsgetreu sind. Elemente, die in mehreren Figuren auftauchen, werden in allen Figuren, in denen sie auftauchen, durch die gleiche oder eine ähnliche Referenznummer bezeichnet.
    • 1A ist ein Blockdiagramm eines herkömmlichen Workflow-Verwaltungssystems.
    • 1B ist ein Blockdiagramm eines veranschaulichenden Datenverarbeitungssystems 120 und eines in das Datenverarbeitungssystem 120 integrierten Workflow-Verwaltungssystems 130 gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 1C ist ein Blockdiagramm einer veranschaulichenden Ausführungsform des in 1B dargestellten Datenverarbeitungssystems 120 gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 1D bis 1E veranschaulichen ein Beispiel zum Identifizieren eines Akteurs, der zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisiert ist, unter Verwendung von Informationen über die Hierarchie von Datenobjekten, zu welchen das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 1F bis 1G veranschaulichen ein Beispiel zum Identifizieren von Akteuren, die zum Durchführen von Workflow-Aufgaben für ein Datenobjekt autorisiert sind, unter Verwendung von Informationen über die Hierarchie von Datenobjekten, zu welchen das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 1H bis 11 veranschaulichen ein Beispiel zum Identifizieren eines Akteurs, der zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisiert ist, unter Verwendung von Informationen über eine Gruppe von Datenobjekten, zu welcher das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 2 ist ein Flussdiagramm eines veranschaulichenden Prozesses 200 zur Verwaltung eines Workflows für ein Datenobjekt unter Verwendung einer endlichen Zustandsmaschine gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 3A ist eine schematische Darstellung, die Zustände und Übergänge einer veranschaulichenden endlichen Zustandsmaschine 300 für einen Workflow zum Verwalten von Änderungen an einem Datenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt.
    • 3B ist eine schematische Darstellung, die Zustände und Übergänge einer veranschaulichenden endlichen Zustandsmaschine 350 für einen Problemverwaltungsarbeitsfluss gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt.
    • 3C ist eine schematische Darstellung einer veranschaulichenden grafischen Benutzerschnittstelle (GUI) 380, durch die ein Akteur eine oder mehrere Workflow-Ausgaben betrachten und/oder durchführen kann, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 3D ist eine schematische Darstellung einer anderen GUI 390, durch die ein Akteur eine oder mehrere Workflow-Ausgaben für ein Datenobjekt betrachten und/oder durchführen kann, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 4A ist eine schematische Darstellung einer veranschaulichenden endlichen Zustandsmaschine 400 zum Erstellen und Verwalten eines Geschäftsbegriffsdatenobjekts gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt.
    • 4B bis 4D sind schematische Darstellungen, welche Teile der in 4A dargestellten endlichen Zustandsmaschine 400 gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulichen.
    • 5A ist eine schematische Darstellung einer veranschaulichenden endlichen Zustandsmaschine 500 zum Verwalten von Änderungen an einem Geschäftsbegriffsdatenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie, wobei einer der Zustände der FSM 500 mit einer sekundären endlichen Zustandsmaschine assoziiert ist.
    • 5B ist eine schematische Darstellung einer veranschaulichenden GUI 510, die den Zustand einer primären FSM zum Verwalten von Änderungen an einem Geschäftsbegriffsdatenobjekt und die Zustände von sekundären FSMs zum Verwalten von Änderungen an Attributen des Geschäftsbegriffsdatenobjekts gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt.
    • 5C veranschaulicht eine sekundäre FSM 550 zum Vornehmen von Änderungen an einem Geschäftsbegriffsdatenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 6A veranschaulicht eine endliche Zustandsmaschine 600 zum Importieren von Hinzufügungen, Modifikationen und/oder Löschungen für mehrere Datenobjekte gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 6B veranschaulicht eine endliche Zustandsmaschine 650 zum bedingten Importieren von Hinzufügungen, Modifikationen und/oder Löschungen für mehrere Datenobjekte gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 7A ist eine schematische Darstellung 700, welche die Identifizierung eines oder mehrerer Workflow-Akteure für ein Datenobjekt unter Verwendung von Informationen, die für mindestens ein anderes Datenobjekt in mindestens einer Datenobjekt-Hierarchie spezifiziert sind, die das Datenobjekt enthält, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht.
    • 7B ist eine schematische Darstellung 705, welche die Identifizierung eines oder mehrerer Workflow-Akteure für ein Datenobjekt basierend auf einem Wert eines Klassifizierungsattributs des Datenobjekts gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht.
    • 7C ist eine weitere schematische Darstellung 710, welche die Identifizierung eines oder mehrerer Workflow-Akteure für ein Datenobjekt basierend auf einem Wert eines Klassifizierungsattributs des Datenobjekts gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht.
    • 7D ist eine schematische Darstellung 715, welche das Identifizieren von Workflow-Akteuren für ein Datenobjekt unter Verwendung von Informationen, die für andere Datenobjekte in mehreren Datenobjekt-Hierarchien spezifiziert sind, die das Datenobjekt enthalten, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht.
    • 7E ist eine schematische Darstellung 720, die eine „Einzelbeschluss“-Entscheidungsfindungskonfiguration für eine anstehende Änderung gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht, wobei nur die Genehmigung einer einzigen Partei für die anstehende Änderung erforderlich ist.
    • 7F ist eine schematische Darstellung 725, die eine „Mehrheitsbeschluss“-Entscheidungsfmdungskonfiguration für eine anstehende Änderung gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht, wobei eine Mehrheit der identifizierten Workflow-Akteure die anstehende Änderung genehmigen muss.
    • 7G ist eine schematische Darstellung 730, die eine „Einstimmigkeitsbeschluss“-Entscheidungsfmdungskonfiguration für eine anstehende Änderung gemäß einigen Ausführungsformen der hierin beschriebenen Technologie veranschaulicht, wobei alle der identifizierten Workflow-Akteure die anstehende Änderung genehmigen müssen.
    • 7H bis 7M veranschaulichen Entscheidungsfindungskonfigurationen für eine anstehende Änderung an einem Datenobjekt, das zu mehreren Datenobjekt-Hierarchien gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie, wobei jede der Konfigurationen in Bezug auf jede der mehreren Datenobjekt-Hierarchien spezifiziert ist.
    • 8A ist eine Ansicht einer GUI 800, die mehrere Geschäftsbegriffsdatenobjekte darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8B ist eine Ansicht einer GUI 810, die Informationen für ein Geschäftsbegriffsdatenobjekt darstellt, die Werte für Datenobjekt-Attribute und assoziierte Parteien umfassen, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8C ist eine Ansicht einer GUI 820, die Informationen für ein Geschäftsbegriffsdatenobjekt darstellt, die den aktuellen Workflow-Zustand einer endlichen Zustandsmaschine für das Geschäftsbegriffsdatenobjekt umfassen, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8D ist eine Ansicht einer GUI 825, die zeigt, wie eine Änderung am Wert eines ersten Attributs des Datenobjekts durch einen Akteur zu Folgendem führt: (1) einer Änderung des aktuellen Zustands der endlichen Zustandsmaschine zum Verwalten eines Workflows für das Geschäftsbegriffsdatenobjekt; und (2) der Instanziierung einer sekundären endlichen Zustandsmaschine zum Verwalten des Genehmigungsprozesses für die Änderung des Wertes des ersten Attributs, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8E ist eine Ansicht einer GUI 830, die zeigt, wie eine Änderung am Wert eines zweiten Attributs des Datenobjekts durch einen Akteur zur Instanziierung einer anderen sekundären endlichen Zustandsmaschine zum Verwalten des Genehmigungsprozesses für die Änderung des Attributwerts führt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8F ist eine Ansicht einer GUI 835, welche die Ansicht des Akteurs nach dem Einreichen einer Änderung am Wert eines Attributs eines Datenobjekts durch den Akteur darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8G ist eine Ansicht einer GUI 837, die eine Liste von Prüfern zum Genehmigen der eingereichten Änderung am Wert des Datenobjekt-Attributs darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8H ist eine Ansicht einer GUI 840, die das Anmelden eines Prüfers, Überprüfen seines Arbeitsvorrats und Genehmigen der vom Akteur eingereichten Änderung darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 81 ist eine Ansicht einer GUI 845, die das Anmelden eines anderen Prüfers, Überprüfen seines Arbeitsvorrats und Genehmigen der vom Akteur eingereichten Änderung darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8J stellt eine Ansicht einer GUI 850, durch die ein Prüfer auf seinen Arbeitsvorrat zugreifen kann, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie dar.
    • 8K stellt eine Ansicht einer GUI 855, durch die der Akteur sehen kann, ob seine Änderungen genehmigt wurden, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie dar.
    • 8L ist eine Ansicht einer GUI 860, die das Anmelden eines anderen Prüfers, Prüfen seiner Arbeitswarteschlange und Genehmigen der vom Akteur eingereichten Änderung darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8M ist eine Ansicht einer GUI 865, die zeigt, dass eine Änderung an einem Attributwert eines Datenobjekts genehmigt wurde, dass aber die Genehmigung für eine Änderung an einem anderen Attributwert des Datenobjekts noch ansteht, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 8N ist eine Ansicht einer GUI 870, die zeigt, dass der aktuelle Zustand der endlichen Zustandsmaschine für das Datenobjekt auf den „Veröffentlicht“-Zustand aktualisiert wurde, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 9A ist eine Ansicht einer GUI 910, die eine Auflistung von Spezifikationen für endliche Zustandsmaschinen darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 9B ist eine Ansicht einer GUI 920, die eine primäre Zustandsmaschine zum Verwalten von Änderungen am Datenobjekt in den Beispielen von 8A bis 8N darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 9C ist eine Ansicht einer GUI 930, welche die Zustandstabelle für die in 9B dargestellte primäre Zustandsmaschine und Zustandsübergänge für einen der Zustände darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 9D ist eine Ansicht einer GUI 940, welche die Zustandstabelle für die in 9B dargestellte primäre Zustandsmaschine und Zustandsübergänge für einen anderen der Zustände darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 10 ist eine Ansicht einer GUI 1000, die eine sekundäre Zustandsmaschine zum Verwalten von Änderungen an Attributen des Datenobjekts in den Beispielen von 8A bis 8N und die assoziierte Zustandstabelle darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
    • 11 ist ein Blockdiagramm einer veranschaulichenden Rechensystemumgebung, die beim Implementieren einiger Ausführungsformen der hier beschriebenen Technologie verwendet werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Aspekte der hier beschriebenen Technologie beziehen sich auf die Erhöhung der Geschwindigkeit, des Durchsatzes und der Genauigkeit eines Datenverarbeitungssystems durch Verbessern herkömmlicher Techniken zum Implementieren von Workflows für Datenobjekte, die vom Datenverarbeitungssystem verwaltet werden. Ein Datenverarbeitungssystem kann Tausende, Millionen oder Milliarden von Datenobjekten verwalten. Dier hierin beschriebenen Techniken ermöglichen eine wirksame Implementierung von Workflows für solche Datenobjekte in einer Weise, die das Auftreten von Fehlern in Datenverarbeitungssystemen, die Workflows unter Verwendung von herkömmlichen Workflow-Implementierungstechniken implementieren, und die von denselben verwendeten Computerressourcen reduziert. Die von den Erfindern entwickelten Techniken versehen Datenverarbeitungssystembenutzer mit präziser und klarer Kontrolle darüber, wer Daten bearbeiten darf, wer auf Daten zugreifen darf und wann, wer anstehende Änderungen sehen darf, wer die Verteilung der Daten an ein breiteres Publikum genehmigen darf, wer von Änderungen benachrichtigt wird (z. B. Leute und Systeme), und wer den Workflow-Zustand eines Datenobjekts vorziehen darf.
  • In einigen Ausführungsformen kann ein Workflow für ein Datenobjekt einen Satz von Workflow-Aufgaben umfassen, die mit dem Datenobjekt in Beziehung stehen, wobei jede Aufgabe im Satz von Aufgaben durch das Datenverarbeitungssystem entweder automatisch oder in Reaktion auf eine von einem oder mehreren Akteuren bereitgestellte Eingabe durchgeführt wird. Zum Beispiel kann ein Workflow für ein Datenobjekt ein Workflow zum Ändern eines Wertes eines Attributs des Datenobjekts sein. Die Aufgaben in solch einem Workflow können ein Vornehmen einer vorgeschlagenen Änderung am Attributwert, Einreichen der vorgeschlagenen Änderung zur Prüfung, Prüfen der vorgeschlagenen Änderung und Genehmigen oder Ablehnen der vorgeschlagenen Änderung umfassen. Beispiele für solch einen Workflow werden hierin u. a. unter Bezugnahme auf 3A und 4A bis 4D bereitgestellt. Als ein anderes Beispiel kann ein Workflow für ein Datenobjekt ein Workflow zum Lösen eines Problems (z. B. eines Datenfehlers) sein, das durch das Datenobjekt dargestellt wird. Die Aufgaben in solch einem Workflow können ein Bearbeiten des das Problem darstellenden Datenobjekts, Einreichen des Problems, Angeben, dass das Problem gelöst wurde, und Verifizieren umfassen, ob das Problem gelöst wurde. Ein veranschaulichendes Beispiel solch eines Workflows wird hierin unter Bezugnahme auf 3B bereitgestellt.
  • In einigen Ausführungsformen können eine oder mehrere Workflow-Aufgaben in einem Workflow von einem oder mehreren Akteuren durchgeführt werden. Ein Akteur kann eine oder mehrere Aktionen zur Förderung des Durchführens (z. B. Starten des Durchführens, Starten und Beenden des Durchführens) einer Workflow-Aufgabe in einem Workflow durchführen. Zum Beispiel kann ein Akteur die Workflow-Aufgabe des Bearbeitens eines Datenobjekts und Einreichens der Änderungen zur Prüfung durchführen, während ein oder mehrere andere Akteure die Änderungen prüfen und bestimmen können, ob die Änderungen genehmigt oder abgelehnt werden sollen. Ein Akteur kann ein Benutzer eines Datenverarbeitungssystems sein, der zum Durchführen einer oder mehrerer Aktionen in Bezug auf ein oder mehrere vom Datenverarbeitungssystem verwaltete Datenobjekte autorisiert ist.
  • Die Erfinder haben erkannt, dass herkömmliche Ansätze zum Implementieren von Workflows in Datenverarbeitungssystemen verbessert werden können. Zum Beispiel verwendet ein herkömmlicher Ansatz zum Spezifizieren eines Workflows ein grafische Darstellung, die BPMN-Darstellung (BPMN - Business Process Model and Notation) genannt wird. Der in BPMN spezifizierte Workflow ist jedoch nur eine Spezifikation - BPMN enthält keinen ausführbaren Code, den ein Datenverarbeitungssystem zum Ausführen des BPMN-Workflows verwenden kann. Ferner stellt BPMN keine Fähigkeiten zum Kontrollieren der Sichtbarkeit oder Bearbeitbarkeit von Datenobjekten bereit, die in einer relationalen Datenbank dauerhaft gespeichert sind. Obwohl es Softwaretools zum Implementieren von BPMN-Workflows gibt (z. B. CAMUNDA BPMN), erfordern solche Softwaretools ein Schreiben von systemnahem Code zum Implementieren von BPMN-Workflows, was zeitaufwändig, fehleranfällig und letztendlich unpraktisch ist, insbesondere wenn mehrere Workflows für eine große Anzahl von Datenobjekten,, die von einem Datenverarbeitungssystem verwaltet wird, spezifiziert werden müssen.
  • Außerdem stellen herkömmliche Softwaretools zum Implementieren von Workflows keine Möglichkeit zum Anpassen bereit, welche Akteure zum Durchführen welcher Workflow-Aufgaben auf der Datenobjektebene autorisiert sind. Stattdessen umfassen herkömmliche Ansätze ein Identifizieren von Akteuren auf der Workflow-Aufgabenebene. Zum Beispiel stellt BPMN im Gegensatz zu den hierin beschriebenen Techniken keinen Mechanismus zum Identifizieren und Ändern von Akteuren basierend auf Datenobjekt-Attributen und/oder Beziehungen bereit.
  • Die Erfinder haben auch erkannt, dass, obwohl herkömmliche Workflow-Verwaltungssysteme manchmal zum Verwalten von Workflows für Datenobjekte in einem Datenverarbeitungssystem verwendet werden, solche herkömmlichen Workflow-Verwaltungssysteme nicht in das Datenverarbeitungssystem integriert sind. Wie als Nächstes beschrieben wird, weisen solche Bereitstellungen etliche Nachteile auf, die Synchronisationsmangel und Komplexität von Implementierung und Wartung umfassen. Außerdem bieten solche Bereitstellungen typischerweise nicht die Vielfalt im Workflow oder den Informationen, die für einen Geschäftsbenutzer dargestellt werden kann, dem ein integrierter Ansatz geboten werden kann.
  • Eine denkbare veranschaulichende Situation ist in der potenziellen Computerumgebung 100 von 1A veranschaulicht, die ein herkömmliches Workflow-Verwaltungssystem 102 darstellt, das mit einem Datenverarbeitungssystem 104 durch ein Netzwerk 106 (z. B. das Internet) kommunikativ gekoppelt ist. Das Datenverarbeitungssystem 104 umfasst: einen Datenspeicher 106, der mehrere Datenobjekte speichert, und Geschäftsregeln 108, die Informationen spezifizieren, die zum Implementieren von beliebigen Workflows für die Datenobjekte im Datenspeicher 106 spezifizieren. Zum Beispiel können die Geschäftsregeln 108 Akteur-Berechtigungen spezifizieren, indem sie spezifizieren, welche Akteure (z. B. unter Akteuren 115) Berechtigungen zum Erstellen, Lesen, Aktualisieren und/oder Löschen von verschiedenen Datenobjekten im Datenspeicher 106 haben, und welche Akteure zum Prüfen von Aktualisierungen an Datenobjekten autorisiert sind, die von anderen Akteuren vorgenommen werden. Die Geschäftsregeln 108 werden typischerweise durch Geschäftsbenutzer (z. B. einen Geschäftsbenutzer 107) spezifiziert.
  • Das Workflow-Verwaltungssystem 102 umfasst Workflow-Regeln 103, die spezifizieren, wie Workflows, welche die Datenobjekte umfassen, durch das externe Workflow-Verwaltungssystem 102 implementiert werden sollen. Zum Beispiel können die Workflow-Regeln 103 eine Reihenfolge von Aufgaben in einem Workflow und, welche Akteur(e) unter den Workflow-Akteuren 115 zum Durchführen dieser Aufgaben autorisiert sind, spezifizieren. Die Workflow-Regeln 103 werden unter Verwendung von systemnahem Softwarecode (z. B. unter Verwendung von Camunda BPMN) durch einen oder mehrere Softwareentwickler, beispielsweise einen Entwickler 105, implementiert.
  • Da das herkömmliche Workflow-Verwaltungssystem 102 nicht in das Datenverarbeitungssystem 104 integriert ist, müssen die beiden getrennten Systeme synchronisiert werden. Ein denkbarer Ansatz zur Synchronisation ist der „Daten-Pull“-Ansatz, wobei das WMS 102 das Datenverarbeitungssystem 104 über Daten-Pull-Anforderungen 109a wiederholt für Aktualisierungen seiner Daten abfragt. Ein anderer denkbarer Ansatz zur Synchronisation ist der „Daten-Push“-Ansatz, wobei das Datenverarbeitungssystem 104 Datenaktualisierungen 109b zum WMS 102 pusht. Beide dieser denkbaren Ansätze weisen jedoch erhebliche Nachteile auf und stellen nicht nur kein akzeptables Synchronisationsniveau bereit, sondern können auch Workflow-Fehler verursachen.
  • Zum Beispiel gäbe es im Daten-Pull-Ansatz eine Latenz beim Empfangen von Datenaktualisierungen, da ein Datenverarbeitungssystem eine große Anzahl von Datenobjekten (z. B. Tausende/Millionen) verwalten kann, deren Werte aktualisiert werden müssen, und es Zeit braucht, um solche Aktualisierungen zu sammeln und über ein Netzwerk an das WMS 102 zu kommunizieren. Wenn außerdem die Workflow-Regeln 103 von Werten von Datenobjekten abhängen, bedeutet jegliche Verzögerung bei Aktualisierungen dieser Werte, dass das WMS 102 Workflows inkorrekt durchführt (z. B. dadurch, dass es einem Akteur erlaubt, eine Workflow-Aufgabe durchzuführen, der nicht zur Durchführung autorisiert ist), was in vielen Anwendungen, beispielsweise Data Govemance, inakzeptabel ist.
  • Andererseits wäre im Daten-Push-Ansatz das Datenverarbeitungssystem 104 sich dessen nicht bewusst, welche Informationen durch die Workflow-Regeln 103 zum Implementieren von Workflows verwendet werden, und es wüsste nicht, welche Daten für das WMS 102 bereitgestellt werden sollen, oder wann diese Daten bereitgestellt werden sollen (und ein Bereitstellen aller möglichen Daten ist unpraktisch, da dies bedeuten würde, eine Kopie jeder Aktualisierung zu senden). Da die Workflow-Regeln 103 vom Workflow-Verwaltungssystem 102 verwaltet werden, hat das Datenverarbeitungssystem 104 keinen Zugriff auf die Workflow-Regeln 103, verfügt weder über eine Fähigkeit noch einen Mechanismus zum Erörtern der Workflow-Regeln 103 und kann nicht zum Steuern von Push-Aktualisierungen verwendet werden. Wenn zum Beispiel eines der Datenobjekte im Datenspeicher 106 aktualisiert wird, hat das Datenverarbeitungssystem 104 keine Möglichkeit zu wissen, ob die Änderung an diesem Datenobjekt eine spezifische Workflow-Regel 103 auslösen (oder die Art und Weise ihrer Ausführung beeinflussen) könnte, so dass das Datenverarbeitungssystem keine Möglichkeit zu entscheiden hat, ob eine Benachrichtigung dieser Änderung an das Workflow-Verwaltungssystem 102 „gepusht“ werden soll oder nicht. Als Ergebnis kann das WMS 102 Informationen nicht empfangen, die es vom Datenverarbeitungssystem 104 benötigt, um die Workflows genau zu implementieren, oder es kann mit allen möglichen Datenänderungen überschwemmt werden, von denen die meisten für die Workflow-Verwaltung irrelevant sind.
  • Abgesehen vom Synchronisationsmangel sind die Zeitdauer und der Aufwand, die zum Bereitstellen, Warten und Aktualisieren solch eines Systems erforderlich sind, ein weiterer Nachteil des denkbaren Systems, das in 1A dargestellt ist. Wenn zum Beispiel die Geschäftsregeln 108 sich ändern, dann können die Workflow-Regeln 103 aktualisiert werden müssen, was Zeit vom Softwareentwickler 107 erfordern würde. Als ein anderes Beispiel müsste das Datenverarbeitungssystem 104 bei Vorliegen von Änderungen an den Workflow-Regeln 103 aktualisiert werden (möglicherweise unter Beteiligung eines oder mehrerer Softwareentwickler), um sicherzustellen, dass das Datenverarbeitungssystem 104 alle Daten zum WMS 102 pusht, die vom WMS 102 nun zum Implementieren des Workflows (als Ergebnis der Aktualisierung der Workflow-Regeln 103) benötigt werden. Dies ist nicht nur kostspielig, sondern führt auch inakzeptable Zeitverzögerungen ein, insbesondere wenn die Zeit zwischen Änderungen an Workflow-Regeln 103 und/oder Geschäftsregeln 108 wesentlich kürzer ist als die Zeit, die es dauert, Code zum Implementieren solcher Änderungen zu schreiben, zu testen und bereitzustellen. Jegliche Unstimmigkeit in der Workflow-Logik im WMS 102 und der Daten-„Push“-Logik im Datenverarbeitungssystem 104 würde unverzüglich zu fehlerhafter Workflow-Verwaltung führen. Offensichtlich ist solch eine Systemschwäche in der Praxis inakzeptabel.
  • Um die zuvor beschriebenen Mängel herkömmlicher Techniken zum Implementieren von Workflows zu beheben, haben die Erfinder einen neuen Ansatz für ein Workflow-Verwaltungssystem zum formellen Verwalten von umfangreichen Workflows für Datenobjekte entwickelt, die im Datenverarbeitungssystem gespeichert werden. Im Gegensatz zu herkömmlichen Ansätzen, in welchen das Workflow-Verwaltungssystem vom Datenverarbeitungssystem getrennt ist (wie z. B. unter Bezugnahme auf 1A beschrieben), ist das von den Erfindern entwickelte Workflow-Verwaltungssystem in das Datenverarbeitungssystem integriert, was mehrere der zuvor beschriebenen Nachteile herkömmlicher Ansätze vermeidet. Das von den Erfindern entwickelte Workflow-Verwaltungssystem hat nicht nur auf die von einem Datenverarbeitungssystem verwalteten Datenobjekte (was die oben beschriebenen Synchronisations- und Latenzprobleme vermeidet), sondern auch auf Metadaten, welche Beziehungen zwischen den Datenobjekten spezifizieren, direkten Zugriff, was unter Verwendung von Vererbung und/oder Gruppenmitgliedschaft, wie hierin beschrieben, zum wirksamen Identifizieren von autorisierten Akteuren für Datenobjekte genutzt werden kann.
  • Das von den Erfindern entwickelte Workflow-Verwaltungssystem verwendet endliche Zustandsmaschinen zum Implementieren von Workflows für Datenobjekte, die vom Datenverarbeitungssystem verwaltet werden. In einigen Ausführungsformen kann ein Workflow für ein Datenobjekt durch eine endliche Zustandsmaschine dargestellt werden, wobei die Zustände der endlichen Zustandsmaschine Workflow-Zuständen des Datenobjekt im Workflow entsprechen, und wobei die Übergänge der endlichen Zustandsmaschinen Workflow-Aufgaben entsprechen. In einigen Ausführungsformen kann zum Implementieren eines Workflows für ein spezifisches Datenobjekt eine Instanz der endlichen Zustandsmaschine für dieses Datenobjekt erstellt werden. Während Workflow-Aufgaben durchgeführt werden, wird der Zustand der FSM-Instanz aktualisiert, um den aktuellen Zustand des Datenobjekts anzugeben. Nach Abschluss des Workflows für ein Datenobjekt kann die Instanz der FSM, die zum Verwalten dieses Workflows verwendet wird, gelöscht werden, und/oder es kann ein Workflow für anschließende Modifikationen initiiert werden (z. B. kann ein Workflow zum Erstellen und Veröffentlichen eines Dokuments durch Initiieren eines neuen Workflows abgeschlossen werden, um einem oder mehreren Akteuren Berechtigung zum Prüfen des veröffentlichten Dokuments zu erteilen).
  • Die Erfinder haben erkannt, dass durch das Implementieren von Workflows auf der Datenobjektebene unter Verwendung von endlichen Zustandsmaschinen die Notwendigkeit von Akteuren zum Schreiben von systemnahem Code entfällt, wie dies bei anderen herkömmlichen Workflow-Implementierungstechniken der Fall ist. Stattdessen braucht ein Akteur nur eine endliche Zustandsmaschine zu konfigurieren, indem er ihre Zustände, Übergänge und zugehörigen Parameter spezifiziert, wie hierin beschrieben. Obwohl der Ansatz der endlichen Zustandsmaschinen stärker eingeschränkt ist als einer, bei welchem ein Akteur jeden geeigneten Programmcode zum Implementieren des Workflows schreiben kann (vor allem ist eine FSM zu einem gegebenen Zeitpunkt in einem (einzigen) Zustand, während BPMN und verwandte Lösungen ermöglichen, dass ein Workflow sich zu einem Zeitpunkt in mehreren Zuständen befindet), reduzieren die Struktur und die Beschränkungen, die durch den FSM-Ansatz eingeführt werden, die zum Spezifizieren neuer Workflows erforderliche Zeitdauer und die Anzahl von Fehlern darin, was wiederum die Genauigkeit und Zuverlässigkeit des Datenverarbeitungssystems verbessert, das die Datenobjekte und die Ausführung von Workflows für die Datenobjekte verwaltet.
  • Die von den Erfindern entwickelten Techniken, die hierin beschrieben werden, stellen mehrere andere Vorteile gegenüber herkömmlichen Workflow-Modellierungsansätzen, wie beispielsweise BPMN, bereit. Zum Beispiel stellen die hierin beschriebenen Techniken eine präzise Konfiguration und präzise Kontrollen bereit, um Bearbeitbarkeit, Sichtbarkeit, Benachrichtigungen und Lebenszyklus von Datenobjekten auszudrücken. Als ein anderes Beispiel stellen die hierin beschriebenen Techniken einen Mechanismus zum Identifizieren und Ändern von Akteuren basierend auf Datenobjekt-Attributen und/oder Beziehungen (darunter zum Beispiel direkte, relationale und/oder rekursive Beziehungen) zwischen mehreren Datenobjekten bereit. Als ein anderes Beispiel setzt BPMN keinerlei Art von Benutzerschnittstelle (oder nicht einmal eine einzige Anwendung) voraus, und die hierin beschriebenen Techniken stellen eine Verbesserung gegenüber BPMN dar, indem sie es ermöglichen, dass der Workflow das, was geschehen sollte, auf den Benutzerschnittstellen ausdrückt, die den Workflow-Akteuren präsentiert werden. Diese Verbesserungen ermöglichen eine präzisere, weniger fehleranfällige, schneller zu vermarktende und wirksamere Implementierung gegenüber BPMN für Workflows.
  • In einigen Ausführungsformen kann ein Datenverarbeitungssystem den Zustand der FSM-Instanz zum Verwalten eines Workflows für ein Datenobjekt verwenden, um einen oder mehrere Akteure des Datenverarbeitungssystems zum Durchführen von Workflow-Aufgaben am Datenobjekt zu befähigen. Zum Beispiel kann das Datenverarbeitungssystem den Zustand der FSM verwenden, um zu bestimmen, welche Aktion(en) in Bezug auf das Datenobjekt durchgeführt werden können (z. B. basierend auf den Übergängen aus dem aktuellen Workflow-Zustand), und einem oder mehreren Akteuren das Durchführen solcher Aktion(en) zu erlauben. Zum Beispiel kann das Datenverarbeitungssystem einen Akteur benachrichtigen, dass er eine Workflow-Aktion durchführen kann, und/oder den Akteur mit einer Schnittstelle (z. B. einer grafische Benutzerschnittstelle) versehen, durch welche der Akteur eine Eingabe bereitstellen kann, die angibt, dass die Workflow-Aktion durchgeführt werden soll.
  • In einigen Ausführungsformen kann ein Datenverarbeitungssystem mehreren endliche Zustandsmaschinen zum Verwalten eines Workflows für ein einziges Datenobjekt verwenden. Wenn zum Beispiel der Workflow ein Vornehmen mehrerer verschiedener Änderungen am Datenobjekt umfasst, kann eine dedizierte endliche Zustandsmaschine zum Verwalten des Genehmigungsprozesses für jede jeweilige Änderung instanziiert werden. Das Verwenden mehrerer endlicher Zustandsmaschinen zum Verwalten verschiedener Änderungen an einem einzigen Datenobjekt ermöglicht es, dass die Workflows zum Vornehmen und Genehmigungen solcher Änderungen parallel und unabhängig voneinander ausgeführt werden. Solch eine Parallelisierung verbessert die Wirksamkeit des Datenverarbeitungssystems weiter. Dies wird hierin u. a. unter Bezugnahme auf 5A bis 5C ausführlicher beschrieben. Außerdem macht solch eine Parallelisierung es für Administratoren oder andere mit dem Datenverarbeitungssystem interagierende Akteure leichter, mehrere Änderungen parallel zueinander vorzunehmen oder daran zu arbeiten, da jede Änderung von einer jeweiligen endlichen Zustandsmaschine verwaltet werden kann. Entsprechend können ein oder mehrere parallele Workflows für ein oder mehrere jeweilige Attribute eines Datenobjekts instanziiert werden. Die Zustände der parallelen Workflows können den primären Workflow beeinflussen (z. B. kann der Zustand des primären Workflows sich in Reaktion auf den Abschluss der parallelen Workflows nach der Durchführung aller Attributänderungen ändern).
  • Die Erfinder haben ferner erkannt, dass das Verwalten eines Workflows unter Verwendung von endlichen Zustandsmaschinen auf einer Pro-Datenobjekt-Ebene es dem Datenverarbeitungssystem ermöglicht, Akteure zu identifizieren, die zum Durchführen von verschiedenen Workflow-Aufgaben auf einer Pro-Datenobjekt-Ebene autorisiert sind. Demgemäß kann das Datenverarbeitungssystem in einigen Ausführungsformen Akteure, die zum Durchführen einer Workflow-Aufgabe an einem Datenobjekt autorisiert sind, basierend auf Informationen identifizieren, die mit dem Datenobjekt assoziiert sind. Zum Beispiel kann ein Datenverarbeitungssystem in einigen Ausführungsformen einen oder mehrere zum Durchführen einer Workflow-Aufgabe an einem Datenobjekt autorisierte Akteure basierend auf einem oder mehreren Werten eines oder mehrerer Attribute des Datenobjekts identifizieren.
  • In einigen Ausführungsformen können eine oder mehrere endliche Zustandsmaschinen zum Verwalten eines oder mehrerer Workflows verwendet werden, die mit einer oder mehreren Lebenszyklusphasen eines spezifischen Datenobjekts assoziiert sind. Zum Beispiel kann der Lebenszyklus eines Datenobjekts solche Phasen wie Erstellung des Datenobjekts, Prüfung des Datenobjekts, Veröffentlichung des Datenobjekts, Genehmigung des Datenobjekts, Genehmigung von Änderungen am Datenobjekt und Zusammenarbeit bei Änderungen am Datenobjekt umfassen. Jede der Lebenszyklusphasen kann mit einem Workflow assoziiert sein, der durch Verwenden einer endlichen Zustandsmaschine gemäß einigen Ausführungsformen der hierin beschriebenen Technologie verwaltet wird.
  • Einige hier beschriebene Ausführungsformen behandeln alle der oben beschriebenen Probleme, die die Erfinder bei herkömmlichen Techniken zum Implementieren von Workflows für Datenobjekte erkannt haben, die von einem Datenverarbeitungssystem verwaltet werden. Allerdings behandelt nicht jede hierin beschriebene Ausführungsform jedes dieser Probleme, und einige Ausführungsformen behandeln möglicherweise keines von ihnen. Von daher versteht es sich, dass Ausführungsformen der hier beschriebenen Technologie nicht darauf beschränkt sind, alle oder einige der oben erörterten Probleme herkömmlicher Techniken zum Implementieren von Workflows für Datenobjekte zu behandeln, die von einem Datenverarbeitungssystem verwaltet werden.
  • In einigen Ausführungsformen kann ein von einem Datenverarbeitungssystem verwaltetes Datenobjekt Daten und ein oder mehrere Attribute umfassen, die jeweils einwertig oder mehrwertig sein können. Daten in einem Datenobjekt können zum Beispiel solchen Inhalt wie Text, einen Datensatz und/oder einen oder mehrere alphanumerische Werte umfassen. Als ein Beispiel kann ein Datenobjekt einen Datensatz (z. B. eine Transaktion) darstellen, und die Daten im Datenobjekt können in den Feldern des Datensatzes gespeichert werden. Als ein anderes Beispiel kann ein Datenobjekt eine Datei darstellen. Als ein anderes Beispiel kann ein Datenobjekt ein Dokument darstellen. In diesem Beispiel können die Daten im Datenobjekt Text im Dokument umfassen. Als ein anderes Beispiel kann ein Datenobjekt einen Geschäftsbegriff in einem Geschäftsglossar einer Organisation darstellen (z. B. „Kreditrisiko“, „Rechnungslegungsrisiko“ usw.). In diesem Beispiel können die Daten im Datenobjekt Text umfassen, der die Definition des Geschäftsbegriffs spezifiziert. Als ein anderes Beispiel kann ein Datenobjekt ein zu lösendes Problem (z. B. einen Datenfehler, eine Anforderung zum Rücksetzen eines Kennworts, ein Problem mit einem Auftrag, einer Rechnung oder einem anderen Dokument eines Einkaufs) darstellen. In diesem Beispiel können die Daten im Datenobjekt Text umfassen, der das Problem beschreibt.
  • In einigen Ausführungsformen kann ein Datenobjekt ein oder mehrere Attribute aufweisen. Der Wert der Attribute kann Informationen über das Datenobjekt bereitstellen. Aus diesem Grund können die Attributwerte als Metadaten angesehen werden. Als ein Beispiel kann ein Datenobjekt ein Attribut aufweisen, das seinen Namen und/oder eine andere Kennung angibt. Als ein anderes Beispiel kann ein Datenobjekt ein Definitionsattribut aufweisen, das eine semantische Bedeutung des Datenobjekts spezifiziert. Als ein anderes Beispiel kann das Datenobjekt Teil einer oder mehrerer Hierarchien von Datenobjekten sein und ein Attribut aufweisen, das die Hierarchie oder die Hierarchien angibt, zu welcher bzw. welchen das Datenobjekt gehört. Als ein anderes Beispiel kann ein Datenobjekt ein oder mehrere Klassifizierungsattribute aufweisen, die als Beispiel und ohne Einschränkung ein Governance-Gruppenklassifizierungsattribut, das eine Liste einer oder mehrerer Governance-Gruppen spezifizieren kann, zu welchen das Datenobjekt gehört, ein Vertraulichkeitsklassifizierungsattribut, dass die Vertraulichkeitsstufe von Daten im Datenobjekt (z. B. „Intern“, „Öffentlich“, „Vertraulich“, „Streng vertraulich“) angeben kann, und ein Personenbezogene-Informationen-Klassifizierungsattribut („PII“ - Personally Identifiable Information) umfassen, das eine Schadensstufe (z. B. „Stufe 1“, „Stufe 2“ usw.) angibt, die aus unzulässiger Verwendung und/oder Modifikation der Daten im Datenobjekt und/oder unzulässigem Zugriff darauf resultieren würde. Als ein anderes Beispiel kann ein Datenobjekt ein Attribut aufweisen, das einen oder mehrere Akteure spezifiziert, die zum Durchführen einer oder mehrerer Aktionen am Datenobjekt (z. B. Erstellen, Lesen, Zugreifen, Aktualisieren, Löschen) autorisiert sind. Als ein anderes Beispiel kann ein Datenobjekt ein Attribut aufweisen, das gültige Werte (mittels eines Bereichs, einer Liste) für einen anderen mit dem Datenobjekt assoziierten Wert angibt. Diese Beispiele von Attributen sind veranschaulichend und nicht einschränkend, wobei hierin zusätzliche Beispiele für Attribute bereitgestellt werden.
  • Einige Ausführungsformen stellen ein Verfahren zur Verwaltung von Workflows in einem Datenverarbeitungssystem bereit, wobei das Datenverarbeitungssystem umfasst: (i) mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und (ii) ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist. Das Verfahren kann, wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand (z. B. ein Zustand 306 „Genehmigung anstehend“ von FSM 300 in 3A) ist, ein Verwenden des Workflow-Verwaltungssystems zum Durchführen von Folgendem umfassen: (A) Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher (auf diese Weise wird ein aktueller Wert statt eines potenziell veralteten, vorher zwischengespeicherten Wertes verwendet); (B) Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; (C) Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und (D) in Reaktion auf den Empfang einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: (1) Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt (z. B. Ablehnen der Änderung); und (2) Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand (z. B. Ändern des aktuellen Workflow-Zustands in den Zustand „Entwurf“ 304 von 3A).
  • In einigen Ausführungsformen werden Datenobjekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt, wobei die Metadaten die eine oder die mehreren Hierarchien spezifizieren, und wobei der aktuelle Wert des ersten Attributs eine erste Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört. Demgemäß umfasst das Identifizieren des ersten Akteurs in einigen Ausführungsformen: Identifizieren des ersten Akteurs als einen zum Durchführen der ersten Workflow-Aufgabe für ein zweites Datenobjekt in der Mehrzahl von Datenobjekten autorisierten Akteur, wobei das zweite Datenobjekt mit dem ersten Datenobjekt gemäß der ersten Hierarchie in Beziehung steht (z. B. ein Vorgängerobjekt, ein Nachfolgerobjekt oder ein gleichgeordnetes Objekt ist).
  • Einige Ausführungsformen stellen ein Datenverarbeitungssystem zum Verwalten eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten FSM bereit, wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt. In einigen Ausführungsformen ist das System programmiert zum: (1) Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung eines Wertes eines Attributs des ersten Datenobjekts; und, (2) wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand (z. B. der Zustand „Genehmigung anstehend“ 306 von 3A) ist, (a) Empfangen einer Eingabe vom ersten Akteur, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll (z. B. Empfangen einer Eingabe von einem Prüfer, der die Änderung ablehnt); (b) Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt (z. B. Ablehnen der Änderung); und (c) Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows der zweite Workflow-Zustand ist (z. B. Ändern des aktuellen Workflow-Zustands in den Zustand „Entwurf“ 304 von 3A).
  • Das Datenverarbeitungssystem kann die Wert(e) eines jeden von zahlreichen Typen von Datenobjekt-Attributen zum Identifizieren eines zum Durchführen einer Workflow-Aufgabe autorisierten Akteurs verwenden. Zum Beispiel kann das Attribut in einigen Ausführungsformen ein Klassifizierungsattribut sein, dessen Wert eine Klassifizierung für das Datenobjekt angibt, und der Akteur kann basierend auf dem Wert des Klassifizierungsattributs identifiziert werden. Beispiele für Klassifizierungsattribute umfassen, ohne darauf beschränkt zu sein, eine Governance-Gruppenklassifizierung, eine Vertraulichkeitsklassifizierung und eine Personenbezogene-Informationen-Klassifizierung. Zum Beispiel kann ein Akteur in einigen Ausführungsformen als zum Durchführen einer Workflow-Aufgabe an einem Datenobjekt autorisiert identifiziert werden, wenn seine Vertraulichkeitsklassifizierung „Öffentlich“ ist, während ein anderer Akteur als zum Durchführen derselben Workflow-Aufgabe für ein anderes Datenobjekt autorisiert identifiziert werden kann, wenn seine Vertraulichkeitsklassifizierung „Vertraulich“ ist.
  • Als ein anderes Beispiel können in einigen Ausführungsformen Datenobjekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt sein, und das Attribut kann eine oder mehrere der Hierarchien angeben, zu welchen das Datenobjekt gehört. In einigen solchen Ausführungsformen kann das Datenverarbeitungssystem einen Akteur, der zum Durchführen einer Workflow-Aufgabe „T“ für ein Datenobjekt „A“ autorisiert ist, als einen Akteur identifizieren, der für mindestens ein anderes, mit dem Datenobjekt „A“ in Beziehung stehendes Datenobjekt „B“ in der gleichen Hierarchie spezifiziert ist (z. B. kann das Datenobjekt „B“ ein gleichgeordnetes Objekt, ein um eine Ebene übergeordnetes Objekt, ein um zwei Ebenen übergeordnetes Objekt oder ein anderes Vorgängerobjekt des Datenobjekts „A“ in der Hierarchie sein). In einigen Ausführungsformen kann ein Akteur, der für das Datenobjekt „B“ spezifiziert ist, ein Akteur sein, der zum Durchführen der Workflow-Aufgabe „T“ am Datenobjekt „B“ autorisiert ist, oder er kann jeder andere geeignete Akteur sein, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind. Dies wird hierin u. a. unter Bezugnahme auf 1D bis 1G beschrieben.
  • In einigen Ausführungsformen kann das Datenverarbeitungssystem den Wert des Attributs zum Identifizieren eines Akteurs mit Berechtigung zum Erstellen, Lesen, Aktualisieren und/oder Löschen (CRUD - Create, Read, Update, Delete) des Datenobjekts verwenden. Sobald solch ein Akteur identifiziert ist, kann das Datenverarbeitungssystem diesen Akteur mit Zugriff auf eine Schnittstelle (z. B. eine grafische Benutzerschnittstelle) versehen, durch welche der Akteur eine Eingabe in Bezug auf eine erste Workflow-Aufgabe für einen Workflow für das erste Datenobjekt bereitstellen kann. Das Datenverarbeitungssystem kann solch eine GUI erzeugen und sie dem Akteur präsentieren. Der Akteur wiederum kann die GUI zum Bereitstellen einer Eingabe für das Datenverarbeitungssystem verwenden, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll (z. B. angibt, dass eine Änderung an einem Datenobjekt zur Prüfung eingereicht werden soll, eine Entscheidung bereitstellt usw.). Das Datenverarbeitungssystem kann die Eingabe durch die GUI empfangen, die Workflow-Aufgabe für das erste Datenobjekt durchführen und eine endliche Zustandsmaschine zum Verwalten des Workflows für das erste Datenobjekt aktualisieren, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Datenobjekts sich geändert hat.
  • In einigen Ausführungsformen ist das Datenverarbeitungssystem zum Erzeugen einer endlichen Zustandsmaschine zum Verwalten eines Workflows für ein Datenobjekt aus einer Spezifikation der endlichen Zustandsmaschine konfiguriert. Die Spezifikation kann die Zustände und Übergänge für die FSM angeben und in jedem geeigneten Format und/oder jeder geeigneten Datenstruktur gespeichert werden, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • In einigen Ausführungsformen kann ein Datenverarbeitungssystem Folgendes implementieren: (1) einen Workflow für ein Datenobjekt unter Verwendung einer Instanz einer endlichen Zustandsmaschine für den Workflow; und (2) denselben Workflow für ein anderes Datenobjekt unter Verwendung einer anderen Instanz der endlichen Zustandsmaschine.
  • In einigen Ausführungsformen kann ein Datenverarbeitungssystem eine FSM zum Verwalten eines Workflows für ein Datenobjekt und eine andere FSM zum Verwalten eines Workflows zum Genehmigen einer Änderung an einem Wert eines Attributs des Objekts verwenden. In dieser Situation kann die FSM zum Verwalten des Workflows für das Datenobjekt als „primäre“ FSM bezeichnet werden, während die FSM zum Verwalten des Workflows zum Genehmigen einer Änderung an einem Attributwert als „sekundäre“ FSM bezeichnet werden kann. Primäre und sekundäre endliche Zustandsmaschinen werden hierin u. a. unter Bezugnahme auf 5A bis 5C beschrieben.
  • In einigen Ausführungsformen kann das Datenverarbeitungssystem eine oder mehrere grafische Benutzerschnittstellen erzeugen, die den aktuellen Workflow-Zustand einer endlichen Zustandsmaschine für ein Datenobjekt angeben. Beispiele dafür werden hierin u. a. unter Bezugnahme auf 8A bis 8N beschrieben.
  • In einigen Ausführungsformen kann eine Workflow-Aufgabe eine Entscheidung umfassen, die von einem oder mehreren Akteuren getroffen wird. Zum Beispiel können ein oder mehrere Prüfer entscheiden, ob eine anstehende Änderung an einem Datenobjekt genehmigt oder abgelehnt werden soll. Als ein anderes Beispiel können ein oder mehrere Prüfer entscheiden, ob ein Datenobjekt gelöscht werden soll. Als ein weiteres Beispiel können ein oder mehrere Prüfer entscheiden, ob ein anstehendes Problem gelöst werden soll. In einigen Ausführungsformern kann das Datenverarbeitungssystem ein Abstimmungsschema verwenden, um die Entscheidung basierend auf Eingaben zu bestimmen, die von mehreren Akteuren bereitgestellt werden. Zum Beispiel kann das Datenverarbeitungssystem bestimmen, dass eine anstehenden Änderung genehmigt wird, sobald einer der mehreren Akteure solch eine Genehmigung bereitstellt. Zum Beispiel kann das Datenverarbeitungssystem bestimmen, dass eine anstehenden Änderung nur dann genehmigt wird, wenn eine Mehrheit oder alle der mehreren Akteure solch eine Genehmigung bereitstellen.
  • Es versteht sich, dass die Techniken, die vorstehend eingeführt wurden und im Folgenden ausführlicher erörtert werden, auf jede von zahlreichen Arten und Weisen implementiert werden können, da die Techniken auf keine spezifische Implementierungsweise beschränkt sind. Beispiele für Einzelheiten zu den Implementierungen werden hierin lediglich zu Veranschaulichungszwecken bereitgestellt. Außerdem können die hierin offenbarten Techniken einzeln oder in jeder geeigneten Kombination verwendet werden, da Aspekte der hierin beschriebenen Technologie nicht auf die Verwendung einer spezifischen Technik oder Kombination von Techniken beschränkt sind.
  • Veranschaulichendes Datenverarbeitungssystem
  • 1B ist ein Blockdiagramm eines veranschaulichenden Datenverarbeitungssystems 120 und eines in das Datenverarbeitungssystem 120 integrierten Workflow-Verwaltungssystems 130 gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Wie in 1B dargestellt, umfasst das Datenverarbeitungssystem 120 ein Workflow-Verwaltungssystem (WMS - Workflow Management System) 130. Das Workflow-Verwaltungssystem 130 wiederum umfasst unter anderen Komponenten: (1) ein Konfigurationsmodul 131; (2) eine Workflow-Ausführungsmaschine 133; und (3) eine Datenschicht 140, welche Datenobjekte 142 speichert.
  • Das Workflow-Verwaltungssystem 130 ist zum Ausführen verschiedener Funktionen konfiguriert, die mit dem Instanziieren und Verwalten von Workflows zum Vornehmen von Änderungen an den Datenobjekten 142 in Beziehung stehen. In einigen Ausführungsformen ist das WMS 130 so konfiguriert, dass es mehrere Workflows zum Vornehmen von Änderungen an jeweiligen der Datenobjekte 142 gleichzeitig verwaltet. Zu diesem Zweck kann das WMS 130 so konfiguriert sein, dass es für ein beliebiges Datenobjekt eine jeweilige endliche Zustandsmaschine zum Verwalten eines Workflows zum Vornehmen von Änderungen an diesem Datenobjekt instanziiert. Auf diese Weise verwendet das WMS 130, wenn das WMS 130 Workflows zum Vornehmen von Änderungen an N verschiedenen Datenobjekten (der Datenobjekte 142) verwaltet, N jeweilige Instanzen von endlichen Zustandsmaschinen dafür (wobei N eine ganze Zahl größer als eins ist). Entsprechend kann das WMS 130 so konfiguriert sein, dass es Informationen über N endliche Zustandsmaschinen im Speicher des Datenverarbeitungssystems 120 dauerhaft speichert.
  • Ein Datenverarbeitungssystem 120 kann in einigen Ausführungsformen so konfiguriert sein, dass es Tausende, Zehntausende, Hunderttausende, Millionen, Dutzende von Millionen oder sogar Hunderte von Millionen von Datenobjekten verwaltet. Das WMS 130 wiederum kann so konfiguriert sein, dass es endliche Zustandsmaschinen für jede geeignete Anzahl dieser Datenobjekte instanziiert und dauerhaft speichert, wie jeweils anwendbar. Zum Beispiel kann das WMS 130 so konfiguriert sein, dass es Hunderte, Tausende, Zehntausende, Hunderttausende, Millionen Dutzende von Millionen oder sogar Hunderte von Millionen von Instanzen von endlichen Zustandsmaschinen zum Verwalten von Änderungsarbeitsflüssen für die jeweiligen Datenobjekte dauerhaft speichert.
  • In einigen Ausführungsformen kann das WMS 130 zum Vermeiden von Synchronisationsproblemen, die in herkömmlichen Workflow-Verwaltungssystemen auftreten, das einzige System sein, durch welches Änderungen an den Datenobjekten 142 vorgenommen werden können. Demgemäß können in einigen Ausführungsformen Änderungen wenigstens an einigen der Datenobjekte 142 nur durch die Aktionen vorgenommen werden, die durch die FSMs zum Verwalten von Änderungsarbeitsflüssen für diese Objekte erlaubt sind. Außerdem können die Aktionen nur von jenen Akteuren durchgeführt werden, die durch das WMS 130 zur deren Durchführung autorisiert sind. Auf diese Weise kann das WMS 130 in einigen Ausführungsformen die einzige Schnittstelle bereitstellen, durch welche Änderungen wenigstens an einigen der Datenobjekte 142 implementiert werden können. Zu diesem Zweck kann das WMS 130 GUIs zum Durchführen nur jener Aktionen erzeugen, die durch den Workflow erlaubt sind, und kann sie nur jenen Akteuren präsentieren, die zu ihrer Durchführung autorisiert sind; andere Mechanismen zum Zugreifen auf die Datenobjekte (z. B. mittels Integrations-Webdiensten) können durch das WMS 130 gesperrt werden.
  • In der veranschaulichten Ausführungsform von 1B hat das WMS 130 Zugriff auf alle Daten, die in der Datenschicht 140 gespeichert sind. Zum Beispiel kann das WMS 130 Zugriff (z. B. direkten Zugriff) auf den bzw. die Speicher haben, in welchen die Daten in der Datenschicht 140 gespeichert sind.
  • Zum Beispiel hat das WMS 130 Zugriff auf die Datenobjekte 142, die in der Datenschicht 140 dauerhaft gespeichert sind. Zum Beispiel kann das Workflow-Verwaltungssystem 130 Zugriff auf alle Daten haben, die innerhalb eines jeden der Datenobjekte 142 gespeichert sind, darunter beispielsweise den aktuellen Wert jedes Attributs eines jeden der Datenobjekte 142. Beispiele für Datenobjekt-Attribute werden hierin bereitgestellt und umfassen, ohne darauf beschränkt zu sein, Attribute, deren Werte für ein spezifisches Datenobjekt eine oder mehrere Gruppen (z. B. Hierarchien von Datenobjekten, Gruppen von Objekten mit einer gleichen Klassifizierung oder jede andere geeignete Gruppe von Datenobjekten) identifizieren, zu welchen das spezifische Datenobjekt gehört.
  • Als ein anderes Beispiel hat das WMS 130 Zugriff auf Metadaten über die Datenobjekten 142. In einigen Ausführungsformen hat das WMS 130 Zugriff auf Metadaten, die Beziehungen zwischen wenigstens einigen der Datenobjekte 142 spezifizieren. Zum Beispiel können in einigen Ausführungsformen wenigstens einige der Datenobjekte 142 in eine oder mehrere Hierarchien eingeteilt sein, und das WMS 130 kann auf Metadaten zugreifen, welche die eine oder die mehreren Hierarchien spezifizieren. Auf diese Weise kann das WMS 130 für ein spezifisches Datenobjekt ein oder mehrere mit dem spezifischen Datenobjekt in Beziehung stehende Datenobjekte gemäß einer Hierarchie identifizieren. Zum Beispiel kann das WMS 130 für ein spezifisches Datenobjekt eines oder mehrere seiner Vorgängerobjekte (z. B. um eine Ebene übergeordnete Datenobjekt(e), um zwei Ebenen übergeordnete Datenobjekt(e) usw.), eines oder mehrere seiner Nachfolgerobjekte (z. B. ein oder mehrere eine Ebene untergeordnete oder um zwei Ebenen untergeordnete Datenobjekte) und/oder eines oder mehrere seiner gleichgeordneten Datenobjekte (z. B. Datenobjekte, die mindestens einen gemeinsamen Vorgängerobjekt mit dem spezifischen Datenobjekt gemein haben) in der Hierarchie identifizieren.
  • Als Teil des Verwaltens eines Workflows für ein spezifisches Datenobjekt unter Verwendung einer endlichen Zustandsmaschine kann das WMS 130 zum Identifizieren von Akteuren konfiguriert sein, die verschiedene Aufgaben im Workflow durchführen dürfen. In einigen Ausführungsformen kann das WMS 130 zum dynamischen Identifizieren der Akteure basierend auf den aktuellen Werten der Attribute des spezifischen Datenobjekts konfiguriert sein. Wenn zum Beispiel die FSM (zum Verwalten eines Workflows) für ein erstes Datenobjekt in einem ersten Zustand der FSM (z. B. Zustand 306 der in 3A dargestellten FSM 300) ist, kann das WMS 130 den/die zum Durchführen einer Workflow-Aufgabe (z. B. zum Genehmigen oder Ablehnen einer vorgeschlagenen Änderung am ersten Datenobjekt) autorisierten Akteur(e) basierend auf dem/den aktuellen Wert(en) des/der Attributs bzw. Attribute des ersten Objekts und aus potenziellen Workflow-Akteuren 139 dynamisch identifizieren.
  • Um einen oder mehrere zum Durchführen einer Workflow-Aufgabe für ein erstes Datenobjekt autorisierte Akteure zu identifizieren, kann das WMS 130 zum Beispiel: (1) den aktuellen Wert für das Attribut des ersten Datenobjekts bestimmen, der die Hierarchie oder die Hierarchien angibt, zu welcher bzw. welchen das erste Datenobjekt gehört; (2) ein zweites Datenobjekt in der Hierarchie identifizieren, das mit dem ersten Datenobjekt in Beziehung steht (z. B. kann das zweite Objekt ein Vorgängerobjekt, eine Nachfolgerobjekt oder ein gleichgeordnetes Objekt des ersten Datenobjekts sein); (3) einen oder mehrere Akteure identifizieren, die zum Durchführen derselben Workflow-Aufgabe für das zweite Datenobjekt autorisiert sind; und (4) diese Akteur(e) als welche identifizieren, die auch zum Durchführen derselben Workflow-Aufgabe für das erste Datenobjekt autorisiert sind. In diesem Beispiel identifiziert das WMS 130 einen Akteur zum Durchführen einer Workflow-Aufgabe für das erste Datenobjekt sowohl basierend auf: (1) einem aktuellen Wert des Attributs des ersten Objekts, der eine Hierarchie angibt, zu welcher das Datenobjekt gehört; als auch auf (2) Metadaten, welche die Hierarchie von Datenobjekten spezifizieren, so dass das zweite Datenobjekt (und seine zugehörigen Akteure für die Workflow-Aufgabe) identifiziert werden kann (können). Es ist die Integration des WMS 130 in das Datenverarbeitungssystem 120, die das WMS 130 zum Zugreifen auf aktuelle Werte dieser Daten und Verwenden dieser Werte zum Autorisieren von Akteuren zum Durchführen verschiedener Workflow-Aufgaben auf einer Pro-Datenobjekt-Ebene befähigt. Aspekte dieses Beispiels werden hierin u. a. unter Bezugnahme auf 1D bis 1G genauer beschrieben.
  • Als ein anderes Beispiel kann das WMS 130 zum Identifizieren eines oder mehrerer zum Durchführen einer Workflow-Aufgabe für ein erstes Datenobjekt autorisierter Akteure: (1) den aktuellen Wert für das Attribut des ersten Datenobjekts bestimmen, der eine Klassifizierung des ersten Datenobjekts angibt; (2) basierend auf dem aktuellen Wert eine Gruppe von Datenobjekten identifizieren, zu welcher das erste Datenobjekt gehört (z. B. die Gruppe von Datenobjekten mit derselben Klassifizierung); (3) einen oder mehrere Akteure identifizieren, die zum Durchführen derselben Workflow-Aufgabe für die identifizierte Gruppe autorisiert sind; und (4) diese Akteur(e) als welche identifizieren, die auch zum Durchführen derselben Workflow-Aufgabe für das erste Datenobjekt autorisiert sind. Auch in diesem Beispiel identifiziert das WMS 130 einen Akteur zum Durchführen einer Workflow-Aufgabe für das erste Datenobjekt sowohl basierend auf: (1) einem aktuellen Wert des Attributs des ersten Datenobjekts, der eine Gruppe von Objekten angibt, zu welcher das Datenobjekt gehört; als auch auf (2) Metadaten, die eine Beziehung zwischen Datenobjekten spezifizieren, durch Spezifizieren einer Zuordnung von Akteuren zu einer Gruppe von Datenobjekten in den Datenobjekten 142. Wie beim vorhergehenden Beispiel
    ist es die Integration des WMS 130 in das Datenverarbeitungssystem 120, die das WMS 130 zum Zugreifen auf aktuelle Werte dieser Daten und Verwenden dieser Werte zum Autorisieren von Akteuren zum Durchführen verschiedener Workflow-Aufgaben auf einer Pro-Datenobjekt-Ebene befähigt. Aspekte dieses Beispiels werden hierin u. a. unter Bezugnahme auf 1H und 1I genauer beschrieben.
  • Wie aus den vorstehenden Beispiel zu erkennen ist, ist das Workflow-Verwaltungssystem 130 mit den Datenobjekten 142 im Datenverarbeitungssystem 120 eng gekoppelt. Einerseits befähigt dies das WMS 130 zum Verwalten von Workflows zur Vornahme von Änderungen an den Datenobjekten. Andererseits können jegliche Änderungen an den Datenobjekten die Workflows verändern, die vom WMS verwaltet werden, da das WMS dynamisch auf aktuelle Werte der Datenobjekte zugreift. Wie zum Beispiel in den vorstehenden Beispielen erläutert, können Änderungen an den Datenobjekten den Zustand der entsprechenden FSM verändern und beeinflussen, welche Akteure Workflow-Aufgaben durchführen dürfen.
  • Durch Entwickeln eines Workflow-Verwaltungssystem, das Workflows durch endliche Zustandsmaschinen verwaltet, haben die Erfinder eine breite Klasse von Benutzern zum Konfigurieren des Workflow-Verwaltungssystems befähigt. Tatsächlich erfordert das Konfigurieren einer endlichen Zustandsmaschine (z. B. durch Spezifizieren ihrer Zustände und Übergänge) weder ein Schreiben von systemnaher Software noch einen Softwareentwickler (im Gegensatz zur Situation im herkömmlichen Ansatz, der in 1A veranschaulicht ist). Im Beispiel von 1B kann ein Geschäftsbenutzer 138 endliche Zustandsmaschinen und ihre Parameter durch das Konfigurationsmodul 131 spezifizieren, das so konfiguriert sein kann, dass es dem Geschäftsbenutzer 138 eine oder mehrere Schnittstellen (z. B. grafische Benutzerschnittstellen) präsentiert, durch welche der Geschäftsbenutzer endliche Zustandsmaschinen und jegliche zugehörigen Informationen spezifizieren kann. Nicht einschränkende Beispiele der Informationen, die der Geschäftsbenutzer 138 durch das Konfigurationsmodul 131 eingeben kann, sind in 9A bis 9D und 10 dargestellt.
  • Wie in 1B dargestellt, umfasst das Workflow-Verwaltungssystem 130 die Workflow-Ausführungsmaschine 133, die so konfiguriert sein kann, dass sie die Instanzen von endlichen Zustandsmaschinen zum Verwalten von Workflows für jeweilige der Datenobjekte 142 instanziiert und verwaltet.
    Zum Beispiel kann die Workflow-Ausführungsmaschine 133 so konfiguriert sein, dass sie unter Verwendung einer oder mehrerer FSM-Spezifikationen (die z. B. in einem FSM-Spezifikationsmodul 132 gespeichert sind, das in 1C dargestellt ist) eine oder mehrere FSM-Instanzen erzeugt. Als ein anderes Beispiel kann die Workflow-Ausführungsmaschine 133 zum Aktualisieren von Informationen konfiguriert sein, die mit einer FSM-Instanz assoziiert sind, indem sie zum Beispiel den aktuellen Zustand der FSM (z. B. des aktuellen Workflow-Zustands des Workflows, den die FSM-Instanz darstellt) aktualisiert. Als ein anderes Beispiel kann die Workflow-Ausführungsmaschine 133 so konfiguriert sein, dass sie eine FSM-Instanz nach Abschluss des Workflows löscht, den die FSM-Instanz darstellt (wenn z. B. der aktuelle Zustand der FSM ein Endzustand ist). Die Workflow-Ausführungsmaschine 133 kann FSM-Instanzen im Speicher des Datenverarbeitungssystems 120 unter Verwendung jeder geeigneten Datenstruktur auf jede geeignete Weise verwalten, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • Wie in 1B dargestellt, speichert die Datenschicht 140 Datenobjekte 142. Die Datenschicht kann alle Daten von Datenobjekten 142 speichern, darunter Werte von Attributen der Datenobjekte 142, ohne darauf beschränkt zu sein. Die Datenschicht 140 kann einen oder mehrere Datenspeicher zum Speichern der Datenobjekte 142 umfassen. Jeder Datenspeicher kann eine oder mehrere Speichervorrichtungen umfassen, die Daten in einem oder mehreren Formaten jedes geeigneten Typs speichern. Zum Beispiel können die zu einem Datenspeicher gehörigen Speichervorrichtung(en) Daten unter Verwendung einer oder mehrerer Datenbanktabellen, Kalkulationstabellendateien, flacher Textdateien und/oder Dateien in jedem anderen geeigneten Format (z. B. einem nativen Format eines Mainframes) speichern. Die Speichervorrichtung(en) können von jedem geeigneten Typ sein und einen oder mehrere Server, ein oder mehrere Datenbanksysteme, eine oder mehrere tragbare Speichervorrichtungen, eine oder mehrere nichtflüchtige Speichervorrichtungen, eine oder mehrere flüchtige Speichervorrichtungen und/oder jede andere Vorrichtung umfassen, die zum elektronischen Speichern von Daten konfiguriert ist. In Ausführungsformen, in welchen ein Datenspeicher mehrere Speichervorrichtungen umfasst, können die Speichervorrichtungen an einem gleichen physischen Ort (z. B. in einem Gebäude) angeordnet oder über mehrere physische Orte verteilt (z. B. in mehreren Gebäuden, in verschiedenen Städten, Staaten oder Ländern) sein. Die Speichervorrichtungen können so konfiguriert sein, dass sie unter Verwendung eines oder mehrerer Netzwerkwerke jedes geeigneten Typs miteinander kommunizieren, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • In einigen Ausführungsformen kann die Datenschicht 140 zusätzliche Arten von Daten speichern, die, ohne darauf beschränkt zu sein, Metadaten, die Beziehungen zwischen den Datenobjekten 142 spezifizieren, und Informationen zum Ermöglichen des Suchens unter den Datenobjekten 142 umfassen (z. B. einen Suchindex, der für die Datenobjekte 142 geführt wird), wie auch in Verbindung mit 1C beschrieben.
  • 1C ist ein Blockdiagramm einer veranschaulichenden Ausführungsform des in 1B dargestellten Datenverarbeitungssystems 120 gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. 1C stellt eine Ausführungsform des Datenverarbeitungssystems 120 dar, das einige Komponenten enthält, die gleich sind wie jene, die in 1B dargestellt sind (z. B. das Workflow-Verwaltungssystem 130, das Konfigurationsmodul 131, die Workflow-Ausführungsmaschine 133, die Datenschicht 140 und die Datenobjekte 142), sie stellt aber auch zusätzliche Komponenten dar, die in 1B nicht dargestellt sind. Es versteht sich, dass die Ausführungsform von 1C veranschaulichend ist, und dass das Datenverarbeitungssystem 120 in anderen Ausführungsformen eine oder mehrere andere Komponenten zusätzlich zu den oder anstelle der in 1C dargestellten Komponenten umfassen kann.
  • Wie in 1C dargestellt, umfasst das Datenverarbeitungssystem 120 ein oder mehrere Computerprogramme 124, die zum Durchführen von Operationen Daten in der Datenschicht 140 konfiguriert sind. Die Computerprogramme 124 können von jedem geeigneten Typ und in jeder geeigneten Programmiersprache geschrieben sein. Zum Beispiel können die Computerprogramme 124 in einigen Ausführungsformen ein oder mehrere Computerprogramme umfassen, die wenigstens zum Teil unter Verwendung der strukturierte Abfragesprache (SQL - Structured Query Language) geschrieben und zum Zugreifen auf Daten in einem oder mehreren zur Datenschicht 140 gehörigen Datenspeichern konfiguriert sind. Als ein anderes Beispiel ist das Datenverarbeitungssystem 120 in einigen Ausführungsformen zum Ausführen von Programmen in Form von Graphen konfiguriert, und die Computerprogramme 124 können ein oder mehrere Computerprogramme umfassen, die als Datenflussgraphen entwickelt sind. Ein Datenflussgraph kann Komponenten enthalten, die als „Knoten“ oder „Vertices“ bezeichnet werden, die Datenverarbeitungsoperationen, die an Eingangsdaten durchgeführt werden sollen, und Links zwischen den Komponenten, die Flüsse von Daten darstellen, darstellen. Techniken zum Ausführen von Berechnungen, die durch Datenflussgraphen codiert werden, werden im US-Patent Nr. 5,966,072 mit dem Titel „Executing Computations Expressed as Graphs“ beschrieben, das hierin durch Bezugnahme in seiner Gesamtheit aufgenommen wird.
  • In der veranschaulichten Ausführungsform von 1C umfasst das Datenverarbeitungssystem 120 ferner eine Entwicklungsumgebung 122, die von einer Person (z. B. dem Softwareentwickler 121) zum Entwickeln eines oder mehrerer der Computerprogramme 124 zum Verarbeiten von Daten in der Datenschicht 140 verwendet werden kann. Eine Umgebung zum Entwickeln von Computerprogrammen als Datenflussgraphen wird in der US-Patentschrift Nr. 2007/0011668 mit dem Titel „Managing Parameters for Graph-Based Applications“ beschrieben, das hierin durch Bezugnahme in seiner Gesamtheit aufgenommen wird.
  • In einigen Ausführungsformen können eines oder mehrere der Computerprogramme 124 zum Durchführen jeder geeigneten Operation an Daten in der Datenschicht 140 konfiguriert sein. Zum Beispiel können eines oder mehrere der Computerprogramme 124 zum Abrufen von Daten aus einer oder mehreren Quellen, Umwandeln der abgerufenen Daten (z. B. durch Ändern von Datenwerten, Filtern von Datensätzen, Ändern von Datenformaten, Sortieren der Daten, Kombinieren von Daten aus mehreren Quellen, Teilen von Daten in mehrere Teile und/oder auf jede andere geeignete Weise), Berechnen eines oder mehrerer neuer Werte aus den abgerufenen Daten und/oder Schreiben der Daten in ein oder mehrere Ziele konfiguriert sein.
  • In der veranschaulichten Ausführungsform von 1C umfasst die Datenschicht 140 ferner Metadaten 144, die Beziehungen zwischen den Datenobjekten 142 spezifizieren, und Informationen 146 zum Ermöglichen des Suchens unter den Datenobjekten 142. In einigen Ausführungsformen können die Metadaten 144 eine oder mehrere Hierarchien von Datenobjekten (in den Datenobjekten 142) spezifizieren. Die Hierarchien können auf jede geeignete Weise und unter Verwendung jeder geeigneten Datenstruktur, zum Beispiel unter Verwendung einer oder mehrerer Baumdatenstrukturen, von Zeigern oder jeder anderen geeigneten Art und Weise spezifiziert sein, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind. In einigen Ausführungsformen können die Metadaten 144 eine oder mehrere Gruppen von Objekten explizit oder implizit spezifizieren. Zum Beispiel können die Metadaten 144 in einigen Ausführungsformen eine Gruppe von Objekten durch Spezifizieren eines gemeinsamen autorisierten Akteurs zum Durchführen einer Workflow-Aufgabe für die Datenobjekte in der Gruppe implizit spezifizieren. Zum Beispiel können die Metadaten 144 angeben, dass ein spezifischer Akteur zum Durchführen einer spezifischen Workflow-Aufgabe für alle Datenobjekte mit demselben Wert für ein Klassifizierungsattribut autorisiert ist. Solch eine Zuordnung eines Akteurs ist eine implizite Gruppierung von Objekten mit demselben Wert für das Klassifizierungsattribut.
  • In einigen Ausführungsformen können die Informationen 146 zum Ermöglichen einer Suche unter den Datenobjekten 142 einen oder mehrere Suchindizes umfassen. Der Suchindex kann als ein Suffixbaum, ein invertierter Index, ein Zitationsindex, ein N-Gramm-Index, eine Dokumentbegriffsmatrix oder in jeder anderen geeigneten Art und Weise implementiert sein, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • In der veranschaulichten Ausführungsform von 1C kann das Workflow-Verwaltungssystem 130 auch die folgenden Komponenten umfassen: Spezifikationen 132 für endliche Zustandsmaschinen, ein GUI-Erzeugungsmodul 134, ein Berechtigungen-Modul 135, ein Datenobjektmodul 136 und ein Suchmodul 137.
  • In einigen Ausführungsformen können die Spezifikationen 132 für endliche Zustandsmaschinen eine oder mehrere FSM-Spezifikationen umfassen. Die FSM-Spezifikation 132 kann in einigen Ausführungsform in der Datenschicht 140 oder in jeder anderen Komponente des Datenverarbeitungssystems 120 gespeichert werden, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind. In einigen Ausführungsformen kann eine FSM-Spezifikation einen Satz von Zuständen für die FSM und einen Satz von Zustandsübergängen spezifizieren. Eine FSM-Spezifikation kann in jedem geeigneten Format und unter Verwendung jeder geeigneten Datenstruktur gespeichert werden, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind. Wie hierin beschrieben, kann die Workflow-Ausführungsmaschine so konfiguriert sein, dass sie unter Verwendung einer oder mehrerer FSM-Spezifikationen, die im FSM-Spezifikationsmodul 132 gespeichert sind, eine oder mehrere FSM-Instanzen erzeugt.
  • In einigen Ausführungsformen kann das GUI-Erzeugungsmodul 134 so konfiguriert sein, dass es grafische Benutzerschnittstellen erzeugt, durch welche Akteure eine Eingabe zur Förderung des Durchführens einer oder mehrerer Workflow-Aufgaben bereitstellen können. Zum Beispiel kann das GUI-Erzeugungsmodul 134 so konfiguriert sein, dass es eine GUI erzeugt, durch welche ein Akteur, der zum Treffen einer Entscheidung (z. B. ob eine anstehende Änderung abgelehnt oder genehmigt werden soll) autorisiert ist, eine Eingabe bereitstellen kann, die seine Entscheidung angibt. Zusätzlich oder alternativ kann das GUI-Erzeugungsmodul so konfiguriert sein, dass es eine GUI erzeugt, die den aktuellen Workflow-Zustand eines Workflows für ein Objekt angibt. Beispiele für solche GUIs werden hierin bereitgestellt.
  • Es versteht sich, dass die vom GUI-Erzeugungsmodul 134 erzeugten GUIs die durch den Workflow definierten Bearbeitbarkeitsregeln respektieren und durchsetzen. Wenn es zum Beispiel keinen Bearbeitungsübergang gibt, der aus einem Workflow-Zustand hervorgeht, was bedeutet, dass das Datenobjekt nicht bearbeitbar ist, erzeugt das GUI-Erzeugungsmodul 134 keine Schnittstelle für Akteure, durch welche das Datenobjekt bearbeitet werden kann. Außerdem sperrt das WMS 130 Bearbeitung des Datenobjekts durch alle anderen Mechanismen, wie zum Beispiel Integrations-Webdienste. (Die Idee, dass die Bearbeitbarkeit durch den Workflow gesteuert wird, wie in den hierin beschriebenen Systemen implementiert, ist in herkömmlichen Workflow-Systemen wie jenen, die auf BPMN basieren, nicht vorhanden).
  • In einigen Ausführungsformen kann das Berechtigungen-Modul 135 so konfiguriert sein, dass es einen oder mehrere Akteure identifiziert, die zum Durchführen einer oder mehrerer Workflow-Aufgaben in einem oder mehreren Workflows autorisiert sind. Das Berechtigungen-Modul 135 kann solche Akteure unter Verwendung jeder der hierin beschriebenen Techniken identifizieren. Zum Beispiel kann das Berechtigungen-Modul 135: (1) einen oder mehrere aktuelle Attributwerte eines Datenobjekts im Datenspeicher 140 durch Zugreifen auf den/die aktuellen Attributwert(e) in der Datenschicht 140 bestimmen; (2) auf Metadaten 144 zugreifen, die Beziehungen zwischen Datenobjekten spezifizieren (z. B. eine Hierarchie von Objekten spezifizieren, eine Gruppe von Objekten spezifizieren, die sich eine gemeinsame Klassifizierung teilen, usw.); und (3) einen oder mehrere Akteur(e), die zum Durchführen einer Workflow-Aufgabe autorisiert sind, unter Verwendung beider Typen von Informationen identifizieren.
  • In einigen Ausführungsformen kann das Datenobjektmodul 136 zum Verwalten von Datenobjekten 142 konfiguriert sein. Zum Beispiel kann das Datenobjektmodul 136 so konfiguriert sein, dass es auf Datenobjekte 142 und jegliche damit assoziierten Informationen zugreift und diese modifiziert und/oder speichert. Zum Beispiel kann das Datenobjektmodul 136 zum Zugreifen auf Werte von Attributen von Datenobjekten verwendet werden, die in der Datenschicht 140 gespeichert sind. Als ein anderes Beispiel kann das Datenobjektmodul 136 zum Zugreifen auf Metadaten 144 verwendet werden, die Beziehungen zwischen Datenobjekten spezifizieren (z. B. Informationen, welche die Struktur einer Hierarchie von Datenobjekten spezifizieren).
  • In einigen Ausführungsformen können Datenobjekte mit einer Versionsangabe versehen werden. Zum Beispiel kann nach der Vornahme einer Änderung an einem Datenobjekt das modifizierte Datenobjekt mit einer neuen Versionsnummer assoziiert werden, und die vorherige Version des Datenobjekts kann gespeichert werden. In einigen Ausführungsformen kann das Datenobjektmodul 136 zum Verwalten von Versionen von Datenobjekten konfiguriert sein, und es kann so konfiguriert sein, dass es Zugriff auf eine oder mehrere ältere Versionen eines Datenobjekts zusammen mit Informationen bereitstellt, welche die Änderungen an den Datenobjektversionen und/oder Differenzen dazwischen spezifizieren. Das Versehen von Datenobjekten mit Versionsangaben wird durch Verwalten von Workflows auf einer Pro-Datenobjekt-Basis (z. B. durch Verwenden einer jeweiligen Instanz einer endlichen Zustandsmaschine zum Verwalten eines Workflows für jedes Datenobjekt) ermöglicht, wie hierin beschrieben. Tatsächlich ist das Ermöglichen der Verwaltung von Datenobjektversionen einer der Hauptvorteile des Verwaltens von Workflows auf einer Pro-Datenobjekt-Basis.
  • In einigen Ausführungsformen kann eine endliche Zustandsmaschine zum Verwalten eines Workflows für ein Datenobjekt insofern „mit einer Versionsangabe versehen“ werden, als, wenn der Workflow dazu führt, dass eine Änderung an einem Datenobjekt vorgenommen wird, das modifizierte Datenobjekt als eine neue Version des Datenobjekts gespeichert wird, und die vorherige Version des Datenobjekts dauerhaft gespeichert wird. In einigen Ausführungsformen kann eine endliche Zustandsmaschine zum Verwalten eines Workflows für ein Datenobjekt insofern „ohne Versionsangabe“ sein, als, wenn der Workflow dazu führt, dass eine Änderung an einem Datenobjekt vorgenommen wird, das modifizierte Datenobjekt gespeichert wird, und die vorherige Version des Datenobjekts nicht dauerhaft gespeichert wird.
  • In einigen Ausführungsformen kann das Suchmodul 137 eine programmatische Schnittstelle (z. B. eine API) und/oder eine Benutzerschnittstelle (z. B. eine GUI) zum Suchen nach Datenobjekten unter den Datenobjekten 142 in der Datenschicht 140 bereitstellen. In einigen Ausführungsformen kann das Suchmodul 137 einen Suchindex zum Durchführen einer Suche verwenden. In einigen Ausführungsformen kann das Suchmodul 137 den Suchindex aktualisieren und/oder neu berechnen, um zukünftige Suchen zu optimieren (z. B. in Reaktion auf die Hinzufügung neuer Datenobjekte, die Löschung von Datenobjekten und/oder die Modifikation von Datenobjekten in der Datenschicht 140).
  • 1D bis 1E veranschaulichen ein Beispiel zum Identifizieren eines Akteurs, der zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisiert ist, unter Verwendung von Informationen über eine Hierarchie von Datenobjekten, zu welchen das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. 1D stellt eine Hierarchie von Datenobjekten 150 dar, in welcher ein Datenobjekt 152 ein Nachfolgerobjekt eines Datenobjekts 154 ist. In diesem Beispiel wird davon ausgegangen, dass die endliche Zustandsmaschine zum Verwalten des Änderungs-Workflows für das Datenobjekt 152 in einen Zustand eintritt, in welchem das Workflow-Verwaltungssystem 130 jeden Akteur identifizieren muss, der zum Bearbeiten des Datenobjekts 152 autorisiert ist. (Solch eine Situation kann sich zum Beispiel ergeben, wenn das FSM 300 in den Zustand 304 eintritt, oder wenn die FSM 400 in einen Zustand 402 eintritt). In diesem Beispiel verwendet das WMS 130 zum Identifizieren des/der autorisierten Akteur(e) die Hierarchie 150, um ein Vorgängerobjekt von Objekt 152 zu identifizieren, für das es autorisierte Bearbeiter gibt. Wie in 1D dargestellt, sind die autorisierten Bearbeiter 156 (Rob und Diane) zum Bearbeiten des Datenobjekts 154 autorisiert, das ein Vorgängerobjekt des Datenobjekts 152 ist.
  • Wie in 1E dargestellt, durchläuft das WMS 130 die Hierarchie 150 über Links 161, 162 und 163 auf der Suche nach einem Vorgängerobjekt des Datenobjekts 152, das mit autorisierten Bearbeitern assoziiert ist. Das WMS 130 identifiziert dann Akteure, die zum Bearbeiten des Vorgänger-Datenobjekts autorisiert sind, als Akteure, die auch zum Bearbeiten des Datenobjekts 152 autorisiert sind. In diesem Beispiel ist das erste solche Objekt das Datenobjekt 154 und, wie in 1E dargestellt, ordnet das WMS 130 die Akteure 156 als Akteure zu, die zum Bearbeiten des Datenobjekts 152 autorisiert sind. Auf diese Weise ermöglicht die Hierarchie 150, dass autorisierte Akteure für das Datenobjekt 152 von einem seiner Vorgängerobjekte geerbt werden.
  • Demgemäß können in einigen Ausführungsformen ein oder mehrere Akteure, die zum Durchführen einer spezifischen Workflow-Aufgabe für ein Datenobjekt autorisiert sind, von einem Vorgängerobjekt des Datenobjekts in einer Hierarchie, zu welche das Datenobjekt gehört, geerbt werden. In einigen Ausführungsformen kann das Vorgängerobjekt als das nächstgelegene Vorgängerobjekt zum Datenobjekt in der Hierarchie ausgewählt werden, das außerdem einen oder mehrere Akteure aufweist, die zum Durchführen derselben Workflow-Aufgabe autorisiert sind. Wenn daher ein um eine Ebene übergeordnetes Objekt und ein um zwei Ebenen übergeordnetes Objekt eines spezifischen Datenobjekt jeweils assoziierte Akteure aufweisen, können die Akteure des um eine Ebene übergeordneten Objekts als die Akteure identifiziert werden, die zum Durchführen derselben Workflow-Aufgabe für das spezifische Datenobjekt autorisiert sind.
  • 1F bis 1G veranschaulichen ein anderes Beispiel zum Identifizieren eines Akteurs, der zum Durchführen von Workflow-Aufgaben für ein Datenobjekt autorisiert ist, unter Verwendung von Informationen über die Hierarchie von Datenobjekten, zu welchen das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Dieses Beispiel veranschaulicht, wie Vererbung verwendet werden kann, um verschiedene Akteure für verschiedene Workflow-Aufgaben (im gleichen Workflow) zuzuordnen, indem sie von verschiedenen Vorgängerobjekten desselben Datenobjekts 152 geerbt werden. Wie in 1F dargestellt, weist das Datenobjekt 152 ein Vorgänger-Datenobjekt 153 und ein Vorgänger-Datenobjekt 154 in der Hierarchie 150 auf. Wie im vorherigen Beispiel ist das Datenobjekt 154 mit Akteuren 156 (Rob und Diane) assoziiert, die zum Bearbeiten des Datenobjekts 154 autorisiert sind. Das Datenobjekt 153 ist mit einem Akteur 158 (David) assoziiert, der zum Prüfen (und Genehmigen oder Ablehnen) jeglicher Änderungen autorisiert ist, die am Datenobjekt 153 vorgenommen werden. Wie in 1F dargestellt, ist das Datenobjekt 152 noch mit keinem Akteur assoziiert, der zum Bearbeiten des Objekts („autorisierter Bearbeiter“) oder Prüfen jeglicher solcher Bearbeitungen („autorisierter Prüfer“) autorisiert ist.
  • Wie in 1G dargestellt, kann das WMS 130 die Hierarchie 150 über Links 161, 162, und 163 durchlaufen, um sowohl autorisierte Bearbeiter als auch autorisierte Prüfer für das Datenobjekt 152 zu identifizieren. In diesem Beispiel identifiziert das WMS 130 die Akteure 156 als Akteure, die zum Bearbeiten des Datenobjekts 152 autorisiert sind (z. B. durch Identifizieren des Datenobjekts 154 als das nächstgelegene Datenobjekt zum Datenobjekt 152 in Bezug auf die Anzahl von Links in der Hierarchie 150, das auch mit autorisierten Akteuren assoziiert ist). Das WMS 130 identifiziert außerdem den Akteur 158 als einen Akteur, der zum Prüfen (z. B. Akzeptieren oder Ablehnen) jeglicher Änderungen autorisiert ist, die am Datenobjekt 152 (z. B. durch einen der Akteure 156) vorgenommen wurden. Auf diese Weise wird der Workflow zum Vornehmen von Änderungen am Datenobjekt 152 zum Teil durch autorisierte Akteure für Datenobjekte (153 und 154) definiert, die mit dem Datenobjekt 152 in der Hierarchie 150 in Beziehung stehen. Wie aus dem Beispiel ersichtlich ist, können Akteure für verschiedene Aufgaben im gleichen Workflow eines Datenobjekts von verschiedenen Vorgängerobjekten des Datenobjekts geerbt werden.
  • Das Vererbungskonzept, das in 1D, 1E, 1F und 1G veranschaulicht ist, ist sehr leistungsfähig, da ein Datenverarbeitungssystem Tausende oder Millionen von Datenobjekten verwalten kann, und es nicht möglich ist, autorisierte Akteure auf einer Pro-Datenobjekt-Ebene manuell zu spezifizieren. Andererseits werden Datenobjekte, die von einem Datenverarbeitungssystem verwaltet werden, in vielen praktischen Anwendungen (z. B. der Bereitstellung eines Geschäftsbegriffs für eine Finanzdienstleistungsgesellschaft, Data-Govemance-Anwendungen usw.) hierarchisch zueinander in Beziehung gesetzt. Das von den Erfindern entwickelte Workflow-Verwaltungssystem kann solche hierarchischen Beziehungen nutzen, um Akteure, die zum Durchführen verschiedener Workflow-Aufgaben autorisiert sind, wirksam und dynamisch zu identifizieren.
  • Es versteht sich, dass diese Art von Funktionalität unter Verwendung von herkömmlichen Workflow-Verwaltungssystemen, die nicht in das Datenverarbeitungssystem integriert sind, für dessen Datenobjekte sie Workflows verwalten, nicht implementiert werden kann. Solch ein herkömmliches Workflow-Verwaltungssystem hätte keinen Zugriff auf Metadaten, die Beziehungen zwischen den Datenobjekten spezifizieren, oder selbst wenn ihm dieser Zugriff irgendwie geboten würde, könnten solche Informationen zwischen einem herkömmlichen Workflow-Verwaltungssystem und dem Datenverarbeitungssystem unmöglich synchron gehalten werden.
  • Wie hierin beschrieben, können andere Arten von Beziehungen zwischen Datenobjekten zum Identifizieren von Akteuren genutzt werden, die zum Durchführen verschiedener Workflow-Aufgaben autorisiert sind. Zum Beispiel veranschaulichen 1H bis 1I ein Beispiel zum Identifizieren eines Akteurs, der zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisiert ist, unter Verwendung von Informationen über eine Gruppe von Datenobjekten, zu welcher das Datenobjekt gehört, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie.
  • 1H veranschaulicht, dass ein Datenverarbeitungssystem mehrere Datenobjekte, darunter ein Datenobjekt 172, umfassen kann, die sich einen gemeinsamen Wert („Vertraulich“ in diesem Beispiel) für das Vertraulichkeitsklassifizierungsattribut teilen. Die Datenobjekte mit einem gemeinsamen Wert für ein spezifiziertes Attribut bilden eine Gruppe 170, mit welcher ein Satz von Akteuren 176 (Rob und Diane) assoziiert ist. In diesem Beispiel können die Akteure 176 zum Prüfen von Änderungen autorisiert sein, die an einem Datenobjekt in der Gruppe 170 vorgenommen werden. Zum Identifizieren eines autorisierten Prüfers für Änderungen, die am Datenobjekt 172 vorgeschlagen werden, kann ein Workflow-Verwaltungssystem (z. B. das WMS 130): (1) den aktuellen Wert seines Vertraulichkeitsklassifizierungsattributs durch Zugreifen auf den aktuellen Wert im Datenspeicher 140 bestimmen; (2) die Gruppe 170 als eine Gruppe identifizieren, zu welcher das Datenobjekt 170 gehört; und (3) Akteuren 176 identifizieren, die zum Prüfen von Änderungen für das Datenobjekt 172 autorisiert sind, wie in 11 dargestellt, da diese Akteure zum Prüfen von Änderungen für Datenobjekte in der Gruppe 170 autorisiert sind.
  • Veranschaulichendes Verfahren
  • 2 ist ein Flussdiagramm eines veranschaulichenden Prozesses 200 zur Verwaltung eines Workflows für ein Datenobjekt unter Verwendung einer endlichen Zustandsmaschine gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Der Prozess 200 kann durch ein geeignetes Datenverarbeitungssystem ausgeführt werden, und er kann zum Beispiel durch das Datenverarbeitungssystem 120 ausgeführt werden, das unter Bezugnahme auf 1B und 1C beschrieben wurde.
  • Der Prozess 200 beginnt bei Vorgang 202, wobei eine endliche Zustandsmaschine zum Verwalten eines Workflows für ein erstes Datenobjekt instanziiert wird. In einigen Ausführungsformen kann die FSM instanziiert werden durch: (1) Abrufen einer Spezifikation für die FSM; (2) Erzeugen einer Instanz der FSM unter Verwendung der abgerufenen Spezifikation; und (3) Assoziieren der erzeugten Instanz der FSM mit dem ersten Datenobjekt.
  • In einigen Ausführungsformen kann die Spezifikation für die FSM eine der FSM-Spezifikationen 132 und in der Datenschicht 140 oder in einem anderen computerlesbaren Speichermedium (z. B. einem Arbeitsspeicher) gespeichert sein, auf welches das Workflow-Verwaltungssystem 130 zugreifen kann. Die FSM-Spezifikation kann in jedem geeigneten Format (z. B. eine Tabelle, eine Textdatei, eine strukturierte Datendatei, eine XML-Datei usw.) sein, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • In einigen Ausführungsformen kann die Spezifikation die Zustände der FSM und die Übergänge der FSM spezifizieren. In einigen Ausführungsformen kann die Spezifikation eine oder mehrere Eigenschaften für jeden der Zustände (z. B. ob der Zustand ein Startzustand, ein Ruhezustand, ein Endzustand ist, Informationen, die spezifizieren, wie eine grafische Darstellung des Zustands wiedergegeben werden soll usw.) und/oder der Übergänge der FSM (z. B. Art des Übergangs, Informationen, die einen oder mehrere Akteure identifizieren, die eine Aktion im Workflow durchführen dürfen, der durch den Übergang dargestellt wird, usw.) spezifizieren.
  • Eine Instanz einer endlichen Zustandsmaschine kann aus der FSM-Spezifikation auf jede geeignete Weise erzeugt werden, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind. Zum Beispiel können eine oder mehrere Variablen und/oder ein oder mehrere Objekte, welche die endliche Zustandsmaschine darstellen, unter Verwendung der Informationen in der abgerufenen Spezifikation instanziiert werden. Die FSM-Instanz kann auf jede geeignete Weise mit dem ersten Datenobjekt assoziiert werden, da Aspekte der hierin beschriebenen Technologie in dieser Hinsicht nicht beschränkt sind.
  • Als Nächstes wird bei Vorgang 204 der aktuelle Zustand der FSM bestimmt. Dies kann auf jede geeignete Weise geschehen, zum Beispiel durch Prüfen des Wertes einer Variablen, der den aktuellen Zustand angibt. Bei Instanziierung tritt die endliche Zustandsmaschine in einen Startzustand ein. Das heißt, der aktuelle Zustand der endlichen Zustandsmaschine ist sein Startzustand (oder ein Zustand, in welchen die FSM automatisch ohne Benutzereingabe aus ihrem Startzustand übergeht, wie dies bei Importen der Fall sein kann). Nach dem Durchführen einer oder mehrerer Aktionen kann der Zustand der endlichen Zustandsmaschine aktualisiert werden, um einen neuen Zustand widerzuspiegeln, wie zum Beispiel nachstehend unter Bezugnahme auf Vorgang 214 beschrieben wird.
  • Als Nächstes wird bei Vorgang 206 ein Akteur identifiziert, der zum Durchführen einer Workflow-Aufgabe für das erste Datenobjekt autorisiert ist. In einigen Ausführungsformen kann die Workflow-Aufgabe mit einer Aktion assoziiert sein, die aus der aktuellen Workflow-Aufgabe genommen werden kann, die bei Vorgang 204 identifiziert wurde.
    In einigen Ausführungsformen kann der Akteur unter Verwendung des aktuellen Wertes eines Attributs des ersten Datenobjekts identifiziert werden. Zum Beispiel wird in der veranschaulichten Ausführungsform von 2 ein Akteur identifiziert durch: (1) Bestimmen des aktuellen Wertes des Attributs des Datenobjekts bei Vorgang 206a durch Zugreifen auf den aktuellen Wert des Attributs im Datenverarbeitungssystem 120 (z. B. in der Datenschicht 140); (2) Zugreifen Metadaten (z. B. die Metadaten 144) bei Vorgang 206b, die Beziehungen zwischen Datenobjekten im Datenverarbeitungssystem 120 spezifizieren; und (3) Identifizieren eines Akteurs zum Durchführen der Workflow-Aufgabe bei Vorgang 206c sowohl unter Verwendung: (a) des aktuellen Wertes (anstelle irgendeiner vorher zwischengespeicherten Version) des Attributs des Datenobjekts, wie bei Vorgang 206a bestimmt; als auch (b) der Metadaten, auf die bei Vorgang 206b zugegriffen wurde.
  • Als ein Beispiel kann der aktuelle Wert des Attributs des ersten Datenobjekts eine spezifische Hierarchie von Datenobjekten angeben, zu welcher das erste Datenobjekt gehört. Die Metadaten können ein oder mehrere andere Datenobjekte in dieser Hierarchie spezifizieren, und der zum Durchführen einer Workflow-Aufgabe autorisierte Akteur kann als ein Akteur identifiziert werden, der bereits zum Durchführen der gleichen Workflow-Aufgabe für ein zweites Datenobjekt in der Hierarchie autorisiert ist, das mit dem ersten Datenobjekt (z. B. als ein Vorgängerobjekt, ein Nachfolgerobjekt oder ein gleichgeordnetes Objekt des ersten Datenobjekts) in Beziehung steht.
  • Als ein anderes Beispiel kann der aktuelle Wert des Attributs des ersten Datenobjekts eine Gruppe von Objekten angeben, zu welcher das erste Datenobjekt gehört (z. B. eine Gruppe von Objekten, die sich einen gemeinsamen Wert für ein spezifisches Attribut teilen). Die Metadaten können einen Akteur spezifizieren, der zum Durchführen einer Workflow-Aufgabe für ein beliebiges Objekt innerhalb der Gruppe autorisiert ist, und der zum Durchführen der Workflow-Aufgabe für das erste Datenobjekt autorisierte Akteur kann als der Akteur identifiziert werden, der zum Durchführen der Workflow-Aufgabe für die Gruppe autorisiert ist. Beispiele für solche Attribute umfassen, ohne darauf beschränkt zu sein, Klassifizierungsattribute (z. B. eine Governance-Gruppenklassifizierung, eine Vertraulichkeitsklassifizierung, eine Personenbezogene-Informationen-Klassifizierung usw.), deren Wert eine Klassifizierung für das Datenobjekt angibt, und der Akteur kann basierend auf dem Wert des Klassifizierungsattributs identifiziert werden.
  • Als Nächstes geht der Prozess 200 zu Vorgang 208 über, wobei eine grafische Benutzerschnittstelle erzeugt wird, damit der bei Vorgang 206 identifizierte Akteur eine Eingabe durch die GUI bereitstellen kann, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll. Zum Beispiel kann Vorgang 208 unter Bezugnahme auf die veranschaulichende FSM von 3A, wenn der aktuelle Workflow-Zustand für ein Datenobjekt der Entwurfszustand 304 ist, ein Erzeugen einer GUI umfassen, durch welche der bei Vorgang 206 identifizierte Akteur eine Eingabe bereitstellen kann, die angibt, dass die Änderungen am ersten Datenobjekt eingereicht werden sollen. Die erzeugte GUI kann dem Akteur präsentiert werden, nachdem der Akteur sich beim Datenverarbeitungssystem 120 angemeldet hat.
  • Als Nächstes kann der Akteur bei Vorgang 210 mittels der bei Vorgang 208 erzeugten GUI eine Eingabe bereitstellen, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll. Zum Beispiel kann der Akteur eine Eingabe, dass Änderungen an einem Datenobjekt eingereicht werden sollen, durch Anklicken einer Schaltfläche „Einreichen“ auf einer GUI bereitstellen, die dem Akteur durch das Datenverarbeitungssystem präsentiert wird,.
  • In Reaktion auf ein Empfangen der Eingabe, dass die erste Workflow-Aufgabe durchgeführt werden soll, führt das Datenverarbeitungssystem die erste Workflow-Aufgabe für das erste Datenobjekt bei Vorgang 212 durch, und der aktuelle Workflow-Zustand der FSM für das erste Datenobjekt wird bei Vorgang 214 auf einen zweiten Workflow-Zustand aktualisiert. Zum Beispiel kann das Datenverarbeitungssystem in Reaktion auf ein Empfangen einer Eingabe bei Vorgang 210, die angibt, dass Änderungen am ersten Datenobjekt eingereicht werden sollen, den aktuellen Zustand der FSM vom Zustand „Entwurf“ 304 auf den Zustand „Genehmigung anstehend“ 306 aktualisieren. Nach der Durchführung von Vorgang 214 kehrt der Prozess 200 zu Vorgang 204 zurück.
  • Es versteht sich, dass der Prozess 200 veranschaulichend ist und dass es Varianten gibt. Zum Beispiel können Akteure, die zum Durchführen von Aktionen autorisiert sind, die einer oder mehreren Workflow-Aufgaben entsprechen, vor Beginn des Prozesses 200 identifiziert werden, da ein oder mehrere Attribute eines oder mehrerer Datenobjekte bekannt sein können. Wenn andererseits ein oder mehrere Datenobjekt-Attributwerte sich während der Ausführung des Prozesses 200 ändern, können Akteure, die zum Durchführen von Aktionen in Bezug auf das Datenobjekt autorisiert sind, während der Ausführung des Prozesses 200 identifiziert werden.
  • Verwalten von Workflows unter Verwendung von endlichen Zustandsmaschinen
  • 3A ist eine schematische Darstellung, die Zustände und Übergänge einer veranschaulichenden endlichen Zustandsmaschine 300 für einen Workflow zum Verwalten von Änderungen an einem Datenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt. Zum Beispiel kann die FSM 300 zum Verwalten von Änderungen einem Geschäftsbegriffsdatenobjekt verwendet werden, wofür hierin Beispiele bereitgestellt werden. Als ein anderes Beispiel kann die FSM 300 zum Verwalten von Änderungen an einem Dokument (z. B. einem Artikel, einer Textdatei, einem Blogbeitrag usw.) verwendet werden. In einigen Ausführungsformen kann die Spezifikation für die FSM 300 eine des FSM-Spezifikationsspeichers 132 sein, und die FSM 300 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden.
  • Wie in 3A dargestellt, umfasst die endliche Zustandsmaschine 300 fünf Workflow-Zustände: den Startzustand 302, den Entwurfszustand 304, den Genehmigung-anstehend-Zustand 306, den Veröffentlicht-Zustand 308 und den Abgebrochen-Zustand 310. Die FSM 300 umfasst Zustandsübergänge, welche die Art und Weise, wie ein von der FSM 300 gesteuerter Workflow sich von einem Workflow-Zustand in einen anderen wechselt, und die als Ergebnis stattfindenden Operationen (z. B. Einreichen, Abbrechen, Genehmigen usw.) kontrollieren. In der veranschaulichenden Ausführungsform von 3A gibt es zwei Bearbeitungsübergänge (einen Bearbeitungsübergang 312 vom Startzustand 302 zum Entwurfszustand 304 und einen Bearbeitungsübergang 314 vom Entwurfszustand 304 zu sich selbst), zwei Akteur-Aktionsübergänge (den Einreichen-Übergang 316 von Zustand 304 zu Zustand 306 und den Verwerfen-Übergang 320 von Zustand 304 zu 310) und zwei Entscheidungsübergänge (den Genehmigungsübergang 318 von Zustand 306 zu Zustand 308 und den Ablehnungsübergang 322 von Zustand 306 zu Zustand 304).
  • Wenn zum Beispiel ein Dokument durch einen Akteur erstellt wird, kann eine Instanz der endlichen Zustandsmaschine 300 für einen Workflow zum Verwalten von Änderungen am Dokument erzeugt werden. Der aktuelle Zustand der FSM 300 kann auf den Startzustand 302 initialisiert werden. Nachdem ein Akteur die Vornahme von Änderungen am Dokument abgeschlossen hat, kann der aktuelle Workflow-Zustand vom Startzustand 302 auf den Entwurfs-Workflow-Zustand 304 aktualisiert werden. Wenn der aktuelle Workflow-Zustand der Zustand 304 ist, und der Akteur das Dokument bearbeitet, kann der aktuelle Workflow-Zustand als der Entwurfszustand 304 bestehen bleiben. Wenn der aktuelle Workflow-Zustand der Zustand 304 ist, kann der Akteur das Dokument zur Genehmigung einreichen, in welchem Fall der aktuelle Workflow-Zustand so aktualisiert würde, dass er der Genehmigung-anstehend-Zustand 306 wäre, oder das Dokument verwerfen, in welchem Fall der aktuelle Workflow-Zustand auf den Abgebrochen-Zustand 310 aktualisiert würde. Wenn der aktuelle Zustand der FSM für das Dokument der Genehmigung-anstehend-Zustand 308 ist, kann ein Genehmiger (oder eine Zusammenstellung von Genehmigern, die gemäß einem Abstimmungsschema arbeitet, wofür hierin Beispiele beschrieben werden) entweder: (1) die Änderung an dem vom Akteur eingereichten Dokument ablehnen, in welchem Fall der aktuelle Zustand der FSM auf den Entwurfszustand 304 aktualisiert würde; oder (2) die Änderung an dem vom Akteur eingereichten Dokument genehmigen, in welchem Fall der aktuelle Zustand der FSM auf den Veröffentlicht-Zustand 310 aktualisiert würde.
  • Wie aus der vorstehenden Beschreibung zu erkennen ist, können verschiedene Akteure zum Durchführen verschiedener Typen von Aktionen in Bezug auf ein Datenobjekt autorisiert sein. Zum Beispiel kann in Bezug auf die FSM 300 ein Akteur zum Erstellen eines Datenobjekts, Durchführen von Bearbeitungen des Datenobjekts, Verwerfen der Bearbeitungen des Datenobjekts und/oder Einreichen der Bearbeitungen zur Genehmigung autorisiert sein. Andererseits können ein oder mehrere verschiedene Akteure zum Genehmigen oder Ablehnen der Bearbeitungen des Datenobjekts autorisiert sein.
  • Demgemäß kann in einigen Ausführungsformen ein erster Satz eines oder mehrerer Akteure zum Durchführen einer oder mehrerer Workflow-Aufgaben, die einem Workflow-Zustand entsprechen, autorisiert sein (z. B. kann eine Person A zum Bearbeiten, Einreichen einer Bearbeitung oder Verwerfen einer Bearbeitung des Dokuments autorisiert sein, wenn der aktuelle Workflow-Zustand der Entwurfszustand 304 ist), und ein zweiter Satz eines oder mehrerer Akteure kann zum Durchführen einer oder mehrerer Workflow-Aufgaben, die einem anderen Workflow-Zustand entsprechen, autorisiert sein (z. B. kann eine Person B zum Genehmigen oder Ablehnen einer Bearbeitung des Dokuments autorisiert sein, wenn der aktuelle Workflow der Genehmigung-anstehend-Zustand 306 ist).
  • In einigen Ausführungsformen sind differenziertere Berechtigungen möglich. Zum Beispiel kann in einigen Ausführungsformen jeder Übergang aus einem FSM-Zustand mit einem oder mehreren jeweiligen autorisierten Akteuren assoziiert sein. Zum Beispiel können die Genehmigungs- und Ablehnungsübergänge mit demselben autorisierten Akteur (z. B. kann ein einziger Prüfer die Änderung entweder genehmigen oder ablehnen) oder verschiedenen autorisierten Akteuren assoziiert sein (z. B. kann ein Prüfer zum einseitigen Ablehnen einer Änderung, aber nicht zum Genehmigen derselben autorisiert sein, da Genehmigung von mehreren Prüfern erforderlich sein kann). Techniken zum Identifizieren von Akteuren zur Assoziierung mit einem oder mehreren Zustandsübergängen werden hierin beschrieben.
  • In einigen Ausführungsformen kann der aktuelle Workflow-Zustand der endlichen Zustandsmaschine 300 zum Erzeugen einer Benutzerschnittstelle verwendet werden, durch welche ein Akteur eine oder mehrere Workflow-Aufgaben durchführen kann. Die Benutzerschnittstelle kann in Reaktion darauf, dass die FSM in den Workflow-Zustand eintritt, aus welchem die Aufgabe durchgeführt werden kann, oder nachdem die FSM in den Workflow-Zustand eingetreten ist und ein oder mehrere andere Ereignisse eingetreten sind, wie beispielsweise dass der Akteur sich beim System anmeldet und eine Darstellung jeglicher anstehender Workflow-Aufgaben anfordert, erzeugt werden.
  • Wenn zum Beispiel der aktuelle Workflow-Zustand für ein Dokument der Bearbeitungszustand 304 ist, kann ein Akteur (z. B. „Abby A. Williams“) zum Einreichen von Änderungen zur Genehmigung oder Verwerfung der Änderungen autorisiert sein. Demnach ist in diesem Beispiel der Akteur zum Durchführen von Aktionen autorisiert, die den Übergängen 316 und 320 der FSM 300 assoziiert sind, und diese Information kann durch das Datenverarbeitungssystem (z. B. das GUI-Erzeugungsmodul 134 des Datenverarbeitungssystems 120) zum Erzeugen einer grafischen Benutzerschnittstelle verwendet werden, durch welche der Akteur diese autorisierten Aktionen durchführen kann. Ein veranschaulichendes Beispiel solch einer Benutzerschnittstelle ist in 3C dargestellt, die eine grafische Benutzerschnittstelle 380 darstellt, die für den Akteur 382 (Abby A. Williams in diesem Beispiel) erzeugt und präsentiert wird.
  • Wie in 3C dargestellt, zeigt die GUI 380 eine Liste von Aufgaben 384, die der Akteur 382 für verschiedene Datenobjekte durchführen kann. Zum Beispiel zeigt die GUI 380, dass der Akteur 382 Änderungen für das Datenobjekt „Buchbilanz“ 386 einreichen oder verwerfen kann, und sie befähigt den Akteur 382 dazu mittels Schaltflächen 387. Einzelheiten der Änderungen, die eingereicht oder verworfen werden können, sind im Bereich 388 dargestellt. Aktionen, die von anderen Akteuren in Bezug auf dieses oder verwandte Objekte durchgeführt werden, sind in Bereich 389 dargestellt.
  • Ein anderes Beispiel ist in 3D dargestellt, die eine veranschaulichende grafische Benutzerschnittstelle 390 darstellt, die für einen Akteur 392 („Lisa D. Cadotte“ in diesem Beispiel) erzeugt wird, wenn die FSM 300 im Genehmigung-anstehend-Zustand 306 ist, was unter Verwendung des GUI-Elements 396 dargestellt ist. Die GUI 390 erlaubt dem Akteur 392, die Änderungen unter Verwendung Abstimmungsschaltflächen 394 zu genehmigen oder abzulehnen.
  • Es ist versteht sich, dass in einigen Ausführungsformen eine Instanz der FSM 300 zum Verarbeiten eines Workflows für jedes Datenobjekt erzeugt würde. Es würde nicht nur einzige Instanz der FSM 300 verwendet werden, um Änderungen an mehreren Datenobjekten (z. B. mehreren Dokumenten) zu verfolgen, stattdessen würden mehrere Instanzen der FSM 300 dafür verwendet werden, und ein Datenverarbeitungssystem (z. B. das System 120) würde solche Instanzen (z. B. unter Verwendung der Workflow-Ausführungsmaschine 130) verwalten. In einigen Ausführungsformen kann jedoch eine FSM zum Verwalten eines Workflows für mehrere Datenobjekte verwendet werden, zum Beispiel in einem Fall des Verwaltens des Prozesses zum Importieren mehrerer Datenobjekte in das Datenverarbeitungssystem, wie hierin u. a. unter Bezugnahme auf 6A und 6B beschrieben.
  • Ein anderes Beispiel einer endlichen Zustandsmaschine zum Verwalten eines Workflows für ein Datenobjekt ist in 3B dargestellt, die eine schematische Darstellung von Zuständen und Übergängen der endlichen Zustandsmaschine 350 für einen Problemverwaltungs-Workflow gemäß einigen Ausführungsformen der hierin beschriebenen Technologie darstellt, Eine FSM 350 kann zum Verwalten von Workflow-Aufgaben in Bezug auf ein Problem verwendet werden, das durch ein Problem-Datenobjekt dargestellt sein kann, wofür hierin Beispiele bereitgestellt werden. In einigen Ausführungsformen kann die Spezifikation für die FSM 350 im FSM-Spezifikationsspeicher 132 gespeichert sein, und die FSM 350 kann unter Verwendung der Workflow-Ausführungsmaschine 130 instanziiert werden.
  • Wie in 3B dargestellt, umfasst die endliche Zustandsmaschine 350 sechs Workflow-Zustände: den Startzustand 352, den Offen-Zustand 354, den In-Bearbeitung-Zustand 356, Verifizierung-anstehend-Zustand 358, den Gelöst-Zustand 360 und den Gelöscht-Zustand 362. Die FSM 350 umfasst Zustandsübergänge, welche die Art und Weise, wie ein von der FSM 350 gesteuerter Problemlösungs-Workflow sich von einem Workflow-Zustand in einen anderen wechselt, und die als Ergebnis stattfindenden Operationen (z. B. Einreichen, Löschen) kontrollieren. In der veranschaulichenden Ausführungsform von 3B umfasst die FSM 350 einen Übergang 364 von Zustand 352 zu Zustand 354, einen Übergang 365 von Zustand 354 zu sich selbst, einen Übergang 366 von Zustand 354 zu Zustand 356, einen Übergang 367 von Zustand 356 zu sich selbst, einen Übergang 368 von Zustand 356 zu Zustand 358, einen Übergang 370 von Zustand 358 zu Zustand 360, einen Übergang 372 von Zustand 358 zu Zustand 356 und einen Übergang 374 von Zustand 356 zu Zustand 362.
  • Im veranschaulichten Beispiel von 3B werden für Zustandsübergänge, die mit der Beschriftung „Einreichen und Genehmigen“ gekennzeichnet sind, Änderungen, die mit solchen Übergängen (z. B. Bearbeitungen, Löschungen) assoziiert sind, ohne weitere Genehmigung automatisch vorgenommen. Zum Beispiel werden Bearbeitungen, die am Problem-Datenobjekt durchgeführt werden, während die FSM 350 im Zustand 354 ist, automatisch durchgeführt, und das Datenverarbeitungssystem führt die Änderungen unverzüglich aus.
  • Als ein veranschaulichendes Beispiel dafür, wie die FSM 350 verwendet werden kann, kann eine Instanz der FSM für ein Problem-Datenobjekt bei seiner Erstellung erzeugt werden, und der aktuelle Workflow-Zustand wechselt vom Startzustand 352 in den Zustand 354. Zum Beispiel kann das Problem-Datenobjekt angeben, dass ein Fehler im Inhalt eines anderen Datenobjekts (z. B. eines Dokuments, eines Geschäftsbegriffsdatenobjekts, einer Kontonummer eines Akteurs, einer Adresse usw.) vorliegt. Wenn der Akteur, welcher der Behandlung des Problems zugeordnet ist, „In Bearbeitung“ durch eine entsprechende Benutzerschnittstelle anklickt (um dadurch anzugeben, dass der Akteur mit der Behebung des Problems beginnt), wechselt der aktuelle Workflow-Zustand vom Offen-Zustand 354 in den In-Bearbeitung-Zustand 356, an welcher Stelle der Akteur verschiedene Aktionen durchführen kann, wie beispielsweise Bearbeiten des Problem-Datenobjekts (der aktuelle Workflow-Zustand würde sich nicht ändern), Löschen des Problem-Datenobjekts (der aktuelle Workflow-Zustand würde in den Zustand 362 übergehen, und die Instanz des Workflows würde enden) oder Einreichen des Problem-Datenobjekts zu seiner Verifizierung (der aktuelle Workflow-Zustand würde zum Zustand 358 übergehen und in diesem Zustand bleiben, bis eine Entscheidung gefällt wird). Ein oder mehrere andere Akteure können das Problem-Datenobjekt prüfen und bestimmen, ob das Problem gelöst wurde (z. B. durch Bestimmen, dass ein Fehler im Inhalt des anderen Datenobjekts behoben wurde). In diesem Fall basiert die Genehmigungsentscheidung darauf, ob das zugrundeliegende Problem gelöst wurde, und nicht darauf, ob Bearbeitungen am tatsächlichen Problem-Datenobjekt durchgeführt wurden. Wenn das Problem abgelehnt wird (da z. B. zusätzliche Schritte zur Behebung des Problems benötigt werden, indem zum Beispiel weitere Bearbeitungen an einem Dokument durchgeführt werden), geht der aktuelle Workflow-Zustand zum Zustand 356 über, in dem das Problem-Datenobjekt bearbeitet, erneut eingereicht oder gelöscht werden kann. Wenn das Problem genehmigt würde, ginge der aktuelle Workflow-Zustand zum Zustand 360 über, und die aktuelle Workflow-Instanz würde enden.
  • Ein anderes Beispiel einer endlichen Zustandsmaschine 400 zum Verwalten eines Workflows zum Vornehmen von Änderungen an einem Geschäftsbegriffsdatenobjekt (BTDO - Business Term Data Object) wird in 4A bis 4D bereitgestellt. Die gesamte endliche Zustandsmaschine 400 ist in 4A dargestellt, während verschiedene Teile in 4B bis 4D veranschaulicht sind. In einigen Ausführungsformen kann die Spezifikation für die FSM 400 eine des FSM-Spezifikationsspeichers 132 sein, und die FSM 400 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden.
  • Wie in 4A dargestellt, umfasst die Zustandsmaschine 400 zehn Workflow-Zustände: den Startzustand 401, den Entwurfszustand 402, den Entwurfsgenehmigung-anstehend-Zustand 404, den Veröffentlicht-Zustand 406, den Löschung-anstehend-Zustand 408, den Löschgenehmigung-anstehend-Zustand 410, den Löschen-Zustand 412, den Importiert-Zustand 414, den Genehmigung-anstehend-Zustand 416 und den Änderung-anstehend-Zustand 418.
  • Als ein veranschaulichendes Beispiel dafür, wie die FSM 400 verwendet werden kann, kann eine Instanz der FSM 400 für ein Geschäftsbegriffsdatenobjekt bei seiner Erstellung erzeugt werden, um einen neuen Geschäftsbegriff zu erfassen, der vorgeschlagen wird, und der aktuelle Workflow-Zustand wechselt vom Startzustand 401 in den Entwurfszustand 402.
  • Wie in 4B dargestellt, kann ein autorisierter Akteur, wenn der aktuelle Workflow-Zustand der Zustand 402 ist, entweder: (1) das BTDO löschen (die Löschung würde ohne Genehmigung automatisch ausgeführt), in welchem Fall der Workflow zum Gelöscht-Zustand 412 übergehen und der Workflow enden würde (was zum Beispiel ein Löschen der zum Verwalten des Workflows verwendeten Instanz der FSM 400 umfassen kann); (2) das BTDO bearbeiten, in welchem Fall der aktuelle Workflow-Zustand der Zustand 402 (Da ein Übergang vom Entwurfszustand 402 zu sich selbst erfolgt, bleibt das BTDO bearbeitbar, solange die FSM 400 im Entwurfszustand 402 ist. Ohne diesen Übergang würde das BTDO nach seiner Ersterstellung nicht für zusätzliche Änderungen offen sein.) bleibt; oder (3) das BTDO zu seiner Prüfung einreichen, in welchem Fall der Workflow zum Entwurfsgenehmigung-anstehend-Zustand 404 übergehen würde.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Zustand 404 ist, kann der aktuelle Workflow-Zustand zum Zustand 402 zurückkehren, wenn das vorgeschlagene Geschäftsbegriffsdatenobjekt abgelehnt wird (z. B, durch einen autorisierten Prüfer) oder das vorgeschlagene BTDO vom Akteur, der es für seine Prüfung eingereicht hat, zurückgezogen wird. Andererseits kann, wenn der aktuelle Workflow-Zustand der Zustand 404 ist, der aktuelle Workflow-Zustand zum Veröffentlicht-Zustand 406 übergehen, wenn das vorgeschlagene BTDO genehmigt wird (z. B. durch einen autorisierten Prüfer).
  • Es ist zu erwähnen, dass die FSM 400 zwei verschiedene systemdefinierte Workflow-Zustände - den Startzustand 401 und den Importiert-Zustand 414 - umfasst. Der Startzustand 401 wird verwendet, wenn ein neuer Geschäftsbegriff erstellt wird. Wenn dagegen ein oder mehrere Objekte (die früher erstellt wurden) durch das Datenverarbeitungssystem von einer oder mehreren externen Quellen (z. B. einem oder mehreren externen Systemen, Datenbanken, Datenspeichern usw.) importiert werden, ist der Anfangszustand der Import-Zustand 414, und bei Abschluss des Imports geht der aktuelle Workflow-Zustand der FSM 400 zum Veröffentlicht-Zustand 406 weiter. In einigen Ausführungsformen können die mehreren Objekte als ein Batch importiert werden, und der gesamte Import kann als „Batch-Verarbeitung“ bezeichnet werden.
  • Wie in 4C dargestellt, wird, wenn der aktuelle Workflow-Zustand der Veröffentlicht-Zustand 406 ist, und ein autorisierter Akteur das BTDO bearbeitet, eine neue Version des BTDOs erstellt, und der aktuelle Workflow-Zustand geht in den Änderung-anstehend-Zustand 418 über. Wenn der aktuelle Workflow-Zustand der Zustand 418 ist, kehrt der aktuelle Workflow-Zustand zum Veröffentlicht-Zustand 406 zurück, wenn der autorisierte Akteur, der die Bearbeitung zur Genehmigung einreichte, die Bearbeitung verwirft. Wenn der aktuelle Workflow-Zustand der Zustand 418 ist, geht der aktuelle Workflow-Zustand zum Genehmigung-anstehend-Zustand 416 über, wenn ein autorisierter Akteur die Änderung zur Genehmigung einreicht.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Genehmigung-anstehend-Zustand 416 ist, kann (können) ein autorisierter Akteur (oder mehrere Akteure) die vorgeschlagene Bearbeitung genehmigen, in welchem Fall der aktuelle Workflow-Zustand zum Veröffentlicht-Zustand 406 übergeht, oder die vorgeschlagene Bearbeitung ablehnen, in welchem Fall der aktuelle Workflow-Zustand zum Änderung-anstehend-Zustand 418 zurückkehrt.
  • Wie in 4D dargestellt, geht der aktuelle Workflow-Zustand zum Löschung-anstehend-Zustand 408 über, wenn der aktuelle Workflow-Zustand der Veröffentlicht-Zustand 406 ist, und ein autorisierter Akteur das Geschäftsbegriffsdatenobjekt löscht. Wenn der aktuelle Workflow-Zustand der Zustand 408 ist, kehrt der aktuelle Workflow-Zustand zum Veröffentlicht-Zustand zurück, wenn der autorisierte Akteur, der das BTDO löschte, die Löschung verwirft. Wenn dagegen der Akteur die Löschungsanforderung zur Genehmigung einreicht, wechselt der aktuelle Workflow-Zustand zum Löschgenehmigung-anstehend-Zustand 410.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Löschgenehmigung-anstehend-Zustand 410 ist, kann ein autorisierter Prüfer die Löschung des BTDOs ablehnen, in welchem Fall der aktuelle Workflow in den Löschung-anstehend-Zustand 408 übergeht, oder die Löschung genehmigen, in welchem Fall das BTDO gelöscht wird, und der aktuelle Workflow-Zustand in den Gelöscht-Zustand 412 wechselt.
  • In dem veranschaulichten Beispiel, das vorstehend unter Bezugnahme auf 4A bis 4D beschrieben wurde, können jegliche Änderungen an einem Geschäftsbegriffsdatenobjekt miteinander gebündelt werden, so dass, wenn irgendeine Bearbeitung am BTDO durchgeführt wird, das gesamte BTDO gesperrt ist. Es werden keine zusätzlichen Änderungen zugelassen, bis der Workflow-Zustand für das BTDO entweder vom Genehmigung-anstehend-Zustand 416 (bei Genehmigung) oder dem Änderung-anstehend-Zustand 418 (bei Verwerfen der Bearbeitung) in den Veröffentlicht-Zustand 406 zurückkehrt.
  • Primäre und sekundäre endliche Zustandsmaschinen
  • Jede Ausführungsform der Erfindung kann zwei oder mehr Aufgaben an einem gemeinsamen Datenobjekt parallel durchführen. Demgemäß können eine oder mehrere weitere, sekundäre endliche Zustandsmaschinen zum Verwalten eines oder mehrerer entsprechender Workflows zum Ausführen von jeweiligen verschiedenen Aufgaben instanziiert werden. Dies ermöglicht verschiedenen Akteuren die Durchführung verschiedener Prozesse für ein gleiches Datenobjekt zur selben Zeit. Zum Beispiel kann in einigen Ausführungsformen ein Datenobjekt zwei oder mehr Attribute aufweisen, und eine FSM kann instanziiert werden, um den Workflow zum Ausführen einer Änderung an einem Attribut des Datenobjekts zu verwalten, während eine andere FSM instanziiert werden kann, um den Workflow zum Ausführen einer Änderung an einem anderen Attribut des Datenobjekts zu verwalten. Dies ermöglicht das gleichzeitige Ändern oder Bearbeiten verschiedener Attribute eines gegebenen Datenobjekts ohne Notwendigkeit zum Sperren des Datenobjekt für eine Bearbeitung durch andere Akteure während seiner Bearbeitung durch einen gegebenen Akteur. Dies reduziert den Zeitaufwand, der durch das Datenverarbeitungssystem zum Verwalten der Änderungen benötigt wird, wodurch das Datenverarbeitungssystem effizienter gemacht wird, während außerdem die Notwendigkeit zum Sperren von Datenobjekten für andere Akteure während des Änderns oder Bearbeiten eines Datenobjekts vermieden wird.
  • Das gleichzeitige Ändern oder Bearbeiten verschiedener Attribute eines gegebenen Datenobjekts kann durch Instanziieren jeder sekundären endlichen Zustandsmaschine unter Verwendung eines separaten Ausführungsthreads innerhalb der Workflow-Ausführungsmaschine 133 erreicht werden. Außerdem können die mit jedem der jeweiligen Workflows assoziierten Aufgabengleichzeitig auch parallel ausgeführt werden, indem beispielsweise ein oder mehrere getrennte Ausführungsthreads für jeden jeweiligen Workflow verwendet werden.
  • Als ein Beispiel haben die Erfinder erkannt, dass es nützlich ist, eine differenziertere Kontrolle des Genehmigungsprozesses für Bearbeitungen zu ermöglichen, wie hierin erörtert. Demgemäß können in einer oder mehreren Ausführungsformen eine oder mehrere sekundäre endliche Zustandsmaschinen zum Verwalten eines oder mehrerer entsprechender Workflows zum Ausführen von jeweiligen verschiedenen Aufgaben instanziiert werden. Zum Beispiel kann in einigen Ausführungsformen ein Datenobjekt mehrere Attribute aufweisen, und eine FSM kann instanziiert werden, um den Workflow zum Verwalten einer Änderung an einem Attribut des Datenobjekts zu verwalten, während eine andere FSM instanziiert werden kann, um den Workflow zum Verwalten einer Änderung an einem anderen Attribut des Datenobjekts zu verwalten. Dies ermöglicht es verschiedenen Akteuren, verschiedene Attribute eines Datenobjekts gleichzeitig zu bearbeiten, ohne Notwendigkeit gesperrt zu werden. Dies reduziert den Zeitaufwand, der durch das Datenverarbeitungssystem zum Verwalten der Änderungen benötigt wird, wodurch das Datenverarbeitungssystem effizienter gemacht wird.
  • Ein Beispiel dieses Ansatzes ist in 5A bis 5C veranschaulicht. 5A ist eine schematische Darstellung einer veranschaulichenden endlichen Zustandsmaschine 500 zum Verwalten von Änderungen an einem Geschäftsbegriffsdatenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie, wobei einer der Zustände der FSM 500 mit einer „untergeordneten“ oder „sekundären“ endlichen Zustandsmaschine assoziiert ist. In einigen Ausführungsformen kann die Spezifikation für die FSM 500 eine des FSM-Spezifikationsspeichers 132 sein, und die FSM 500 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden.
  • Wie aus 4A und 5A ersichtlich, ähnelt die Struktur der endlichen Zustandsmaschine 500 derjenigen der endlichen Zustandsmaschine 400. Wenn jedoch der aktuelle Workflow-Zustand im Veröffentlicht-Zustand 501 ist und eine Bearbeitung durchgeführt wird, geht die FSM 500 zu einem Änderung-anstehend-Zustand 502 über, und eine andere endliche Zustandsmaschine (z. B. FSM „A“) wird zum Verwalten des Workflows zum Genehmigen dieser spezifischen Bearbeitung instanziiert. In diesem Fall wird das Geschäftsbegriffsdatenobjekt nicht gesperrt, und es können andere Bearbeitungen durchgeführt werden. Wenn andere Bearbeitungen am BTDO durchgeführt werden, werden Workflows zur Genehmigung für diese anderen Bearbeitungen von anderen endlichen Zustandsmaschinen (z. B. FSMs „B“, „C“, „D“) verwaltet. Nach Abschluss der Workflows für alle diese Bearbeitungen (z. B. der von den vier verschiedenen FSMs - A, B, C, D - verwalteten Workflows für vier verschiedene Bearbeitungen) kehrt der aktuelle Workflow-Zustand zum Veröffentlicht-Zustand 501 zurück. In diesem Beispiel kann die endliche Zustandsmaschine 500 als „primäre“ oder „übergeordnete“ endliche Zustandsmaschine bezeichnet werden, während die endlichen Zustandsmaschinen, die erzeugt werden, um den Workflow für Bearbeitungen des Geschäftsbegriffsdatenobjekts erzeugt werden, als „sekundäre“ oder „untergeordnete“ endliche Zustandsmaschinen bezeichnet werden können.
  • In einigen Ausführungsformen ermöglichen sekundäre endliche Zustandsmaschinen, dass gleichzeitige Änderungen unabhängig voneinander verarbeitet werden - die Workflows zum Genehmigen oder Ablehnen von vorgeschlagenen Änderungen können unabhängig voneinander parallel ausgeführt werden. Wie zum Beispiel auf der GUI 510 von 5B dargestellt, können Änderungen, die an verschiedenen Attributen eines Datenobjekts vorgenommen werden, durch verschiedene sekundäre endliche Zustandsmaschinen vorgenommen werden, die in verschiedenen Zuständen sein können. Wie durch das GUI-Element 512 in 5B dargestellt, ist der aktuelle Workflow-Zustand der primären endlichen Zustandsmaschine 500 zum Verwalten des BTDO 511 mit der Bezeichnung „Behördliche Identifikationsnummer“ der Änderung-anstehend-Zustand 502. In diesem Beispiel werden Änderungen am Attribut Definition des BTDOs von einer sekundären endlichen Zustandsmaschine verwaltet, deren Workflow-Zustand im „Eingereicht“-Zustand ist, wie durch das GUI-Element 514 dargestellt, während Änderungen am Attribut „Vertraulichkeit“ von einer andere endlichen Zustandsmaschine verwaltet werden, deren Workflow-Zustand im „Offen“-Zustand ist, wie durch das GUI-Element 516 dargestellt. In diesem Beispiel gibt es drei endliche Zustandsmaschinen zum Verwalten von Änderungen am zugrundeliegenden Datenobjekt - eine primäre Zustandsmaschine und zwei sekundäre Zustandsmaschinen, wobei ihre Zustände durch die GUI-Elemente 512, 514, bzw. 516 dargestellt sind. Die beiden sekundären endlichen Zustandsmaschinen können Instanzen derselben FSM sein, die durch dieselbe FSM-Spezifikation spezifiziert sind, oder Instanzen von verschiedenen endlichen Zustandsmaschinen sein, die durch verschiedene FSM-Spezifikationen spezifiziert sind.
  • 5C stellt ein Beispiel einer veranschaulichenden sekundären endlichen Zustandsmaschine 550 zum Vornehmen von Änderungen an einem Geschäftsbegriffsdatenobjekt gemäß einigen Ausführungsformen der hierin beschriebenen Technologie dar. Ein Teil der primären Zustandsmaschine 500 ist in 5C zur Bezugnahme enthalten. In einigen Ausführungsformen kann die Spezifikation für die FSM 550 eine des FSM-Spezifikationsspeichers 132 sein, und die FSM 550 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden.
  • Wie in 5C dargestellt, umfasst die sekundäre FSM 550 fünf Workflow-Zustände: den Startzustand 552, den Offen-Zustand 554, den Eingereicht-Zustand 556, den Genehmigt-Zustand 558 und den Abgebrochen-Zustand 560. Wenn ein Attribut eines veröffentlichten Datenobjekts modifiziert wird, wechselt der aktuelle Zustand des von der primären FSM verwalteten Workflows vom Zustand 501 in den Zustand 502 und löst die Erzeugung einer Instanz der sekundären FSM 550 zum Verwalten der Lebensdauer dieser Modifikation aus. Der aktuelle Zustand des von der sekundären FSM 550 verwalteten Workflows wechselt vom Startzustand 552 in den Offen-Zustand 554. Da es einen Offen-zu-Offen-Bearbeitungsübergang (vom Zustand 554 zu sich selbst) gibt, bleibt das Attribut bearbeitbar, während der aktuelle Workflow-Zustand im Zustand 554 ist. Wenn der aktuelle Workflow-Zustand im Offen-Zustand 554 ist und ein autorisierter Akteur die Änderung verwirft, wechselt der aktuelle Workflow-Zustand in den Abgebrochen-Zustand 560. Wenn dagegen ein autorisierter Akteur die vorgeschlagene Änderung zur Genehmigung einreicht, wechselt der aktuelle Workflow-Zustand vom Offen-Zustand 554 in den Eingereicht-Zustand 556.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand im Eingereicht-Zustand 556 ist, kann der aktuelle Workflow-Zustand zum Zustand 554 zurückkehren, entweder wenn der Akteur, der die Bearbeitung einreichte, diese zurückzieht, oder wenn ein Prüfer die Bearbeitung ablehnt. Wenn dagegen die Änderung genehmigt wird, geht der aktuelle Workflow-Zustand zum Genehmigt-Zustand 558 über, und die Bearbeitung wird vom Datenverarbeitungssystem ausgeführt.
  • Wenn in einigen Ausführungsformen alle sekundären endlichen Zustandsmaschinen, die mit dem Änderung-anstehend-Zustand 502 assoziiert sind, Endzustände erreicht haben (entweder den Abgebrochen-Zustand 560 oder den Genehmig-Zustand 558), werden die Instanzen der sekundären endlichen Zustandsmaschinen gelöscht, und der aktuelle Workflow-Zustand für den Workflow, der von der primären FSM 500 verwaltet wird, kehrt zum Veröffentlicht-Zustand 501 zurück.
  • Automatisch ausgelöste Aktionen
  • In einigen Ausführungsformen kann das Datenverarbeitungssystem eine oder mehrere Aktionen in Reaktion auf ein oder mehrere Auslöseereignisse automatisch durchführen. Die Ereignisse können im Datenverarbeitungssystem (z. B. durch Programmierung, Konfigurationseinstellungen, Regeln usw.) definiert sein, und sie können zum Auslösen der Durchführung der Aktion(en) verwendet werden. Beispiele für solche Aktionen umfassen, ohne darauf beschränkt zu sein, ein Erzeugen und Senden einer Benachrichtigung (z. B. einer E-Mail-Benachrichtigung, einer SMS-Nachricht, einer MMS-Nachricht, eines Telefonanrufs oder jeder anderen geeigneten Art von Kommunikation) an einen oder mehrere Akteure und/oder eine oder mehrere Systeme (z. B. ein nachgeschaltetes System, ein externes System und/oder jedes andere System), Auslösen der Ausführung eines anderen Computerprogramms (z. B. eines Skripts) und Veranlassen eines Zustandsübergangs in einem Workflow für ein Datenobjekt.
  • Als ein spezifisches Beispiel kann ein Administrator des Datenverarbeitungssystems einen Benachrichtigungsauslöser einrichten, der veranlasst, dass eine E-Mail an die relevanten Parteien gesendet wird, wann immer jemand eine Änderung an einem Geschäftsbegriff einreicht. Als ein anderes spezifisches Beispiel kann ein Administrator des Datenverarbeitungssystems einen Auslöser einrichten, um ein Skript zum automatischen Hinzufügen von Klassifizierungen von Geschäftsbegriffen zu veranlassen, wenn sie in einen spezifischen Workflow-Zustand eintreten. Als ein anderes spezifisches Beispiel kann ein Administrator des Datenverarbeitungssystems einen Auslöser einrichten, um ein Skript zum automatischen Prüfen auf das Vorhandensein gewisser Klassifizierungen (z. B. einer Klassifizierung „Governance-Gruppe“) zu veranlassen, bevor sie in einen spezifischen Workflow-Zustand (z. B. Zustand „Entwurfsgenehmigung anstehend“) eintreten, und eine Fehlernachricht anzuzeigen, wenn keine solche Klassifizierung spezifiziert wurde.
  • Demgemäß kann in einigen Ausführungsformen ein Administrator des Datenverarbeitungssystems die Ereignisse definieren, die eine Aktion, wie beispielsweise eine Benachrichtigung (z. B. eine E-Mail), ein Skript (z. B. eine Apache Groovy-Skriptsprache) oder einen Zustandsübergang, auslösen. In einigen Ausführungsformen können die Ereignisse in Reaktion auf eine Workflow-Aktivität oder in Reaktion auf ein Empfangen einer Femanforderung (z. B. einer HTTP-Anforderung, die über einen REST-Webdienst empfangen wird) hervorgerufen werden (und dadurch die Aktion auslösen).
  • Nicht einschränkende Beispiele für Ereignisse, die eine Aktion auslösen können, umfassen: (1) wenn eine endliche Zustandsmaschine für ein Datenobjekt in einen spezifischen Workflow-Zustand eintritt (z. B. kann ein Skript zum Verifizieren von Klassifizierungen eines Geschäftsbegriffs zum Ausführen ausgelöst werden, wenn der Geschäftsbegriff in einen spezifischen Workflow-Zustand eintritt); (2) wenn die FSM für das Datenobjekt aus einem spezifischen Workflow-Zustand austritt; (3) vor dem Stattfinden eines FSM-Übergangs für einen Workflow; (4) nach dem Stattfinden eines FSM-Übergangs (z. B. kann ein Initiieren einer neuen Version eines Datenobjekts Benachrichtigungen an einen oder mehrere Genehmiger auslösen); (5) bei Initiieren einer Workflow-Entscheidung; (6) bei Lösen einer Workflow-Entscheidung; (7) wenn ein Entscheidungsteilnehmer eine Abstimmungsoption auswählt.
  • Im Kontext von Benachrichtigungen zum Beispiel ist die folgende Liste von Ereignissen eine nicht einschränkende Liste von Beispielen für Ereignisse, die eine Benachrichtigung auslösen können: (1) wenn eine Änderung von einem designierten Genehmiger genehmigt wird; (2) wenn eine Änderung durch einen Akteur mit Außerkraftsetzungsberechtigung genehmigt wird; (3) wenn ein Akteur eine Änderung an einem Datenobjekt einreicht und eine Genehmigungsentscheidung initiiert wird; (4) nachdem alle Genehmigungen für eine Änderung empfangen wurden und die Änderung im Datenspeicher gespeichert wurde; (5) wenn ein Datenobjekt in einem Zustand „Entwurf“ gelöscht wird; (6) wenn ein Datenobjekt in einem Zustand „Veröffentlicht“ zur Löschung gekennzeichnet wird; (7) wenn ein Datenobjekt in einem Zustand „Genehmigung-anstehend“ verworfen wird; (8) wenn eine anstehende Änderung verworfen wird; (9) wenn eine anstehende Änderung von einem Akteur mit Außerkraftsetzungsberechtigung verworfen wird; (10) wenn ein designierter Prüfer eine Änderung ablehnt; (11) wenn eine Änderung eingereicht wird; (12) wenn ein Benutzer eine anstehende Änderung zurückzieht; und (13) wenn eine Änderung von einem Benutzer mit Außerkraftsetzungsberechtigung zurückgezogen wird.
  • Endliche Zustandsmaschinen zum Verwalten von Importen
  • Einige Ausführungsformen stellen endliche Zustandsmaschinen zum Verwalten des Importierens mehrerer Datenobjekte in einem Batch bereit, was vorteilhaft sein kann, da während eines Imports viele (z. B. Tausende, Millionen von) Datenobjekten demselben Genehmigungsprozess unterzogen werden können. Statt verschiedene endliche Zustandsmaschinen zum Importieren jedes einzelnen Datenobjekts zu instanziieren, kann in einigen Ausführungsformen eine einzige endliche Zustandsmaschine zu diesem Zweck verwendet werden.
  • 6A veranschaulicht eine endliche Zustandsmaschine 600 zum Importieren von Hinzufügungen, Modifikationen und/oder Löschungen für mehrere Datenobjekte gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. In einigen Ausführungsformen kann die Spezifikation für die FSM 600 eine von FSM-Spezifikationen 132 sein, und die FSM 600 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden.
  • Wie in 6A dargestellt, umfasst die FSM 600 6 Workflow-Zustände: den Startzustand 602, den Bereit-Zustand 604, den Offen-Zustand 606, den Eingereicht-Zustand 608, den Genehmigt-Zustand 610 und den Abgebrochen-Zustand 612. Wenn ein Akteur einen Import von Datenobjekten unter Verwendung des Datenverarbeitungssystems initiiert, wird eine Instanz der FSM 600 erzeugt, und der aktuelle Workflow-Zustand wechselt in den Bereit-Zustand 604. Wenn der aktuelle Workflow-Zustand der Zustand 604 ist und der Import nicht abgeschlossen wird, kann der Akteur ihn abbrechen (z. B. durch Klicken auf die Schaltfläche „Verwerfen“ auf einer GUI, die dem Akteur präsentiert wird), und der aktuelle Workflow-Zustand geht zum Abgebrochen-Zustand 612 über, und der Workflow endet. Wenn dagegen der Import abgeschlossen wird, geht der aktuelle Workflow-Zustand zum Offen-Zustand 606 über.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Offen-Zustand 606 ist, kann ein autorisierter Akteur entweder die importierten Datenobjekte verwerfen, in welchem Fall der aktuelle Workflow-Zustand in den Abgebrochen-Zustand 612 wechselt und der Workflow endet, oder die importierten Datenobjekte zur Genehmigung einreichen, in welchem Fall der aktuelle Workflow-Zustand in den Eingereicht-Zustand 608 wechselt.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Eingereicht-Zustand 610 ist, kehrt der aktuelle Workflow-Zustand zum Offen-Zustand 606 zurück, wenn der Import abgelehnt wird (z. B. durch einen oder mehrere autorisierte Prüfer). Wenn der Import dagegen genehmigt wird, geht der aktuelle Workflow-Zustand zum Genehmigt-Zustand 610 über, und der Workflow endet. Wenn in einigen Ausführungsformen das Importieren von Objekten durch eine Benutzerschnittstelle verwaltet werden soll, wird dem Datenobjekt automatisch der „Importiert“-Zustand zugeordnet, und seine individuellen primären Workflows werden nach der Verbesserung des Batch-Imports fortgesetzt.
  • 6B veranschaulicht eine endliche Zustandsmaschine 650 zum bedingten Importieren von Hinzufügungen, Modifikationen und/oder Löschungen für mehrere Datenobjekte gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Die FSM 650 umfasst einen bedingten Übergang, der ein Anfordern von Genehmigung für den Import nur dann ermöglicht, wenn eine vordefinierte Bedingung erfüllt wird (z. B. ein Fehler oder eine Schwellenanzahl von Fehlern auftritt, ein oder mehrere importierte Datensätze abgelehnt werden). In einigen Ausführungsformen kann die Spezifikation für die FSM 650 eine von FSM-Spezifikationen 132 sein, und die FSM 650 kann unter Verwendung der Workflow-Ausführungsmaschine 133 instanziiert werden. Es versteht sich, dass die Fähigkeit zum Verzweigen einer endlichen Zustandsmaschine nicht auf das Verarbeiten von Import-Workflows beschränkt ist, wie dies im vorliegenden Beispiel der Fall ist, sondern in jeder endlichen Zustandsmaschine zum Verwalten eines Workflows für ein Datenobjekt gemäß Ausführungsformen der hierin beschriebenen Technologie verwendet werden kann.
  • Wie in 6B dargestellt, umfasst die FSM 650 7 Workflow-Zustände: den Startzustand 652, den Bereit-Zustand 654, den Offen-Zustand 656, den Prüfung-erforderlich-Zustand 658, den Eingereicht-Zustand 660, den Genehmigt-Zustand 662 und den Abgebrochen-Zustand 664. Wenn ein Akteur einen Import von Datenobjekten unter Verwendung des Datenverarbeitungssystems initiiert, wird eine Instanz der FSM 650 erzeugt, und der aktuelle Workflow-Zustand wechselt in den Bereit-Zustand 654. Wenn der aktuelle Workflow-Zustand der Zustand 654 ist, und der Import nicht abgeschlossen wird, kann der Akteur ihn abbrechen (z. B. durch Klicken auf die Schaltfläche „Verwerfen“ auf einer GUI, die dem Akteur präsentiert wird), und der aktuelle Workflow-Zustand geht zum Abgebrochen-Zustand 664 über, und der Workflow endet. Wenn der Import dagegen abgeschlossen wird, geht der aktuelle Workflow-Zustand zum Offen-Zustand 656 über.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Offen-Zustand 656 ist, und eine Prüfungsbedingung nicht erfüllt wird (z. B. keine Fehler im Import, keine abgelehnten Datensätze im Import usw.), geht der aktuelle Workflow-Zustand zum Genehmigt-Zustand 662 über, und der Workflow endet. Wenn dagegen eine Prüfungsbedingung erfüllt wird, geht der aktuelle Workflow-Zustand zum Prüfung-erforderlich-Zustand 658 über.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Prüfung-erforderlich-Zustand 658 ist, kann ein autorisierter Akteur entweder die importierten Datenobjekte verwerfen, in welchem Fall der aktuelle Workflow-Zustand in den Abgebrochen-Zustand 664 wechselt und der Workflow endet, oder die importierten Datenobjekte zur Genehmigung einreichen, in welchem Fall der aktuelle Workflow-Zustand in den Eingereicht-Zustand 660 wechselt.
  • Wenn in einigen Ausführungsformen der aktuelle Workflow-Zustand der Eingereicht-Zustand 660 ist, kehrt der aktuelle Workflow-Zustand zum Prüfung-erforderlich-Zustand 658 zurück, wenn der Import abgelehnt wird (z. B. durch einen oder mehrere autorisierten Prüfer). Wenn der Import dagegen genehmigt wird, geht der aktuelle Workflow-Zustand zum Genehmigt-Zustand 662 über, und der Workflow endet.
  • Identifizieren von Akteuren zum Durchführen von Workflow-Aufgaben
  • Wie hierin beschrieben, kann ein Datenverarbeitungssystem verschiedene Akteure zum Durchführen verschiedener Workflow-Aufgaben in einem Workflow für ein Datenobjekt autorisieren. Zum Beispiel können verschiedene Akteure zum Vornehmen von Änderungen an einem Datenobjekt und zum Prüfen (z. B. Genehmigen oder Ablehnen) der Änderungen autorisiert werden. Im Allgemeinen kann ein Satz eines oder mehrerer Akteure als zum Durchführen einer Workflow-Aufgabe autorisierte Akteure für jede Workflow-Aufgabe in einem Workflow identifiziert werden. Zwei verschiedene Aufgaben können mit demselben Satz eines oder mehrerer Akteure oder verschiedenen Akteuren assoziiert sein.
  • In einigen Ausführungsformen kann ein Datenverarbeitungssystem (z. B. das Datenverarbeitungssystem 120 unter Verwendung des Berechtigungen-Moduls 135) einen oder mehrere Akteure als autorisiert zum Durchführen einer Workflow-Aufgabe für jede einer oder mehrerer Workflow-Aufgaben in einem Workflow für ein Datenobjekt identifizieren. Zum Beispiel können in einigen Ausführungsformen ein oder mehrere Akteure als autorisiert zum Durchführen einer Workflow-Aufgabe für jeden eines oder mehrerer (z. B. aller) der Übergänge in einer FSM zum Verwalten eines Workflows identifiziert werden. Zum Beispiel können ein oder mehrere Akteure als autorisiert zum Durchführen einer Workflow-Aufgabe identifiziert werden, die durch einen Zustandsübergang dargestellt wird, für welchen eine Benutzereingabe erforderlich ist (der z. B. kein automatischer Übergang ist) - wie beispielsweise eine Bearbeitung oder eine Genehmigung.
  • In einigen Ausführungsformen kann die Identifikation der autorisierten Akteure durch das Datenverarbeitungssystem gespeichert und zum Ausführen einer oder mehreren Funktionen zur Förderung des Verwaltens eines Workflows verwendet werden. In einigen Ausführungsformen zum Beispiel kann das Datenverarbeitungssystem einen Akteur, der zum Durchführen einer Workflow-Aufgabe autorisiert ist (z. B. einen Prüfer, der zum Genehmigen einer Änderung an einem Datenobjekt autorisiert ist), mit einer grafischen Benutzerschnittstelle versehen, die den Akteur zum Durchführen der Workflow-Aufgabe befähigt (z. B. mit einer grafischen Benutzerschnittstelle, durch welche der Prüfer die vorgeschlagene Änderung am Datenobjekt genehmigen oder ablehnen kann). Als ein anderes Beispiel kann das Datenverarbeitungssystem in einigen Ausführungsformen einen Akteur (z. B. durch E-Mail. Textnachricht, durch ein Anwendungsprogramm und/oder jeder andere geeignete Art von Kommunikation) benachrichtigen, dass er eine oder mehrere Workflow-Aufgaben in Bezug auf einen oder mehrere Workflows durchführen soll. Als noch ein anderes Beispiel kann das Datenverarbeitungssystem in einigen Ausführungsformen einen oder mehrere Akteure (z. B. aufsichtsführende Akteure, die selbst keine der Workflow-Aufgaben durchführen) im Hinblick auf die Identität eines oder mehrerer Akteure benachrichtigen, die als autorisiert zum Durchführen einer oder mehrerer Workflow-Aufgaben identifiziert wurden (damit z. B. die aufsichtführenden Akteure sich dessen bewusst sind, wer zum Durchführen der Workflow-Aufgabe(n) autorisiert ist). Als noch ein anderes Beispiel kann das Datenverarbeitungssystem in einigen Ausführungsformen eine Benachrichtigung für ein oder mehrere Systeme (z. B. nachgeschaltete Systeme) bereitstellen, die eine Notwendigkeit, dass eine oder mehrere Aufgaben durchgeführt werden sollen, und/oder Informationen angibt, die einen oder mehrere Akteure identifizieren, die zum Durchführen der Aufgabe(n) autorisiert sind.
  • Die Erfinder haben eine Anzahl von Techniken zum Identifizieren eines oder mehrerer Akteure entwickelt, die zum Durchführen einer Workflow-Aufgabe für ein Workflow-Datenobjekt autorisiert sind. In einigen Ausführungsformen kann ein Workflow-Akteur direkt ausgewählt werden. Zum Beispiel können ein oder mehrere Akteure als autorisiert zum Durchführen einer oder mehrerer spezifischer Aktionen für ein spezifisches Datenobjekt spezifiziert werden (z. B. von einem Akteur durch eine grafische Benutzerschnittstelle). Zum Beispiel kann ein Akteur eingegeben werden, der zum Vornehmen von Änderungen an einem spezifischen Geschäftsbegriffsdatenobjekt autorisiert ist. Die Erfinder haben jedoch erkannt, dass es insbesondere in Anbetracht dessen, dass ein Datenverarbeitungssystem zahlreiche Workflows für mehrere (z. B. Hunderte, Tausende, Millionen von) Datenobjekten unterstützen kann, unpraktisch ist, Akteure zur Workflow-Aktionen für jeden Workflow und jedes Datenobjekt zuzuordnen. Um bedarfsgerecht zu arbeiten, haben die Erfinder Regeln zum automatischen dynamischen Identifizieren von Akteuren für Zielgruppen (z. B. Hierarchien) von Objekten basierend auf Datenobjekt-Attributen, Beziehungen zu anderen Objekten usw. entwickelt.
  • Demgemäß stellen einige Ausführungsformen Techniken zum automatischen Identifizieren von Akteuren bereit, die zum Durchführen von Workflow-Aufgaben autorisiert sind. In einigen Ausführungsformen kann ein Datenverarbeitungssystem einen oder mehrere zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisierte Akteure unter Verwendung von Informationen identifizieren, die mit dem Datenobjekt assoziiert sind. Zum Beispiel kann das Datenverarbeitungssystem in einigen Ausführungsformen einen oder mehrere zum Durchführen einer Workflow-Aufgabe an einem Datenobjekt autorisierte Akteure basierend auf Werten eines oder mehrerer Attribute des Datenobjekts identifizieren.
  • Als ein Beispiel kann das Datenverarbeitungssystem mehrere Datenobjekte verwalten, indem es sie in eine oder mehrere Hierarchien einteilt, und ein Datenobjekt kann ein oder mehrere Attribute umfassen, deren Wert(e) die Hierarchie oder Hierarchien angeben, zu welcher bzw. welchen das Datenobjekt gehört. Das Datenverarbeitungssystem kann den/die Wert(e) dieses Attributs oder dieser Attribute zum Identifizieren eines oder mehrere Akteure verwenden, die zum Durchführen einer Workflow-Aufgabe für das Objekt autorisiert sind. Zum Beispiel kann ein Datenobjekt „A“ mit einem Datenobjekt „B“ in einer Hierarchie von Datenobjekten in Beziehung stehen (z. B. ein Nachfolger davon sein). In einigen Ausführungsformen kann das Datenverarbeitungssystem die Hierarchie zum Identifizieren verwenden, dass ein spezifischer Satz eines oder mehrerer Akteure zum Durchführen einer spezifischen Workflow-Aufgabe für das Datenobjekt B autorisiert ist, und es kann diesen Satz von Akteuren zum Durchführen derselben spezifischen Workflow-Aufgabe für das Datenobjekt B autorisieren. In einigen Ausführungsformen kann das Datenobjekt B ein übergeordnetes Objekt oder Vorgängerobjekt des Datenobjekts A sein.
  • Ein Beispiel dieses Ansatzes ist in der veranschaulichenden Ausführungsform von 7A dargestellt, die eine schematische Darstellung 700 zeigt, welche die Identifizierung eines oder mehrerer Workflow-Akteure für ein Datenobjekt unter Verwendung von Informationen veranschaulicht, die für mindestens ein anderes Datenobjekt in mindestens einer Datenobjekt-Hierarchie spezifiziert sind, die das Datenobjekt enthält. Wie in 7A dargestellt, ist das Datenobjekt 701 ein untergeordnetes Objekt des Datenobjekts 702, das wiederum ein untergeordnetes Objekt des Datenobjekts 703 ist. Akteure 704 („Adam“ und „Greg“ in diesem Beispiel) sind dem Datenobjekt 703 als „Verantwortliche Parteien“ zugeordnet und dementsprechend zum Durchführen aller Workflow-Aufgaben autorisiert, zur deren Durchführung „Verantwortliche Parteien“ autorisiert sind. Ein Datenverarbeitungssystem kann die Akteure 704 als die „Verantwortlichen Parteien“ für das Datenobjekt 701 identifizieren. Auf diese Weise können die autorisierten Akteure durch Vererbung identifiziert werden. Berechtigungen zum Durchführen einer Workflow-Aufgabe für ein spezifisches Datenobjekt können von einem oder mehreren verwandten Datenobjekten in einer Objekt-Hierarchie geerbt werden.
  • Ein anderes Beispiel dieses Ansatzes ist in der veranschaulichenden Ausführungsform von 7D dargestellt, die eine schematische Darstellung 715 zeigt, welche die Identifizierung von Workflow-Akteuren für ein Datenobjekt 716 unter Verwendung von Informationen veranschaulicht, die für mehrere Datenobjekt-Hierarchien spezifiziert sind, die das Datenobjekt enthalten. In diesem Beispiel gehört das Datenobjekt 716 (das ein Geschäftsbegriffsdatenobjekt ist, das den Geschäftsbegriff „Kredit-Score“ darstellt) zu zwei Hierarchien - der Hierarchie „Hypothekenkredit“ 717 und der Hierarchie „Autokredit“ 718 von Datenobjekten. Jede dieser Hierarchien ist mit einem jeweiligen Satz von „Prüfern“ assoziiert, die zum Durchführen aller Workflow-Aufgaben autorisiert sind, zu deren Durchführung „Prüfer“ autorisiert sind. Tatsächlich kann eine Workflow-Aufgabe in einigen Ausführungsformen so spezifiziert werden, dass ein autorisierter Akteur für die Workflow-Aufgabe ein Mitglied der „Prüfer“ ist. Folglich ist ein Identifizieren des Satzes von „Prüfern“ für ein Datenobjekt gleichbedeutend mit einem Identifizieren, welche Akteure zum Durchführen von „Prüfer“-Workflow-Aufgaben für Workflows autorisiert sind, die das Datenobjekt umfassen.
  • In diesem Beispiel ist die Hierarchie „Hypothekenkredit“ 717 mit Prüfern 719a (Ian, Will und Lisa in diesem Beispiel) assoziiert, und die Hierarchie „Autokredit“ 718 ist mit Prüfern 719b (Joan und Dana in diesem Beispiel) assoziiert. In diesem Beispiel können beide Sätze von Prüfern (d. h. die Prüfer 719a und 719b) als autorisierte „Prüfer“ für das primäre Objekt 716 identifiziert werden, derart dass eine Prüfungs-Workflow-Aufgabe gemäß einer geeigneten Abstimmungsregel (z. B. Mehrheitsbeschluss, Einstimmigkeitsbeschluss, mindestens ein Prüfer aus jeder Gruppe usw.) alle von ihnen umfassen kann. Wenn zum Beispiel eine Änderung am Datenobjekt 716 vorgenommen wurde, dann kann ein Prüfungsprozess für diese Änderung eine Abstimmung durch alle fünf Prüfer erfordern und eine Genehmigung erteilt werden, wenn die Mehrheit der Prüfer die Änderung genehmigt. Abstimmungsregeln werden im Folgenden ausführlicher beschrieben, aber dieses Beispiel veranschaulicht, dass ein Datenobjekt (z. B. das Datenobjekt 716) ein Attribut aufweisen kann, das mehrere Datenobjekt-Hierarchien spezifiziert, zu welchen das Datenobjekt gehört (z. B. die Hierarchien 717 und 718), und Akteure, die zum Durchführen einer Workflow-Aufgabe (z. B. zum Genehmigen einer Änderung am Datenobjekt 716) autorisiert sind, basierend auf dem Wert dieses Attributs identifiziert werden können, indem Akteure identifiziert werden, die mit den spezifizierten Hierarchien assoziiert sind. Andere Beispiele werden hierin u. a. unter Bezugnahme auf 1D, 1E, 1F und 1G beschrieben.
  • Als ein anderes Beispiel einer Technik zum automatischen Identifizieren eines oder mehrerer Akteure, die zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt autorisiert sind, basierend auf Werten eines oder mehrerer Attribute des Datenobjekts kann das Datenverarbeitungssystem in einigen Ausführungsformen einen oder mehrere Akteure, die zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt mit einem oder mehreren Klassifizierungsattributen autorisiert sind, basierend auf dem bzw. den Wert(en) des bzw. der Klassifizierungsattribut(e) identifizieren. Zum Beispiel kann das System einen oder mehrere Akteure zum Durchführen einer Workflow-Aufgabe für ein Datenobjekt unter Verwendung eines Wertes des Governance-Gruppenklassifizierungsattributs des Datenobjekts, eines Wertes des Vertraulichkeitsklassifizierungsattributs des Datenobjekts, eines Wertes des Personenbezogene-Informationen-Klassifizierungsattributs (PII) des Datenobjekts und/oder des Wertes eines oder mehrere anderer geeigneter Klassifizierungsattribut(e) des Datenobjekts identifizieren, für welche hierin Beispiele bereitgestellt werden.
  • Ein Beispiel für diesen Ansatz ist in der veranschaulichenden Ausführungsform von 7B dargestellt, die eine schematische Darstellung 705 veranschaulicht, die eine Identifizierung eines oder mehrerer Workflow-Akteure für ein Datenobjekt basierend auf einem Wert eines Klassifizierungsattributs des Datenobjekts veranschaulicht. Wie in 7B dargestellt, weist das Datenobjekt 706 ein Vertraulichkeitsklassifizierungsattribut 707 auf, und das Datenverarbeitungssystem kann autorisierte Akteure (z. B. zum Durchführen von „Prüfer“-Aufgaben, wie beispielsweise Genehmigen von Änderungen an einem Datenobjekt) basierend auf dem Wert dieses Attributs identifizieren. In diesem Beispiel ist der Wert des Vertraulichkeitsklassifizierungsattributs 707 „Streng vertraulich“, was dazu führt, dass das Datenverarbeitungssystem Akteure 708 basierend auf diesem Wert identifiziert - die identifizierten Akteure in diesem Beispiel sind Carl, Jon und Sicherheitsbeauftragte 709 (Renee und Ethan). Dagegen ist, wie in 7C dargestellt, der Wert des Klassifizierungsattributs 712 des Datenobjekts 711 „Öffentlich“, was dazu führt, dass das Datenverarbeitungssystem verschiedene Akteure (Akteure 713 - Sara und Jess in diesem Beispiel) als Akteure identifiziert, die zum Durchführen von „Prüfer“-Aufgaben autorisiert sind).
  • Wenn in einigen Ausführungsformen Akteure, die zum Durchführen einer Workflow-Aufgabe autorisiert sind, basierend auf dem Wert eines Datenobjekt-Attributs identifiziert werden, können die autorisierten Akteure sich ändern, wenn der Wert des Datenobjekt-Attributs sich ändert. Diese Änderung kann sogar während der Ausführung des Workflows eintreten. Wenn zum Beispiel eine Änderung an einem Datenobjekt eine Änderung seines Vertraulichkeitsklassifizierungsattributs (z. B. von „Vertraulich“ in „Streng vertraulich“) umfasst, kann ein anderer (z. B. größerer) Satz von Prüfern als diese und/oder andere Änderungen prüfend identifiziert werden. Andere Beispiele dafür werden hierin u. a. unter Bezugnahme auf 1H und 1I beschrieben.
  • Abstimmungsschemata
  • Wie hierin beschrieben, sind einige Workflow-Aufgaben Entscheidungen, die von einer oder mehreren Parteien getroffen werden. Zum Beispiel können ein oder mehrere Prüfer entscheiden, ob eine anstehende
    Änderung an einem Datenobjekt genehmigt oder abgelehnt werden soll (wie z. B. unter Bezugnahme auf den Zustand 416 von FSM 400 beschrieben). Als ein anderes Beispiel können ein oder mehrere Prüfer entscheiden, ob ein Datenobjekt gelöscht werden soll (wie z. B. unter Bezugnahme auf den Zustand 408 von FSM 400 beschrieben). Als noch ein anderes Beispiel können ein oder mehrere Prüfer entscheiden, ob ein anstehendes Problem gelöst wird (wie z. B. unter Bezugnahme auf Zustand 358 von FSM 350 beschrieben).
  • Wenn nur ein Akteur zum Treffen einer Entscheidung zugeordnet ist, dann bestimmt die Eingabe dieses einzigen Akteurs die Entscheidung allein. In einigen Ausführungsformen können jedoch mehrere Akteure zum Abstimmen über eine Entscheidung zugeordnet sein, und es wird ein Abstimmungsschema zum Bestimmen einer Gesamtentscheidung basierend auf ihren individuellen Stimmen verwendet. Zum Beispiel braucht in einigen Ausführungsformen nur ein einziger der zugeordneten Entscheidungsträger eine anstehende Änderung zu genehmigen. In solchen Ausführungsformen wird die anstehende Änderung genehmigt, sobald einer der zugeordneten Entscheidungsträger die Änderung genehmigt, und abgelehnt, wenn alle der Entscheidungsträger die Änderung ablehnen. Wie zum Beispiel in der schematischen Darstellung 720 von 7E veranschaulicht, ist eine Gruppe von „Sicherheits-Genehmigem“ so definiert, dass sie drei Prüfer (Sicherheitsbeauftragte, Carl und John) umfasst, und die Gruppe kann jedem Datenobjekt, dessen Vertraulichkeitsklassifizierungsattribut auf dem Wert „Streng vertraulich“ ist, als „Prüfer“ zugeordnet werden. Die Gruppe ist mit einem Abstimmungsschema-Parameter „Einzelbeschluss“ konfiguriert, was angibt, dass sobald einer der drei Prüfer eine anstehende Änderung genehmigt, die Änderung genehmigt wird. Wenn zum Beispiel Carl eine anstehende Änderung genehmigen würde, würde die Änderung genehmigt, und den anderen Prüfern würden keine Abstimmschaltflächen in ihren Arbeitsvorräten präsentiert, wenn sie sich anmelden, um sich anstehende Aktionen anzusehen.
  • Im Beispiel von 7E sind zwei der Prüfer Individuen, während es sich bei einem der Prüfer („Sicherheitsbeauftragter“) um eine Gruppe von mehreren Prüfern (Renee und Ethan) handelt, von welchen jeder für die ganze Gruppe „Sicherheitsbeauftragter“ abstimmen kann. Daher kann entweder Renee oder Ethan eine anstehende Änderung genehmigen.
  • In einigen Ausführungsformen wird eine Mehrheit der zugeordneten Entscheidungsträger zum Genehmigen einer anstehenden Änderung benötigt. Wie zum Beispiel in der schematischen Darstellung 725 von 7F veranschaulicht, wird, sobald Renee und Jon beide eine anstehende Änderung ablehnen, die anstehende Änderung abgelehnt, da es keine Möglichkeit mehr gibt, dass die Mehrheit der Entscheidungsträger die Änderung genehmigt.
  • In einigen Ausführungsformen muss der Abstimmungsbeschluss einstimmig sein, und alle der zugeordneten Entscheidungsträger müssen eine anstehende Änderung genehmigen, damit diese Änderung genehmigt wird. Wie zum Beispiel in der schematischen Darstellung 730 von 7G veranschaulicht, wird eine anstehende Änderung genehmigt, wenn Ethan und Carl und Jon allesamt für ihre Genehmigung stimmen.
  • In einigen Ausführungsformen kann es einen Entscheidungsträger geben, der zum Außerkraftsetzen des Abstimmungsschemas und der Abstimmung von anderen Entscheidungsträgern autorisiert ist. Solch ein Entscheidungsträger kann sich zum Beispiel die von den anderen Entscheidungsträgern bereitgestellten Stimmen ansehen und sie in Betracht ziehen, aber letztendlich trifft er die endgültige Entscheidung im Hinblick darauf, ob eine anstehende Änderung genehmigt oder abgelehnt werden soll.
  • In einigen Ausführungsformen kann ein Datenobjekt zu mehreren Datenobjekt-Hierarchien gehören, und eine Entscheidungs-Workflow-Aufgabe kann Entscheidungsträger einbeziehen, die mit jeder der mehreren Hierarchien assoziiert sind. In einigen Ausführungsformen kann ein hierarchisches Abstimmungsschema eingesetzt werden, wobei ein Abstimmungsschema für jede einzelne Hierarchie erfüllt werden muss, bevor eine anstehende Änderung genehmigt wird.
  • Wie zum Beispiel in der schematischen Darstellung 735 von 7H veranschaulicht, wird eine anstehende Änderung an einem Datenobjekt durch „GZ-Genehmiger“ genehmigt, wenn sowohl: (1) ein einziger der mit der Hypothekenkreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigt; als auch (2) ein einziger der mit der Autokreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigt. Wenn zum Beispiel Will (ein Entscheidungsträger in der Hypothekenkredit-Hierarchie) als Erster abstimmen und die anstehende Änderung genehmigen würde, dann würden die Schaltflächen „Genehmigen“ und „Ablehnen“ aus den Arbeitsvorräten von Ian und Lisa entfernt, aber die Abstimmung würde für Joan und Dana (Entscheidungsträger in der Autokredit-Hierarchie) weiterhin offen bleiben. Wenn Joan die anstehende Änderung genehmigen würde, dann würde die anstehende Änderung genehmigt, aber, wenn Joan die Änderung ablehnen würde, dann würde die anstehende Änderung abgelehnt, wie in 7H dargestellt.
  • Wie in der schematischen Darstellung 740 von 71 veranschaulicht, ist als ein weiteres Beispiel ein Mehrheitsbeschluss für jede der mehreren Hierarchien erforderlich. Demnach wird eine anstehende Änderung an einem Datenobjekt durch „GZ-Genehmiger“ genehmigt, wenn sowohl: (1) eine Mehrheit der mit der Hypothekenkreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigt; als auch (2) eine Mehrheit der mit der Autokreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigt. Zum Beispiel wird in der Darstellung von 71 eine Änderung genehmigt, wenn Ian und Lisa und Joan und Dana die Änderung genehmigen.
  • Wenn als ein anderes Beispiel eine einstimmige Genehmigung für jede der mehreren Hierarchien erforderlich ist, wird eine anstehende Änderung an einem Datenobjekt durch „GZ-Genehmiger“ genehmigt, wenn sowohl: (1) alle der mit der Hypothekenkreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigen; als auch (2) alle der mit der Autokreditgeschäftshierarchie assoziierten Entscheidungsträger die Änderung genehmigen.
  • In einigen Ausführungsformen können für eine Entscheidung mehrere Gruppen von Entscheidungsträgern zugeordnet sein. Wie zum Beispiel in 7J bis 7M dargestellt, können drei Gruppen von Prüfern („Sicherheits-Genehmiger“, „Steward-Genehmiger“ und „GZ-Genehmiger“) für eine Entscheidung zugeordnet sein. Die Genehmigung einer einzigen, einer Mehrheit oder aller dieser Gruppen kann erforderlich sein. Wenn, wie zum Beispiel in der schematischen Darstellung 745 von 7J veranschaulicht, eine Genehmigung einer einzigen Gruppe erforderlich ist, wird, wenn Anne eine anstehende Änderung im Namen der Gruppe „Steward-Genehmiger“ genehmigen wird, die anstehende Änderung genehmigt und ausgeführt - die Schaltflächen „Genehmigt“ und „Abgelehnt“ werden aus dem Arbeitsvorrat aller anderen entfernt.
  • Wenn, wie als ein anderes Beispiel in der schematischen Darstellung 750 von 7K veranschaulicht, eine Genehmigung von einer Mehrheit der Gruppen erforderlich ist, sei angenommen, dass Carl und Jon die Änderung in Erfüllung der Mehrheitsanforderung der Gruppe „Sicherheits-Genehmiger“ genehmigen, aber Anne die Änderung im Namen der Gruppe „Steward-Genehmiger“ ablehnt. Die Abstimmung würde in diesem Fall weiterhin offen bleiben, da eine Mehrheit noch möglich ist. Wenn dann Will die Änderung für die Hypothekenkredit-Hierarchie genehmigen würde, und Joan die Änderung für die Autokredit-Hierarchie genehmigen würde, würde die anstehende Änderung insgesamt genehmigt und ausgeführt.
  • Wie als ein anderes Beispiel in der schematischen Darstellung 755 von 7L veranschaulicht, würde, wenn eine Genehmigung von allen Gruppen erforderlich ist, die anstehende Änderung zum Beispiel genehmigt, wenn: (1) Carl und John die anstehende Änderung in Erfüllung der Mehrheitsanforderung der Gruppe „Sicherheits-Genehmiger“ genehmigen würden; (2) Anne die anstehende Änderung im Namen der Gruppe „Steward-Genehmiger“ genehmigen würde; und (3) Will und Joan die Änderung im Namen der Hierarchien Hypothekenkredit und Autokredit genehmigen würden. Wenn dagegen, wie in der schematischen Darstellung 760 von 7M veranschaulicht, Anne die anstehende Änderung im Namen der Gruppe „Steward-Genehmiger“ ablehnen würde, wäre keine einstimmige Entscheidung mehr möglich, und die anstehende Änderung würde abgelehnt werden.
  • Beispiel eines unter Verwendung von primären und sekundären endlichen Zustandsmaschinen verwalteten Workflows
  • Wie hierin beschrieben, kann in einigen Ausführungsformen ein Workflow für ein Datenobjekt unter Verwendung einer oder mehrerer endlicher Zustandsmaschinen verwaltet werden. Zum Beispiel kann ein Workflow zum Vornehmen von Änderungen an einem Datenobjekt unter Verwendung einer primären endlichen Zustandsmaschine und einer oder mehreren sekundären Zustandsmaschinen (z. B. zum Verwalten detailgenauer Änderungen an Attributen des Datenobjekts) verwaltet werden. Wie außerdem hierin beschrieben, können in einigen Ausführungsformen grafische Benutzerschnittstellen erzeugt und verschiedenen Akteuren zum Durchführen von Workflow-Aufgaben in einem Workflow für ein Datenobjekt präsentiert werden. Aspekte dieser Ausführungsformen werden unter Bezugnahme auf den beispielhaften Workflow zum Verwalten von Änderungen an einem Geschäftsbegriffsdatenobjekt ausführlicher beschrieben, der in 8A bis 8N veranschaulicht ist.
  • 8A ist eine Ansicht einer grafischen Benutzerschnittstelle 800, die mehrere Geschäftsbegriffsdatenobjekte darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Die GUI 800 stellt Informationen über Geschäftsbegriffsdatenobjekte für Geschäftsbegriffe in einem Geschäftsglossar bereit, das 260 Geschäftsbegriffsdatenobjekte enthält. Die GUI 800 umfasst einen Bereich „Suchergebnisse“ 801, der eine Auflistung der ersten paar der 260 Geschäftsbegriffsdatenobjekte in alphabetisch geordneter Reihenfolge darstellt, darunter: das Datenobjekt „Kontotyp“ 802, das Datenobjekt „Rechnungslegungsrisiko“ 803, das Datenobjekt „Wirtschaftseinheit“ 804, das Datenobjekt „Adresse“ 805 und das Datenobjekt „Adresszeile l“ 806.
  • In Reaktion darauf, dass ein Akteur ein Geschäftsbegriffsdatenobjekt durch die GUI 800 auswählt, kann das Datenverwaltungssystem den Akteur mit Informationen über das ausgewählte Geschäftsbegriffsdatenobjekt versehen. Zum Beispiel kann das Datenverarbeitungssystem in Reaktion darauf, dass ein Akteur das Datenobjekt „Rechnungslegungsrisiko“ 803 auswählt, eine GUI erzeugen, um den Akteur mit Informationen über das Datenobjekt 803 zu versehen, wie beispielsweise die in 8B dargestellte GUI 810.
  • Wie in 8B dargestellt, zeigt die GUI 810 u. a. Informationen über Attribute des Datenobjekts 803 an. Zum Beispiel gibt die GUI 810 die Werte von Attributen an, darunter u. a. die Werte der folgenden Attribute: (1) das Wörterbuch-Attribut 811, dessen Wert („Firmen-Geschäftswörterbuch“ in diesem Beispiel) das Wörterbuch angibt, zu dem der Geschäftsbegriff gehört, der durch das BTDO dargestellt wird; (2) das Namensattribut 812, dessen Wert („Rechnungslegungsrisiko“ in diesem Beispiel), eine Kennung oder einen Namen des BTDOs angibt; (3) das Definitionsattribut 813, dessen Wert (in diesem Beispiel: „Das Risiko, dass die Stammaktien, Aktiva, Passiva oder Einnahmen eines Unternehmens infolge von Wechselkursänderungen eine Wertänderung erfahren. Dies geschieht, wenn eine Firma einen Teil ihrer Stammaktien, Aktiva, Passiva oder Einnahmen in einer fremden Währung angibt“) eine Definition für das BTDO bereitstellt; (4) das Attribut „Übergeordneter Begriff‟ 814, dessen Wert ein übergeordnetes Datenobjekt des BTDOs in mindestens einer Hierarchie angibt; (5) das Hierarchien-Attribut 815, das eine Liste einer oder mehrerer Hierarchien sein kann, zu welcher bzw. welchen das BTDO gehört (darunter die Hierarchie „Finanzrisiko“ 815a, die Hierarchie „Unternehmensrevision“ 815b und die Hierarchie „Konto“ 815c in diesem Beispiel); (6) verschiedene Klassifizierungsattribute 816, die das Govemance-Gruppenklassifizierungsattribut 816a, das eine Liste einer oder mehrere Govemance-Gruppen sein kann, zu welchen das BTDO gehört („Risiko“, „Liquidität“ und „Finanz“ in diesem Beispiel), das Vertraulichkeitsklassifizierungsattribut 816b, das die Vertraulichkeitsstufe des BTDOs (z. B. „Intern“, „Öffentlich“, „Vertraulich“ und „Streng vertraulich“) angibt, und das Personenbezogene-Informationen-Klassifizierungsattribut (PII) 816c (z. B. „Stufe 1“, „Stufe 2“ usw.) umfassen; (7) verschiedene Attribute „Verantwortliche Parteien“ 817, die das Geschäftsinhaber-Attribut 817a („Wade L. Register“ in diesem Beispiel), das Steward-Attribut 817b („Abby A. Williams“ in diesem Beispiel) und das Sachbearbeiter-Attribut 817c („Rosa S. Todd“ und „Donald D. Mace“ in diesem Beispiel) umfassen.
  • Verschiedene Akteure können zum Durchführen verschiedener Aktionen für ein Geschäftsbegriffsdatenobjekt autorisiert sein. In diesem Beispiel ist „Abby A. Williams“ oder „Abby“ der Steward für das Geschäftsbegriffsdatenobjekt „Rechnungslegungsrisiko“ 803 und zum Vornehmen von Änderungen an diesem Datenobjekt autorisiert. Abby kann diese Änderungen durch eine grafische Benutzerschnittstelle, wie zum Beispiel die in 8C dargestellte GUI 820, durchführen, die Abby bei Anmeldung beim Datenverarbeitungssystem sehen kann. In diesem Beispiel kann das Datenobjekt „Rechnungslegungsrisiko“ unter Verwendung der primären endlichen Zustandsmaschine und der sekundären endlichen Zustandsmaschinen verwaltet werden, die in den nachstehend beschriebenen 9A bis 9D und 10 veranschaulicht sind. Alternativ können die Änderungen unter Verwendung der endlichen Zustandsmaschinen verwaltet werden, die unter Bezugnahme auf 4A bis 4D und 5A bis 5C beschrieben wurden. Wie durch das GUI-Element 821 in 8C dargestellt, ist der aktuelle Zustand der primären endlichen Zustandsmaschine zum Verwalten von Änderungen am Datenobjekt 803 der „Veröffentlicht“-Zustand.
  • In diesem Beispiel ändert Abby den Wert des Definitionsattributs 813 durch die GUI-Oberfläche 820. Wie durch das GUI-Element 826 auf der GUI-Oberfläche 825 von 8D dargestellt, ändert der Zustand des primären Zustandsmaschine sich folglich vom „Veröffentlicht“-Zustand in den „Genehmigung-anstehend“-Zustand. Als Ergebnis dieser Änderung wird außerdem eine sekundäre endliche Zustandsmaschine zum Verwalten des Workflows zum Genehmigen der Änderung am Wert des Definitionsattributs 813 instanziiert. Wie durch das GUI-Element 827 dargestellt, ist der Zustand der sekundären endlichen Zustandsmaschine „Offen“. Wenn der aktuelle Workflow-Zustand der sekundären FSM der „Offen“-Zustand ist, ist Abby zum Einreichen der Änderung am Definitionsattribut 813 zur Prüfung oder zum Verwerfen der Änderung autorisiert, und zu diesem Zweck erzeugt das Datenverarbeitungssystem den GUI-Abschnitt 828 mit Schaltflächen 828a und 828b, um ihr die Durchführung eine dieser Aktionen zu ermöglichen.
  • Wie durch die GUI 830 von 8E dargestellt, nimmt Abby als Nächstes eine andere Änderung am Datenobjekt 803 vor, indem sie den Wert des PII-Klassifizierungsattributs 816c ändert. Als Ergebnis dieser Änderung wird eine weitere sekundäre endliche Zustandsmaschine zum Verwalten des Workflows zum Genehmigen der Änderung am Wert des PII-Klassifizierungsattributs 816c instanziiert. Wie durch das GUI-Element 831 dargestellt, ist der Zustand dieser sekundären FSM der „Offen“-Zustand. Wenn der aktuelle Workflow-Zustand der sekundären FSM der „Offen“-Zustand ist, ist Abby zum Einreichen der Änderung am PII-Klassifizierungsattribut 816c zur Prüfung oder zum Verwerfen der Änderung autorisiert, und zu diesem Zweck erzeugt das Datenverarbeitungssystem den GUI-Abschnitt 832 mit Schaltflächen 832a und 832b, um ihr die Durchführung eine dieser Aktionen zu ermöglichen.
  • Als Nächstes reicht Abby die Änderung am Definitionsattribut 813 unter Verwendung der Schaltfläche 828a zur Prüfung ein. Folglich geht der Zustand der sekundären endlichen Zustandsmaschine zum Verwalten dieser Änderung in den „Eingereicht“-Zustand über, wie durch das GUI-Element 836 auf der GUI 835 von 8F dargestellt. Wie im Bereich 838 auf der GUI 837 von 8G dargestellt, ist diese eingereichte Änderung von drei Prüfern - einem Risikoprüfer, einem Liquiditätsprüfer und einem Finanzprüfer - zu genehmigen.
  • Als Nächstes meldet sich in diesem Beispiel ein Risikoprüfer an, und es wird ihm die in 8H dargestellte GUI 840 präsentiert, durch welche er die eingereichte Änderung am Wert des Definitionsattributs 813 genehmigen oder ablehnen kann. Der Risikoprüfer kann diese Aktion durch Schaltflächen „Genehmigen“ und „Ablehnen“ 841a bzw. 841b durchführen.
  • Als Nächstes meldet sich in diesem Beispiel ein Finanzprüfer an, und es wird ihm die in 81 dargestellte GUI 845 präsentiert, durch welche er die eingereichte Änderung am Wert des Definitionsattributs 813 genehmigen oder ablehnen kann. Der Finanzprüfer kann diese Aktion durch Schaltflächen „Genehmigen“ und „Ablehnen“ 846a bzw. 846b durchführen. Vor dem Durchführen dieser Aktion kann der Finanzprüfer durch den GUI-Abschnitt 847 sehen, dass ein anderer Prüfer die Änderung genehmigt hat, aber zwei Prüfer (d. h. der Finanzprüfer und der Liquiditätsprüfer) ihre Entscheidungen noch nicht eingereicht haben, die daher noch anstehend sind.
  • Nach dem Genehmigen der eingereichten Änderung am Wert des Definitionsattributs 813 kann der Finanzprüfer seinen Arbeitsvorrat durch die in 8J veranschaulichte GUI 850 aufrufen.
  • Als Nächstes meldet sich in diesem Beispiel Abby an, um zu sehen, ob die von ihr für das Definitionsattribut 813 eingereichte Änderung genehmigt wurde. Durch die in 8K dargestellte GUI 855 kann Abby im GUI-Abschnitt 856 sehen, dass die Änderung durch zwei von drei Prüfern genehmigt wurde, aber eine Genehmigung (vom Liquiditätsprüfer) noch ansteht.
  • Als Nächstes meldet sich in diesem Beispiel ein Liquiditätsprüfer an, und es wird ihm die in 8L dargestellte GUI 860 präsentiert, durch welche er die eingereichte Änderung am Wert des Definitionsattributs 813 genehmigen oder ablehnen kann. Der Liquiditätsprüfer kann diese Aktion durch Schaltflächen „Genehmigen“ und „Ablehnen“ 861a bzw. 861b durchführen, die im Bereich 861 dargestellt sind.
  • Aufgrund dessen, dass alle drei Prüfer die eingereichte Änderung genehmigen, wird die Änderung genehmigt, und die Instanz der sekundären endlichen Zustandsmaschine zum Verwalten des Genehmigungsprozesses für diese Änderung endet und wird gelöscht. Wenn Abby sich als Nächstes zum Überprüfen des Status ihrer Einreichung anmeldet, wird ihr die in 8L dargestellte GUI 865 präsentiert, die angibt, dass ihre eingereichte Anmeldung am Wert des Definitionsattributs 813 genehmigt wurde.
  • Trotz allem muss Abby entscheiden, welche Aktion in Bezug auf ihre vorgeschlagene Änderung am PII-Klassifizierungsattribut 816c durchgeführt werden soll. In diesem Beispiel verwirft Abby die Änderung durch Verwenden der Schaltfläche 831b. Wenn die erste Änderung genehmigt und die zweite Änderung verworfen wird, gibt es keine weiteren anstehenden Änderungen mehr, und der aktuelle Workflow-Zustand der primären endlichen Zustandsmaschine geht vom „Genehmigunganstehend“-Zustand zum „Veröffentlicht“-Zustand über, wie durch das GUI-Element 871 der in 8N dargestellten GUI 870 dargestellt.
  • Wie aus dem vorstehenden Beispiel ersichtlich ist, ermöglicht das Verwenden von sekundären endlichen Zustandsmaschinen es, die Workflows zum Vornehmen von Änderungen an verschiedenen Attributen unabhängig voneinander auszuführen.
  • 9A ist eine Ansicht einer grafischen Benutzerschnittstelle 910, die eine Auflistung von Spezifikationen für endliche Zustandsmaschinen darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Die grafische Benutzerschnittstelle 910 kann durch ein Datenverarbeitungssystem (z. B. durch das GUI-Erzeugungsmodul 134) erzeugt werden, um den Akteur mit einer GUI zu versehen, durch welche Spezifikationen für endliche Zustandsmaschinen geprüft, bearbeitet, hinzugefügt und/oder gelöscht werden sollen. Im veranschaulichten Beispiel von 9A stellt die GUI 910 eine Auflistung von mehreren verschiedenen FSM-Spezifikationen für die Import-Zustandsmaschinen, die unter Bezugnahme auf 6A und 6B beschrieben wurden, sowie die primären und sekundären Zustandsmaschinen dar, die zum Ermöglichen der Workflows verwendet wurden, die in 8A bis 8N veranschaulicht sind.
  • 9B ist eine Ansicht einer grafischen Benutzerschnittstelle 920, die eine primäre Zustandsmaschine zum Verwalten von Änderungen am Datenobjekt in den Beispielen von 8A bis 8N darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Die GUI 920 kann einem Akteur in Reaktion darauf präsentiert werden, dass der Akteur auswählt, das Zustandsdiagramm für diese Zustandsmaschine durch die GUI 910 aufzurufen.
  • 9C eine Ansicht einer grafischen Benutzerschnittstelle 930, durch welche Zustände der in 9B dargestellten FSM geprüft, hinzugefügt, gelöscht und/oder bearbeitet werden können. Zum Beispiel kann die Benutzerschnittstelle 930 zum Bearbeiten von Eigenschaften der Zustände verwendet werden (z. B. durch Spezifizieren, welcher der Zustände, wenn überhaupt, ein Ruhezustand ist, der mit einer sekundären endlichen Zustandsmaschine assoziiert ist, usw.) Wie außerdem in 9C dargestellt, kann ein Akteur einen Zustand auswählen und die mit diesem Zustand assoziierten Übergänge bearbeiten. Wie zum Beispiel in 9C dargestellt, kann einem Akteur in Reaktion darauf, dass der Akteur den „Start“-Zustand in der Zustandstabelle auswählt, eine Tabelle mit Übergängen präsentiert werden, die mit dem Startzustand assoziiert sind. Wie als ein anderes Beispiel in der GUI 940 von 9D dargestellt, kann einem Akteur in Reaktion darauf, dass der Akteur den „Änderung-anstehend“-Zustand in der Zustandstabelle auswählt, eine Tabelle mit Übergängen präsentiert werden, die mit dem „Änderung-anstehend“-Zustand assoziiert sind.
  • 10 ist eine Ansicht einer grafischen Benutzerschnittstelle 1000, die eine sekundäre Zustandsmaschine zum Verwalten von Änderung an Attributen des Datenobjekts in den Beispielen von 8A bis 8N darstellt, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Die GUI 1000 stellt außerdem eine Tabelle von Zuständen der sekundären endlichen Zustandsmaschine und ihren jeweiligen Eigenschaften dar. Die Zustände (und ihre assoziierten Übergänge) können durch die GUI 1000 bearbeitet, gelöscht, hinzugefügt und/oder geprüft werden.
  • Weitere Details zur Implementierung
  • 11 veranschaulicht ein Beispiel für eine geeignete Rechensystemumgebung 1100, in der die hier beschriebene Technologie implementiert werden kann. Die Rechensystemumgebung 1100 ist nur ein Beispiel für eine geeignete Rechensystemumgebung und soll keinerlei Beschränkung des Verwendungsbereichs oder der Funktionalität der hier beschriebenen Technologie suggerieren. Auch soll die Rechenumgebung 1100 nicht so interpretiert werden, dass sie irgendeine Abhängigkeit von oder Anforderung in Bezug auf irgendeine Kombination von Komponenten aufweist, die in der beispielhaften Betriebsumgebung 1100 veranschaulicht wird.
  • Die hier beschriebene Technologie ist mit zahlreichen anderen Universal- oder Spezial-Rechensystemumgebungen oder -konfigurationen betriebsfähig. Zu Beispielen für allgemein bekannte Rechensysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit der hier beschriebenen Technologie geeignet sein können, zählen, ohne darauf beschränkt zu sein, Personal Computer, Server-Computer, Handheld- oder Laptop-Einrichtungen, Mehrprozessorsysteme, Systeme auf Mikroprozessorbasis, Set-Top-Boxen, programmierbare Unterhaltungs- und Haushaltselektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, verteilte Rechenumgebungen, die irgendwelche der oben genannten Systeme oder Einrichtungen enthalten, und ähnliche.
  • Die Rechenumgebung kann computerausführbare Anweisungen, wie zum Beispiel Programmmodule, ausführen. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die besondere Tasks durchführen oder die spezielle abstrakte Datentypen implementieren. Die hier beschriebene Technologie kann ebenfalls in verteilten Rechenumgebungen betrieben werden, wobei Tasks von entfernten Verarbeitungseinrichtungen durchgeführt werden, die über ein Kommunikationsnetzwerk verlinkt sind. In einer verteilten Rechenumgebung können sich Programmmodule sowohl in lokalen als auch in entfernten Computerspeichermedien, einschließlich Speichereinrichtungen, befinden.
  • Unter Bezugnahme auf die 11: Ein beispielhaftes System zum Umsetzen der die hier beschriebenen Technologie enthält eine Universal-Recheneinrichtung in der Form eines Computers 1110. Zu den Komponenten des Computers 1110 können, aber ohne darauf beschränkt zu sein, eine Verarbeitungseinheit 1120, ein Systemspeicher 1130 und ein Systembus 1121 zählen, der verschiedene Systemkomponenten, einschließlich des Systemspeichers, mit der Verarbeitungseinheit 1120 koppelt. Der Systembus 1121 kann irgendeiner von mehreren Typen von Busstrukturen sein, einschließlich eines Speicherbusses oder einer Speichersteuerung, eines Peripheriebusses und eines lokalen Busses, die irgendeine von einer Vielzahl von Busarchitekturen verwenden. Als Beispiel und nicht zur Beschränkung enthalten solche Architekturen einen Industry Standard Architecture (ISA) Bus, einen Micro Channel Architecture (MCA) Bus, einen Enhanced ISA (EISA) Bus, einen lokalen Video Electronics Standards Association (VESA) Bus und einen Peripheral Component Interconnect (PCI) Bus, der auch als Mezzanin-Bus bekannt ist.
  • Der Computer 1110 enthält typischerweise eine Vielzahl von computerlesbaren Medien. Die computerlesbaren Medien können irgendwelche verfügbaren Medien sein, auf die vom Computer 1110 zugegriffen werden kann, und zu ihnen zählen sowohl flüchtige als auch nichtflüchtige Medien, auswechselbare und nicht auswechselbare Medien. Als Beispiel und nicht zur Einschränkung können computerlesbare Medien Computer-Speichermedien und Kommunikationsmedien umfassen. Zu Computer-Speichermedien zählen flüchtige und nichtflüchtige, auswechselbare und nicht auswechselbare Medien, die in irgendeinem Verfahren oder einer Technologie zum Speichern von Informationen implementiert sind, wie zum Beispiel computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten. Zu Computer-Speichermedien zählen, sind jedoch nicht darauf beschränkt, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, DVD (Digital Versatile Disk) oder anderer optischer Plattenspeicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere magnetische Speichereinrichtungen oder irgendein anderes Medium, das verwendet werden kann, um die gewünschten Informationen zu speichern und auf das vom Computer 1010 zugegriffen werden kann. Kommunikationsmedien verkörpern typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten auf einem modulierten Datensignal, wie zum Beispiel einer Trägerwelle oder einem anderen Transportmechanismus, und zu ihnen zählen irgendwelche Informationsübermittlungsmedien. Mit dem Begriff „moduliertes Datensignal“ ist ein Signal gemeint, bei dem eine oder mehrere seiner Kenngrößen auf solch eine Art und Weise gesetzt oder geändert sind, um Informationen im Signal zu codieren. Als Beispiel und nicht zur Beschränkung: Ein Kommunikationsmedium enthält drahtgebundene Medien, wie zum Beispiel ein drahtgebundenes Netzwerk oder eine direkt verdrahtete Verbindung, und drahtlose Medien, wie zum Beispiel Akustik-, Funkfrequenz-, Infrarot- oder andere drahtlose Medien. Kombinationen irgendwelcher der oben Genannten sollten ebenfalls im Bereich der computerlesbaren Medien beinhaltet sein.
  • Zum Systemspeicher 1130 zählen Computer-Speichermedien in der Form von flüchtigem und/oder nichtflüchtigem Speicher, wie zum Beispiel der Nur-Lese-Speicher (ROM) 1131 und der Direktzugriffspeicher (RAM) 1132. Ein Basic Input/Output System (BIOS) 1133, das die Basisroutinen umfasst, die das Übertragen von Informationen zwischen Elementen innerhalb des Computers 1110 unterstützen, wie zum Beispiel während des Hochfahrens, wird typischerweise im ROM 1131 gespeichert. Das RAM 1132 umfasst typischerweise Daten und/oder Programmmodule, auf die sofort von der Verarbeitungseinheit 1120 zugegriffen werden kann und/oder die gerade von ihr betrieben werden. Als Beispiel und nicht zur Einschränkung veranschaulicht die 11 das Betriebssystem 1134, die Anwendungsprogramme 1135, andere Programmmodule 1036 und die Programmdaten 1137.
  • Der Computer 1110 kann auch andere auswechselbare/nicht auswechselbare, flüchtige/nichtflüchtige Computer-Speichermedien enthalten. Nur als Beispiel: Die 11 veranschaulicht ein Festplattenlaufwerk 1141, das aus nicht auswechselbaren, nichtflüchtigen magnetischen Medien liest bzw. darein schreibt, ein Flash-Laufwerk 1151, das aus einem auswechselbaren, nichtflüchtigen Speicher 1152, wie zum Beispiel einem Flash-Speicher, liest bzw. in ihn schreibt, und ein optisches Disklaufwerk 1155, das auf eine auswechselbare, nichtflüchtige optische Disk 1156, wie zum Beispiel eine CD ROM oder andere optische Medien, liest bzw. darauf schreibt. Zu anderen auswechselbaren/nicht auswechselbaren, flüchtigen/nichtflüchtigen Computer-Speichermedien, die in der beispielhaften Betriebsumgebung verwendet werden können, jedoch nicht darauf beschränkt sind, zählen Magnetbandkassetten, Flash-SpeicherKarten, Digital Versatile Disks, digitale Videobänder, Halbleiter-RAM, Halbleiter-ROM und Ähnliche. Das Festplattenlaufwerk 1141 ist typischerweise über eine nicht auswechselbare Speicherschnittstelle, wie zum Beispiel die Schnittstelle 1140, mit dem Systembus 1121 verbunden, und das Magnetplattenlaufwerk 1151 und das optische Disklaufwerk 1155 sind typischerweise mit dem Systembus 1121 über eine auswechselbare Speicherschnittstelle, wie zum Beispiel die Schnittstelle 1150, verbunden.
  • Die oben erörterten und in der 11 veranschaulichten Laufwerke und ihre zugehörigen Computer-Speichermedien stellen Speicher für computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten für den Computer 1110 bereit. In der 11 wird zum Beispiel das Festplattenlaufwerk 1141 so veranschaulicht, dass es das Betriebssystem 1144, die Anwendungsprogramme 1145, andere Programmmodule 1146 und Programmdaten 1147 speichert. Es sei angemerkt, dass diese Komponenten entweder die gleichen wie das Betriebssystem 1134, die Anwendungsprogramme 1135, andere Programmmodule 1136 und Programmdaten 1137 sein oder sich von ihnen unterscheiden können. Das Betriebssystem 1144, die Anwendungsprogramme 1145, andere Programmmodule 1146 und die Programmdaten 1147 sind hier mit anderen Nummerierungen versehen, um zu veranschaulichen, dass sie zu einem Minimum unterschiedliche Kopien sind. Ein Akteur kann über Eingabeeinrichtungen, wie zum Beispiel eine Tastatur 1162 und die Zeigeeinrichtung 1161, die üblicherweise als Maus, Trackball oder Touchpad bezeichnet werden, Befehle und Informationen in den Computer 1110 eingeben. Zu anderen Eingabeeinrichtungen (nicht dargestellt) können ein Mikrofon, ein Joystick, ein Gamepad, eine Satellitenschüssel, ein Scanner oder Ähnliches zählen. Diese und andere Eingabeeinrichtungen sind mit der Verarbeitungseinheit 1120 häufig über eine Nutzereingabeschnittstelle 1160 verbunden, die mit dem Systembus gekoppelt ist, können jedoch über andere Schnittstellen und Busstrukturen verbunden sein, wie zum Beispiel einen Parallelport, einen Game-Port oder einen Universal Serial Bus (USB). Ein Monitor 1191 oder ein anderer Typ von Anzeigeeinrichtung ist ebenfalls mit dem Systembus 1121 über eine Schnittstelle, wie zum Beispiel eine Videoschnittstelle 1190, verbunden. Zusätzlich zum Monitor können Computer auch andere periphere Ausgabeeinrichtungen enthalten, wie zum Beispiel die Lautsprecher 1197 und den Drucker 1196, die über eine periphere Ausgabeschnittstelle 1195 verbunden sein können.
  • Der Computer 1110 kann in einer Netzwerkumgebung unter Verwendung logischer Verbindungen zu einem oder mehreren entfernten Computern betrieben werden, wie zum Beispiel einem entfernten Computer 1180. Der entfernte Computer 1180 kann ein Personal Computer, ein Server, ein Router, ein Netzwerk-PC, eine Peer-Einrichtung oder ein anderer üblicher Netzwerkknoten sein und enthält typischerweise viele oder alle der oben in Bezug auf den Computer 1110 beschriebenen Elemente, obwohl in der 11 nur eine Speichereinrichtung 1181 veranschaulicht worden ist. Zu den logischen Verbindungen, die in der 11 gezeigt werden, zählen ein Local Area Network (LAN) 1171 und ein Wide Area Network (WAN) 1173, es können jedoch auch andere Netzwerke dazu zählen. Solche Netzwerkumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet allgemein üblich.
  • Bei Verwendung in einer LAN-Netzwerkumgebung ist der Computer 1110 mit dem LAN 1171 über eine Netzwerkschnittstelle oder -adapter 1170 verbunden. Bei Verwendung in einer WAN-Netzwerkumgebung enthält der Computer 1110 typischerweise ein Modem 1172 oder andere Mittel zum Aufbau von Kommunikationen über das WAN 1173, wie zum Beispiel das Internet. Das Modem 1172, das innenliegend oder extern sein kann, kann mit dem Systembus 1121 über die Akteur-Eingabeschnittstelle 1160 oder einen anderen geeigneten Mechanismus verbunden sein. In einer vernetzten Umgebung können Programmmodule, die in Bezug auf den Computer 1110 gezeigt werden, oder Teile davon, in der entfernten Speichereinrichtung gespeichert sein. Als Beispiel und nicht zur Beschränkung veranschaulicht die 11 entfernte Anwendungsprogramme 1185 als in der Speichereinrichtung 1181 befindlich. Es versteht sich, dass die Netzwerkverbindungen beispielhaft gezeigt werden und andere Mittel zum Aufbau eines Kommunikationslinks zwischen den Computern verwendet werden können.
  • Nachdem somit mehrere Aspekte wenigstens einer Ausführungsform dieser Erfindung beschrieben worden sind, versteht es sich, dass Fachleuten verschiedene Abänderungen, Modifikationen und Verbesserungen in den Sinn kommen werden.
  • Solche Abänderungen, Modifikationen und Verbesserungen sollen Teil dieser Offenbarung sein und sollen innerhalb des Gedankens und des Schutzbereichs der Erfindung liegen. Obgleich Vorteile der vorliegenden Erfindung angegeben werden, versteht es versteht sich des Weiteren, dass nicht jede Ausführungsform der hier beschriebenen Technologie jeden beschriebenen Vorteil beinhalten wird. Einige Ausführungsformen implementieren möglicherweise nicht alle Merkmale, die hier als vorteilhaft beschrieben sind, und in einigen Beispielen können eines oder mehrere der beschriebenen Merkmale implementiert sein, um weitere Ausführungsformen zu erreichen. Dementsprechend sind die vorhergehende Beschreibung und die Zeichnungen lediglich beispielhaft.
  • Die oben beschriebenen Ausführungsformen der hier beschriebenen Technologie können auf irgendeine von zahlreichen Weisen implementiert sein. Zum Beispiel können die Ausführungsformen unter Verwendung von Hardware, Software oder einer Kombination daraus implementiert sein. Wenn sie als Software implementiert sind, kann der Softwarecode auf irgendeinem geeigneten Prozessor oder einer Sammlung von Prozessoren ausgeführt werden, egal ob sie in einem einzelnen Computer oder verteilt auf mehrere Computer bereitgestellt werden. Solche Prozessoren können als integrierte Schaltungen implementiert sein, mit einem oder mehreren Prozessoren in einer integrierten Schaltungskomponente, einschließlich handelsüblichen integrierten Schaltungskomponenten, die im Fachgebiet durch Benennungen bekannt sind, wie zum Beispiel CPU-Chips, GPU-Chips, Mikroprozessor, Mikrocontroller oder Coprozessor. Alternativ kann ein Prozessor in einer kundenspezifischen Schaltungsanordnung implementiert sein, wie zum Beispiel einer ASIC, oder einer halb kundenspezifischen Schaltungsanordnung, die sich aus dem Konfigurieren einer programmierbaren Logikeinrichtung ergibt. Als noch eine weitere Alternative kann ein Prozessor ein Abschnitt einer größeren Schaltung oder einer Halbleitereinrichtung sein, sei er handelsüblich, halb kundenspezifisch oder kundenspezifisch. Als ein spezifisches Beispiel weisen einige handelsübliche Mikroprozessoren mehrere Kerne auf, so dass einer oder eine Untermenge dieser Kerne einen Prozessor bilden kann. Allerdings kann ein Prozessor unter Verwendung von Schaltungsanordnungen in irgendeinem geeigneten Format implementiert sein.
  • Des Weiteren versteht es sich, dass ein Computer in irgendeiner einer Reihe von Formen ausgeführt sein kann, wie zum Beispiel als ein Einschub-Computer, ein Desktop-Computer, ein Laptop-Computer oder ein Tablet-Computer. Zusätzlich kann ein Computer in einer Einrichtung eingebettet sein, die im Allgemeinen nicht als ein Computer betrachtet wird, jedoch geeignete Verarbeitungsfähigkeiten aufweist, einschließlich einem Personal Digital Assistant (PDA), einem Smartphone oder irgendeiner anderen geeigneten transportierbaren oder feststehenden elektronischen Einrichtung.
  • Auch kann ein Computer eine oder mehrere Eingabe- und Ausgabeeinrichtungen aufweisen. Diese Einrichtungen können unter anderem dazu verwendet werden, eine Nutzerschnittstelle darzustellen. Zu Beispielen für Ausgabeeinrichtungen, die verwendet werden können, um eine Nutzerschnittstelle bereitzustellen, zählen Drucker oder Anzeigebildschirme für visuelle Darstellung der Ausgabe und Lautsprecher oder andere Klang erzeugende Einrichtungen für die hörbare Darstellung der Ausgabe. Zu Beispielen für Eingabeeinrichtungen, die für eine Nutzerschnittstelle verwendet werden können, zählen Tastaturen und Zeigegeräte, wie zum Beispiel Mäuse, Touchpads und Digitalisiertablets. Als ein anderes Beispiel kann ein Computer Eingangsinformationen über Spracherkennung oder in einem anderen hörbaren Format empfangen.
  • Solche Computer können durch eines oder mehrere Netzwerke in irgendeiner geeigneten Form miteinander verbunden sein, einschließlich als ein lokales Netzwerk oder ein Weitverkehrsnetz, wie zum Beispiel ein Unternehmensnetzwerk oder das Internet. Solche Netzwerke können auf irgendeiner geeigneten Technologie basieren und können gemäß irgendeinem geeigneten Protokoll arbeiten und können drahtlose Netzwerke, drahtgebundene Netzwerke oder Glasfasernetzwerke enthalten.
  • Die verschiedenen Verfahren und Prozesse, die hier umrissen werden, können ebenfalls als Software codiert sein, die auf einem oder mehreren Prozessoren ausführbar ist, die irgendeines einer Vielzahl von Betriebssystemen oder Plattformen einsetzen. Zusätzlich kann solche Software unter Verwendung irgendeiner aus einer Anzahl geeigneter Programmiersprachen und/oder Programmier- oder Scripting-Tools geschrieben werden, und kann auch als ausführbarer Maschinensprachencode oder Zwischencode kompiliert werden, der auf einem Framework oder einer virtuellen Maschine ausgeführt wird.
  • In dieser Hinsicht kann die Erfindung als ein computerlesbares Speichermedium (oder mehrere computerlesbare Medien) (z. B. ein Computerspeicher, eine oder mehrere Floppydisks, Compact Disks (CDs), optische Discs, Digital Video Disks (DVDs), Magnetbänder, Flash-Speicher, Schaltungskonfigurationen in Field Programmable Gate Arrays oder anderen Halbleitereinrichtungen oder einem anderen dinghaften Computerspeichermedium) ausgeführt werden, das mit einem oder mehreren Programmen codiert wird, die, wenn sie auf einem oder mehreren Computern oder anderen Prozessoren ausgeführt werden, die Verfahren durchführen, die die verschiedenen Ausführungsformen der oben erörterten Erfindung implementieren. Wie sich aus den vorher genannten Beispielen ergibt, kann ein computerlesbares Speichermedium Informationen für eine ausreichende Zeit halten, um computerausführbare Anweisungen in einer nicht-transitorischen Form bereitzustellen. Solch ein computerlesbares Speichermedium oder solche computerlesbaren Speichermedien können transportierbar sein, so dass das Programm oder die Programme, die darauf gespeichert sein, auf einen oder mehrere unterschiedliche Computer oder andere Prozessoren geladen werden können, um verschiedene Aspekte der vorliegenden Erfindung zu implementieren, wie oben erörtert worden ist. Wie er hier verwendet wird, umfasst der Begriff „computerlesbares Speichermedium“ nur ein nicht-transitorisches computerlesbares Medium, das als ein Fabrikat (d. h. ein Produkt) oder eine Maschine angesehen werden kann. Alternativ oder zusätzlich kann die Erfindung als ein anderes computerlesbares Medium als ein computerlesbares Speichermedium ausgeführt werden, wie zum Beispiel als ein Übertragungssignal.
  • Die Begriffe „Programm“ oder „Software“ werden hier im generischen Sinne verwendet, um sich auf irgendeinen Typ von Computercode oder einen Satz von computerausführbaren Anweisungen zu beziehen, die dazu eingesetzt werden können, um einen Computer oder einen anderen Prozessor zu programmieren, um verschiedene Aspekte der vorliegenden Erfindung zu implementieren, wie oben erörtert worden ist. Zusätzlich versteht es sich, dass gemäß einem Aspekt dieser Ausführungsform eines oder mehrere Computerprogramme, die, wenn sie ausgeführt werden, Verfahren der vorliegenden Erfindung durchführen, sich nicht auf einem einzelnen Computer oder Prozessor befinden müssen, sondern auf eine modulare Weise auf einer Reihe von unterschiedlichen Computern oder Prozessoren verteilt sein können, um verschiedene Aspekte der vorliegenden Erfindung zu implementieren.
  • Computerausführbare Anweisungen können in vielen Formen vorliegen, wie zum Beispiel als Programmmodule, die von einem oder mehreren Computern oder anderen Einrichtungen ausgeführt werden. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die besondere Tasks durchführen oder die spezielle abstrakte Datentypen implementieren. Typischerweise kann die Funktionalität der Programmmodule kombiniert oder verteilt werden, wie es in verschiedenen Ausführungsformen erwünscht ist.
  • Datenstrukturen können ebenfalls in irgendeiner geeigneten Form in computerlesbaren Medien gespeichert werden. Der Einfachheit der Veranschaulichung halber können Datenstrukturen so gezeigt werden, dass sie Felder aufweisen, die über die Position in der Datenstruktur in Beziehung stehen. Solche Beziehungen können gleichermaßen erreicht werden, indem Speicher für die Felder mit Positionen in einem computerlesbaren Medium zugeordnet wird, der die Beziehung zwischen den Feldern vermittelt. Allerdings kann irgendein geeigneter Mechanismus verwendet werden, um eine Beziehung zwischen Informationen in Feldern einer Datenstruktur festzulegen, einschließlich durch Verwendung von Zeigern, Tags oder anderen Mechanismen, die die Beziehung zwischen Datenelementen festlegen.
  • Verschiedene Aspekte der vorliegenden Erfindung können allein, in Kombination oder in einer Vielzahl von Anordnungen, die in den vorher beschriebenen Ausführungsformen nicht besonders erörtert werden, verwendet werden, und daher ist sie in ihrer Anwendung nicht auf die Details und die Anordnung von Komponenten beschränkt, die in der vorherigen Beschreibung dargelegt oder in den Zeichnungen veranschaulicht werden. Zum Beispiel können in einer Ausführungsform beschriebene Aspekte auf irgendeine Art und Weise mit Aspekten kombiniert werden, die in anderen Ausführungsformen beschrieben werden.
  • Die Erfindung kann auch als ein Verfahren ausgeführt werden, für das ein Beispiel bereitgestellt worden ist. Die als Teil des Verfahrens durchgeführten Aktionen können in irgendeiner geeigneten Weise angeordnet sein. Dementsprechend können Ausführungsformen aufgebaut werden, in denen Aktionen in einer anderen Reihenfolge als veranschaulicht durchgeführt werden, was beinhalten kann, einige Aktionen zeitgleich durchzuführen, auch wenn sie in den veranschaulichenden Ausführungsformen als sequentielle Aktionen gezeigt werden.
  • Des Weiteren werden einige Aktionen als von einem „Akteur“ durchgeführt beschrieben. Es versteht sich, dass ein „Akteur“ nicht ein einzelnes Individuum sein muss und dass in einigen Ausführungsformen Aktionen, die einem „Akteur“ zugeschrieben werden können, von einem Team von Individuen und/oder einem Individuum in Kombination mit computergestützten Werkzeugen oder anderen Mechanismen durchgeführt werden können.
  • Die Verwendung von Ordnungsbegriffen wie „erster“, „zweiter“, „dritter“ usw. in den Ansprüchen, um ein Anspruchselement zu modifizieren, bedeutet nicht von selbst irgendeine Priorität, einen Vorrang oder eine Reihenfolge eines Anspruchselements vor einem anderen oder die zeitliche Reihenfolge, in der Aktionen eines Verfahrens durchgeführt werden, sondern sie werden lediglich als Bezeichner verwendet, um ein Anspruchselement mit einem bestimmten Namen von einem anderen Element mit einem gleichen Namen (jedoch zur Verwendung als den Ordnungsbegriff) zu unterscheiden, um die Anspruchselemente zu unterscheiden.
  • Auch dient die hier verwendete Phraseologie und Terminologie der Beschreibung und sollte nicht als einschränkend betrachtet werden. Die Verwendung von „einschließen“, „umfassen“ oder „aufweisen“, „enthalten“, „einbeziehen“ und Varianten davon soll die danach aufgeführten Gegenstände und ihre Äquivalente ebenso wie zusätzliche Elemente einschließen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62795443 [0001]
    • US 5966072 [0069]
    • US 2007/0011668 [0070]

Claims (86)

  1. Verfahren zur Verwaltung von Workflows in einem Datenverarbeitungssystem, wobei das Datenverarbeitungssystem umfasst: (i) mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und (ii) ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist, wobei das Verfahren umfasst: wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist, Verwenden des Workflow-Verwaltungssystems zum Durchführen von Folgendem: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.
  2. Verfahren nach Anspruch 1, wobei Datenobjekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt werden, wobei die Metadaten die eine oder die mehreren Hierarchien spezifizieren, und wobei der aktuelle Wert des ersten Attributs eine erste Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört.
  3. Verfahren nach Anspruch 2, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen zum Durchführen der ersten Workflow-Aufgabe für ein zweites Datenobjekt in der Mehrzahl von Datenobjekten autorisierten Akteur, wobei das zweite Datenobjekt mit dem ersten Datenobjekt gemäß der ersten Hierarchie in Beziehung steht.
  4. Verfahren nach Anspruch 3, wobei das zweite Datenobjekt ein Vorgängerobjekt des ersten Datenobjekts in der ersten Hierarchie ist.
  5. Verfahren nach Anspruch 3 oder 4, wobei das zweite Datenobjekt ein übergeordnetes Objekt des ersten Datenobjekts in der ersten Hierarchie ist.
  6. Verfahren nach Anspruch 1, wobei der aktuelle Wert des ersten Attributs mindestens eine Klassifizierung für das erste Datenobjekt angibt.
  7. Verfahren nach Anspruch 1 oder einem anderen vorhergehenden Anspruch, ferner umfassend: Zugreifen auf eine erste Spezifikation für die erste FSM zum Verwalten des ersten Workflows, wobei die erste Spezifikation Workflow-Zustände und Übergänge zwischen Zuständen in den Workflow-Zuständen angibt; Erzeugen der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt unter Verwendung der ersten Spezifikation; und Assoziieren der ersten FSM mit dem ersten Datenobjekt.
  8. Verfahren nach Anspruch 7, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, wobei das Verfahren ferner umfasst: Erzeugen einer zweiten FSM zum Verwalten des ersten Workflows für das zweite Datenobjekt unter Verwendung der ersten Spezifikation, wobei die erste FSM von der zweiten FSM verschieden ist; und Assoziieren der zweiten FSM mit dem zweiten Datenobjekt.
  9. Verfahren nach Anspruch 1 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut umfasst, wobei das Verfahren umfasst: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows zum Ändern eines Wertes des zweiten Attributs des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  10. Verfahren nach Anspruch 1 oder einem anderen vorhergehenden Anspruch, wobei der erste Workflow für das erste Datenobjekt ein Workflow zum Verwalten von Änderungen am ersten Datenobjekt ist.
  11. Verfahren nach Anspruch 1 oder einem anderen vorhergehenden Anspruch, ferner umfassend: wenn die erste FSM angibt, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von jedem von mehreren Akteuren, die den ersten Akteur umfassen; und Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt nur dann, wenn eine Mehrheit der mehreren Akteure eine Eingabe bereitstellt, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  12. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien, die prozessorausführbare Anweisungen speichern, die bei Ausführung durch ein Datenverarbeitungssystem das Datenverarbeitungssystem zum Durchführen eines Verfahrens zur Verwaltung von Workflows im Datenverarbeitungssystem veranlassen, wobei das Datenverarbeitungssystem umfasst: (i) mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und (ii) ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist, wobei das Verfahren umfasst: wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist, Verwenden des Workflow-Verwaltungssystems zum Durchführen von Folgendem: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.
  13. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12, wobei Datenobjekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt sind, wobei die Metadaten die eine oder die mehreren Hierarchien spezifizieren, und wobei der aktuelle Wert des ersten Attributs eine erste Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört.
  14. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 13, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen zum Durchführen der ersten Workflow-Aufgabe für ein zweites Datenobjekt in der Mehrzahl von Datenobjekten autorisierten Akteur, wobei das zweite Datenobjekt mit dem ersten Datenobjekt gemäß der ersten Hierarchie in Beziehung steht.
  15. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 14, wobei das zweite Datenobjekt ein Vorgängerobjekt des ersten Datenobjekts in der ersten Hierarchie ist.
  16. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 14 oder 15, wobei das zweite Datenobjekt ein übergeordnetes Objekt des ersten Datenobjekts in der ersten Hierarchie ist.
  17. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12, wobei der aktuelle Wert des ersten Attributs mindestens eine Klassifizierung für das erste Datenobjekt angibt.
  18. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12 oder einem anderen vorhergehenden Anspruch, wobei das Verfahren ferner umfasst: Zugreifen auf eine erste Spezifikation für die erste FSM zum Verwalten des ersten Workflows, wobei die erste Spezifikation Workflow-Zustände und Übergänge zwischen Zuständen in den Workflow-Zuständen angibt; Erzeugen der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt unter Verwendung der ersten Spezifikation; und Assoziieren der ersten FSM mit dem ersten Datenobjekt.
  19. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 18, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, wobei das Verfahren ferner umfasst: Erzeugen einer zweiten FSM zum Verwalten des ersten Workflows für das zweite Datenobjekt unter Verwendung der ersten Spezifikation, wobei die erste FSM von der zweiten FSM verschieden ist; und Assoziieren der zweiten FSM mit dem zweiten Datenobjekt.
  20. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut umfasst, wobei das Verfahren umfasst: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows zum Ändern eines Wertes des zweiten Attributs des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  21. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12 oder einem anderen vorhergehenden Anspruch, wobei der erste Workflow für das erste Datenobjekt ein Workflow zum Verwalten von Änderungen am ersten Datenobjekt ist.
  22. Nicht-transitorisches computerlesbares Medium oder nicht-transitorische computerlesbare Medien nach Anspruch 12 oder einem anderen vorhergehenden Anspruch, wobei das Verfahren ferner umfasst: wenn die erste FSM angibt, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von jedem von mehreren Akteuren, die den ersten Akteur umfassen; und Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt nur dann, wenn eine Mehrheit der mehreren Akteure eine Eingabe bereitstellt, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  23. Datenverarbeitungssystem, umfassend: mindestens einen Computerhardware-Prozessor; mindestens einen Datenspeicher, der speichert: eine Mehrzahl von Datenobjekten und Werte ihrer Attribute, wobei die Mehrzahl von Datenobjekten ein erstes Datenobjekt umfasst, das erste Datenobjekt eine Mehrzahl von Attributen aufweist, die ein erstes Attribut umfasst, das einen von einer Mehrzahl von Werten aufweisen kann; und Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; und ein Workflow-Verwaltungssystem, das umfasst: eine Workflow-Ausführungsmaschine zum Verwalten der Ausführung von endlichen Zustandsmaschinen (FSM), die eine erste FSM umfassen, die mit dem ersten Datenobjekt assoziiert und zum Verwalten eines ersten Workflows für das erste Datenobjekt ist, wobei das Workflow-Verwaltungssystem so konfiguriert ist, dass es unter Verwendung des mindestens einen Computerhardware-Prozessors ein Verfahren durchführt, das umfasst: wenn ein aktueller Workflow-Zustand der ersten FSM ein erster Workflow-Zustand ist: Bestimmen eines aktuellen Wertes des ersten Attributs des ersten Datenobjekts durch Zugreifen auf den aktuellen Wert des ersten Attributs in dem mindestens einen Datenspeicher; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung des aktuellen Wertes des ersten Attributs und der Metadaten, die Beziehungen zwischen wenigstens einigen der Mehrzahl von Datenobjekten spezifizieren; Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll; und in Reaktion auf den Empfang einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur und durch die GUI: Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren des aktuellen Workflow-Zustands der ersten FSM auf einen zweiten Workflow-Zustand.
  24. Datenverarbeitungssystem nach Anspruch 23, wobei Datenobjekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt sind, wobei die Metadaten die eine oder die mehreren Hierarchien spezifizieren, und wobei der aktuelle Wert des ersten Attributs eine erste Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört.
  25. Datenverarbeitungssystem nach Anspruch 24, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen zum Durchführen der ersten Workflow-Aufgabe für ein zweites Datenobjekt in der Mehrzahl von Datenobjekten autorisierten Akteur, wobei das zweite Datenobjekt mit dem ersten Datenobjekt gemäß der ersten Hierarchie in Beziehung steht.
  26. Datenverarbeitungssystem nach Anspruch 23, wobei das zweite Datenobjekt ein Vorgängerobjekt des ersten Datenobjekts in der ersten Hierarchie ist.
  27. Datenverarbeitungssystem nach Anspruch 25 oder 26, wobei das zweite Datenobjekt ein übergeordnetes Objekt des ersten Datenobjekts in der ersten Hierarchie ist.
  28. Datenverarbeitungssystem nach Anspruch 23, wobei der aktuelle Wert des ersten Attributs mindestens eine Klassifizierung für das erste Datenobjekt angibt.
  29. Datenverarbeitungssystem nach Anspruch 23 oder einem anderen vorhergehenden Anspruch, wobei das Verfahren ferner umfasst: Zugreifen auf eine erste Spezifikation für die erste FSM zum Verwalten des ersten Workflows, wobei die erste Spezifikation Workflow-Zustände und Übergänge zwischen Zuständen in den Workflow-Zuständen angibt; Erzeugen der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt unter Verwendung der ersten Spezifikation; und Assoziieren der ersten FSM mit dem ersten Datenobjekt.
  30. Datenverarbeitungssystem nach Anspruch 29, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, wobei das Verfahren ferner umfasst: Erzeugen einer zweiten FSM zum Verwalten des ersten Workflows für das zweite Datenobjekt unter Verwendung der ersten Spezifikation, wobei die erste FSM von der zweiten FSM verschieden ist; und Assoziieren der zweiten FSM mit dem zweiten Datenobjekt.
  31. Datenverarbeitungssystem nach Anspruch 23 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut umfasst, wobei das Verfahren ferner umfasst: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows zum Ändern eines Wertes des zweiten Attributs des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  32. Datenverarbeitungssystem nach Anspruch 23 oder einem anderen vorhergehenden Anspruch, wobei der erste Workflow für das erste Datenobjekt ein Workflow zum Verwalten von Änderungen am ersten Datenobjekt ist.
  33. Datenverarbeitungssystem nach Anspruch 23 oder einem anderen vorhergehenden Anspruch, wobei das Verfahren ferner Folgendes umfasst: wenn die erste FSM angibt, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von jedem von mehreren Akteuren, die den ersten Akteur umfassen; und Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt nur dann, wenn eine Mehrheit der mehreren Akteure eine Eingabe bereitstellt, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  34. System zum Verwalten eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM), wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt, wobei das System umfasst: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows der zweite Workflow-Zustand ist.
  35. System nach Anspruch 34, wobei das mindestens eine Attribut mindestens eine Klassifizierung für das erste Datenobjekt angibt, und das Identifizieren unter Verwendung mindestens eines Wertes für die mindestens eine Klassifizierung durchgeführt wird.
  36. System nach Anspruch 35 oder einem anderen vorhergehenden Anspruch, wobei die mindestens eine Klassifizierung aus der Gruppe bestehend aus einer Governance-Gruppenklassifizierung, einer Vertraulichkeitsklassifizierung und einer Personenbezogene-Informationen-Klassifizierung ausgewählt ist.
  37. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei Objekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt sind, und wobei das mindestens eine Attribut mindestens eine Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört.
  38. System nach Anspruch 37 oder einem anderen vorhergehenden Anspruch, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs unter Verwendung von Informationen, die für mindestens ein anderes Datenobjekt in der mindestens einen Hierarchie spezifiziert, das mit dem ersten Datenobjekt in Beziehung steht.
  39. System nach Anspruch 37 oder einem anderen vorhergehenden Anspruch, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen Akteur, der zum Durchführen der ersten Workflow-Aufgabe für mindestens ein anderes Datenobjekt in der mindestens einen Hierarchie autorisiert ist, das mit dem ersten Datenobjekt in Beziehung steht.
  40. System nach Anspruch 39 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein Vorgänger-Datenobjekt in der mindestens einen Hierarchie aufweist, und wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen Akteur, der zum Durchführen der ersten Workflow-Aufgabe für das Vorgänger-Datenobjekt autorisiert ist.
  41. System nach Anspruch 40 oder einem anderen vorhergehenden Anspruch, wobei das Vorgänger-Datenobjekt ein übergeordnetes Objekt des ersten Datenobjekts in der mindestens einen Hierarchie ist.
  42. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Zugreifen auf eine erste Spezifikation für eine endliche Zustandsmaschine zum Verwalten des ersten Workflows, wobei die erste Spezifikation den ersten Satz von Workflow-Zuständen und den ersten Satz von Übergängen zwischen Zuständen im ersten Satz von Workflow-Zuständen angibt; und Erzeugen der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt unter Verwendung der ersten Spezifikation.
  43. System nach Anspruch 42 oder einem anderen vorhergehenden Anspruch, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten des ersten Workflows für das zweite Datenobjekt unter Verwendung der ersten Spezifikation, wobei die erste FSM von der zweiten FSM verschieden ist.
  44. System nach Anspruch 43 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Identifizieren eines zweiten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das zweite Datenobjekt autorisiert ist, aus der Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des zweiten Datenobjekts, wobei der zweite Akteur vom ersten Akteur verschieden ist.
  45. System nach Anspruch 44 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt in einer ersten Hierarchie von Objekten ist, und das zweite Datenobjekt in einer zweiten Hierarchie von Objekten verschieden von der ersten Hierarchie der Objekte ist, und wobei das Identifizieren des zweiten Akteurs ein Identifizieren des zweiten Akteurs aus den Akteuren umfasst, die mit einem oder mehreren Datenobjekten in der zweiten Hierarchie assoziiert sind.
  46. System nach Anspruch 44 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computer-Hardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die zweite FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das zweite Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom zweiten Akteur; Durchführen der ersten Workflow-Aufgabe für das zweite Datenobjekt; und Aktualisieren der zweiten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das zweite Datenobjekt der zweite Workflow-Zustand ist.
  47. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computer-Hardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  48. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein erstes Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows für das erste Attribut des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  49. System nach Anspruch 48 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer dritten FSM zum Verwalten eines dritten Workflows für das zweite Attribut des ersten Datenobjekts; und Verwenden der dritten FSM zum Verwalten des dritten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt und dem Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts.
  50. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein erstes Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows zum Ändern eines Wertes des ersten Attributs des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des Workflows zum Ändern des Wertes des ersten Attributs des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  51. System nach Anspruch 50 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computer-Hardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer grafischen Benutzerschnittstelle, die den aktuellen Zustand der ersten FSM für das erste Datenobjekt und einen aktuellen Zustand der zweiten FSM zum Verwalten des Workflows zum Ändern des Wertes des ersten Attributs des ersten Datenobjekts angibt.
  52. System nach Anspruch 47 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt einen Geschäftsbegriff darstellt, und wobei das erste Attribut ausgewählt ist aus Gruppe bestehend aus: einer Hierarchie für den Geschäftsbegriff, einer Klassifizierung für den Geschäftsbegriff, einem Wert des Geschäftsbegriffs, einer Angabe von gültigen Werten für den Geschäftsbegriff und einem Akteur, der mit dem Geschäftsbegriff assoziiert ist.
  53. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei der erste Workflow für das erste Datenobjekt ein Workflow zum Verwalten von Änderungen am ersten Datenobjekt ist.
  54. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von jedem von mehreren Akteuren, die den ersten Akteur umfassen; und Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt, wenn eine Mehrheit der mehreren Akteure eine Eingabe bereitstellt, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  55. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von jedem von mehreren Akteuren, den ersten Akteur umfassend; und Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt nur dann, wenn jeder der mehreren Akteure eine Eingabe bereitstellt, die angibt, dass die erste Workflow-Aufgabe durchgeführt werden soll.
  56. System nach Anspruch 34 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, und vor dem Empfangen der Eingabe vom ersten Akteur Empfangen der Eingabe, die angibt, ob die erste Workflow-Aufgabe durchgeführt werden soll oder nicht, von mehreren Akteuren mit Ausnahme des ersten Akteurs; und Bereitstellen der von den mehreren Akteuren empfangenen Eingabe über eine grafische Benutzerschnittstelle für den ersten Akteur.
  57. Verfahren zur Verwaltung eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM), wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt, wobei das Verfahren umfasst: Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem: Identifizieren eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  58. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien, die prozessorausführbare Anweisungen speichern, die bei Ausführung durch mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen eines Verfahrens zur Verwaltung eines Workflows für ein erstes Datenobjekt in einer Mehrzahl von Datenobjekten unter Verwendung einer ersten endlichen Zustandsmaschine (FSM) veranlassen, wobei die erste FSM einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen aufweist, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Workflow-Aufgabe im ersten Workflow darstellt, wobei das Verfahren umfasst: Identifizieren aus einer Mehrzahl von Akteuren und unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts eines ersten Akteurs, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, vom ersten Akteur; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  59. Verfahren zur Verwaltung von Workflows für eine Mehrzahl von Datenobjekten, die ein erstes Datenobjekt umfassen, wobei das Verfahren umfasst: Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem: Erzeugen einer ersten FSM zum Verwalten eines ersten Workflows für einen ersten Satz von Datenobjekten unter Verwendung einer ersten Spezifikation für eine erste endliche Zustandsmaschine (FSM), wobei die erste Spezifikation angibt: einen ersten Satz von Workflows, der einen ersten und einen zweiten Workflow-Zustand umfasst; und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für den ersten Satz von Datenobjekten der erste Workflow-Zustand ist, Empfangen einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für den ersten Satz von ersten Datenobjekten der zweite Workflow-Zustand ist.
  60. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien, die prozessorausführbare Anweisungen speichern, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow eines ersten Datenobjekts einer Mehrzahl von Datenobjekten; Identifizieren unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist; wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows ein erster Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Präsentieren der GUI für den ersten Akteur.
  61. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Empfangen einer vom ersten Akteur durch die erzeugte GUI bereitgestellten Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  62. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 61 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: in Reaktion auf das Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Datenobjekts der zweite Workflow-Zustand ist, Identifizieren eines zweiten Akteurs, der zum Durchführen einer zweiten Workflow-Aufgabe autorisiert ist, die mit einem zweiten Übergang aus dem zweiten Workflow-Zustand in einen dritten Workflow-Zustand assoziiert ist; und Benachrichtigen des zweiten Akteurs und/oder eines dritten Akteurs, dass es eine Workflow-Aufgabe gibt, die der zweite Akteur durchführen soll.
  63. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 62 oder einem anderen vorhergehenden Anspruch, wobei das Benachrichtigen des zweiten Akteurs ein Senden einer E-Mail-Benachrichtigung an den Akteur und/oder Bereitstellen einer visuellen Benachrichtigung durch eine grafische Benutzerschnittstelle für den Akteur umfasst.
  64. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60 oder einem anderen vorhergehenden Anspruch, wobei das mindestens eine Attribut mindestens eine Klassifizierung für das erste Datenobjekt angibt, und das Identifizieren unter Verwendung mindestens eines Wertes für die mindestens eine Klassifizierung durchgeführt wird.
  65. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 64 oder einem anderen vorhergehenden Anspruch, wobei die mindestens eine Klassifizierung aus der Gruppe bestehend aus einer Govemance-Gruppenklassifizierung, einer Vertraulichkeitsklassifizierung und einer Personenbezogene-Informationen-Klassifizierung ausgewählt ist.
  66. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60, wobei Objekte in der Mehrzahl von Datenobjekten in eine oder mehrere Hierarchien eingeteilt sind, und wobei das mindestens eine Attribut mindestens eine Hierarchie der einen oder der mehreren Hierarchien angibt, zu der das erste Datenobjekt gehört.
  67. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 66 oder einem anderen vorhergehenden Anspruch, wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen Akteur, der zum Durchführen der ersten Workflow-Aufgabe für mindestens ein anderes Datenobjekt in der mindestens einen Hierarchie autorisiert ist.
  68. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 67 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein übergeordnetes Datenobjekt in der mindestens einen Hierarchie aufweist, und wobei das Identifizieren des ersten Akteurs umfasst: Identifizieren des ersten Akteurs als einen Akteur, der zum Durchführen der ersten Workflow-Aufgabe für das übergeordnete Datenobjekt autorisiert ist.
  69. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Zugreifen auf eine erste Spezifikation für eine endliche Zustandsmaschine zum Verwalten des ersten Workflows, wobei die Spezifikation einen Satz von Workflow-Zuständen und einen Satz von Übergängen zwischen Zuständen im Satz von Workflow-Zuständen angibt; und Erzeugen der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt unter Verwendung der ersten Spezifikation, auf die zugegriffen wird.
  70. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein erstes Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows für das erste Attribut des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  71. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 70 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer dritten FSM zum Verwalten eines dritten Workflows für das zweite Attribut des ersten Datenobjekts; und Verwenden der dritten FSM zum Verwalten des dritten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt und dem Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts.
  72. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 71 oder einem anderen vorhergehenden Anspruch, wobei das Erzeugen der GUI umfasst: Erzeugen einer grafischen Benutzerschnittstelle, die den aktuellen Zustand der ersten FSM für das erste Datenobjekt und einen aktuellen Zustand der zweiten FSM zum Verwalten des Workflows zum Ändern des Wertes des ersten Attributs des ersten Datenobjekts angibt.
  73. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 60 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt einen Geschäftsbegriff darstellt, und wobei das erste Attribut ausgewählt ist aus der Gruppe bestehend aus: einer Hierarchie für den Geschäftsbegriff, einer Klassifizierung für den Geschäftsbegriff, einem Wert des Geschäftsbegriffs, einer Angabe von gültigen Werten für den Geschäftsbegriff und einem Akteur, der mit dem Geschäftsbegriff assoziiert ist.
  74. Verfahren, umfassend: Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow eines ersten Datenobjekts einer Mehrzahl von Datenobjekten; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows ein erster Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Präsentieren der GUI für den ersten Akteur.
  75. System, umfassend: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten endlichen Zustandsmaschine (FSM) für einen ersten Workflow eines ersten Datenobjekts einer Mehrzahl von Datenobjekten; Identifizieren eines ersten Akteurs, der zum Durchführen einer ersten Workflow-Aufgabe autorisiert ist, die mit einem ersten Übergang aus dem ersten Workflow-Zustand in einen zweiten Workflow-Zustand assoziiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts; wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows ein erster Workflow-Zustand ist, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass die erste Workflow-Aufgabe durchgeführt werden soll, und Präsentieren der GUI für den ersten Akteur.
  76. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien, die prozessorausführbare Anweisungen speichern, die bei Ausführung durch mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten FSM zum Verwalten des ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  77. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 76, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten des ersten Workflows für das zweite Datenobjekt unter Verwendung der Spezifikation, wobei die erste FSM von der zweiten FSM verschieden ist.
  78. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 77 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die zweite FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das zweite Datenobjekt der erste Workflow-Zustand ist, Empfangen von einem zweiten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht, einer Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll; Durchführen der ersten Workflow-Aufgabe für das zweite Datenobjekt; und Aktualisieren der zweiten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das zweite Datenobjekt der zweite Workflow-Zustand ist.
  79. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 76 oder einem anderen vorhergehenden Anspruch, wobei die Mehrzahl von Datenobjekten ein zweites Datenobjekt umfasst, das vom ersten Datenobjekt verschieden ist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen unter Verwendung einer zweiten Spezifikation einer zweiten FSM zum Verwalten des zweiten Workflows für das zweite Datenobjekt, wobei die zweite Spezifikation einen zweiten Satz von Workflow-Zuständen angibt, und ein zweiter Satz von Übergängen zwischen dem zweiten Satz von Workflow-Zuständen Aufgaben im zweiten Workflow darstellt.
  80. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 76 oder einem anderen vorhergehenden Anspruch, wobei die zweite Mehrzahl von Workflow-Zuständen einen dritten und einen vierten Workflow-Zustand umfasst, wobei die zweite Mehrzahl von Übergängen einen zweiten Übergang zwischen dem dritten und dem vierten Workflow-Zustand umfasst, der einer zweiten Workflow-Aufgabe entspricht, wobei, wenn die zweite FSM angibt, dass ein aktueller Workflow-Zustand des zweiten Workflows für das zweite Datenobjekt der dritte Workflow-Zustand ist, Empfangen von einem zweiten Akteur, der zum Durchführen der zweiten Workflow-Aufgabe autorisiert ist, einer Eingabe, die spezifiziert, dass die zweite Workflow-Aufgabe durchgeführt werden soll; Durchführen der zweiten Workflow-Aufgabe für das zweite Datenobjekt; und Aktualisieren der zweiten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des zweiten Workflows für das zweite erste Datenobjekt der vierte Workflow-Zustand ist.
  81. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 76 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen mehrerer FSMs zum Verwalten mehrerer Workflows für mehrere jeweilige Datenobjekte in der Mehrzahl von Datenobjekten.
  82. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 81 oder einem anderen vorhergehenden Anspruch, wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: wenn die erste FSM angibt, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Identifizieren des ersten Akteurs aus einer Mehrzahl von Akteuren als einen Akteur, der zum Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt autorisiert ist, unter Verwendung mindestens eines Wertes mindestens eines Attributs des ersten Datenobjekts, Erzeugen einer grafischen Benutzerschnittstelle (GUI), durch welche der erste Akteur die Eingabe bereitstellen kann, dass der erste Workflow durchgeführt werden soll, und Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, durch die erzeugte GUI.
  83. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 76 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein erstes Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer zweiten FSM zum Verwalten eines zweiten Workflows für das erste Attribut des ersten Datenobjekts; und Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten eines ersten Workflows für das erste Datenobjekt.
  84. Nicht-transitorisches computerlesbares Speichermedium oder nicht-transitorische computerlesbare Speichermedien nach Anspruch 83 oder einem anderen vorhergehenden Anspruch, wobei das erste Datenobjekt ein zweites Attribut aufweist, und wobei die prozessorausführbaren Anweisungen den mindestens einen Computerhardware-Prozessor ferner zum Durchführen von Folgendem veranlassen: Erzeugen einer dritten FSM zum Verwalten eines dritten Workflows für das zweite Attribut des ersten Datenobjekts; und Verwenden der dritten FSM zum Verwalten des dritten Workflows für das zweite Attribut des ersten Datenobjekts gleichzeitig mit dem Verwenden der ersten FSM zum Verwalten des ersten Workflows für das erste Datenobjekt und dem Verwenden der zweiten FSM zum Verwalten des zweiten Workflows für das erste Attribut des ersten Datenobjekts.
  85. System, umfassend: mindestens einen Computerhardware-Prozessor; und mindestens ein nicht-transitorisches computerlesbares Speichermedium, das prozessorausführbare Anweisungen speichert, die bei Ausführung durch den mindestens einen Computerhardware-Prozessor den mindestens einen Computerhardware-Prozessor zum Durchführen von Folgendem veranlassen: Erzeugen einer ersten FSM zum Verwalten des ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
  86. Verfahren, umfassend: Verwenden mindestens eines Computerhardware-Prozessors zum Durchführen von Folgendem: Erzeugen einer ersten FSM zum Verwalten des ersten Workflows zum Ändern eines Wertes eines Attributs eines ersten Datenobjekts einer Mehrzahl von Datenobjekten, wobei das Erzeugen unter Verwendung einer Spezifikation durchgeführt wird, die einen ersten Satz von Workflow-Zuständen, der einen ersten und einen zweiten Workflow-Zustand umfasst, und einen ersten Satz von Übergängen zwischen dem ersten Satz von Workflow-Zuständen angibt, wobei der erste Satz von Übergängen Aufgaben im ersten Workflow darstellt und einen ersten Übergang zwischen dem ersten und dem zweiten Zustand umfasst, der eine erste Aufgabe im ersten Workflow darstellt; und, wenn die erste FSM angibt, dass ein aktueller Workflow-Zustand des ersten Workflows für das erste Datenobjekt der erste Workflow-Zustand ist, Empfangen der Eingabe, die spezifiziert, dass die erste Workflow-Aufgabe durchgeführt werden soll, von einem ersten Akteur, der zum Durchführen der ersten Workflow-Aufgabe autorisiert ist, die dem ersten Übergang zwischen dem ersten und dem zweiten Workflow-Zustand entspricht; Durchführen der ersten Workflow-Aufgabe für das erste Datenobjekt; und Aktualisieren der ersten FSM, um anzugeben, dass der aktuelle Workflow-Zustand des ersten Workflows für das erste Datenobjekt der zweite Workflow-Zustand ist.
DE112020000467.8T 2019-01-22 2020-01-22 Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte Pending DE112020000467T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962795443P 2019-01-22 2019-01-22
US62/795,443 2019-01-22
PCT/US2020/014607 WO2020154400A1 (en) 2019-01-22 2020-01-22 Finite state machines for implementing workflows for data objects managed by a data processing system

Publications (1)

Publication Number Publication Date
DE112020000467T5 true DE112020000467T5 (de) 2021-09-30

Family

ID=69740536

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000467.8T Pending DE112020000467T5 (de) 2019-01-22 2020-01-22 Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte

Country Status (10)

Country Link
US (1) US20200234242A1 (de)
EP (2) EP4404052A3 (de)
JP (2) JP7427677B2 (de)
CN (1) CN113454662A (de)
AU (1) AU2020211972A1 (de)
BR (1) BR112021014337A2 (de)
CA (1) CA3127444A1 (de)
DE (1) DE112020000467T5 (de)
SG (1) SG11202107946WA (de)
WO (1) WO2020154400A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11941625B2 (en) * 2019-06-04 2024-03-26 Jpmorgan Chase Bank, N.A. Systems and methods for real-time classification and verification of data using hierarchal state machines
US11989384B2 (en) * 2020-06-29 2024-05-21 Atlassian Pty Ltd. Dynamic actionable notifications
CN116917882A (zh) 2021-01-31 2023-10-20 起元技术有限责任公司 用于访问由数据处理系统管理的数据实体的系统和方法
WO2022182800A1 (en) 2021-02-24 2022-09-01 Ab Initio Technology Llc Systems and methods for managing privileges in a data processing system
US11928136B2 (en) * 2021-04-09 2024-03-12 Veeva Systems Inc. Computing networks and systems for tracking data
CN113569309B (zh) * 2021-07-20 2024-02-02 华中科技大学 基于有限状态机的双通道镜像加工程序生成方法及系统
US20230067168A1 (en) * 2021-08-24 2023-03-02 Rakuten Mobile, Inc. Network service construction graphical user interface, apparatus and method
EP4392913A1 (de) * 2021-08-24 2024-07-03 The Provenance Chain Network, Inc. Objektstory zur verfolgung von aspekten des objektlebenszyklus
CN113900669A (zh) * 2021-10-12 2022-01-07 东禾软件(江苏)有限责任公司 基于bpmn的边缘设备目标检测流程自动化系统及方法
CN114185614A (zh) * 2021-12-03 2022-03-15 招联消费金融有限公司 动态资信的调用方法、装置、计算机设备和存储介质
US20230214751A1 (en) * 2022-01-04 2023-07-06 Sap Se Workflow management with no code multiexperience predictive workflow tasks
US11972235B2 (en) * 2022-03-02 2024-04-30 Sap Se No-code metadata-driven provisioning of workflow task user interfaces

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US20070011668A1 (en) 2005-06-27 2007-01-11 Wholey J S Managing parameters for graph-based computations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014927A2 (en) * 2001-08-08 2003-02-20 Trivium Systems Inc. Scalable messaging platform for the integration of business software components
US7912820B2 (en) * 2003-06-06 2011-03-22 Microsoft Corporation Automatic task generator method and system
US20050043982A1 (en) * 2003-08-22 2005-02-24 Nguyen Vinh Dinh Contextual workflow modeling
US7937432B2 (en) * 2007-02-16 2011-05-03 Red Hat, Inc. State transition management according to a workflow management policy
US20090043621A1 (en) * 2007-08-09 2009-02-12 David Kershaw System and Method of Team Performance Management Software
US20100223557A1 (en) * 2009-02-28 2010-09-02 Adam Kenney Method and system for workflow integration
US8429605B2 (en) * 2009-12-30 2013-04-23 The United States Of America As Represented By The Secretary Of The Navy Finite state machine architecture for software development
US20110313933A1 (en) * 2010-03-16 2011-12-22 The University Of Washington Through Its Center For Commercialization Decision-Theoretic Control of Crowd-Sourced Workflows
US8732282B1 (en) * 2011-09-30 2014-05-20 Emc Corporation Model framework to facilitate robust programming of distributed workflows
US9020873B1 (en) * 2012-05-24 2015-04-28 The Travelers Indemnity Company Decision engine using a finite state machine for conducting randomized experiments
US10649742B2 (en) * 2014-06-13 2020-05-12 James L. Bosworth Computing expression medium, development environment, and device communication and control architecture
US11537415B2 (en) * 2018-10-02 2022-12-27 Inter-University Research Institute Corporation Research Organization Of Information And Systems Information processing apparatus, information processing circuit, information processing system, and information processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US20070011668A1 (en) 2005-06-27 2007-01-11 Wholey J S Managing parameters for graph-based computations

Also Published As

Publication number Publication date
JP2024050648A (ja) 2024-04-10
US20200234242A1 (en) 2020-07-23
EP4404052A2 (de) 2024-07-24
EP3915067B1 (de) 2024-07-17
EP4404052A3 (de) 2024-09-04
WO2020154400A1 (en) 2020-07-30
SG11202107946WA (en) 2021-08-30
EP3915067A1 (de) 2021-12-01
CA3127444A1 (en) 2020-07-30
BR112021014337A2 (pt) 2021-09-21
AU2020211972A1 (en) 2021-08-12
JP2022518273A (ja) 2022-03-14
JP7427677B2 (ja) 2024-02-05
CN113454662A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
DE112020000467T5 (de) Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte
US11973760B2 (en) Hierarchical permissions model within a document
DE112017005638T5 (de) Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen
DE112021002797T5 (de) Datenschutzerhaltende architektur für genehmigungspflichtige blockchains
CN113919680A (zh) 一种基于通用任务构建管理信息系统的方法
DE112013001175T5 (de) Erzeugen von elektronischen Stammbäumen
DE112022003063T5 (de) Data-governance-systeme und -verfahren
DE112022000878T5 (de) Datensatzmultiplexer für datenverarbeitungssystem
DE112021005625T5 (de) Automatisiertes zusammenführen von dlt-netzwerken
US9922059B1 (en) Case model—data model and behavior versioning
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen
DE112022000920T5 (de) Systeme und verfahren zum zugreifen auf datenentitäten, die durch ein datenverarbeitungssystem verwaltet werden
JP2015167005A (ja) 書類、バリデーションチェック及び開発ドキュメント作成用コンパイラ及びそれを用いた稟議システム
DE112022001179T5 (de) Systeme und Verfahren zum Verwalten von Berechtigungen in einem Datenverarbeitungssystem
JP2015167006A (ja) 書類、バリデーションチェック及び開発ドキュメント作成用コンパイラ及びそれを用いた稟議システム
DE112022000876T5 (de) Techniken zum verwalten von daten in einem datenverarbeitungssystem unter verwendung von datenentitäten und vererbung
CN116257886A (zh) 知识产权任务处理系统及方法、设备、存储介质