-
HINTERGRUND
-
Die vorliegende Erfindung betrifft allgemein eine Verbesserung eines Computersystems wie zum Beispiel eines Systems zum Ausführen von Workflows.
-
HINTERGRUND
-
In letzter Zeit ist dank der Verfügbarkeit und Verbreitung von Datenverarbeitungseinheiten ein Bereitstellen von Workflows für Kunden oder andere Benutzer zum Ausführen bestimmter Aufgaben mit Maschinenunterstützung Normalität geworden. Ein derartiger Workflow enthält eine Liste von Workflow-Schritten, die eine Zusammenstellung von Operationen sein können, die ein Benutzer mit Maschinenunterstützung in einer bestimmten Reihenfolge ausführt, die durch den Workflow bereitgestellt wird.
-
Technische Herausforderungen bei der Ausführung eines Workflows umfassen ein Aktualisieren des Workflows mit Informationen zum Unterstützen bei der Ausführung des einen oder der mehreren Workflow-Schritte, wenn jeder der Workflow-Schritte ausgeführt wird.
-
Daher besteht im Stand der Technik ein Bedarf, sich des vorgenannten Problems anzunehmen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Von einem ersten Aspekt aus betrachtet stellt die vorliegende Erfindung ein durch einen Computer umgesetztes Verfahren zum Ausführen eines interaktiven Workflows bereit, wobei das Verfahren aufweist: ein Auswählen eines Workflows zur interaktiven Ausführung, wobei der Workflow eine Abfolge von Workflow-Schritten aufweist; ein Beziehen einer vorläufigen Aktualisierung für den Workflow aus einer Datenquelle und ein dynamisches Modifizieren des Workflows; ein Auswählen eines Workflow-Schritts aus dem Workflow zur Ausführung; ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der Datenquelle und ein dynamisches Modifizieren des Workflow-Schritts unter Verwendung der aktualisierten Informationen; ein Abrufen, aus der Datenquelle, von ersten Ergebnisinformationen, wobei die ersten Ergebnisinformationen für Ergebnisse eines Ausführens des aktualisierten Workflow-Schritts durch andere Benutzer indikativ sind; in Reaktion auf die ersten Ergebnisinformationen, die für ein Durchführen einer Ausführung indikativ sind, ein Ausführen des Workflow-Schritts unter Verwendung des aktualisierten Workflow-Schritts, wobei die Ausführung ein Ändern eines Zielsystems aufweist; ein Ansammeln von Ausführungsinformationen, die Attribute aufweisen, die einer Ausführung des Workflow-Schritts zugehörig sind, und von zweiten Ergebnisinformationen auf Grundlage der Ausführung des Workflow-Schritts; und ein Verschieben der Ausführungsinformationen zu der Datenquelle nach Abschluss des Workflow-Schritts.
-
Von einem weiteren Aspekt aus betrachtet stellt die vorliegende Erfindung ein System zum Ausführen eines interaktiven Workflows bereit, wobei das System aufweist: einen Arbeitsspeicher; und einen Prozessor, der für eine maschinengestützte Workflow-Ausführung konfiguriert ist, aufweisend: ein Auswählen eines Workflows zur interaktiven Ausführung, wobei der Workflow eine Abfolge von Workflow-Schritten aufweist; ein Beziehen einer vorläufigen Aktualisierung für den Workflow aus einer Datenquelle und ein dynamisches Modifizieren des Workflows; ein Auswählen eines Workflow-Schritts aus dem Workflow zur Ausführung; ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der Datenquelle und ein dynamisches Modifizieren des Workflows unter Verwendung der aktualisierten Informationen; ein Abrufen, aus der Datenquelle, von ersten Ergebnisinformationen, wobei die ersten Ergebnisinformationen für Ergebnisse eines Ausführens des aktualisierten Workflow-Schritts durch andere Benutzer indikativ sind; in Reaktion auf die ersten Ergebnisinformationen, die für ein Durchführen einer Ausführung indikativ sind, ein Ausführen des Workflow-Schritts unter Verwendung des aktualisierten Workflow-Schritts, wobei die Ausführung ein Ändern eines Zielsystems aufweist; ein Ansammeln von Ausführungsinformationen, die Attribute aufweisen, die einer Ausführung des Workflow-Schritts zugehörig sind, und von zweiten Ergebnisinformationen auf Grundlage der Ausführung des Workflow-Schritts; und ein Verschieben der Ausführungsinformationen zu der Datenquelle nach Abschluss des Workflow-Schritts.
-
Von einem weiteren Aspekt aus betrachtet stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Ausführen eines interaktiven Workflows bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das von einer Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Ausführen der Schritte der Erfindung auszuführen.
-
Von einem weiteren Aspekt aus betrachtet stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Arbeitsspeicher eines digitalen Computers ladbar ist, wobei es Abschnitte von Softwarecode zum Ausführen der Schritte der Erfindung aufweist, wenn das Programm auf einem Computer ausgeführt wird.
-
Gemäß einer oder mehreren Ausführungsformen enthält ein durch einen Computer umgesetztes Verfahren zum Ausführen eines interaktiven Workflows ein Auswählen eines Workflows zur interaktiven Ausführung, wobei der Workflow eine Abfolge von Workflow-Schritten enthält. Das Verfahren enthält ferner ein Beziehen einer vorläufigen Aktualisierung für den Workflow aus einer Datenquelle und ein dynamisches Modifizieren des Workflows. Das Verfahren enthält ferner ein Auswählen eines Workflow-Schritts aus dem Workflow zur Ausführung und ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der Datenquelle und ein dynamisches Modifizieren des Workflows unter Verwendung der aktualisierten Informationen. Ferner enthält das Verfahren ein Abrufen, aus der Datenquelle, von ersten Ergebnisinformationen, wobei die ersten Ergebnisinformationen für Ergebnisse eines Ausführens des aktualisierten Workflow-Schritts durch andere Benutzer indikativ sind. Das Verfahren enthält ferner in Reaktion auf die ersten Ergebnisinformationen, die für ein Durchführen einer Ausführung indikativ sind, ein Ausführen des Workflow-Schritts unter Verwendung des aktualisierten Workflow-Schritts, wobei die Ausführung ein Zielsystem ändert. Das Verfahren enthält ferner ein Ansammeln von Ausführungsinformationen, die Attribute enthalten, die einer Ausführung des Workflow-Schritts zugehörig sind, und von zweiten Ergebnisinformationen auf Grundlage der Ausführung des Workflow-Schritts. Ferner enthält das Verfahren ein Verschieben der Ausführungsinformationen zu der Datenquelle nach Abschluss des Workflow-Schritts.
-
Gemäß einer oder mehreren Ausführungsformen enthält ein System für ein interaktives Ausführen eines Workflows einen Arbeitsspeicher und einen Prozessor, der mit dem Arbeitsspeicher verbunden ist. Die interaktive Ausführung enthält ein Auswählen eines Workflows zur interaktiven Ausführung, wobei der Workflow eine Abfolge von Workflow-Schritten aufweist. Die Ausführung enthält ferner ein Beziehen einer vorläufigen Aktualisierung für den Workflow aus einer Datenquelle und ein dynamisches Modifizieren des Workflows. Die Ausführung enthält ferner ein Auswählen eines Workflow-Schritts aus dem Workflow zur Ausführung und ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der Datenquelle und ein dynamisches Modifizieren des Workflow-Schritts unter Verwendung der aktualisierten Informationen. Ferner enthält die Ausführung ein Abrufen, aus der Datenquelle, von ersten Ergebnisinformationen, wobei die ersten Ergebnisinformationen für Ergebnisse eines Ausführens des aktualisierten Workflow-Schritts durch andere Benutzer indikativ sind. Die Ausführung enthält ferner in Reaktion auf die ersten Ergebnisinformationen, die für ein Durchführen einer Ausführung indikativ sind, ein Ausführen des Workflow-Schritts unter Verwendung des aktualisierten Workflow-Schritts, wobei die Ausführung ein Zielsystem ändert. Die Ausführung enthält ferner ein Ansammeln von Ausführungsinformationen, die Attribute enthalten, die einer Ausführung des Workflow-Schritts zugehörig sind, und von zweiten Ergebnisinformationen auf Grundlage der Ausführung des Workflow-Schritts. Ferner enthält die Ausführung ein Verschieben der Ausführungsinformationen zu der Datenquelle nach Abschluss des Workflow-Schritts.
-
Gemäß einer oder mehreren Ausführungsformen enthält ein Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen, wobei die Programmanweisungen durch eine Verarbeitungsschaltung ausführbar sind, um die Verarbeitungsschaltung zu veranlassen, eine maschinengestützte Workflow-Ausführung bereitzustellen. Die interaktive Ausführung enthält ein Auswählen eines Workflows zur interaktiven Ausführung, wobei der Workflow eine Abfolge von Workflow-Schritten aufweist. Die Ausführung enthält ferner ein Beziehen einer vorläufigen Aktualisierung für den Workflow aus einer Datenquelle und ein dynamisches Modifizieren des Workflows. Die Ausführung enthält ferner ein Auswählen eines Workflow-Schritts aus dem Workflow zur Ausführung und ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der Datenquelle und ein dynamisches Modifizieren des Workflow-Schritts unter Verwendung der aktualisierten Informationen. Ferner enthält die Ausführung ein Abrufen, aus der Datenquelle, von ersten Ergebnisinformationen, wobei die ersten Ergebnisinformationen für Ergebnisse eines Ausführens des aktualisierten Workflow-Schritts durch andere Benutzer indikativ sind. Die Ausführung enthält ferner in Reaktion auf die ersten Ergebnisinformationen, die für ein Durchführen einer Ausführung indikativ sind, ein Ausführen des Workflow-Schritts unter Verwendung des aktualisierten Workflow-Schritts, wobei die Ausführung ein Zielsystem ändert. Die Ausführung enthält ferner ein Ansammeln von Ausführungsinformationen, die Attribute enthalten, die einer Ausführung des Workflow-Schritts zugehörig sind, und von zweiten Ergebnisinformationen auf Grundlage der Ausführung des Workflow-Schritts. Ferner enthält die Ausführung ein Verschieben der Ausführungsinformationen zu der Datenquelle nach Abschluss des Workflow-Schritts.
-
Figurenliste
-
Die in dem vorliegenden Dokument beschriebenen Beispiele sind besser unter Bezugnahme auf die folgenden Zeichnungen und die Beschreibung zu verstehen. Die Komponenten in den Figuren sind nicht notwendigerweise maßstabsgetreu. Außerdem bezeichnen Bezugszeichen mit ähnlicher Referenz in den verschiedenen Ansichten durchgehend entsprechende Teile.
- 1 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung dar;
- 2 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung dar;
- 3 stellt ein beispielhaftes System 100 zur Ausführung eines Workflows unter Verwendung von kognitivem Lernen dar;
- 4 veranschaulicht ein beispielhaftes System 200 gemäß einer oder mehreren Ausführungsformen;
- 5 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Aktualisieren eines Workflows während der Laufzeit gemäß einer oder mehreren Ausführungsformen dar;
- 6 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit verbesserter Sicherheit gemäß einer oder mehreren Ausführungsformen dar;
- 7 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit Bereitstellen von kognitiver Begründung gemäß einer oder mehreren Ausführungsformen dar;
- 8 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit Vorschau des Workflow-Schritts gemäß einer oder mehreren Ausführungsformen dar; und
- 9 veranschaulicht einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit Ergebnisinformationen des Workflow-Schritts gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Verschiedene Ausführungsformen der Erfindung werden hierin unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben. Alternative Ausführungsformen der Erfindung sind denkbar, ohne von dem Schutzumfang dieser Erfindung abzuweichen. Verschiedene Verbindungen und positionsbezogene Beziehungen (z.B. über, unter, neben usw.) zwischen Elementen werden in der folgenden Beschreibung und in den Zeichnungen dargelegt. Diese Verbindungen und/oder positionsbezogenen Beziehungen können, sofern nicht anders angegeben, direkt oder indirekt sein, und die vorliegende Erfindung ist in dieser Hinsicht keinesfalls als einschränkend zu verstehen. Dementsprechend kann eine Verbindung von Entitäten entweder auf eine direkte oder eine indirekte Verbindung verweisen, und eine positionsbezogene Beziehung zwischen Entitäten kann eine direkte oder indirekte positionsbezogene Beziehung sein. Des Weiteren können die hierin beschriebenen verschiedenen Aufgaben und Prozessschritte in eine umfassendere Prozedur oder einen umfassenderen Prozess mit zusätzlichen Schritten oder zusätzlicher Funktionalität integriert werden, die hierin nicht im Detail beschrieben werden.
-
Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Patentschrift zu verwenden. Wie hierin verwendet, sollen die Begriffe „weist auf“, „aufweisend“, „umfasst“, „umfassend“, „besitzt“, „besitzend“, „enthält“ oder „enthaltend“ oder irgendeine Variation davon eine nicht ausschließende Einbeziehung abdecken. Zum Beispiel sind eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Artikel oder eine Vorrichtung, die eine Liste von Elementen aufweist, nicht notwendigerweise auf nur diese Elemente beschränkt, sondern können andere Elemente umfassen, die nicht ausdrücklich aufgelistet oder derartigen Zusammensetzungen, Gemischen, Prozessen, Verfahren, Artikeln oder Vorrichtungen eigen sind.
-
Außerdem bedeutet der hierin verwendete Begriff „beispielhaft“, dass „etwas als Beispiel, Variante oder zur Veranschaulichung dient“. Jede hierin als „beispielhaft“ beschriebene Ausführungsform oder Auslegung muss nicht notwendigerweise als gegenüber anderen Ausführungsformen oder Auslegungen bevorzugt oder vorteilhaft aufgefasst werden. Die Begriffe „mindestens ein/eine“ und „ein/e oder mehrere“ sind als jede ganzzahlige Anzahl größer oder gleich eins zu verstehen, d.h. eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist als ganzzahlige Anzahl größer oder gleich zwei zu verstehen, d.h. zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ umfassen.
-
Die Begriffe „über“, „im Wesentlichen“, „ungefähr“ und Variationen davon sollen das Fehlermaß angeben, das einer Messung der bestimmten Menge auf Grundlage des Zeitpunkts der Anmeldungseinreichung auf der verfügbaren Ausrüstung zugehörig ist. Zum Beispiel kann „über“ einen Bereich von ±8 % oder 5 % oder 2 % eines bestimmten Werts enthalten.
-
Der Kürze halber werden herkömmliche Techniken in Bezug auf ein Erstellen und Verwenden von Aspekten der Erfindung hierin möglicherweise nicht ausführlich beschrieben. Insbesondere sind verschiedene Aspekte von Datenverarbeitungssystemen und bestimmten Computerprogrammen zum Umsetzen der hierin beschriebenen verschiedenen technischen Merkmale wohlbekannt. Dementsprechend werden der Kürze halber viele herkömmliche Umsetzungsdetails hierin nur kurz erwähnt oder vollständig weggelassen, ohne das wohlbekannte System und/oder Prozessdetails bereitzustellen.
-
Die hierin beschriebenen technischen Lösungen ermöglichen ein Aktualisieren eines Workflows, der einem Benutzer zur Ausführung bereitgestellt wird, wobei die Aktualisierung online und dynamisch ausgeführt wird, während der Workflow durch den Benutzer ausgeführt wird. Ein Workflow ist eine Liste von Operationen, die dem Benutzer zum Ausführen in einer bestimmten Reihenfolge dem Workflow entsprechend bereitgestellt werden. In einem oder mehreren Beispielen können eine oder mehrere Operationen (Workflow-Schritte) des Workflows eine Maschine ändern, zum Beispiel eine Machine, auf der der Workflow ausgeführt wird. In einem oder mehreren Beispielen wird der Workflow für den Benutzer auf einer ersten Maschine bereitgestellt, und der Workflow wird auf einer zweiten Maschine ausgeführt. In einem oder mehreren Beispielen werden der eine oder die mehreren Workflow-Schritte des Workflows manuell ausgeführt. Alternativ oder zusätzlich können ein oder mehrere Workflow-Schritte automatisch ausgeführt werden. In einem oder mehreren Beispielen wird der Workflow als eine Kombination von manuellen und automatisierten Schritten ausgeführt.
-
Beispiele für einen Workflow enthalten eine Liste von Workflow-Schritten zum Ändern der Hardware einer Maschine, zum Beispiel ein Aktualisieren/Austauschen einer Arbeitsspeichereinheit eines Computers, ein Aktualisieren/Austauschen einer Batterie eines Fahrzeugs, ein Auswechseln eines Getriebes eines Druckers oder irgendeine andere Hardware-Änderung für eine Maschine. Alternativ oder zusätzlich enthalten Beispiele für einen Workflow eine Liste von Workflow-Schritten zum Ändern von Software, die einer Maschine zugehörig ist, zum Beispiel ein Aktualisieren/Austauschen eines Betriebssystems, ein Aktualisieren/Austauschen eines Software-Systems, ein Ändern einer Konfiguration einer Maschine wie beispielsweise ein Verschlüsseln des Arbeitsspeichers, ein Einrichten von einer oder mehreren Optionen des Software-Systems oder irgendeine andere Software-Änderung für eine Maschine. Es sollte klar sein, dass die vorgenannten Beispiele nur einige für einen Workflow sind, und dass die hierin beschriebenen technischen Lösungen zusätzlich zu den hierin aufgeführten und/oder beschriebenen Beispielen auf andere Beispiele für einen Workflow anwendbar sind.
-
Technische Herausforderungen bei der Ausführung eines Workflows umfassen ein Aktualisieren des Workflows mit Informationen zum Unterstützen der Ausführung des einen oder der mehreren Workflow-Schritte, wenn jeder der Workflow-Schritte ausgeführt wird. Zum Beispiel eine Menge weiterer Informationen als nur diejenigen, die durch den Besitzer (Anbieter/Entwickler) des Workflows bereitgestellt werden, und wenn derartige Informationen dem Benutzer nicht bereitstellt/zur Verfügung gestellt werden, ist er nicht in der Lage, den Workflow-Schritt auszuführen. Die hierin beschriebenen technischen Lösungen nehmen sich einer derartigen technischen Herausforderung an, indem ein Bereitstellen von derartigen fehlenden Informationen vor dem/oder zu dem Zeitpunkt ermöglicht wird, an dem der Workflow-Schritt ausgeführt wird.
-
Zum Beispiel ermöglichen die hierin beschriebenen technischen Lösungen ein Bestimmen und Bereitstellen von derartigen fehlenden Informationen aus mehreren Datenquellen. Zum Beispiel können die Datenquellen Aktualisierungen von dem Workflow-Entwickler enthalten. Wenn der Workflow zum Beispiel durch den Entwickler (den Anbieter oder Besitzer, der den Workflow entwickelt hat) aktualisiert oder korrigiert wird, werden diese aktualisierten Informationen dem Benutzer bereitgestellt. Derartige Informationen werden in der weiteren Beschreibung als „Anbieter-Aktualisierungsinformationen“ bezeichnet.
-
Ferner können die Datenquellen Aktualisierungen von anderen Benutzern enthalten, die denselben Workflow ausgeführt haben, wobei die anderen Benutzer aus einer anderen Domain stammen als der Benutzer, der den Workflow ausführt. Eine andere Domain kann hier auf Benutzer verweisen, die den Workflow in einer anderen Umgebung als der Benutzer ausgeführt haben, wenn zum Beispiel die anderen Benutzer aus einer anderen Organisation als der Benutzer kommen und der Workflow sich auf Organisationsinformationen auswirkt/diese verwendet, wie zum Beispiel ein Aktualisieren eines organisationsbezogenen Servers und dergleichen. Ein weiteres Beispiel für verschiedene Domains kann die Benutzer umfassen, die denselben Workflow auf unterschiedlicher Hardware, einem unterschiedlichem Betriebssystem und dergleichen ausführen. Es sollte klar sein, dass verschiedene andere Beispiele für zwei oder mehrere Benutzer aus verschiedenen Domains möglich sind, wobei die zwei oder die mehreren Benutzer denselben Workflow in ihrer jeweiligen Domain-Umgebung ausführen. Sollte in einem von derartigen Fällen ein anderer Benutzer aus der unterschiedlichen Domain, der denselben Workflow ausgeführt hat, über Informationen zu der Workflow-Ausführung für eine gemeinsame Nutzung verfügen, werden derartige gemeinsam genutzte Informationen identifiziert und dem Benutzer durch die hierin beschriebenen technischen Lösungen bereitgestellt. Derartige Informationen werden in der weiteren Beschreibung als „Informationen sonstiger Benutzer“ bezeichnet.
-
Des Weiteren können die Datenquellen Aktualisierungen enthalten, die derselbe Benutzer beim Ausführen eines ähnlichen Workflows vorher hatte, zum Beispiel eines anderen Workflows mit einem oder mehreren gemeinsamen Workflow-Schritten wie der ausgeführte Workflow. Der Benutzer kann zum Beispiel bestimmte Informationen zu einem/über einen Workflow-Schritt in einer Datenquelle hinzugefügt haben; in derartigen Fällen werden diese Informationen durch die hierin beschriebenen technischen Lösungen mit dem anderen Workflow gemeinsam genutzt. Derartige Informationen werden in der weiteren Beschreibung als „interne Informationen“ bezeichnet.
-
Ferner können die Datenquellen Aktualisierungen von anderen Quellen von außerhalb enthalten, die hierin als „sonstige Benutzerinformationen“ bezeichnet werden. Derartige Informationen enthalten Informationen, die von einer oder mehreren Quellen automatisch identifiziert und bereitgestellt werden, wie beispielsweise eine oder mehrere Datenquellen sozialer Medien wie TWITTER™, LINKEDIN™, FACEBOOK™, ein oder mehrere Foren und/oder Blog-Datenquellen wie REDDIT™, QUORA™ und andere derartige Datenquellen, die über das Internet zur Verfügung stehen.
-
Fehlende Informationen, die erhalten und dem Benutzer beim Ausführen des Workflows bereitgestellt werden, enthalten Rückmeldung zum Qualifikationsniveau , zeitliche Rückmeldung, Rückmeldung zur Auswirkung. Ferner enthalten die fehlenden Informationen Bewertungen für einen oder mehrere Workflow-Schritte, zum Beispiel leicht im Vergleich zu schwierig, Daumen nach oben im Vergleich zu Daumen nach unten, womit angegeben wird, ob ein Schritt ausgeführt werden soll, hilfreich im Vergleich zu nicht hilfreich, womit angegeben wird, ob der Workflow-Schritt zu einem bzw. mehreren erwarteten Ergebnissen geführt hat, wichtig oder unwichtig, womit angegeben wird, ob der Workflow-Schritt übersprungen werden kann und dergleichen. Alternativ oder zusätzlich können die Informationen eine Bewertung enthalten, wie zum Beispiel eine Sternebewertung, die eine Zusammenfassung von Informationen angibt, die für den Workflow-Schritt zur Verfügung stehen. Ferner können die fehlenden Informationen frühere Informationen aus anderen Workflows enthalten, die derselbe Benutzer ausgeführt hat, wie zum Beispiel Kommentare, Notizen, Schrittverantwortung, Notizzettel-Informationen, Workflow-Verlaufsdateien und dergleichen. Informationen aus den sozialen Medien oder anderen Internet-Quellen können Hinweise und Tipps enthalten, die von anderen Benutzern stammen können, die den Workflow ausgeführt haben. Die fehlenden Informationen, die für den Benutzer bereitgestellt werden, können ferner Informationen zu einem Produktproblem vom Anwender enthalten, wie zum Beispiel Mängelinformationen oder Korrekturen, Patches, Aktualisierungen usw.
-
Derartige Informationen sammeln sich kontinuierlich an, wenn verschiedene Benutzer den Workflow ausführen. Allerdings gibt es einen Zeitpunkt, an dem jeder Benutzer den Workflow durchführen/ausführen muss, sodass es wünschenswert ist, dass der Benutzer „bis zum letzten Augenblick“ zusätzliche Informationen erhält, wenn der Workflow ausgeführt wird. Die hierin beschriebenen technischen Lösungen befassen sich mit einer derartigen technischen Herausforderung beim Aktualisieren des Workflows mit fehlenden Informationen durch ein automatisches Identifizieren und Bereitstellen derartiger Aktualisierungen aus mehreren Datenquellen für den Benutzer, wenn der Workflow ausgeführt wird, wodurch beim Ausführen des Workflows Aktualisierungen aus mehreren Datenquellen bis zu letzten Sekunde bereitgestellt werden.
-
Die hierin beschriebenen technischen Lösungen können in einem oder mehreren Beispielen unter Verwendung von Cloud Computing umgesetzt werden. Es sollte von vornherein klar sein, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud Computing enthält, dass eine Umsetzung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jedem beliebigen Typ von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
-
Cloud Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
-
Die Eigenschaften sind wie folgt:
- On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
- Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
- Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
- Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
- Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
-
Es gibt folgende Dienstmodelle:
- Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. eine auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
- Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Anwendungs-Hosting-Umgebung.
- Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeitung, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
-
Es gibt folgende Nutzungsmodelle:
- Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann von der Organisation oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb von Geschäftsräumen vorhanden sein.
- Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine bestimmte Community, die gemeinsame Problemstellungen hat (z.B. Berücksichtigung von Zielsetzung, Sicherheitsanforderungen, Richtlinien und Konformität). Sie kann von den Organisationen oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
- Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
- Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die eine Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastausgleich zwischen Clouds).
-
Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt von Cloud Computing steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist.
-
Unter folgender Bezugnahme auf 1 wird eine Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen lokale Datenverarbeitungseinheiten, die von Nutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 54A, Desktop-Computer 54B, Laptop-Computer 54C und/oder Fahrzeug-Computersystem 54N, Daten austauschen können. Die Knoten 10 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert werden (nicht gezeigt), wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder in einer Kombination davon. Damit hat die Cloud-Computing-Umgebung 50 die Möglichkeit, eine Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keinerlei Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sollte klar sein, dass die in 1 gezeigten Typen von Datenverarbeitungseinheiten 54A bis N nur zur Veranschaulichung dienen sollen, und dass die Cloud-Computing-Knoten 10 und die Cloud-Computing-Umgebung 50 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. unter Verwendung eines Web-Browsers) Daten austauschen können.
-
Unter folgender Bezugnahme auf 2 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (1) bereitgestellt werden. Dabei sollte von Anfang an klar sein, dass die in 2 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
-
Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Mainframes 61; Server auf Grundlage einer RISC- (Reduced Instruction Set Computer) Architektur 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke und vernetzte Komponenten 66. In einigen Ausführungsformen enthalten Software-Komponenten Software für Netzwerkanwendungsserver 67 und Datenbank-Software 68.
-
Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der aus die folgenden beispielhaften virtuellen Entitäten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
-
In einem Beispiel kann eine Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung 81 sorgt für eine dynamische Beschaffung von Datenverarbeitungsressourcen und weiteren Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung 82 ermöglichen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt den Zugang zur Cloud-Computing-Umgebung für Nutzer und Systemadministratoren bereit. Eine Service-Level- (Dienstgüte) Verwaltung 84 sorgt für die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen, so dass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) 85 stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird.
-
Eine Arbeitslastschicht 90 stellt Beispiele für eine Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lifecycle-Management 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Workflow-Ausführungsverarbeitung 96.
-
3 stellt ein beispielhaftes System 100 zum Ausführen eines Workflows gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung dar. Das System 100 ermöglicht eine Ausführung eines Workflows unter Verwendung von kognitivem Lernen. Das System 100 enthält ein Workflow-Zugriffssystem 120, das einem Workflow-Ausführenden 105 Zugriff auf einen Workflow 125 bereitstellt. Der Workflow 125 dient zum Modifizieren einer Komponente und/oder einer Konfiguration eines Workflow-Zielsystems 110. Es ist anzumerken, obwohl das Workflow-Zugriffssystem 120 und das Workflow-Zielsystem 110 in 3 als zwei getrennte Systeme dargestellt sind, dass die beiden sich in einem oder mehreren Beispielen in ein und demselben System befinden können.
-
Der Workflow 125 kann durch einen Anbieter und/oder Entwickler des Workflow-Zielsystems 110 bereitgestellt werden. Der Workflow 125 enthält einen oder mehrere Workflow-Schritte, die durch den Workflow-Ausführenden 105 ausgeführt werden sollen. Dem Workflow 125 wird eine eindeutige Kennung zugewiesen. Ferner wird jedem der Workflow-Schritte in einem oder mehreren Beispielen eine eindeutige Kennung zugewiesen. In einem oder mehreren Beispielen müssen die Workflow-Schritte in einer bestimmten Abfolge ausgeführt werden, die durch den Workflow 125 bereitgestellt wird. Der Workflow 125 ist daher ein maschinengestützter Workflow, der durch den Workflow-Ausführenden 105 ausgeführt wird. Der Workflow-Ausführende 105 kann ein Benutzer sein, der jeden der Workflow-Schritte aus dem Workflow 125 ausführt. Alternativ ist der Workflow-Ausführende 105 eine Maschine, die die Workflow-Schritte aus dem Workflow 125 automatisch oder halbautomatisch ausführt.
-
Das System 100 enthält ferner eine oder mehrere Datenquellen 130, die zum Aktualisieren des Workflows 125 verwendet werden. Die Datenquellen 130 können ein oder mehrere Servercomputer sein. In einem oder mehreren Beispielen enthalten die Datenquellen 130 eine Anbieter-Datenquelle 130, die aktualisierte Workflow-Schritte und/oder Informationen für den Workflow 125 speichert. Die Anbieter-Datenquelle 130 kann durch den Anbieter/Ersteller/Entwickler des Workflows 125 bereitgestellt werden. In einem oder mehreren Beispielen enthält der Workflow 125 einen Zugriffsspeicherort, wie beispielsweise eine IP-Adresse oder irgendwelche anderen Zugriffsinformationen der Anbieter-Datenquelle 130 für den Zugriff auf Informationen, die dem Workflow 125 zugehörig sind. In einem oder mehreren Beispielen verwaltet die Anbieter-Datenquelle 130 die Informationen, die einer eindeutigen Kennung des Workflows 125 zugehörig sind und ferner eindeutigen Kennungen von einem oder mehreren Workflow-Schritten des Workflows zugehörig sind. Die dem Workflow und den Workflow-Schritten zugehörigen Daten können speziell durch das Workflow-Zugriffssystem 120 in der Anbieter-Datenquelle 130 identifiziert werden, zum Beispiel unter Verwendung einer Anwendungsprogrammierschnittstelle (API), die durch die Anbieter-Datenquelle 130 bereitgestellt wird. Es sollte klar sein, dass neben der API in anderen Beispielen andere Techniken für ein Zugreifen auf die Daten verwendet werden können.
-
Alternativ oder zusätzlich enthalten die Datenquellen 130 eine interne Datenquelle, die „interne Informationen“ von innerhalb der Organisation des Workflow-Ausführenden 105 speichert, wobei die internen Informationen für die Organisation spezifisch sind. Wenn der Workflow 125 zum Beispiel in einer Organisation wie beispielsweise SEARS™ ausgeführt wird, kann der Workflow-Ausführende 105 während einer Ausführung von einem oder mehreren Workflow-Schritten Parameter wie beispielsweise Personalnummern, Servernamen, Dateinamen, Protokolle, Kunden-ID-Daten, Lieferanten-ID-Daten und dergleichen verwenden, wobei derartige Parameter für SEARS™ spezifisch sind. Derartige Informationen können vertrauliche Informationen sein, die nicht öffentlich gemacht werden dürfen. Ferner können derartige Informationen nur beim Ausführen des bzw. der Workflow-Schritte in der SEARS™-Organisation von Nutzen sein und können einen Fehler verursachen (zum Beispiel Workflow-Fehler oder falsche Ergebnisse), wenn der bzw. die Workflow-Schritte in einer anderen Organisation ausgeführt werden. Dementsprechend können die Datenquellen 130 die Datenquelle 130 für interne Informationen enthalten, die Daten speichert, die für die Workflow-Ausführung in der Organisation des Workflow-Ausführenden 105 spezifisch sind. Alternativ oder zusätzlich kann die Organisation für das Workflow-Zielsystem 110 und nicht den Workflow-Ausführenden 105 spezifisch sein.
-
Ferner enthalten die Datenquellen 130 weitere Benutzerdatenquellen 130, die „offene“ Datenquellen sind, die über das Internet zugänglich sind und Informationen bereitstellen, die durch andere Benutzer des Workflows 125 bereitgestellt werden (und als „sonstige Benutzerinformationen“ bezeichnet werden). Zum Beispiel können die sonstigen Benutzer-Datenquellen 130 Server der sozialen Medien enthalten (z.B. FACEBOOK™, LINKEDIN™, TWITTER™ usw.), Blogs von anderen Workflow-Ausführenden (z.B. WORDPRESS™ usw.), Foren (QUORA™, REDDIT™ usw.), oder jede andere Datenquelle, die über das Internet zugänglich ist, und die es dem Workflow-Zugriffssystem 120 ermöglicht, Informationen abzurufen, die dem Workflow 125 und/oder den Workflow-Schritten zugehörig sind.
-
Der Workflow-Ausführende1 05 kann angeben, welche Datenquellen 130 für einen bestimmten Workflow 125 verwendet werden sollen, und den Datentyp angeben, der gespeichert oder aus den Datenquellen 130 abgerufen werden soll. Es ist anzumerken, dass die oben bereitgestellten Datenquellentypen nur einige Beispiele sind, und dass zusätzliche und/oder andere Datenquellentypen in anderen Beispielen verwendet werden können.
-
Ein Aktualisieren des Workflows 125 enthält ein Aktualisieren von einem oder mehreren der Workflow-Schritte. In einem oder mehreren Beispielen aktualisiert das Workflow-Zugriffssystem 120 den Workflow 125. Die Aktualisierungen können in einem oder mehreren Beispielen in Reaktion auf eine Anforderung von dem Workflow-Ausführenden 105 ausgeführt werden. Das Workflow-Zugriffssystem 120 aktualisiert den Workflow 125 unter Verwendung von kognitiven Lerntechniken wie zum Beispiel Maschinenlernalgorithmen. Zum Beispiel verwendet das Workflow-Zugriffssystem 120 Algorithmen wie neuronale Netzwerke, Bayessche, Clustering, Regression, Entscheidungsbaum, Regularisierung und dergleichen oder eine Kombination davon. Das Workflow-Zugriffssystem 120 verwendet Aktualisierungsinformationen, die aus den Datenquellen 130 zur Verfügung stehen, um einen oder mehrere Workflow-Schritte aus dem Workflow 125 zu überarbeiten. In einem oder mehreren Beispielen verwendet das Workflow-Zugriffssystem 120 die Kennungen des Workflows 125 und/oder die Kennungen der Workflow-Schritte zum Identifizieren von Aktualisierungsinformationen, die aus den Datenquellen für den bestimmten Workflow 125 und/oder die Workflow-Schritte zur Verfügung stehen.
-
Des Weiteren ermöglicht das Workflow-Zugriffssystem 120 dem Workflow-Ausführenden 105 ein Aktualisieren der Datenquellen 130 mit Informationen, die der Ausführung des Workflows 125 durch den Workflow-Ausführenden 105 zugehörig sind. Zum Beispiel stellt der Workflow-Ausführende 105 seine Informationen auf Grundlage seiner Erfahrung im Ausführen eines Workflow-Schritts aus dem Workflow125 oder im Ausführen des gesamten Workflows 125 bereit.
-
Das Workflow-Ausführungssystem 100 aktualisiert/überarbeitet somit den Workflow 125 auf Grundlage von einer oder mehreren Rückmeldungs-Aktualisierungsinformationen von den Datenquellen 130. Ferner ermöglicht das Workflow-Ausführungssystem 100 ein Aktualisieren der Datenquellen 130 in den Rückmeldungs-Aktualisierungsinformationen von dem Workflow-Ausführenden 105 nach Abschluss eines Workflow-Schritts und/oder bei Abschluss der Ausführung des Workflows 125. Das Workflow-Ausführungssystem 100 verwendet eindeutige Kennungen der Workflow-Schritte und/oder des Workflows 125, um auf die jeweiligen Rückmeldungsinformationen zuzugreifen, sie zu empfangen und/oder zu aktualisieren.
-
4 veranschaulicht ein beispielhaftes System 200 gemäß einer oder mehreren Ausführungsformen. Das System 200 kann eine Datenübertragungsvorrichtung wie beispielsweise ein Computer sein. Zum Beispiel kann das System 200 ein Desktop-Computer, ein Tablet-Computer, ein Laptop-Computer, ein Telefon wie beispielsweise ein Smartphone, ein Server-Computer oder jede andere Einheit sein, die über ein Netzwerk 265 Daten überträgt. Das System 200 enthält Hardware, wie beispielsweise Elektronikschaltungen. In einem oder mehreren Beispielen ist das System 200 ein Laufzeit-Datenerfassungssystem 120.
-
Das System 200 enthält neben anderen Komponenten einen Prozessor 205, einen Arbeitsspeicher 210, der mit einem Arbeitsspeicher-Controller 215 verbunden ist, und eine oder mehrere Eingabeeinheiten 245 und/oder Ausgabeeinheiten 240, wie zum Beispiel Peripherie- oder Steuereinheiten, die über einen lokalen E/A-Controller 235 im Datenaustausch miteinander verbunden sind. Diese Einheiten 240 und 245 können zum Beispiel Batteriesensoren, Positionssensoren, Anzeige-/Identifikationsleuchten und dergleichen sein. Eingabeeinheiten wie zum Beispiel eine herkömmliche Tastatur 250 und eine Maus 255 können mit dem E/A-Controller 235 verbunden sein. Der E/A-Controller 235 kann zum Beispiel ein oder mehrere Busse oder drahtgebundene oder drahtlose Verbindungen sein, wie im Stand der Technik bekannt. Der E/A-Controller 235 kann zusätzliche Elemente haben, die der Einfachheit halber weggelassen wurden, wie zum Beispiel Controller, Pufferspeicher (Cachespeicher), Treiber, Repeater und Empfänger, um Datenübertragungen zu ermöglichen.
-
Die E/A-Einheiten 240, 245 können ferner Einheiten enthalten, die sowohl Eingaben als auch Ausgaben übertragen, zum Beispiel Platten- und Bandspeicher, eine Netzwerkschnittstellenkarte (NIC) oder ein Modulator/Demodulator (zum Zugreifen auf andere Daten, Einheiten, Systeme oder ein Netzwerk), ein Hochfrequenz- (HF) oder anderer Senderempfänger, eine Telefonschnittstelle, eine Brücke, ein Router und dergleichen.
-
Der Prozessor 205 ist eine Hardware-Einheit zum Ausführen von Hardware-Anweisungen oder Software, insbesondere von denjenigen, die im Arbeitsspeicher 210 gespeichert sind. Der Prozessor 205 kann eine Sonderanfertigung oder ein im Handel erhältlicher Prozessor, eine Zentraleinheit (CPU), ein Hilfsprozessor von mehreren, dem System 200 zugehörigen Prozessoren, ein Mikroprozessor auf Halbleiter-Grundlage (in Form eines Mikrochips oder eines Chip-Satzes), ein Makroprozessor oder eine andere Einheit zum Ausführen von Anweisungen sein. Der Prozessor 205 enthält einen Cachespeicher 270, der einen Anweisungs-Cachespeicher zum Beschleunigen eines Abrufs von ausführbaren Anweisungen, einen Daten-Cachespeicher zum Beschleunigen eines Abrufs und Speicherns von Daten, und einen Adressumsetzungspufferspeicher (TLB) enthält, der zum Beschleunigen einer Umsetzung von virtuellen in physische Adressen für beide ausführbaren Anweisungen und Daten verwendet wird. Der Cachespeicher 270 kann als eine Hierarchie von mehreren Cachespeicher-Ebenen (L1, L2 usw.) strukturiert sein.
-
Der Arbeitsspeicher 210 kann einzelne oder Kombinationen von flüchtigen Arbeitsspeicherelementen (zum Beispiel Direktzugriffsspeicher, RAM, wie beispielsweise DRAM, SRAM, SDRAM) und nicht flüchtigen Arbeitsspeicherelementen (zum Beispiel ROM, löschbarer programmierbarer Nur-Lese-Speicher (EPROM), elektronisch löschbarer Nur-Lese-Speicher (EEPROM), programmierbarer Nur-Lese-Speicher (PROM), Bandspeicher, CD-Nur-Lese-Speicher (CD-ROM), Plattenspeicher, Diskette, Cartridge, Kassette oder dergleichen) enthalten. Des Weiteren kann der Arbeitsspeicher 210 Speichermedien von elektronischem, magnetischem, optischen oder anderem Typ umfassen. Zu beachten ist, dass der Arbeitsspeicher 210 eine verteilte Architektur haben kann, in der verschiedene Komponenten voneinander entfernt angeordnet sein können, auf die aber durch den Prozessor 205 zugegriffen werden kann.
-
Die Anweisungen im Arbeitsspeicher 210 können ein oder mehrere separate Programme enthalten, von denen jedes eine der Reihenfolge nach geordnete Auflistung von ausführbaren Anweisungen zum Umsetzen von logischen Funktionen aufweist. In dem Beispiel von 2 enthalten die Anweisungen im Arbeitsspeicher 210 ein geeignetes Betriebssystem (BS) 211. Das Betriebssystem 211 kann im Wesentlichen die Ausführung von anderen Computerprogrammen steuern und stellt Planung, Eingabe-Ausgabe-Steuerung, Datei- und Datenverwaltung, Arbeitsspeicherverwaltung und Datenübertragungssteuerung und zugehörige Dienste bereit.
-
Zusätzliche Daten, einschließlich zum Beispiel Anweisungen für den Prozessor 205 oder andere abrufbare Informationen, können in einem Speicher 220 gespeichert werden, bei dem es sich um eine Speichereinheit wie ein Festplattenlaufwerk oder einen Solid-State-Drive handeln kann. Die gespeicherten Anweisungen im Arbeitsspeicher 210 oder im Speicher 220 können diejenigen enthalten, die es dem Prozessor ermöglichen, einen oder mehrere Aspekte der hierin beschriebenen Systeme und Verfahren auszuführen.
-
Das System 200 kann ferner einen Anzeige-Controller 225 enthalten, der mit einer Benutzerschnittstelle oder Anzeige 230 verbunden sein kann. In einigen Ausführungsformen kann die Anzeige 230 ein LCD-Bildschirm sein. In anderen Ausführungsformen kann die Anzeige 230 eine Mehrzahl von LED-Zustandsanzeigen enthalten. In einigen Ausführungsformen kann das System 200 ferner eine Netzwerkschnittstelle 260 für ein Verbinden mit einem Netzwerk 265 sein. Das Netzwerk 265 kann ein Netzwerk auf IP-Grundlage für eine Datenübertragung zwischen dem System 200 und einem externen Server, Client und dergleichen über eine Breitbandverbindung sein. In einer Ausführungsform kann das Netzwerk 265 eine Satellitennetzwerk sein. Das Netzwerk 265 überträgt und empfängt Daten zwischen dem System 200 und externen Systemen. In einigen Ausführungsformen kann das Netzwerk 265 ein verwaltetes IP-Netzwerk sein, das durch einen Dienstanbieter verwaltet wird. Das Netzwerk 265 kann drahtlos umgesetzt werden, zum Beispiel unter Verwendung von drahtlosen Protokollen und Technologien wie beispielsweise WLAN, WiMax, Satellit oder Sonstiges. Das Netzwerk 265 kann auch ein paketvermitteltes Netzwerk wie ein lokales Netzwerk, ein Weitverkehrsnetzwerk, ein Stadtnetzwerk, das Internet oder ein anderer ähnlicher Typ von Netzwerkumgebung sein. Das Netzwerk 265 kann ein ortsfestes drahtloses Netzwerk, ein drahtloses lokales Netzwerk (LAN) ein drahtloses Weitverkehrsnetzwerk (WAN), ein persönliches Netzwerk (PAN), ein virtuelles privates Netzwerk (VPN), Intranet oder ein anderes geeignetes Netzwerksystem sein und kann Ausrüstung zum Empfangen und Übertragen von Signalen enthalten.
-
In einem oder mehreren Beispielen werden eine oder mehrere in 1 dargestellte Komponenten als das System 200 umgesetzt. Zum Beispiel können das Workflow-Zugriffssystem 120, das Workflow-Zielsystem 110, die eine oder die mehreren Datenquellen 130 und/oder irgendwelche anderen Komponenten in dem System 100 durch das System 200 umgesetzt werden. Das System 100 ermöglicht ein Umsetzen der hierin beschriebenen technischen Lösungen.
-
In einem oder mehreren Beispielen wird eine eindeutige Kennung für den Workflow 125 und ferner eine eindeutige Kennung für jeden Workflow-Schritt in dem Workflow 125 beschrieben. Dem Workflow 125 und den Workflow-Schritten können in einem oder mehreren Beispielen ferner beschreibende Namen zugeordnet sein, die für Menschen besser verwendbar sind. Die beschreibenden Namen sind möglicherweise nicht eindeutig. Der Abgleich von eindeutigen Kennungen für den Workflow 125 und die Workflow-Schritte wird in einem oder mehreren Beispielen für ein Zugreifen auf entsprechende Informationen aus den Datenquellen 130 verwendet. Die Informationen, die der Workflow-Ausführende 105 zu erhalten wünscht, sind die zusätzlichen Informationen, die dem Workflow 125 und jedem der Workflow-Schritte zugehörig sind, die von der Gemeinschaft seit dem Erstellen und dem Bereitstellen des Workflows 125 durch den Anbieter erstellt worden sind.
-
Das Workflow-Zugriffssystem 120 sucht nach den Aktualisierungsinformationen für die Workflow-Schritte und/oder den Workflow 125 unter Verwendung von Zugriffsinformationen für eine bestimmte Datenquelle 130, die mit dem Workflow 125 vorkonfiguriert ist. Alternativ oder zusätzlich werden die Zugriffsinformationen durch den Workflow-Ausführenden 105 bereitgestellt. Alternativ oder zusätzlich enthält das Workflow-Zugriffssystem 120 eine vorkonfigurierte Liste von Datenquellen mit entsprechenden Zugriffsinformationen. Alternativ oder zusätzlich erkennt das Workflow-Zugriffssystem 120 neue Datenquellen 130 für den Workflow-Schritt, zum Beispiel unter Verwendung einer Suchmaschine auf Grundlage von Schlüsselwörtern, die dem Workflow-Schritt und/oder der eindeutigen Kennung des Workflow-Schritts zugehörig sind. Zum Beispiel führt das Workflow-Zugriffssystem 120 ein Parsing natürlicher Sprache des Workflow-Schritts aus und generiert eine Suchabfrage, die unter Verwendung einer Suchmaschine oder irgendeines anderen Suchsystems ausgeführt werden soll. Das Workflow-Zugriffssystem 120 ermöglicht dem Workflow-Ausführenden 105 somit ein Abrufen der neuesten Informationen, die für den Workflow 125 und jeden der Workflow-Schritte aus der einen oder den mehreren Datenquellen 130 zur Verfügung stehen.
-
Die Datenquellen 130 enthalten einen internen Datenspeicher, der sich in der Organisation (für „interne Informationen“) des Workflow-Ausführenden 105 befindet. Die internen Informationen enthalten Informationen, die durch einen oder mehrere Workflow-Ausführende aus innerhalb derselben Organisation wie der des Workflow-Ausführenden 105 generiert werden. Die Datenquellen 130 können ferner einen Datenspeicher eines Anbieters enthalten, der Informationen speichern kann, die direkt vom Anbieter des Workflows 125 bereitgestellt werden („Anbieter-Aktualisierungsinformationen“). Ferner können die Datenquellen 130 „offene“ Datenspeicher enthalten, die über das Internet zur Verfügung stehen und auf die (für „sonstige Benutzerinformationen“) zum Beispiel über eine Anwendungsprogrammierschnittstelle (API) zugegriffen werden kann. In einem oder mehreren Beispielen gibt der Workflow-Ausführende 105 an, welche Datenquellen für einen bestimmten Workflow 125 und/oder für einen bestimmten Workflow-Schritt verwendet werden sollen, und gibt die Art von Daten an, die gespeichert oder abgerufen würden (interne Informationen, Anbieter-Aktualisierungsinformationen usw.).
-
Das Workflow-Zugriffssystem 120 fordert an bestimmten Punkten, wenn der Workflow-Ausführende 105 den Workflow 125 ausführt, Aktualisierungen für den Workflow und einen Workflow-Schritt an. In einem oder mehreren Beispielen muss der Workflow-Ausführende 105 eine Zustimmung zu einer derartigen Aktualisierung geben. In Reaktion darauf initiiert das Workflow-Zugriffssystem 120 Datenübertragungen mit der entsprechenden einen oder den entsprechenden mehreren Datenquellen 130, um die Aktualisierungsinformationen für den Workflow unter Verwendung der eindeutigen Kennung(en) abzufragen. Die abgerufenen Aktualisierungsinformationen werden in den Workflow 125 integriert, um den Workflow 125 während der Laufzeit zu überarbeiten. In einem oder mehreren Beispielen werden die integrierten aktualisierten Informationen durch die Datenquelle 130 identifiziert, aus denen die Informationen abgerufen werden.
-
Wenn die Ausführung eines Workflow-Schritts abgeschlossen ist, verschiebt das Workflow-Zugriffssystem 120 in einem oder mehreren Beispielen aktualisierte Informationen zu den entsprechenden Datenquellen 130 zurück. Die aktualisierten Informationsdaten werden entsprechend dem generierten richtigen Datentyp verschoben. Zum Beispiel werden private Daten, die für die Organisation des Workflow-Ausführenden spezifisch sind, an die Datenquelle 130 für die „internen Informationen“ gesendet. Ferner werden aktualisierte Informationen, die in „sonstigen Benutzerinformationen“ freigegeben werden sollen, zu den anderen Datenquellen 130 verschoben. Des Weiteren werden Informationen, die an den Anbieter zurückgesendet werden sollen, an die Datenquelle 130 gesendet, die dem Workflow-Designer (ISV) für „Anbieter-Aktualisierungsinformationen“ zugehörig sind. In einem oder mehreren Beispielen enthält eine Datenquelle 130 eine Liste mit den Datenquellen 130, die zur Verwendung zur Verfügung stehen, wobei das Workflow-Zugriffssystem 120 auf den Datenquellen 130 eine Erfassung aus der Liste ausführt, um bestimmte Typen von Datenquellen (intern, Anbieter, sonstige usw.) zu identifizieren.
-
5 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Aktualisieren eines Workflows während der Laufzeit gemäß einer oder mehreren Ausführungsformen dar. Das Verfahren kann unter Verwendung des Systems 100 umgesetzt werden, Das Verfahren enthält ein Auswählen des Workflows 125 zur Ausführung durch den Workflow-Ausführenden 105 über das Workflow-Zugriffssystem 120, wie bei Schritt 510 gezeigt. Die Auswahl wird in einem oder mehreren Beispielen in Reaktion auf ein Empfangen einer Benachrichtigung zum Ausführen des Workflows 125 oder in Reaktion auf ein Empfangen des Workflows 125 selbst ausgeführt. In einem oder mehreren Beispielen wird der Workflow 125 aus mehreren Workflows ausgewählt. Der Workflow wird dem Workflow-Ausführenden 105 durch den Anbieter bereitgestellt, oder der Workflow-Ausführende 105 kann seinen eigenen schreiben.
-
In einem oder mehreren Beispielen enthält der Workflow 125 eine oder mehrere Datenquellen 130, die für verschiedene Datentypen zu verwenden sind (interne, Anbieter-Aktualisierungs-, sonstige Benutzerinformationen). Die Datenquellen 130 können im Workflow 125 durch den Anbieter, der den Workflow 125 erstellt hat, und/oder durch den Workflow-Ausführenden 105 identifiziert werden. Alternativ oder zusätzlich kann der Workflow 125 ferner das Workflow-Zugriffssystem 120 angeben, um eine Erfassungsaktion auszuführen, nach Datenquellen 130 zu suchen, die zum Suchen nach Aktualisierungen und/oder zusätzlichen Informationen über den Workflow 125 verwendet werden sollen.
-
Das Verfahren enthält ferner ein Prüfen durch den Workflow-Ausführenden 105, ob der Workflow 125, wie bei Schritt 515 gezeigt, aktualisiert werden soll. Wenn der Workflow-Ausführende 105 eine Aktualisierung initiiert, enthält das Verfahren ein Beziehen von Informationen für den Workflow 125 aus der einen oder den mehreren Datenquellen, wie bei Schritt 520 gezeigt. Die Informationen enthalten Aktualisierungsinformationen und zusätzliche Informationen für den Workflow 125, die es dem Workflow-Ausführenden 105 ermöglichen können, zu bestimmen, ob die Ausführung des Workflows 125 fortgesetzt werden soll.
-
Das Beziehen der Informationen aus den Datenquellen 130 enthält ein Auswählen einer Datenquelle 130 und ein Überprüfen, ob die aktualisierten Informationen für den Workflow an der Datenquelle 130 zur Verfügung stehen, wie bei Schritt 522 und 523 gezeigt. Zum Beispiel enthält das Verfahren ein Erfassen, ob der Workflow 125 seit dem Empfangen (oder Erstellen) des Workflows 125 von dem Anbieter aktualisiert worden ist. Alternativ oder zusätzlich enthält das Verfahren ein Erfassen, ob andere Benutzer oder der Anbieter relevante Informationen zu der einen oder den mehreren Datenquellen hinzugefügt haben. Das Erfassen enthält ein Überprüfen der einen oder der mehreren Datenquellen 130 unter Verwendung der eindeutigen Kennung des Workflows 125. Die Datenquellen 130 verwalten die aktualisierten Informationen gemäß der eindeutigen Kennung, zum Beispiel indexiert durch die eindeutige Kennung.
-
Die eine oder die mehreren Datenquellen 130 können einen vorbestimmten Satz von Datenquellen 130 enthalten, die durch den Workflow 125 identifiziert werden. Zum Beispiel können die vorbestimmten Datenquellen 130, die überprüft werden sollen, die Anbieter-Datenquelle für eine Aktualisierung enthalten, die der Anbieter für den Workflow 125 seit der Erstellung des Workflows 125 bereitgestellt haben kann. Jede andere Datenquelle, wie beispielsweise die Datenquelle für interne Informationen, eine Datenquelle für soziale Medien und dergleichen können ebenfalls überprüft werden. Die Datenquellen 130 können nacheinander und/oder parallel überprüft werden. In einem oder mehreren Beispielen wird die Überprüfung in Reaktion darauf vorgenommen, dass der Workflow 125 zur Ausführung ausgewählt wird, was später als der Zeitpunkt sein kann, zu dem der Workflow 125 erstellt und durch den Anbieter bereitgestellt wurde.
-
Wenn aktualisierte Informationen zur Verfügung stehen, enthält das Verfahren ein Abrufen der aktualisierten Informationen aus der einen oder den mehreren Datenquellen 130, wie bei Schritt 526 gezeigt. Die aktualisierten Informationen werden in den Workflow 125 integriert, wie bei Schritt 525 gezeigt. Somit wird der Workflow 125 aktualisiert. Zum Beispiel kann die Integration ein Hinzufügen und/oder ein Entfernen von einem oder mehreren Workflow-Schritten aus dem Workflow 125 enthalten. Alternativ oder zusätzlich kann die Aktualisierung ein Überarbeiten von einem oder mehreren Workflow-Schritten aus dem Workflow 125 enthalten. Zum Beispiel kann die Überarbeitung eine Änderung in einem Parameterwert enthalten, der in den Workflow-Schritten verwendet wird, wie beispielsweise ein Pfadname für eine Datei, ein Dateiname, ein numerischer Wert, der verwendet werden soll, ein auszuführendes Skript, eine Skriptdatei, die verwendet werden soll, eine Datenbankabfrage, die ausgeführt werden soll, ein Aufruf einer Anwendungsprogrammierschnittstelle, eine Versionsnummer oder irgendeine andere Aktion, die durch den Workflow-Schritt angegeben wird.
-
Das Verfahren enthält ferner ein Beginnen mit dem Ausführen des Workflows 125 durch ein Auswählen eines Workflow-Schritts aus dem Workflow 125, wie bei Schritt 530 gezeigt. Die Ausführung des Workflow-Schritts beginnt mit oder ohne die vorher beschriebene Workflow-Aktualisierung.
-
Vor dem Ausführen des Workflow-Schritts enthält das Verfahren ferner ein Bestimmen, ob der Workflow-Schritt aktualisiert werden soll, wie bei Schritt 535 gezeigt. Zum Beispiel kann der Workflow-Schritt in einer der Datenquellen 130 seit der vorherigen vorläufigen Aktualisierung (515) aktualisiert worden sein. Alternativ oder zusätzlich können für die Ausführung des Workflow-Schritts relevante Daten in den Datenquellen 130 zur Verfügung stehen. Zum Beispiel können die zusätzlichen Daten Informationen enthalten, die in der Anbieter-Datenquelle, der Datenquelle für interne Informationen, der Datenquelle für soziale Medien oder irgendeiner anderen Datenquelle 130 hinzugefügt wurden. Die zusätzlichen Daten geben Informationen an, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Der Workflow-Ausführende 105 wird gefragt, ob derartige aktualisierte Informationen für den Workflow-Schritt bezogen werden sollen, wie bei Schritt 535 gezeigt. In einem oder mehreren Beispielen wird eine derartige Überprüfung nur ausgeführt, wenn der Workflow-Schritt für eine Überprüfung durch den Workflow-Ausführenden 105 gekennzeichnet ist, ob eine Aktualisierung initiiert werden soll. Wenn eine derartige Kennzeichnung nicht vorhanden ist, wird der Workflow-Ausführende 105 nicht gefragt, ob die aktualisierten Informationen bezogen werden sollen.
-
Wenn der Workflow-Ausführende 105 eine Aktualisierung für den Workflow-Schritt initiiert, enthält das Verfahren ein Beziehen von aktualisierten Informationen für den Workflow-Schritt aus der einen oder den mehreren Datenquellen, wie bei Schritt 540 gezeigt. Ein Beziehen der aktualisierten Informationen enthält ein Auswählen der Datenquelle 130 aus der einen oder den mehreren vorbestimmten Datenquellen 130, die dem Workflow 125 zugehörig sind, wie bei Schritt 522 gezeigt. In einem oder mehreren Beispielen können die dem Workflow-Schritt zugehörigen Datenquellen 130 sich von denjenigen unterscheiden, die einem Aktualisieren des Workflows 125 zu Beginn des Verfahrens (515) zugehörig sind. Ferner enthält ein Beziehen der aktualisierten Informationen ein Überprüfen, ob aktualisierte Informationen für den Workflow-Schritt in der ausgewählten Datenquelle zur Verfügung stehen, wie bei Schritt 524 gezeigt. In einem oder mehreren Beispielen werden die aktualisierten Informationen, die dem Workflow-Schritt zugehörig sind, unter Verwendung der Kennung des Workflow-Schritts identifiziert. In einem oder mehreren Beispielen verwalten die Datenquellen 130 die aktualisierten Informationen für die Workflow-Schritte auf Grundlage der Kennungen, die den Workflow-Schritten zugehörig sind, zum Beispiel indexiert gemäß den Kennungen der Workflow-Schritte. Im einem oder mehreren Beispielen führt der Workflow-Ausführende 105 den Workflow-Schritt nur aus, wenn beide Bedingungen erfüllt sind, dass die aktualisierten Informationen aus einer vertrauenswürdigen Datenquelle stammen und durch einen Workflow-Anbieter 107 empfohlen werden.
-
Die aktualisierten Informationen, die dem Workflow-Schritt zugehörig sind, werden wie bei Schritt 526 gezeigt abgerufen. Die abgerufenen Informationen werden in den Workflow-Schritt integriert, wie bei Schritt 545 gezeigt. Die aktualisierten Informationen können eine Überarbeitung des Workflow-Schritts enthalten. Alternativ oder zusätzlich können die aktualisierten Informationen Daten enthalten, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Ausführung fortzusetzen, enthält das Verfahren ein Ausführen des Workflow-Schritts und damit ein Bewirken einer Änderung in dem Workflow-Zielsystem 110, wie bei Schritt 550 gezeigt. Die Änderung kann eine Änderung einer Hardware-Konfiguration und/oder eine Änderung einer Software-Konfiguration enthalten, wie hierin beschrieben. Alternativ kann der Workflow-Ausführende 105 bestimmen, die Workflow-Ausführung auf Grundlage der aktualisierten Informationen zu beenden, die von der einen oder den mehreren Datenquellen 130 empfangen wurden, wie bei Schritt 570 gezeigt.
-
In einem oder mehreren Beispielen kann der Workflow-Ausführende 105 ohne Berücksichtigung dessen, ob der Workflow-Schritt ausgeführt wird, aktualisierte Informationen zu den Datenquellen 130 verschieben, wie bei Schritt 555 gezeigt. Wenn der Workflow-Ausführende 105 zum Beispiel bestimmt, nicht mit der Ausführung des Workflow-Schritts fortzufahren, kann der Workflow-Ausführende 105 dies dementsprechend in den Datenquellen 130 angeben. In einem oder mehreren Beispielen können die Datenquellen 130 eine Zählung verwalten, wie oft ein Workflow-Schritt ausgeführt worden ist, und derartige durch den Workflow-Ausführenden 105 verschobenen Informationen ermöglichen die Zählung. Zum Beispiel kann die Anbieter-Datenquelle derartige Informationen verwalten. Alternativ oder zusätzlich können alle der anderen Datenquellen 130 derartige Informationen verwalten. Außerdem kann der Workflow-Ausführende 105 Informationen hochladen oder verschieben, die zur Entscheidung führen, ob die Ausführung des Workflow-Schritts abgebrochen/fortgesetzt werden soll, wie zum Beispiel Sicherheitsbelange, Kompatibilitätsprobleme oder jeder andere Grund, warum der Workflow-Schritt abgeschlossen/nicht abgeschlossen wurde. Alternativ oder zusätzlich kann der Workflow-Ausführende 105 Informationen verschieben, die für eine Einfachheit der Ausführung des Workflow-Schritts indikativ sind, wie zum Beispiel eine Bewertung, die eine vorbestimmte Skala verwendet (wie beispielsweise eine Anzahl von Sternen). Die verschobenen Informationen werden in den Datenquellen 130 gemäß der Kennung des Workflows gespeichert, der ausgeführt wird.
-
Beim Ausführen des Workflow-Schritts kann der Workflow-Ausführende 105 Informationen über den Workflow-Schritt hinzufügen, die dann an die Datenquellen 130 gesendet werden, wenn die Ausführung des Workflow-Schritts beendet ist. Zum Beispiel kann der Workflow-Ausführende 105 Notizen, Tipps oder sogar Werkzeuge zum Ausführen des Workflow-Schritts bereitstellen, wie beispielsweise ein für den Workflow-Schritt entwickeltes Skript. Alternativ oder zusätzlich kann der Workflow-Ausführende 105 einen modifizierten Code (Programmieranweisungen) bereitstellen, der anstelle des Codes ausgeführt werden soll, der sich ursprünglich in dem Workflow-Schritt befand. Alternativ oder zusätzlich kann der Workflow-Ausführende 105 eine vorausgehende Operation oder eine nachfolgende Operation bereitstellen, die vor oder nach einem Ausführen des Workflow-Schritts ausgeführt werden soll. Alternativ oder zusätzlich kann der Workflow-Ausführende Nebeneffekte eines Ausführens des Workflow-Schritts auf das Workflow-Zielsystem 110 beschreiben. Vorgenanntes ist eine Liste mit Beispielen, und in anderen Beispielen kann der Workflow-Ausführende 105 zusätzliche Details hinsichtlich der Ausführung des Workflow-Schritts bereitstellen.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Informationen über den Workflow-Schritt zu den Datenquellen zu verschieben, sammelt das Workflow-Zugriffssystem 120 die Informationen an und verschiebt sie zu den Datenquellen, wie bei Schritt 560 gezeigt. Ein Ansammeln der Daten umfasst ein Bestimmen von einem oder mehreren Parametern, die dem Workflow-Zielsystem 110 zugehörig sind, wie beispielsweise die Seriennummer, Versionsnummer, spezifische Konfigurationsparameter (wie zum Beispiel Betriebssystem, Pfadnamen) und dergleichen, die kontextbezogene Informationen in Bezug auf die Ausführung des Workflow-Schritts bereitstellen. Alternativ oder zusätzlich umfasst die Ansammlung ein Sammeln von Daten, die dem Workflow-Ausführenden 105 zugehörig sind, wie zum Beispiel Benutzername, Mitarbeiterkennung, Organisationsrolle, Organisationsberechtigungen und dergleichen, um kontextbezogene Informationen in Bezug auf die Ausführung des Workflow-Schritts bereitstellen. Des Weiteren umfasst die Ansammlung ein Sammeln von Daten, die einem Durchführen der Ausführung zugehörig sind, wie zum Beispiel die Ausführungsdauer des Workflow-Schritts, die Uhrzeit, zu der die Ausführung gestartet und/oder beendet wurde, wie oft der Workflow-Schritt aus Datenquellen 130 aktualisiert worden ist, vom Workflow-Ausführenden 105 erfasste Notizen, zum Beispiel in einer vorbestimmten Software-Anwendung (wie beispielsweise ONENOTE™ usw.). In einem oder mehreren Beispielen umfasst die Ansammlung ferner ein Auffordern des Workflow-Ausführenden 105, die Ausführung des Workflow-Schritts zu bewerten, zum Beispiel auf Grundlage einer Einfachheit der Ausführung, der Ausführungszeit, Ergebnissen des Workflow-Schritts, die der Ausführung entsprechen usw.
-
Ein Verschieben der angesammelten Informationen zu den Datenquellen 130 enthält ein Auswählen von einer oder mehreren Datenquellen 130 für das Verschieben, wie bei Schritt 562 gezeigt. Die Datenquellen 130 können durch den Workflow-Ausführenden 105 vorab ausgewählt werden. Alternativ oder zusätzlich wählt das Workflow-Zugriffssystem 120 die Datenquellen 130 aus, die auf Grundlage des Typs der verschobenen Daten verschoben werden sollen. Wenn die verschobenen Daten zum Beispiel eine Bewertung des Workflow-Schritts sind, können die Daten zu der Anbieter-Datenquelle 130 verschoben werden. Wenn der Workflow-Schritt alternativ oder zusätzlich unter Verwendung von Einstellungen ausgeführt wurde, die für die Umgebung des Workflow-Ausführenden 105 spezifisch sind, können die Daten zu der internen Datenquelle 130 verschoben werden. Ferner kann der Workflow-Ausführende 105 gefragt werden, ob die Daten außerhalb der Organisation veröffentlicht werden sollen, wie beispielsweise in der Anbieter-Datenquelle oder den anderen Benutzer-Datenquellen wie die Datenquellen der sozialen Medien. Wenn die Daten aus der Organisation heraus verschoben werden, analysiert das Workflow-Zugriffssystem 120 in einem oder mehreren Beispielen die Daten und extrahiert alle organisationsspezifischen Informationen wie Dateinamen, Benutzernamen, Kennwörter, Pfadnamen, Mitarbeiternamen, Personalnummern, Seriennummer und dergleichen aus den verschobenen Daten. In einem oder mehreren Beispielen werden derartige organisationsspezifische Informationen verwaltet oder sogar hinzugefügt, wenn die Daten in die Datenquelle für interne Informationen 130 verschoben werden.
-
Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflow-Schritts zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow-Schritt zugehörig sind, wie bei Schritt 564 gezeigt. In einem oder mehreren Beispielen werden die Daten, die verschoben werden, des Weiteren mit der Workflow-Kennung gekennzeichnet.
-
Nach dem Abschluss der Ausführung des Workflow-Schritts enthält das Verfahren ein Bestimmen, ob die Ausführung des Workflows abgeschlossen ist oder ob noch weitere Workflow-Schritte übrig sind, die ausgeführt werden sollen, wie bei Schritt 570 gezeigt. Wenn noch weitere Workflow-Schritte übrig sind, wiederholt sich das Verfahren für den nächsten Workflow-Schritt, bis die gesamte Workflow-Ausführung abgeschlossen ist. Wenn der gesamte Workflow abgeschlossen ist, enthält das Verfahren ein Überprüfen durch den Workflow-Ausführenden 105, ob der Ausführung des gesamten Workflows zugehörige Daten zu den Datenquellen 130 verschoben werden sollen, wie bei Schritt 575 gezeigt. Wenn der Workflow-Ausführende 105 bestimmt, dass keine Informationen verschoben werden sollen, ist das Verfahren abgeschlossen.
-
Wenn Daten zu den Datenquellen 130 verschoben werden sollen, sammelt das Workflow-Zugriffssystem 120 die Daten an, die zu der einen oder den mehreren Datenquellen 130 verschoben werden sollen, und verschiebt sie, wie bei Schritt 580 gezeigt. Ein Ansammeln der Daten umfasst ein Bestimmen von einem oder mehreren Parametern, die dem Workflow-Zielsystem 110 zugehörig sind, wie beispielsweise die Seriennummer, Versionsnummer, spezifische Konfigurationsparameter (wie zum Beispiel Betriebssystem, Pfadnamen) und dergleichen, die kontextbezogene Informationen in Bezug auf die Ausführung des Workflows 125 bereitstellen. Alternativ oder zusätzlich umfasst die Ansammlung ein Sammeln von Daten, die dem Workflow-Ausführenden 105 zugehörig sind, wie zum Beispiel Benutzername, Mitarbeiterkennung, Organisationsrolle, Organisationsberechtigungen und dergleichen, um kontextbezogene Informationen in Bezug auf die Ausführung des Workflows 125 bereitstellen. Des Weiteren umfasst die Ansammlung ein Sammeln von Daten, die einem Durchführen der Ausführung zugehörig sind, wie zum Beispiel die Ausführungsdauer des Workflows 125, die Uhrzeit, zu der die Ausführung gestartet und/oder beendet wurde, wie oft der Workflow 125 aus Datenquellen 130 aktualisiert worden ist, vom Workflow-Ausführenden 105 erfasste Notizen, zum Beispiel in einer vorbestimmten Software-Anwendung (wie beispielsweise ONENOTE™ usw.). Ferner umfasst die Ansammlung ein Sammeln von Workflow-spezifischen Informationen wie beispielsweise Workflow-Version, Anbieterinformationen, welche der Workflow-Schritte ausgeführt wurden und welche übersprungen wurden und dergleichen. In einem oder mehreren Beispielen umfasst die Ansammlung ferner ein Auffordern des Workflow-Ausführenden 105, die Ausführung des Workflows 125 zu bewerten, zum Beispiel auf Grundlage einer Einfachheit der Ausführung, der Ausführungszeit, Ergebnissen des Workflow-Schritts, die der Ausführung entsprechen usw. Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflows zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow zugehörig sind, wie bei Schritt 580 gezeigt.
-
Damit speichern die Datenquellen 130 jetzt für den Workflow 125 und Workflow-Schritte aktualisierte Informationen, die auf Anforderung durch einen zweiten Workflow-Ausführenden unter Verwendung der eindeutigen Kennungen abgerufen werden können. Der zweite Workflow-Ausführende kann somit Entscheidungen auf Informationsgrundlage treffen, wenn der Workflow 125 unter Verwendung der Informationen ausgeführt wird, die durch den Workflow-Ausführenden 105 bereitgestellt werden. Die Details der gespeicherten Informationen sind auf Grundlage dessen verschieden, was der Workflow-Ausführende 105 für ein Verschieben auswählt und was gefunden wurde (z.B. in Quellen sozialer Medien usw.).
-
Somit ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105, über die zuletzt aktualisierte Version eines Workflow-Schritts zu verfügen, wenn ein Workflow ausgeführt wird. Ferner empfängt der Workflow-Ausführende 105 die zuletzt aktualisierten Informationen über den Workflow-Schritt vor einem Initiieren der Ausführung des Workflow-Schritts. Ferner ermöglichen es die technischen Lösungen dem Workflow-Ausführenden, die Datenquellen, die dem Workflow-Schritt zugehörig sind, für die nächsten Workflow-Ausführenden zu aktualisieren, damit sie beim Ausführen des Workflow-Schritts über die neuesten Versionen/Daten verfügen.
-
Eine technische Herausforderung beim Empfangen von aktualisierten Informationen von den Datenquellen 130 und beim Aktualisieren des Workflows 125 besteht darin, sicherzustellen, dass die Computersicherheit gewahrt bleibt, wenn der Workflow 125 modifiziert wird und/oder Daten aus den Datenquellen 130 abgerufen werden. Die hierin beschriebenen technischen Lösungen nehmen sich ferner derartiger technischer Herausforderungen an, indem Sicherheitsfunktionen zum Verwalten von Modifizierungen des Workflows 125 und/oder zum Abrufen von aktualisierten Informationen bereitgestellt werden, die die Sicherheit des Workflow-Zugriffssystems 120 nicht verschlechtern und die sicherstellen, dass die Modifizierungen und aktualisierten Informationen wie bereitgestellt nur von vertrauenswürdigen Datenquellen verfolgt werden. Gemäß einer oder mehreren Ausführungsformen ermöglichen die hierin beschriebenen technischen Lösungen ein Ausführen des maschinengestützten Workflows 125 mit zusätzlichen Sicherheitsmaßnahmen und Erweiterungen für den Workflow-Ausführenden 105, wenn das System 100 verwendet wird.
-
Zum Beispiel kann der Workflow-Ausführende 105 mit der Anforderung, die neuesten Informationen dem Workflow 125 zuzuweisen, Informationen von der einen oder den mehreren Datenquellen 130 abrufen und das Risiko erhöhen, dass die abgerufenen Informationen unzutreffend sind, zum Beispiel können die Informationen nicht für den Workflow-Ausführenden 105 gelten, was zu falschen Ergebnissen führt. Alternativ oder zusätzlich können die abgerufenen Daten für den Workflow-Ausführenden 105 nachteilig sein, wenn der Workflow-Schritt unter Verwendung der abgerufenen Daten ausgeführt wird, zum Beispiel wegen eines Virus, eines Trojaners, einer Malware oder anderen Typen von Datensicherheitsproblemen. Die hierin beschriebenen technischen Lösungen ermöglichen ein Bereitstellen einer Validierung für den Workflow-Ausführenden 105, wenn der Workflow-Schritt auf Grundlage der abgerufenen Informationen abgerufen und ausgeführt wird. Zum Beispiel garantiert eine derartige Validierung dem Workflow-Ausführenden 105, dass der Schritt nicht nur notwendig ist, sondern durch den Workflow-Anbieter oder ein Mitglied einer vertrauenswürdigen Benutzerliste als zur Ausführung sicher geprüft wurde. Alternativ oder zusätzlich stellt die Validierung dem Workflow-Ausführenden 105 eine Angabe bereit, dass die Ausführung des Workflow-Schritts mit den abgerufenen Daten die Sicherheit des Workflow-Zielsystems 110 erhöht, die bei Abschluss des Workflow-Schritts ausgeführt wird.
-
In einem oder mehreren Beispielen stellt die Anbieter-Datenquelle 130 für den Workflow-Ausführenden 105 eine oder mehrere Benachrichtigungen bereit, wenn auf aktualisierte Informationen zugegriffen wird, die dem Workflow 125 und/oder einem Workflow-Schritt zugehörig sind. Die Benachrichtigungen geben an, ob die Anbieter-Aktualisierungsinformationen für die Funktionen zur Erhöhung der Sicherheit des Workflow-Zielsystems 110 relevant sind. Zum Beispiel werden die aktualisierten Informationen für den Workflow-Ausführenden 105 als empfohlen gekennzeichnet. Wenn der Workflow-Ausführende 105 die aktualisierten Informationen von der Anbieter-Datenquelle 130 empfängt, wird er informiert, dass die aktualisierten Informationen vom Anbieter empfohlen werden und getestet sind, wodurch dem Workflow-Ausführenden ermöglicht wird, den aktualisierten Informationen zum Abruf und zur Integration in den Workflow 125 zu vertrauen.
-
Ferner kann das Workflow-Zugriffssystem 120 in einem oder mehreren Beispielen, wie hierin beschrieben, aktualisierte Informationen für den Workflow 125 in anderen Datenquellen als der Anbieter-Datenquelle 130 auf Grundlage der Datenquellen suchen, die durch den Workflow-Ausführenden 105 bereitgestellt werden. Zum Beispiel kann der Workflow-Ausführende 105 die eine oder die mehreren anderen Datenquellen hinzufügen, wie beispielsweise Server der sozialen Medien, Blogs, Foren und weitere derartige Daten-Engines zum Erfassen der zuletzt aktualisierten Informationen, die dem Workflow zugehörig sind. Derartige andere Datenquellen können von dem Workflow-Zugriffssystem 120 verwendet werden, um die zuletzt aktualisierten Informationen für den Workflow 125 und die Workflow-Schritte zu speichern und abzurufen. In einem oder mehreren Beispielen wird dem Workflow-Anbieter die Identität derartiger Datenquellen bereitgestellt, zum Beispiel über die Anbieter-Datenquelle 130. Die Anbieter-Datenquelle 130 vergleicht die anderen Datenquellen mit einer Liste von vertrauenswürdigen Datenquellen, die durch den Anbieter verwaltet werden. Das Workflow-Zugriffssystem 120 kennzeichnet auf Grundlage der Liste von vertrauenswürdigen Datenquellen der Anbieter-Datenquelle die verfügbaren aktualisierten Informationen aus den anderen Datenquellen als vertrauenswürdig oder nicht vertrauenswürdig, wodurch es dem Workflow-Ausführenden ermöglicht wird, zu entscheiden, ob die verfügbaren aktualisierten Informationen abgerufen und/oder in den Workflow 125 integriert werden sollen. Die hierin beschriebenen technischen Lösungen stellen somit eine vertrauenswürdige Liste von Data-Mining-Engines für Analyse- und Sicherheitszwecke bereit. Die hierin beschriebenen technischen Lösungen ermöglichen es dem Workflow-Ausführenden 105 mit den Sicherheitsverbesserungen unter Verwendung der vertrauenswürdigen Datenquellen zu bestimmen, ob ein Workflow-Schritt ausgeführt werden soll, indem Informationen darüber bereitgestellt werden, ob die Ausführung des Workflow-Schritts, der gerade aus einer Datenquelle eines „sonstigen Benutzers“ importiert wurde, fehlerfrei und sicher ist. Ferner ermöglichen die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105 zu bestimmen, ob vom Anbieter empfohlen wird, den Workflow-Schritt auszuführen, um das Workflow-Zielsystem 100 so sicher wie möglich zu machen.
-
6 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit verbesserter Sicherheit gemäß einer oder mehreren Ausführungsformen dar. Das Verfahren kann durch das hierin beschriebene Workflow-Ausführungssystem 100 oder irgendeine andere Workflow-Ausführung umgesetzt werden. Das Verfahren enthält ein Auswählen des Workflows 125 zur Ausführung durch den Workflow-Ausführenden 105 über das Workflow-Zugriffssystem 120, wie bei Schritt 610 gezeigt. Die Auswahl wird in einem oder mehreren Beispielen in Reaktion auf ein Empfangen einer Benachrichtigung zum Ausführen des Workflows 125 oder in Reaktion auf ein Empfangen des Workflows 125 selbst ausgeführt. In einem oder mehreren Beispielen wird der Workflow 125 aus mehreren Workflows ausgewählt. Der Workflow wird dem Workflow-Ausführenden 105 durch den Anbieter bereitgestellt, oder der Workflow-Ausführende 105 kann seinen eigenen schreiben.
-
In einem oder mehreren Beispielen enthält der Workflow 125 eine oder mehrere Datenquellen 130, die für verschiedene Datentypen zu verwenden sind (interne, Anbieter-Aktualisierungs-, sonstige Benutzerinformationen). Die Datenquellen 130 können im Workflow 125 durch den Anbieter, der den Workflow 125 erstellt hat, und/oder durch den Workflow-Ausführenden 105 identifiziert werden. Alternativ oder zusätzlich können die Datenquellen 130 in dem Workflow 125 durch den Workflow-Ausführenden 105 identifiziert werden, der den Workflow 125 ausführt. Alternativ oder zusätzlich kann der Workflow 125 ferner das Workflow-Zugriffssystem 120 angeben, um eine Erfassungsaktion auszuführen, nach Datenquellen 130 zu suchen, die zum Suchen nach Aktualisierungen und/oder zusätzlichen Informationen über den Workflow 125 verwendet werden sollen.
-
Das Verfahren enthält ferner ein Prüfen durch den Workflow-Ausführenden 105, ob der Workflow 125, wie bei Schritt 615 gezeigt, aktualisiert werden soll. Wenn der Workflow-Ausführende 105 eine Aktualisierung initiiert, enthält das Verfahren ein Beziehen von Informationen für den Workflow 125 aus der einen oder den mehreren Datenquellen, wie bei Schritt 620 gezeigt. Die Informationen enthalten Aktualisierungsinformationen und zusätzliche Informationen für den Workflow 125, die es dem Workflow-Ausführenden 105 ermöglichen können, zu bestimmen, ob die Ausführung des Workflows 125 fortgesetzt werden soll. Ein Abrufen der aktualisierten Informationen aus den Datenquellen enthält die eine oder die mehreren Operationen wie hierin beschrieben (siehe 5).
-
Ferner enthält das Verfahren ein Validieren der aktualisierten Informationen, die aus der einen oder den mehreren Datenquellen 130 zur Verfügung stehen, wie bei 622 gezeigt. Die Validierung enthält ein Bestimmen, ob die Datenquelle, aus der die aktualisierten Informationen abgerufen werden, eine vertrauenswürdige Datenquelle ist, wie bei Schritt 624 gezeigt. Zum Beispiel wird die Datenquelle als eine vertrauenswürdige Datenquelle betrachtet, wenn der Workflow-Ausführende 105 die Datenquelle als vertrauenswürdig kennzeichnet. Alternativ oder zusätzlich wird eine Identifizierung der Datenquelle, zum Beispiel eine IP-Adresse, ein Servername, ein der Datenquelle zugehöriges Zertifikat oder alle anderen Identifizierungsinformationen der Datenquelle zu dem Workflow-Anbieter gesendet, zum Beispiel über die Anbieter-Datenquelle 130. In einem oder mehreren Beispielen sendet das Workflow-Zugriffssystem 120 die Datenquellen-Identifizierungsinformationen zusammen mit der Workflow-Kennung an den Workflow-Anbieter. Der Workflow-Anbieter überprüft, ob die Datenquelle eine vertrauenswürdige Datenquelle in Bezug auf den Workflow 125 ist, der ausgeführt wird. In einem oder mehreren Beispielen kann die Überprüfung ein Bestimmen enthalten, ob die Datenquellen-Identifizierung Teil einer Liste mit vertrauenswürdigen Datenquellen ist, die durch den Workflow-Anbieter verwaltet wird, zum Beispiel als Teil von autorisierten Anbietern oder Lieferanten für den Workflow 125. Zum Beispiel können vertrauenswürdige Datenquellen ein Authentifizierungszertifikat verwalten, das der Workflow-Anbieter erstellt und nur für die vertrauenswürdigen Datenquellen bereitstellt. Das Authentifizierungszertifikat kann jedes derzeit verfügbare oder später entwickelte Authentifizierungsprotokoll verwenden. Es ist zu beachten, dass ein Verwenden eines Authentifizierungszertifikats zum Bestimmen der Gültigkeit der Datenquelle nur ein Beispiel ist, und dass in einem oder mehreren Beispielen zusätzliche oder andere Validierungsformen zum Authentifizieren der Datenquelle(n) verwendet werden können.
-
Wenn die Datenquelle entweder durch den Workflow-Ausführenden 105 oder durch den Workflow-Anbieter 107 authentifiziert worden ist, enthält die Validierung ferner ein Bestimmen, ob die aktualisierten Informationen durch den Workflow-Anbieter 107 für den Workflow 125 empfohlen werden, wie bei Schritt 626 gezeigt. In einem oder mehreren Beispielen kennzeichnet der Workflow-Anbieter die aktualisierten Informationen als empfohlene Informationen für den Workflow 125, zum Beispiel unter Verwendung eines Empfehlungskennzeichens, das den Daten zugehörig ist, die durch die Datenquellen 130 verwaltet werden. Wenn die aktualisierten Informationen durch den Workflow-Anbieter 107 noch nicht analysiert worden sind, oder wenn die aktualisierten Informationen durch den Workflow-Anbieter 107 nicht empfohlen werden, ist das Empfehlungskennzeichnen indikativ für den nicht empfohlenen Zustand.
-
Das Verfahren enthält ferner ein Empfangen und Analysieren der Validierungsergebnisse durch den Workflow-Ausführenden 105 und ein Aktualisieren des Workflows 125 unter Verwendung der aktualisierten Informationen aus der Datenquelle, wenn der Workflow-Ausführende 105 eine derartige Aktualisierung gestattet, wie bei Schritt 625 gezeigt. Wenn die Validierungsergebnisse zum Beispiel angeben, dass die Datenquelle, von der die aktualisierten Informationen bereitgestellt werden, keine vertrauenswürdige Quelle ist, kann der Workflow-Ausführende 105 eine Integrierung der aktualisierten Informationen in den Workflow 125 verhindern und mit dem vorhandenen Workflow 125 ohne Aktualisierungen fortfahren. Alternativ kann der Workflow-Ausführende 105 die Integrierung gestatten, auch wenn die Datenquelle keine vertrauenswürdige Quelle ist. Wenn die Validierungsergebnisse angeben, dass die aktualisierten Informationen keine empfohlene Aktualisierung oder empfohlene Informationen über den Workflow 125 enthalten, kann der Workflow-Ausführende 105 die Integrierung in den Workflow 125 verhindern. Alternativ kann der Workflow-Ausführende, auch wenn die aktualisierten Informationen keine empfohlene Aktualisierung/Daten sind, mit der Integrierung und Modifizierung des Workflows 125 fortfahren.
-
Das Verfahren enthält ferner ein Beginnen mit dem Ausführen des Workflows 125 durch ein Auswählen eines Workflow-Schritts aus dem Workflow 125, wie bei 630 gezeigt. Die Ausführung des Workflow-Schritts beginnt mit oder ohne die vorher beschriebene Workflow-Aktualisierung.
-
Vor dem Ausführen des Workflow-Schritts enthält das Verfahren ferner ein Bestimmen, ob der Workflow-Schritt aktualisiert werden soll, wie bei 635 gezeigt. Zum Beispiel kann der Workflow-Schritt in einer der Datenquellen 130 seit der früheren vorläufigen Aktualisierung (615) aktualisiert worden sein. Alternativ oder zusätzlich können für die Ausführung des Workflow-Schritts relevante Daten in den Datenquellen 130 zur Verfügung stehen. Zum Beispiel können die zusätzlichen Daten Informationen enthalten, die in der Anbieter-Datenquelle, der Datenquelle für interne Informationen, der Datenquelle für soziale Medien oder irgendeiner anderen Datenquelle 130 hinzugefügt wurden. Die zusätzlichen Daten geben Informationen an, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Der Workflow-Ausführende 105 wird gefragt, ob derartige aktualisierte Informationen für den Workflow-Schritt abgerufen werden sollen, wie bei 635 gezeigt. In einem oder mehreren Beispielen wird eine derartige Überprüfung nur ausgeführt, wenn der Workflow-Schritt für eine Überprüfung durch den Workflow-Ausführenden 105 gekennzeichnet ist, ob eine Aktualisierung vor der Ausführung initiiert werden soll. Wenn eine derartige Kennzeichnung nicht vorhanden ist, wird der Workflow-Ausführende 105 nicht gefragt, ob die aktualisierten Informationen abgerufen werden sollen. Wenn der Workflow-Ausführende 105 eine Aktualisierung für den Workflow-Schritt initiiert, enthält das Verfahren ein Abrufen von aktualisierten Informationen für den Workflow-Schritt aus der einen oder den mehreren Datenquellen, wie bei 640 gezeigt. Ein Abrufen der aktualisierten Informationen für den Workflow-Schritt enthält eine oder mehrere Operationen wie hierin beschrieben (siehe zum Beispiel Schritt 515).
-
Ferner enthält das Verfahren für eine verbesserte Sicherheit ein Validieren der aktualisierten Informationen, die aus der einen oder den mehreren Datenquellen 130 zur Verfügung stehen, wie hierin beschrieben und bei 622 gezeigt. Ferner enthält das Verfahren auf Grundlage der Validierungsergebnisse ein Aktualisieren des Workflow-Schritts unter Verwendung der angerufenen Informationen, wenn der Ausführende es gestattet, wie bei Schritt 645 gezeigt. Wenn die Validierungsergebnisse zum Beispiel angeben, dass die Datenquelle, von der die aktualisierten Informationen bereitgestellt werden, keine vertrauenswürdige Quelle ist, kann der Workflow-Ausführende 105 eine Integrierung der aktualisierten Informationen in den Workflow-Schritt verhindern und mit dem vorhandenen Workflow-Schritt ohne Aktualisierungen fortfahren. Alternativ kann der Workflow-Ausführende 105 die Integrierung gestatten, auch wenn die Datenquelle keine vertrauenswürdige Quelle ist. Wenn die Validierungsergebnisse angeben, dass die aktualisierten Informationen keine empfohlene Aktualisierung oder empfohlene Informationen über den Workflow-Schritt enthalten, kann der Workflow-Ausführende 105 die Integrierung in den Workflow-Schritt verhindern. Alternativ kann der Workflow-Ausführende, auch wenn die aktualisierten Informationen keine empfohlene Aktualisierung/Daten sind, mit der Integrierung und Modifizierung des Workflow-Schritts fortfahren. Im einem oder mehreren Beispielen führt der Workflow-Ausführende 105 den Workflow-Schritt nur aus, wenn beide Bedingungen erfüllt sind, dass die aktualisierten Informationen aus einer vertrauenswürdigen Datenquelle stammen und durch den Workflow-Anbieter 107 empfohlen werden.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Ausführung fortzusetzen, enthält das Verfahren ein Ausführen des Workflow-Schritts und damit ein Bewirken einer Änderung in dem Workflow-Zielsystem 110, wie bei 650 gezeigt. Die Änderung kann eine Änderung einer Hardware-Konfiguration und/oder eine Änderung einer Software-Konfiguration enthalten, wie hierin beschrieben. Alternativ kann der Workflow-Ausführende 105 bestimmen, die Workflow-Ausführung auf Grundlage der aktualisierten Informationen zu beenden, die von der einen oder den mehreren Datenquellen 130 empfangen wurden, wie bei 670 gezeigt.
-
In einem oder mehreren Beispielen kann der Workflow-Ausführende 105 ohne Berücksichtigung dessen, ob der Workflow-Schritt ausgeführt wird, aktualisierte Informationen in den Datenquellen 130 verschieben, wie bei 655 gezeigt. Wenn der Workflow-Ausführende 105 zum Beispiel bestimmt, nicht mit der Ausführung des Workflow-Schritts fortzufahren, kann der Workflow-Ausführende 105 dies dementsprechend in den Datenquellen 130 angeben. Der Workflow-Ausführende 105 kann entscheiden, welche Informationen wie hierin beschrieben verschoben werden sollen.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Informationen über den Workflow-Schritt zu den Datenquellen zu verschieben, sammelt das Workflow-Zugriffssystem 120 die Informationen zu den Datenquellen wie hierin beschrieben und bei Schritt 660 gezeigt. Ein Verschieben der gesammelten Informationen zu den Datenquellen 130 enthält ein Validieren von einer oder mehreren Datenquellen 130 für das Verschieben, wie bei Schritt 665 gezeigt. Ein Validieren der Datenquelle, zu der die Daten verschoben werden sollen, kann wie hierin beschrieben und wie in Schritt 622 gezeigt ausgeführt werden. Die Datenquelle, zu der die Daten verschoben werden, kann sich in einem oder mehreren Beispielen von den Datenquellen unterscheiden, aus denen die Daten abgerufen werden. Zum Beispiel können die Daten aus der Anbieter-Datenquelle abgerufen werden, während die Daten wegen des Vorhandenseins vertraulicher Organisationsdaten nur in die Datenquelle für interne Informationen verschoben werden.
-
Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflow-Schritts zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow-Schritt zugehörig sind. In einem oder mehreren Beispielen werden die Daten, die verschoben werden, des Weiteren mit der Workflow-Kennung gekennzeichnet.
-
Nach dem Abschluss der Ausführung des Workflow-Schritts enthält das Verfahren ein Bestimmen, ob die Ausführung des Workflows abgeschlossen ist oder ob noch weitere Workflow-Schritte übrig sind, die ausgeführt werden sollen, wie bei Schritt 670 gezeigt. Wenn noch weitere Workflow-Schritte übrig sind, wiederholt sich das Verfahren für den nächsten Workflow-Schritt, bis die gesamte Workflow-Ausführung abgeschlossen ist. Wenn der gesamte Workflow abgeschlossen ist, enthält das Verfahren ein Überprüfen durch den Workflow-Ausführenden 105, ob der Ausführung des gesamten Workflows zugehörige Daten zu den Datenquellen 130 verschoben werden sollen, wie bei Schritt 675 gezeigt. Wenn der Workflow-Ausführende 105 bestimmt, dass keine Informationen verschoben werden sollen, ist das Verfahren abgeschlossen.
-
Wenn Daten zu den Datenquellen 130 verschoben werden sollen, sammelt das Workflow-Zugriffssystem 120 die Daten, die zu der einen oder den mehreren Datenquellen 130 verschoben werden sollen, wie hierin beschrieben und wie bei Schritt 680 gezeigt. Ein Verschieben der gesammelten Informationen zu den Datenquellen 130 enthält ein Validieren von einer oder mehreren Datenquellen 130 für das Verschieben, wie bei Schritt 685 gezeigt. Ein Validieren der Datenquelle, zu der die Daten verschoben werden sollen, kann wie hierin beschrieben und wie in Schritt 622 gezeigt ausgeführt werden. Die Datenquelle, zu der die Daten verschoben werden, kann sich in einem oder mehreren Beispielen von den Datenquellen unterscheiden, aus denen die Daten abgerufen werden. Zum Beispiel können die Daten aus der Anbieter-Datenquelle abgerufen werden, während die Daten wegen des Vorhandenseins vertraulicher Organisationsdaten nur in die Datenquelle für interne Informationen verschoben werden. Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflows zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow 125 zugehörig sind.
-
Damit speichern die Datenquellen 130 jetzt für den Workflow 125 und Workflow-Schritte aktualisierte Informationen, die auf Anforderung durch einen zweiten Workflow-Ausführenden unter Verwendung der eindeutigen Kennungen abgerufen werden können. Der zweite Workflow-Ausführende kann somit Entscheidungen auf Informationsgrundlage treffen, wenn der Workflow 125 unter Verwendung der Informationen ausgeführt wird, die durch den Workflow-Ausführenden 105 bereitgestellt und von vertrauenswürdigen Datenquellen abgerufen werden. Die Details der gespeicherten Informationen sind auf Grundlage dessen verschieden, was der Workflow-Ausführende 105 für ein Verschieben auswählt und was gefunden wurde (z.B. in Quellen sozialer Medien usw.). Somit ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105, über die zuletzt aktualisierte Version eines Workflow-Schritts zu verfügen, wenn ein Workflow ausgeführt wird, wobei die aktualisierte Version und die zugehörigen Informationen aus einer vertrauenswürdigen Datenquelle und wie vom Workflow-Anbieter empfohlen abgerufen werden.
-
Ferner besteht eine technische Herausforderung hinsichtlich einer dynamischen Modifizierung des Workflows 125 und der Informationen, die dem Workflow 125 zugehörig sind, in einem Identifizieren von Anbieter-Aktualisierungsinformationen, die in Bezug auf den Grund zum Aktualisieren des Workflows 125 relevant sind, und die es dem Workflow-Ausführenden 105 ermöglichen, Entscheidungen auf Informationsgrundlage zu treffen, ob der Workflow 125 ausgeführt werden soll, und es dem Workflow-Zugriffssystem 120 ferner ermöglichen, kognitive Begründungsinformationen über den Workflow 125 abzurufen und zu speichern. Zum Beispiel kann der Workflow-Ausführende 105 in Betracht ziehen, einen Workflow-Schritt aus dem Workflow 125 zu aktualisieren und auszuführen. In einem oder mehreren Beispielen muss der Workflow-Ausführende 105 bestimmen, ob die aktualisierten Informationen angerufen werde sollten und/oder ob der Workflow-Schritt in der Umgebung des Workflow-Ausführenden ausgeführt werden soll. Zum Beispiel kann die Aktualisierung und/oder die Ausführung des Workflow-Schritts möglicherweise den gesamten Workflow 125 negativ beeinflussen oder überhaupt keine Auswirkung haben. Dies kann ein sogar wesentlicheres Problem darstellen, insbesondere für Workflow-Ausführende, die Unternehmens-Software in Umgebungen wie Bankwesen, Behörden, Gesundheitsbranche und dergleichen ausführen, die in Bezug auf Daten sensibler sind als einige andere.
-
Die hierin beschriebenen technischen Lösungen befassen sich mit einer derartigen technischen Herausforderung durch ein Bereitstellen von maschinengestützter Begründung als weitere Verbesserung des Workflow-Ausführungssystems 100. In einem oder mehreren Beispielen stellt der maschinengestützte Workflow 125 zusätzliche kognitive Begründungsverbesserungen für den Workflow-Ausführenden 105 bereit, um zu bestimmen, ob der Workflow 125 und/oder einer der Workflow-Schritte ausgeführt (oder die Ausführung übersprungen) werden soll. Die Begründung/Validierung ermöglicht dem Workflow-Ausführenden 105 eine Angabe, ob der Workflow-Schritt für den Erfolg des gesamten Workflows 125 in der Umgebung des Ausführenden erforderlich oder nicht erforderlich ist und gibt dem Workflow-Ausführenden 105 einen oder mehrere Gründe dafür an. Außerdem kann der Workflow 125, wenn er gemäß den Begründungsinformationen aktualisiert worden ist, gemeinsam mit dem Workflow-Anbieter 107 genutzt werden, sodass andere Workflow-Ausführende desselben Workflows 125 bestimmen können, ob der Workflow-Schritt ausgeführt werden soll. Somit verfügt ein Workflow-Ausführender, der die kognitiven Begründungsinformationen überprüft, über die zuletzt aktualisierten Informationen über die Gründe, warum der Workflow-Schritt in ihrer Umgebung ausgeführt werden soll.
-
Das Workflow-Zugriffssystem 120 identifiziert zum Bereitstellen der Begründung in Bezug darauf, ob der Workflow-Schritt aktualisiert werden soll und/oder der Workflow-Schritt ausgeführt werden soll, die Anbieter-Aktualisierungsinformationen, die für die Begründung zum Aktualisieren und anschließenden Ausführen des Workflow-Schritts in dem Workflow-Zielsystem relevant sind. Außerdem zeichnet das Workflow-Zugriffssystem 120 derartige begründungsbezogene Daten auf, wenn der Workflow-Ausführende 105 den Workflow-Schritt ausführt, wobei derartige aufgezeichnete Daten dem nächsten Workflow-Ausführenden bereitgestellt werden, der den Workflow-Schritt ausführt, um den nächsten Workflow-Ausführenden dabei zu unterstützen, eine Entscheidung auf Informationsgrundlage zu treffen, ob der Workflow-Schritt tatsächlich ausgeführt werden soll. Somit empfängt der Workflow-Ausführende 105 vor dem Entscheiden, ob ein Workflow-Schritt modifiziert oder ausgeführt werden soll, zusätzlich zum Empfangen der Aktualisierungen selbst, die letzten verfügbaren kognitiven Begründungsinformationen, um so eine Entscheidung auf Informationsgrundlage zu treffen, ob der nächste Schritt in dem Workflow-Zielsystem 110 aktualisiert und/oder ausgeführt werden soll. Ferner kann der Workflow-Ausführende 105 die Begründungsinformationen weiter ausschmücken, indem die eigenen begründungsbezogenen Informationen nach der Beendigung/dem Überspringen der Ausführung des Workflow-Schritts in die Datenquellen 130 verschoben werden.
-
7 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit kognitiver Begründung gemäß einer oder mehreren Ausführungsformen dar. Das Verfahren kann durch das hierin beschriebene Workflow-Ausführungssystem 100 oder irgendeine andere Workflow-Ausführung umgesetzt werden. Das Verfahren enthält ein Auswählen des Workflows 125 zur Ausführung durch den Workflow-Ausführenden 105 über das Workflow-Zugriffssystem 120, wie bei 710 gezeigt. Die Auswahl wird in einem oder mehreren Beispielen in Reaktion auf ein Empfangen einer Benachrichtigung zum Ausführen des Workflows 125 oder in Reaktion auf ein Empfangen des Workflows 125 selbst ausgeführt. In einem oder mehreren Beispielen wird der Workflow 125 aus mehreren Workflows ausgewählt. Der Workflow wird dem Workflow-Ausführenden 105 durch den Anbieter bereitgestellt, oder der Workflow-Ausführende 105 kann einen eigenen schreiben.
-
Das Verfahren enthält ferner ein Prüfen durch den Workflow-Ausführenden 105, ob der Workflow 125 wie bei 715 gezeigt aktualisiert werden soll. Wenn der Workflow-Ausführende 105 eine Aktualisierung initiiert, enthält das Verfahren ein Abrufen von Informationen für den Workflow 125 aus der einen oder den mehreren Datenquellen, wie bei 720 gezeigt. Die Informationen enthalten Aktualisierungsinformationen und zusätzliche Informationen für den Workflow 125, die es dem Workflow-Ausführenden 105 ermöglichen können, zu bestimmen, ob die Ausführung des Workflows 125 fortgesetzt werden soll. Ein Beziehen der aktualisierten Informationen aus den Datenquellen enthält die eine oder die mehreren Operationen wie hierin beschrieben (siehe 5). Die Aktualisierung kann ein Validieren der Datenquellen enthalten (siehe 6). Der Workflow 125 wird unter Verwendung der aus den Datenquellen 130 abgerufenen aktualisierten Informationen aktualisiert, wie hierin beschrieben und bei Schritt 725 gezeigt.
-
Das Verfahren enthält ferner ein Beginnen mit dem Ausführen des Workflows 125 durch ein Auswählen eines Workflow-Schritts aus dem Workflow 125, wie bei Schritt 730 gezeigt. Die Ausführung des Workflow-Schritts beginnt mit oder ohne die vorher beschriebene Workflow-Aktualisierung. Vor dem Ausführen des Workflow-Schritts enthält das Verfahren ferner ein Bestimmen, ob der Workflow-Schritt aktualisiert werden soll, wie bei Schritt 735 gezeigt. Zum Beispiel kann der Workflow-Schritt in einer der Datenquellen 130 seit der vorherigen vorläufigen Aktualisierung (715) aktualisiert worden sein. Alternativ oder zusätzlich können für die Ausführung des Workflow-Schritts relevante Daten in den Datenquellen 130 zur Verfügung stehen. Zum Beispiel können die zusätzlichen Daten Informationen enthalten, die in der Anbieter-Datenquelle, der Datenquelle für interne Informationen, der Datenquelle für soziale Medien oder irgendeiner anderen Datenquelle 130 hinzugefügt wurden. Die zusätzlichen Daten geben Informationen an, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Wenn der Workflow-Ausführende 105 eine Aktualisierung für den Workflow-Schritt initiiert, enthält das Verfahren ein Beziehen und Aktualisieren des Workflow-Schritts aus der einen oder den mehreren Datenquellen, wie bei Schritt 740 gezeigt. Ein Beziehen der aktualisierten Informationen für den Workflow-Schritt und ein Aktualisieren des Workflow-Schritts enthält eine oder mehrere Operationen wie hierin beschrieben (siehe zum Beispiel 5). In einem oder mehreren Beispielen kann die Datenquellen-Validierung wie hierin beschrieben ausgeführt werden. Da der Workflow-Ausführende 105 jetzt weiß, dass der Workflow-Schritt aktualisiert worden ist, werden dem Workflow-Ausführenden Begründungsinformationen bereitgestellt, die beschreiben, warum dieser bestimmte Workflow-Schritt in dem Workflow-Zielsystem 110 ausgeführt werden sollte, wie bei Schritt 750 gezeigt.
-
Das Bereitstellen der Begründungsinformationen enthält ein Identifizieren, aus der einen oder den mehreren Datenquellen 130, der kognitiven Begründungsinformationen von den aktualisierten Informationen, die dem Workflow-Schritt zugehörig sind, wie bei Schritt 752 gezeigt. In einem oder mehreren Beispielen können die Begründungsinformationen aus einer Datenquelle identifiziert werden, die sich von der Datenquelle unterscheidet, aus der eine Aktualisierung für den Workflow-Schritt abgerufen wird. In einem oder mehreren Beispielen werden die Begründungsinformationen auf Grundlage der Datenquelle 130, die ein Identifizierungs-Tag enthält, das angibt, dass die Daten begründungsrelevante Daten sind, und ferner die Daten identifiziert, die der eindeutigen Kennung des Workflow-Schritts zugehörig sind. Zum Beispiel können die Daten ein Tag wie zum Beispiel Ausführungsbegründung‘ enthalten, um dem Workflow-Zugriffssystem 120 zu ermöglichen, auf effiziente Weise Daten zu bestimmen, die für die Begründung relevant sind. Des Weiteren können die Begründungsinformationen durch syntaktisches und semantisches Analysieren der Daten aus der Datenquelle 130 identifiziert werden. Zum Beispiel kann das Workflow-Zugriffssystem 120 Algorithmen für maschinelles Lernen wie zum Beispiel künstliche neuronale Netzwerke und dergleichen verwenden, um Fragmente der aktualisierten Informationen aus den Datenquellen 130 zu bestimmen, die begründungsbezogene Informationen bereitstellen. In einem oder mehreren Beispielen kann das Workflow-Zugriffssystem 120 eine API wie zum Beispiel IBM WATSON® von IBM ® oder andere derartige Dienste zum Bestimmen der begründungsbezogenen Informationen aus den aktualisierten Informationen verwenden, die auf den Datenquellen 130 für den Workflow-Schritt zur Verfügung stehen. IBM und IBM Watson IBM sind eingetragene Marken der International Business Machines Corporation, die weltweit unter vielen Gerichtsbarkeiten registriert sind.
-
Ferner enthält ein Bereitstellen der Begründungsinformationen ein Generieren eines Benutzerschnittstellen- (Ul) Elements durch das Workflow-Zugriffssystem 120 und ein Anzeigen des einen oder der mehreren Fragmente von begründungsbezogenen Informationen aus den Datenquellen 130, wie bei Schritt 754 gezeigt. In einem oder mehreren Beispielen wird das Ul-Element auf einer Seite der Workflow-Schritte generiert, die dem Workflow-Ausführenden 105 dargestellt werden. Alternativ oder zusätzlich wird das Ul-Element auf jede andere Art und Weise generiert, wie beispielsweise als Aufklappfenster, Überlagerungsfenster und dergleichen. In einem oder mehreren Beispielen enthält das Ul-Element eine Angabe, ob eine Ausführung des Workflows durch den Workflow-Anbieter 107 empfohlen wird. Ferner werden in einem oder mehreren Beispielen die dem Workflow-Ausführenden 105 bereitgestellten Begründungsinformationen gefiltert, sodass dem Workflow-Ausführenden 105 nur die Begründungsinformationen angegeben werden, die durch andere Workflow-Ausführende bereitgestellt werden, die im Wesentlichen dieselbe Workflow-Zielsystemumgebung verwenden, zum Beispiel Version, Betriebssystem usw.
-
Die Begründungsinformationen können auch Gründe dafür enthalten, warum der Workflow-Ausführende 105 ein Ausführen des Workflow-Schritts überspringen möchte. Zum Beispiel können die Begründungsinformationen Informationen enthalten, die technische Probleme angeben, mit denen andere Workflow-Ausführende nach einem Ausführen des Workflow-Schritte konfrontiert wurden.
-
Des Weiteren können die Begründungsinformationen Gründe enthalten, die auf temporären Informationen beruhen. Zum Beispiel bestimmt das Workflow-Zugriffssystem 120, dass die durchschnittliche Zeit für ein Ausführen des Workflow-Schritts X Minuten beträgt, wobei das Workflow-Zielsystem 110 während dieser Zeit nicht verwendbar ist. Ein Ausführen des gegenwärtigen Workflow-Schritts kann verursachen, dass das Workflow-Zielsystem 110 während einer Zeit mit hohem Verkehrsaufkommen nicht verwendbar ist, wenn mehrere Benutzer das Workflow-Zielsystem 110 verwenden. Das Workflow-Zugriffssystem 120 bestimmt die Zeit mit hohem Verkehrsaufkommen für das Workflow-Zielsystem 110 auf Grundlage des Daten-Ausführungsverlaufs für das Workflow-Zielsystem 110. Dementsprechend stellt das Workflow-Zugriffssystem 120 Begründungsinformationen für den Workflow-Ausführenden 105 bereit, um den Workflow-Schritt später zu empfohlenen Zeitpunkten mit minimaler Überlappung mit Zeiten mit hohem Verkehrsaufkommen auszuführen.
-
Ein Bereitstellen der Begründungsinformationen für den Workflow-Ausführenden 105 enthält ferner ein Darstellen der Informationen über das Ul-Element, wie bei Schritt 756 gezeigt. Auf Grundlage der Begründungsinformationen kann der Workflow-Ausführende 105 den Workflow-Schritt ausführen oder dies unterlassen, wie bei Schritt 745 gezeigt. Der Workflow-Ausführende 105 kann den Workflow-Schritt ausführen und damit eine Änderung in dem Workflow-Zielsystem 110 bewirken, wie bei Schritt 748 gezeigt. Die Änderung kann eine Änderung einer Hardware-Konfiguration und/oder eine Änderung einer Software-Konfiguration enthalten, wie hierin beschrieben. Alternativ kann der Workflow-Ausführende 105 bestimmen, den Workflow-Schritt auf Grundlage der Begründungsinformationen zu überspringen, wie bei Schritt 745 gezeigt.
-
In einem oder mehreren Beispielen kann der Workflow-Ausführende 105 ohne Berücksichtigung dessen, ob der Workflow-Schritt ausgeführt wird, aktualisierte Informationen zu den Datenquellen 130 verschieben, wie bei Schritt 755 gezeigt. Wenn der Workflow-Ausführende 105 zum Beispiel bestimmt, nicht mit der Ausführung des Workflow-Schritts fortzufahren, kann der Workflow-Ausführende 105 dies dementsprechend in den Datenquellen 130 angeben. Der Workflow-Ausführende 105 kann entscheiden, welche Informationen wie hierin beschrieben verschoben werden sollen.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Informationen über den Workflow-Schritt zu den Datenquellen zu verschieben, sammelt das Workflow-Zugriffssystem 120 die Informationen an, die zu den Datenquellen verschoben werden sollen, wie hierin beschrieben und bei Schritt 760 gezeigt. Die angesammelten Informationen enthalten ferner die Begründung vom Workflow-Ausführenden 105, warum die Ausführung übersprungen/ausgeführt wird, zum Beispiel wird die Verfügbarkeit/Nichtverfügbarkeit von einer oder mehreren Ressourcen aufgeführt, die für die Ausführung des Workflow-Schritts erforderlich sind, wie beispielsweise ein Umfang einer Inanspruchnahme des Arbeitsspeichers, ein Umfang einer Ausfallzeit, Bandbreiten-Anforderungen oder irgendwelche weiteren Ressourcen oder eine Kombination davon. Alternativ oder zusätzlich können die Begründungsinformationen eine Schwierigkeit/Einfachheit einer Ausführung des Workflows enthalten, wie zum Beispiel die Beschreibung des Workflows, der einfach/kompliziert, kürzer/länger als eine vorbestimmte Anzahl von Schritten ist, die Bewertung des Workflow-Schritts als unter/über einem vorbestimmten Schwellenwert liegend oder dergleichen.
-
In einem oder mehreren Beispielen kennzeichnet das Workflow-Zugriffssystem 120 die Begründungsinformationen, die durch den Workflow-Ausführenden 105 unter Verwendung des vorbestimmten Begründungs-Tags bereitgestellt werden. Ferner verschiebt das Workflow-Zugriffssystem 120 die Informationen zu der einen oder den mehreren Datenquellen 130 zusammen mit der eindeutigen Kennung des Workflow-Schritts, wie bei Schritt 765 gezeigt. Ein Verschieben der angesammelten Informationen zu den Datenquellen 130 enthält ein Validieren von einer oder mehreren Datenquellen 130, in die in einem oder mehreren Beispielen verschoben werden soll. In einem oder mehreren Beispielen werden die Daten, die verschoben werden, des Weiteren mit der Workflow-Kennung gekennzeichnet.
-
Nach dem Abschluss der Ausführung des Workflow-Schritts enthält das Verfahren ein Bestimmen, ob die Ausführung des Workflows abgeschlossen ist oder ob noch weitere Workflow-Schritte übrig sind, die ausgeführt werden sollen, wie bei Schritt 770 gezeigt. Wenn noch weitere Workflow-Schritte übrig sind, wiederholt sich das Verfahren für den nächsten Workflow-Schritt, bis die gesamte Workflow-Ausführung abgeschlossen ist. Wenn der gesamte Workflow abgeschlossen ist, enthält das Verfahren ein Überprüfen durch den Workflow-Ausführenden 105, ob der Ausführung des gesamten Workflows zugehörige Daten zu den Datenquellen 130 verschoben werden sollen, wie bei Schritt 775 gezeigt. Wenn der Workflow-Ausführende 105 bestimmt, dass keine Informationen verschoben werden sollen, ist das Verfahren abgeschlossen.
-
Wenn Daten zu den Datenquellen 130 verschoben werden sollen, sammelt das Workflow-Zugriffssystem 120 die Daten an, die zu der einen oder den mehreren Datenquellen 130 verschoben werden sollen, wie hierin beschrieben und wie bei Schritt 780 gezeigt. Die gesammelten Informationen können Begründungsinformationen für den gesamten Workflow 125 enthalten Das Workflow-Zugriffssystem 120 verschiebt ferner die angesammelten Informationen zu den Datenquellen 130, wie bei Schritt 785 gezeigt. Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflows zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow 125 zugehörig sind.
-
Damit speichern die Datenquellen 130 jetzt für den Workflow 125 und Workflow-Schritte aktualisierte Begründungsinformationen, die auf Anforderung durch einen zweiten Workflow-Ausführenden unter Verwendung der eindeutigen Kennungen abgerufen werden können. Der zweite Workflow-Ausführende kann somit Entscheidungen auf Informationsgrundlage treffen, wenn der Workflow 125 unter Verwendung der Informationen ausgeführt wird, die durch den Workflow-Ausführenden 105 bereitgestellt und von Datenquellen 130 abgerufen werden. Somit ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105, über die zuletzt aktualisierte Version eines Workflow-Schritts zu verfügen, wenn ein Workflow ausgeführt wird, wobei die aktualisierte Version und die zugehörigen Informationen aus einer vertrauenswürdigen Datenquelle abgerufen werden, und wobei weitere Begründungsinformationen dem Workflow-Ausführenden 105 ermöglichen zu bestimmen, ob der Workflow-Schritt ausgeführt werden soll.
-
Des Weiteren besteht eine technische Herausforderung beim Ausführen von maschinengestützten Workflows wie beispielsweise dem Workflow 125 darin, dass der Workflow-Ausführende 105, der eine Aktualisierung und anschließende Ausführung eines Workflow-Schritts in Erwägung zieht, nicht weiß, ob die Informationen und/oder Parametereinrichtung zum Abschließen der Ausführung des Workflow-Schritt vorhanden sind. Ferner ist dem Workflow-Ausführenden 105 nicht bekannt, ob ein Ausführen des Workflow-Schritts sich nachteilig auf den gesamten Workflow in dem Workflow-Zielsystem 110 auswirkt, oder ob die Workflow-Ergebnisse überhaupt keine Auswirkung haben, was zu einer vergeblichen Aufwendung von Zeit und Aufwand für eine Ausführung des Workflows führt, insbesondere, wenn mit dem Workflow-Schritt und/oder dem Workflow eine signifikante Ausfallzeit des Workflow-Zielsystems 110 verbunden ist. Dies ist ein wesentliches Problem für Workflow-Ausführende, insbesondere diejenigen, die Unternehmens-Software in Umgebungen wie Bankenwesen, Behörden, Gesundheitswesen und dergleichen ausführen, in denen ein Vermeiden von Systemausfallzeiten kritisch ist.
-
Der Workflow-Ausführende 105 möchte zum Beispiel die aktuellsten und besten Informationen haben, bevor ein Schritt ausgeführt wird, und das hierin beschriebene Workflow-Ausführungssystem ermöglicht es dem Workflow-Ausführenden 105, die letzten zusätzlichen Informationen zu erhalten, die in den Datenquellen 130 angesammelt wurden, bis der Workflow-Ausführende 105 eine Ausführung eines Workflow-Schritts initiiert. Die Verwendung von derartigen letzten Informationen kann jedoch das Risiko erhöhen, dass sie nicht für den Workflow-Ausführenden 105 gelten oder unnötig und schädlich für den Workflow-Ausführenden sind.
-
Die hierin beschriebenen technischen Lösungen nehmen sich einer derartigen technischen Herausforderung durch ein Verbessern des Workflow-Ausführungssystems 100 an, um eine dem Schritt nachgeschaltete Suchfunktionalität oder Vorschaufunktion bereitzustellen, die dem Workflow-Ausführenden 105 zur Verfügung steht, um zu bestimmen, ob und wie sich die aktualisierten Informationen auf irgendeine Weise auf das Workflow-Zielsystem 110 auswirken. Außerdem können die Workflow-Vorschau und tatsächliche Ergebnisse nach Ausführung des Workflow-Schritts gemeinsam mit dem Workflow-Anbieter 107 sowie anderen Benutzern desselben Workflows 125 genutzt werden, um die anderen Benutzer beim Bestimmen zu unterstützen, ob der Workflow-Schritt ausgeführt werden soll. Ein Benutzer, der derartige kognitive Vorschauinformationen überprüft, verfügt somit über die letzten aktualisierten Informationen darüber, ob der Workflow-Schritt in seiner Umgebung ausgeführt werden sollte, und kann zur Schrittvorschau für andere beitragen und sie verbessern.
-
In einem oder mehreren Beispielen werden Anbieter-Aktualisierungsinformationen, die eine Workflow-Schrittvorschau der Ausführung auf dem Workflow-Zielsystem 110 bereitstellen, durch das Workflow-Zugriffssystem 120 identifiziert und aufgezeichnet. Derartige Vorschauinformationen werden dem Workflow-Ausführenden 105 bereitgestellt, der den Workflow ausführt, wodurch die aktualisierten Informationen angegeben werden, um den Workflow-Ausführenden 105 dabei zu unterstützen, eine Entscheidung auf Informationsgrundlage zu treffen, ob der Workflow-Schritt auf dem Workflow-Zielsystem tatsächlich ausgeführt werden soll. In einem oder mehreren Beispielen überwacht das Workflow-Zugriffssystem 120 die aktualisierten Informationen, die zu der einen oder den mehreren Datenquellen 130 verschoben werden, um die Vorschauinformationen zu identifizieren.
-
Die Vorschauinformationen können Informationen wie beispielsweise Ressourcen enthalten, die zum Ausführen des Workflow-Schritts erforderlich sind, zum Beispiel Zeitdauer, Datenübertragungsbandbreite, Arbeitsspeicherkapazität, Speicherplatzkapazität der Speicherplatte, Anzahl von Personen, eine oder mehrere spezifische Dateien, eine oder mehrere spezifische Hardware-Komponenten und dergleichen. Ferner können die Vorschauinformationen Informationen enthalten wie beispielsweise Parametereinstellungen, die vor oder während einer Ausführung des Workflow-Schritts vorgenommen werden müssen, zum Beispiel Registry-Einstellungen, Account-Berechtigungseinstellungen und dergleichen. Die Vorschauinformationen können in Form von elektronischem Text oder Bildern vorliegen, zum Beispiel Screenshots von einer oder mehreren Aufgaben, die durch den Workflow-Schritt ausgeführt werden. In einem oder mehreren Beispielen enthalten die Vorschauinformationen einen Satz von Screenshots (oder Bildern), die jede Operation des Workflow-Schritts darstellen, der ausgeführt wird. Das Workflow-Zugriffssystem 120 erfasst die Screenshots, wenn der Workflow-Schritt ausgeführt wird, und verschiebt die erfassten Screenshots nach Abschluss der Ausführung des Workflow-Schritts zu den Datenquellen 130. Die erfassten Screenshots werden zusammen mit den eindeutigen Kennungen des Workflow-Schritts und des Workflows 125 für einen effizienten Zugriff als die Vorschauinformationen gekennzeichnet.
-
Alternativ oder zusätzlich generiert das Workflow-Zugriffssystem 120 eine virtuelle Simulation der Ausführung des Workflow-Schritts. In einem oder mehreren Beispielen führt das Workflow-Zugriffssystem 120 eine Nachbildung einer virtuellen Maschine des Workflow-Zielsystems 110 unter Verwendung des einen oder der mehreren Parameter aus den aktualisierten Informationen aus, die aus den Datenquellen abgerufen wurden. Der Workflow-Ausführende 105 kann eine Vorschau der Ergebnisse des Workflow-Schritts in der virtuellen Maschine anzeigen und auf Grundlage der Vorschau entscheiden, ob der Workflow-Schritt in dem Workflow-Zielsystem 110 ausgeführt werden soll. Die technischen Lösungen ermöglichen somit eine Vorschau-Anzeige der Ausführung des einen oder der mehreren Workflow-Schritte aus dem Workflow 125 unter Verwendung der aktualisierten Informationen, wodurch es dem Workflow-Ausführenden 105 ermöglicht wird, zu bestimmen, ob mit der tatsächlichen Ausführung des Workflow-Schritts fortgefahren werden soll.
-
8 stellt einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit Vorschau des Workflow-Schritts gemäß einer oder mehreren Ausführungsformen dar. Das Verfahren kann durch das hierin beschriebene Workflow-Ausführungssystem 100 oder irgendeine andere Workflow-Ausführung umgesetzt werden. Das Verfahren enthält ein Auswählen des Workflows 125 zur Ausführung durch den Workflow-Ausführenden 105 über das Workflow-Zugriffssystem 120, wie bei Schritt 810 gezeigt. Die Auswahl wird in einem oder mehreren Beispielen in Reaktion auf ein Empfangen einer Benachrichtigung zum Ausführen des Workflows 125 oder in Reaktion auf ein Empfangen des Workflows 125 selbst ausgeführt. In einem oder mehreren Beispielen wird der Workflow 125 aus mehreren Workflows ausgewählt. Der Workflow wird dem Workflow-Ausführenden 105 durch den Anbieter bereitgestellt, oder der Workflow-Ausführende 105 kann seinen eigenen schreiben.
-
Das Verfahren enthält ferner ein Prüfen durch den Workflow-Ausführenden 105, ob der Workflow 125, wie bei Schritt 815 gezeigt, aktualisiert werden soll. Wenn der Workflow-Ausführende 105 eine Aktualisierung initiiert, enthält das Verfahren ein Abrufen von Informationen für den Workflow 125 aus der einen oder den mehreren Datenquellen, wie bei Schritt 820 gezeigt. Die Informationen enthalten Aktualisierungsinformationen und zusätzliche Informationen für den Workflow 125, die es dem Workflow-Ausführenden 105 ermöglichen können, zu bestimmen, ob die Ausführung des Workflows 125 fortgesetzt werden soll. Ein Beziehen der aktualisierten Informationen aus den Datenquellen enthält die eine oder die mehreren Operationen wie hierin beschrieben (siehe 5). Die Aktualisierung kann ein Validieren der Datenquellen enthalten (siehe 6). Der Workflow 125 wird unter Verwendung der aus den Datenquellen 130 bezogenen aktualisierten Informationen aktualisiert, wie hierin beschrieben und bei Schritt 825 gezeigt.
-
Das Verfahren enthält ferner ein Beginnen mit dem Ausführen des Workflows 125 durch ein Auswählen eines Workflow-Schritts aus dem Workflow 125, wie bei Schritt 830 gezeigt. Die Ausführung des Workflow-Schritts beginnt mit oder ohne die vorher beschriebene Workflow-Aktualisierung. Vor dem Ausführen des Workflow-Schritts enthält das Verfahren ferner ein Bestimmen, ob der Workflow-Schritt aktualisiert werden soll, wie bei Schritt 835 gezeigt. Zum Beispiel kann der Workflow-Schritt in einer der Datenquellen 130 seit der vorherigen vorläufigen Aktualisierung (815) aktualisiert worden sein. Alternativ oder zusätzlich können für die Ausführung des Workflow-Schritts relevante Daten in den Datenquellen 130 zur Verfügung stehen. Zum Beispiel können die zusätzlichen Daten Informationen enthalten, die in der Anbieter-Datenquelle, der Datenquelle für interne Informationen, der Datenquelle für soziale Medien oder irgendeiner anderen Datenquelle 130 hinzugefügt wurden. Die zusätzlichen Daten geben Informationen an, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Wenn der Workflow-Ausführende 105 eine Aktualisierung für den Workflow-Schritt initiiert, enthält das Verfahren ein Beziehen und Aktualisieren des Workflow-Schritts aus der einen oder den mehreren Datenquellen, wie bei Schritt 840 gezeigt. Ein Beziehen der aktualisierten Informationen für den Workflow-Schritt und ein Aktualisieren des Workflow-Schritts enthält eine oder mehrere Operationen wie hierin beschrieben (siehe zum Beispiel 5). In einem oder mehreren Beispielen kann die Datenquellen-Validierung wie hierin beschrieben ausgeführt werden. Da der Workflow-Ausführende 105 jetzt weiß, dass der Workflow-Schritt aktualisiert worden ist, werden dem Workflow-Ausführenden Vorschauinformationen zum Ausführen dieses bestimmten aktualisierten Workflow-Schritts in dem Workflow-Zielsystem 110 bereitgestellt, wie bei Schritt 850 gezeigt.
-
Das Bereitstellen der Vorschauinformationen enthält ein Identifizieren, aus der einen oder den mehreren Datenquellen 130, der Vorschauinformationen von den aktualisierten Informationen, die dem Workflow-Schritt zugehörig sind, wie bei Schritt 852 gezeigt. In einem oder mehreren Beispielen können die Vorschauinformationen aus einer Datenquelle identifiziert werden, die sich von der Datenquelle unterscheidet, aus der eine Aktualisierung für den Workflow-Schritt abgerufen wird. In einem oder mehreren Beispielen werden die Vorschauinformationen auf Grundlage der Datenquelle 130, die ein Identifizierungs-Tag enthält, das angibt, dass die Daten vorschaurelevante Daten sind, und ferner die Daten identifiziert, die der eindeutigen Kennung des Workflow-Schritts zugehörig sind. Zum Beispiel können die Daten ein Tag wie zum Beispiel ‚Ausführungsvorschau‘ enthalten, um dem Workflow-Zugriffssystem 120 zu ermöglichen, auf effiziente Weise Daten zu bestimmen, die für die Vorschau einer Ausführung des Workflow-Schritts relevant sind. Des Weiteren können die Vorschauinformationen durch syntaktisches und semantisches Analysieren der Daten aus der Datenquelle 130 identifiziert werden. Zum Beispiel kann das Workflow-Zugriffssystem 120 Algorithmen für maschinelles Lernen wie zum Beispiel künstliche neuronale Netzwerke und dergleichen verwenden, um Fragmente der aktualisierten Informationen aus den Datenquellen 130 zu bestimmen, die vorschaubezogene Informationen bereitstellen. In einem oder mehreren Beispielen kann das Workflow-Zugriffssystem 120 eine API wie zum Beispiel IBM WATSON® oder andere derartige Dienste zum Bestimmen der vorschaubezogenen Informationen aus den aktualisierten Informationen, die auf den Datenquellen 130 für den Workflow-Schritt zur Verfügung stehen.
-
Ferner enthält ein Bereitstellen der Begründungsinformationen ein Generieren einer Simulation des Workflow-Zielsystems 110 durch das Workflow-Zugriffssystem 120 und ein Anzeigen einer Vorschau der Ausführung des Workflow-Schritts unter Verwendung der Daten aus den identifizierten Vorschauinformationen aus den Datenquellen, wie bei Schritt 854 gezeigt. In einem oder mehreren Beispielen kann diese Simulation ein Ausführen einer virtuellen Maschine mit einer Nachbildung des Workflow-Zielsystems 110 enthalten. Alternativ oder zusätzlich kann die Simulation eine Reihe von Screenshots enthalten, wobei sich die Reihe aus einem oder mehreren Screenshots zusammensetzt, die aus den Vorschauinformationen erhalten wurden. Alternativ oder zusätzlich kann die Simulation ein oder mehrere Bilder enthalten, die durch ein Modifizieren von vorbestimmten Screenshots auf Grundlage der Vorschauinformationen generiert wurden. Zum Beispiel kann das Workflow-Zugriffssystem 120 einen Vorlagen-Screenshot des Workflow-Zielsystems 110 enthalten, das beispielsweise einen für diesen Workflow-Schritt erforderlichen Speicherplatz: XXXX' enthält, wobei XXXX durch einen Ergebniswert aus den Vorschauinformationen ersetzt wird. In einem oder mehreren Beispielen kann die Simulation auf Text- und nicht auf Bildgrundlage beruhen, wobei die Vorlagen auf Text oder einer Kombination von beidem beruhen.
-
In einem oder mehreren Beispielen wird die Simulation dem Workflow-Ausführenden 105 dargestellt, wie bei Schritt 856 gezeigt. Die Darstellung kann Benutzerschnittstellen-Elemente enthalten, die es dem Workflow-Ausführenden 105 ermöglichen, sich durch eine oder mehrere untergeordnete Aufgaben des Workflow-Schritts vorwärts (und zurück) zu bewegen, um die eine oder die mehreren Anforderungen des Workflow-Schritts sowie Zwischenergebnisse des Workflow-Schritts, der gemäß den aktualisierten Informationen ausgeführt wird, in einer Vorschau anzuzeigen. Alternativ oder zusätzlich kann die Darstellung der Vorschauinformationen ein Darstellen einer Reihe von Bildern oder Text enthalten.
-
Auf Grundlage der Vorschauinformationen kann der Workflow-Ausführende 105 den Workflow-Schritt ausführen oder dies unterlassen, wie bei Schritt 845 gezeigt. Der Workflow-Ausführende 105 kann den Workflow-Schritt ausführen und damit eine Änderung in dem Workflow-Zielsystem 110 bewirken, wie bei Schritt 848 gezeigt. Die Änderung kann eine Änderung einer Hardware-Konfiguration und/oder eine Änderung einer Software-Konfiguration enthalten, wie hierin beschrieben. Alternativ kann der Workflow-Ausführende 105 bestimmen, den Workflow-Schritt auf Grundlage der Vorschauinformationen zu überspringen, wie bei Schritt 845 gezeigt.
-
In einem oder mehreren Beispielen kann der Workflow-Ausführende 105 ohne Berücksichtigung dessen, ob der Workflow-Schritt ausgeführt wird, aktualisierte Informationen zu den Datenquellen 130 verschieben, wie bei Schritt 855 gezeigt. Wenn der Workflow-Ausführende 105 zum Beispiel bestimmt, nicht mit der Ausführung des Workflow-Schritts fortzufahren, kann der Workflow-Ausführende 105 dies dementsprechend in den Datenquellen 130 angeben. Der Workflow-Ausführende 105 kann entscheiden, welche Informationen wie hierin beschrieben verschoben werden sollen.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Informationen über den Workflow-Schritt zu den Datenquellen zu verschieben, sammelt das Workflow-Zugriffssystem 120 die Informationen an, die zu den Datenquellen verschoben werden sollen, wie hierin beschrieben und bei Schritt 860 gezeigt. Die angesammelten Informationen enthalten ferner von dem Workflow-Ausführenden 105 die Screenshots und Parameterwerte, wenn der Workflow-Schritt ausgeführt wird. In einem oder mehreren Beispielen überwacht und erfasst das Workflow-Zugriffssystem 120 die Vorschauinformationen, wenn der Workflow-Ausführende 105 den Workflow-Schritt ausführt, und lädt die erfassten Vorschauinformationen auf die eine oder die mehreren Datenquellen 130 hoch, wenn der Workflow-Ausführende 105 die Anweisung zum Verschieben der Vorschauinformationen gibt. Zum Beispiel erfasst das Workflow-Zugriffssystem 120 die Screenshots, wenn der Workflow-Schritt ausgeführt wird, und verschiebt die erfassten Screenshots nach Abschluss der Ausführung des Workflow-Schritts zu den Datenquellen 130. Die erfassten Screenshots werden zusammen mit den eindeutigen Kennungen des Workflow-Schritts und des Workflows 125 für einen effizienten Zugriff als die Vorschauinformationen gekennzeichnet. In einem oder mehreren Beispielen entfernt das Workflow-Zugriffssystem 120 die Vorschauinformationen von vertraulichen Daten, bevor die Vorschauinformationen auf Datenquellen 130 außerhalb der Organisation des Workflow-Ausführenden hochgeladen werden.
-
In einem oder mehreren Beispielen kennzeichnet das Workflow-Zugriffssystem 120 die Vorschauinformationen, die durch den Workflow-Ausführenden 105 bereitgestellt werden, unter Verwendung des vorbestimmten Begründungs-Tags. Ferner verschiebt das Workflow-Zugriffssystem 120 die Vorschauinformationen zu der einen oder den mehreren Datenquellen 130 zusammen mit der eindeutigen Kennung des Workflow-Schritts, wie bei Schritt 865 gezeigt. Ein Verschieben der angesammelten Informationen zu den Datenquellen 130 enthält ein Validieren von einer oder mehreren Datenquellen 130, in die in einem oder mehreren Beispielen verschoben werden soll. In einem oder mehreren Beispielen werden die Daten, die verschoben werden, des Weiteren mit der Workflow-Kennung gekennzeichnet.
-
Nach dem Abschluss der Ausführung des Workflow-Schritts enthält das Verfahren ein Bestimmen, ob die Ausführung des Workflows abgeschlossen ist oder ob noch weitere Workflow-Schritte übrig sind, die ausgeführt werden sollen, wie bei Schritt 870 gezeigt. Wenn noch weitere Workflow-Schritte übrig sind, wiederholt sich das Verfahren für den nächsten Workflow-Schritt, bis die gesamte Workflow-Ausführung abgeschlossen ist. Wenn der gesamte Workflow abgeschlossen ist, enthält das Verfahren ein Überprüfen durch den Workflow-Ausführenden 105, ob der Ausführung des gesamten Workflows zugehörige Daten zu den Datenquellen 130 verschoben werden sollen, wie bei Schritt 875 gezeigt. Wenn der Workflow-Ausführende 105 bestimmt, dass keine Informationen verschoben werden sollen, ist das Verfahren abgeschlossen.
-
Wenn Daten zu den Datenquellen 130 verschoben werden sollen, sammelt das Workflow-Zugriffssystem 120 die Daten an, die zu der einen oder den mehreren Datenquellen 130 verschoben werden sollen, wie hierin beschrieben und wie bei Schritt 880 gezeigt. Die gesammelten Informationen können Vorschauinformationen für den gesamten Workflow 125 enthalten. Zum Beispiel können die Vorschauinformationen einen untergeordneten Satz der Vorschauinformationen für jeden der Workflow-Schritte oder eine Sammlung aller Vorschauinformationen für jeden der Workflow-Schritte enthalten. Das Workflow-Zugriffssystem 120 verschiebt ferner die gesammelten Informationen zu den Datenquellen 130, wie bei Schritt 885 gezeigt. Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflows zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow 125 zugehörig sind.
-
Damit speichern die Datenquellen 130 jetzt für den Workflow 125 und Workflow-Schritte aktualisierte Vorschauinformationen, die auf Anforderung durch einen zweiten Workflow-Ausführenden unter Verwendung der eindeutigen Kennungen abgerufen werden können. Der zweite Workflow-Ausführende kann somit Entscheidungen auf Informationsgrundlage treffen, wenn der Workflow 125 unter Verwendung der Vorschauinformationen ausgeführt wird, die durch den Workflow-Ausführenden 105 bereitgestellt und von Datenquellen 130 abgerufen werden. Somit ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105, über die zuletzt aktualisierte Version eines Workflow-Schritts zu verfügen, wenn ein Workflow ausgeführt wird, wobei die aktualisierte Version und die zugehörigen Informationen aus einer vertrauenswürdigen Datenquelle abgerufen werden, und wobei weitere Vorschauinformationen dem Workflow-Ausführenden 105 ermöglichen zu bestimmen, ob der Workflow-Schritt ausgeführt werden soll.
-
Noch eine weitere technische Herausforderung bei der maschinengestützten Workflow-Ausführung besteht darin, dass der Workflow-Ausführende 105 vor einem Ausführen eines Workflow-Schritts nicht vollkommen sicher ist, dass die aktualisierten Informationen und/oder der aktualisierte Workflow-Schritt in der entsprechenden Workflow-Zielsystemumgebung erfolgreich ausgeführt werden. Dies ist ein signifikantes Problem beim Abrufen von Aktualisierungen und/oder anderen Informationen von Nicht-Anbieterquellen. Ferner kann es sich hierbei um ein wesentliches Problem handeln, insbesondere, wenn Workflows mit Workflow-Zielsystemen ausgeführt werden, die Unternehmenssysteme in Umgebungen wie Bankenwesen, Behörden und Gesundheitswesen und anderen derartigen Branchen sind, in denen eine durch eine derartige Workflow-Ausführung verursachte Ausfallzeit lebensbedrohlich sein oder zu erheblichen Kosten führen kann.
-
Wenn zum Beispiel der Workflow-Ausführende 105, der die neuesten Informationen über den Workflow-Schritt vor einem Ausführen des Workflow-Schritts haben möchte, den Workflow-Schritt unter Verwendung der Informationen aktualisiert, die sich kontinuierlich im Markt ansammeln, erhöht sich das Risiko, dass der aktualisierte Workflow-Schritt für die Umgebung des Workflow-Ausführenden 105 nicht funktioniert, insbesondere mit Aktualisierungen, die aus Nicht-Anbieterquellen (aber vertrauenswürdigen Datenquellen) empfangen werden. Somit ist eine technische Herausforderung vorhanden, ein Schrittprüfergebnis oder Verlaufsinformationen von anderen Benutzern, die den Workflow-Schritt ausführen, für den Workflow-Ausführenden 105 bereitzustellen, der den Workflow-Schritt ausführt, um für den Workflow-Ausführenden 105 sicherzustellen, dass die Ausführung des Workflow-Schritts für das Workflow-Zielsystem 110 nicht schädlich ist. Ferner ist eine technische Herausforderung für den Workflow 125 vorhanden, ihn nach seiner Ausführung (erfolgreich oder nicht erfolgreich) durch den Workflow-Ausführenden 105 mit Ausführungsinformationen des Workflow-Ausführenden 105 zu ergänzen. Die Ergänzung kann Schrittergebnisinformationen enthalten, die gemeinsam mit dem Workflow-Anbieter und/oder anderen Benutzern des Workflows 125 genutzt werden sollen, um die anderen Benutzer im Voraus zu unterstützen, die den Workflow-Schritt ausführen. Die gemeinsam genutzten Informationen können alle Informationen über schädliche Probleme oder Fehler enthalten (zum Beispiel einschränkende Sicherheitsaktualisierungen), die ein Ergebnis einer Ausführung des Workflow-Schritts nach der Aktualisierung waren.
-
Das System 100 nimmt sich der technischen Herausforderungen an, indem dem Workflow-Ausführenden 105 ermöglicht wird, Schrittergebnisinformationen aus einer Ausführung des Workflow-Schritts von anderen Ausführenden zu erhalten. Somit unterstützen die Ergebnisinformationen auf Grundlage der neuesten Informationen ein Erhöhen der Erfolgswahrscheinlichkeit einer Ausführung des Workflow-Schritts in der Umgebung des Workflow-Zielsystems für den Workflow-Ausführenden 105. Das System 100 ermöglicht dem Benutzer ferner ein Beitragen zu den und Verbessern der Ergebnisinformationen des Workflow-Schritte für andere Benutzer.
-
In einem oder mehreren Beispielen werden Anbieter-Aktualisierungsinformationen, die für die Workflow-Schrittergebnisse und die Ausführung des Workflow-Schritts auf dem Workflow-Zielsystem 110 relevant sind, für den Workflow-Ausführenden 105 aufgezeichnet und empfohlen. Die Empfehlung umfasst ein Angeben von Informationen, die es dem Workflow-Ausführenden ermöglichen, eine Entscheidung auf Informationsgrundlage zu treffen, ob die Workflow-Schritte erfolgreich in der Umgebung ausgeführt werden können, die der Workflow-Ausführende 105 verwendet.
-
Das Workflow-Zugriffssystem 120 sucht die Aktualisierungsinformationen, die für die Workflow-Schritte relevant sind, in der einen oder den mehreren Datenquellen 130, da dem Workflow-Zugriffssystem 120 Zugriffsinformationen der Datenquellen oder durch Ausführen einer Erfassung von neuen Datenquellen 130 bereitgestellt werden, wie beispielsweise unter Verwendung einer Suchmaschine.
-
Die Datenquellen 130 speichern das Workflow-Zugriffssystem 120. Das Workflow-Zugriffssystem 120 ruft die neuesten kognitiven Ergebnisinformationen des Workflow-Schritts ab, die für den Workflow 125 und/oder die Workflow-Schritte aus der einen oder den mehreren Datenquellen 130 gespeichert worden sind. Die Schritt-Ergebnisinformationen enthalten zum Beispiel eine Zusicherung, die eine Gültigkeit des Workflow-Schritts, die Anzahl von erfolgreichen Schritt-Ausführungen in der Umgebung und dergleichen bewertet. Das Workflow-Zugriffssystem 120 fordert an bestimmten Zeitpunkten während der Ausführung des Workflows 125 Aktualisierungen für den Workflow 125 und/oder einen bestimmten Workflow-Schritt an. In einem oder mehreren Beispielen geben der Workflow 125 und/oder die Workflow-Schritte an, dass vor der Ausführung eine Aktualisierung gesucht werden muss. In Reaktion darauf initiiert das Workflow-Zugriffssystem 120 Datenübertragungen mit den entsprechenden Datenquellen 130 unter Verwendung der eindeutigen Kennung(en).
-
Somit fühlt sich der Workflow-Ausführende 105 sicher, zusätzlich zu den Workflow-Aktualisierungen selbst alle möglichen kognitiven Schritt-Testergebnisinformationen zur Verfügung zu haben, um eine Entscheidung auf Informationsgrundlage zu treffen, ob der Workflow-Schritt auf dem Workflow-Zielsystem 110 auf Grundlage der kognitiven Ergebnisinformationen der letzten Testergebnisse des Schritts ausgeführt werden soll. Ferner verschiebt das Workflow-Zugriffssystem 120 nach Abschluss des Workflow-Schritts in einem oder mehreren Beispielen mit Zustimmung des Benutzers neue Ergebnisinformationen des Workflow-Schritts zu der einen oder den mehreren Datenquellen 130 auf Grundlage der Ausführung durch den Workflow-Ausführenden 105. In einem oder mehreren Beispielen werden entsprechende Abschnitte der Ergebnisse auf Grundlage des Typs der Ergebnisdaten zu den entsprechenden Datenquellen verschoben. Zum Beispiel wird eine Datenquelle 130 in der eigenen Organisation des Workflow-Ausführenden 105 zu den „internen Informationen“ verschoben.
-
9 veranschaulicht einen Ablaufplan eines beispielhaften Verfahrens zum Ausführen eines Workflows unter Verwendung von kognitivem Lernen mit Ergebnissen des Workflow-Schritts gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung. Das Verfahren kann durch das hierin beschriebene Workflow-Ausführungssystem 100 oder irgendeine andere Workflow-Ausführung umgesetzt werden. Das Verfahren enthält ein Auswählen des Workflows 125 zur Ausführung durch den Workflow-Ausführenden 105 über das Workflow-Zugriffssystem 120, wie bei Schritt 910 gezeigt. Die Auswahl wird in einem oder mehreren Beispielen in Reaktion auf ein Empfangen einer Benachrichtigung zum Ausführen des Workflows 125 oder in Reaktion auf ein Empfangen des Workflows 125 selbst ausgeführt. In einem oder mehreren Beispielen wird der Workflow 125 aus mehreren Workflows ausgewählt. Der Workflow wird dem Workflow-Ausführenden 105 durch den Anbieter bereitgestellt, oder der Workflow-Ausführende 105 kann seinen eigenen schreiben.
-
Das Verfahren enthält ferner ein Überprüfen durch den Workflow-Ausführenden 105, ob der Workflow 125 wie bei Schritt 915 gezeigt aktualisiert werden soll. Wenn der Workflow-Ausführende 105 eine Aktualisierung initiiert, enthält das Verfahren ein Abrufen von Informationen für den Workflow 125 aus der einen oder den mehreren Datenquellen, wie bei Schritt 920 gezeigt. Die Informationen enthalten Aktualisierungsinformationen und zusätzliche Informationen für den Workflow 125, die es dem Workflow-Ausführenden 105 ermöglichen können, zu bestimmen, ob die Ausführung des Workflows 125 fortgesetzt werden soll. Ein Beziehen der aktualisierten Informationen aus den Datenquellen enthält die eine oder die mehreren Operationen wie hierin beschrieben (siehe 5). Die Aktualisierung kann ein Validieren der Datenquellen enthalten (siehe 6). Der Workflow 125 wird unter Verwendung der aus den Datenquellen 130 abgerufenen aktualisierten Informationen aktualisiert, wie hierin beschrieben und bei Schritt 925 gezeigt.
-
Das Verfahren enthält ferner ein Beginnen mit dem Ausführen des Workflows 125 durch ein Auswählen eines Workflow-Schritts aus dem Workflow 125, wie bei Schritt 930 gezeigt. Die Ausführung des Workflow-Schritts beginnt mit oder ohne die vorher beschriebene Workflow-Aktualisierung. Vor dem Ausführen des Workflow-Schritts enthält das Verfahren ferner ein Bestimmen, ob der Workflow-Schritt aktualisiert werden soll, wie bei Schritt 935 gezeigt. Zum Beispiel kann der Workflow-Schritt in einer der Datenquellen 130 seit der vorherigen vorläufigen Aktualisierung (915) aktualisiert worden sein. Alternativ oder zusätzlich können für die Ausführung des Workflow-Schritts relevante Daten in den Datenquellen 130 zur Verfügung stehen. Zum Beispiel können die zusätzlichen Daten Informationen enthalten, die in der Anbieter-Datenquelle, der Datenquelle für interne Informationen, der Datenquelle für soziale Medien oder irgendeiner anderen Datenquelle 130 hinzugefügt wurden. Die zusätzlichen Daten geben Informationen an, die der Workflow-Ausführende 105 lesen und/oder analysieren kann, um zu bestimmen, ob die Ausführung des Workflow-Schritts fortgesetzt werden soll.
-
Wenn der Workflow-Ausführende 105 eine Aktualisierung für den Workflow-Schritt initiiert, enthält das Verfahren ein Beziehen und Aktualisieren des Workflow-Schritts aus der einen oder den mehreren Datenquellen, wie bei Schritt 940 gezeigt. Ein Beziehen der aktualisierten Informationen für den Workflow-Schritt und ein Aktualisieren des Workflow-Schritts enthält eine oder mehrere Operationen wie hierin beschrieben (siehe zum Beispiel 5). In einem oder mehreren Beispielen kann die Datenquellen-Validierung wie hierin beschrieben ausgeführt werden. Da der Workflow-Ausführende 105 jetzt weiß, dass der Workflow-Schritt aktualisiert worden ist, werden dem Workflow-Ausführenden Schritt-Ergebnisinformationen eines Ausführens dieses bestimmten aktualisierten Workflow-Schritts in dem Workflow-Zielsystem 110 bereitgestellt, wie bei Schritt 950 gezeigt.
-
Das Bereitstellen der Ergebnisinformationen enthält ein Identifizieren, aus der einen oder den mehreren Datenquellen 130, der Ergebnisinformationen von den aktualisierten Informationen, die dem Workflow-Schritt zugehörig sind, wie bei Schritt 952 gezeigt. In einem oder mehreren Beispielen können die Ergebnisinformationen aus einer Datenquelle identifiziert werden, die sich von der Datenquelle unterscheidet, aus der eine Aktualisierung für den Workflow-Schritt abgerufen wird. In einem oder mehreren Beispielen werden die Ergebnisinformationen auf Grundlage der Datenquelle 130, die ein Identifizierungs-Tag enthält, das angibt, dass die Daten ergebnisrelevante Daten sind, und ferner die Daten identifiziert, die der eindeutigen Kennung des Workflow-Schritts zugehörig sind. Zum Beispiel können die Daten ein Tag wie zum Beispiel ,Ausführungsergebnisse` enthalten, um dem Workflow-Zugriffssystem 120 zu ermöglichen, auf effiziente Weise Daten zu bestimmen, die für die Ergebnisse einer Ausführung des Workflow-Schritts relevant sind. Des Weiteren können die Ergebnisinformationen durch syntaktisches und semantisches Analysieren der Daten aus der Datenquelle 130 identifiziert werden. Zum Beispiel kann das Workflow-Zugriffssystem 120 Algorithmen für maschinelles Lernen wie zum Beispiel künstliche neuronale Netzwerke und dergleichen verwenden, um Fragmente der aktualisierten Informationen aus den Datenquellen 130 zu bestimmen, die ergebnisbezogene Informationen bereitstellen. In einem oder mehreren Beispielen kann das Workflow-Zugriffssystem 120 eine API wie zum Beispiel IBM WATSON® oder andere derartige Dienste zum Bestimmen der ergebnisbezogenen Informationen aus den aktualisierten Informationen verwenden, die auf den Datenquellen 130 für den Workflow-Schritt zur Verfügung stehen.
-
Ferner generiert das Workflow-Zugriffssystem auf Grundlage der verfügbaren ergebnisrelevanten Informationen aus den Datenquellen die Ergebnisinformationen für den Workflow. Zum Beispiel können die Ergebnisinformationen enthalten, wie oft der Workflow-Schritt durch andere Benutzer ausgeführt worden ist, wie oft der Workflow-Schritt übersprungen wurde, wie oft ein Fehler gemeldet wurde, der durch den Workflow-Schritt verursacht wurde, wie oft der Workflow-Schritt die Ausführung nach dem Initiieren nicht abgeschlossen hat und weitere derartige Informationen in Bezug auf die Ausführung der Workflow-Schritte. Alternativ oder zusätzlich können die Ergebnisinformationen Bewertungen enthalten, die durch die anderen Benutzer hinsichtlich der Ausführung des Workflow-Schritts bereitgestellt wurden, wie beispielsweise Einfachheit der Ausführung, für die Ausführung erforderliche Zeit, für die Ausführung erforderliche Ressourcen, Gesamtbewertung für den Workflow-Schritt und dergleichen.
-
Ferner enthält ein Bereitstellen der Ergebnisinformationen ein Generieren eines Benutzerschnittstellen- (Ul) Elements durch das Workflow-Zugriffssystem 120 zum Anzeigen der Ergebnisinformationen, die auf Grundlage der ergebnisbezogenen Informationen aus den Datenquellen 130 generiert wurden, wie bei Schritt 954 gezeigt. In einem oder mehreren Beispielen wird das Ul-Element auf einer Seite der Workflow-Schritte generiert, die dem Workflow-Ausführenden 105 dargestellt werden. Alternativ oder zusätzlich wird das Ul-Element auf jede andere Art und Weise generiert, wie beispielsweise als Aufklappfenster, Überlagerungsfenster und dergleichen. In einem oder mehreren Beispielen enthält das Ul-Element eine Angabe, ob eine Ausführung des Workflows durch den Workflow-Anbieter 107 empfohlen wird, zusätzlich zu den Ergebnisinformationen, die durch das Workflow-Zugriffssystem 120 generiert wurden. Ferner werden in einem oder mehreren Beispielen die dem Workflow-Ausführenden 105 bereitgestellten Ergebnisinformationen gefiltert, sodass nur die Ergebnisinformationen, die durch andere Workflow-Ausführende, die im Wesentlichen dieselbe Workflow-Zielsystemumgebung verwenden, zum Beispiel Version, Betriebssystem usw. dem Workflow-Ausführenden 105 bereitgestellt werden.
-
Ein Bereitstellen der Ergebnisinformationen für den Workflow-Ausführenden 105 enthält ferner ein Darstellen der Informationen über das Ul-Element, wie bei Schritt 956 gezeigt. Auf Grundlage der Ergebnisinformationen kann der Workflow-Ausführende 105 den Workflow-Schritt ausführen oder dies unterlassen, wie bei Schritt 945 gezeigt. Der Workflow-Ausführende 105 kann den Workflow-Schritt ausführen und damit eine Änderung in dem Workflow-Zielsystem 110 bewirken, wie bei Schritt 948 gezeigt. Die Änderung kann eine Änderung einer Hardware-Konfiguration und/oder eine Änderung einer Software-Konfiguration enthalten, wie hierin beschrieben. Alternativ kann der Workflow-Ausführende 105 bestimmen, den Workflow-Schritt auf Grundlage der Ergebnisinformationen zu überspringen, wie bei Schritt 945 gezeigt.
-
In einem oder mehreren Beispielen kann der Workflow-Ausführende 105 ohne Berücksichtigung dessen, ob der Workflow-Schritt ausgeführt wird, aktualisierte Informationen zu den Datenquellen 130 verschieben, wie bei Schritt 955 gezeigt. Wenn der Workflow-Ausführende 105 zum Beispiel bestimmt, nicht mit der Ausführung des Workflow-Schritts fortzufahren, kann der Workflow-Ausführende 105 dies dementsprechend in den Datenquellen 130 angeben. Der Workflow-Ausführende 105 kann entscheiden, welche Informationen wie hierin beschrieben verschoben werden sollen.
-
Wenn der Workflow-Ausführende 105 bestimmt, die Informationen über den Workflow-Schritt zu den Datenquellen zu verschieben, sammelt das Workflow-Zugriffssystem 120 die Informationen an, die zu den Datenquellen verschoben werden sollen, wie hierin beschrieben und bei Schritt 960 gezeigt. Die angesammelten Informationen enthalten ferner die Bewertung der Ausführung des Workflows durch den Workflow-Ausführenden 105, zum Beispiel auf Grundlage der Schwierigkeit/Einfachheit einer Ausführung des Workflow-Schritts, wie zum Beispiel die Beschreibung des Workflows, der einfach/kompliziert, kürzer/länger als eine vorbestimmte Anzahl von Schritten ist, die Bewertung des Workflow-Schritts als unter/über einem vorbestimmten Schwellenwert liegend oder dergleichen. Ferner können die verschobenen Ergebnisinformationen objektive Daten enthalten in Bezug darauf, ob der Workflow-Schritt ausgeführt oder übersprungen worden ist, die Zeitdauer für die Ausführung, der für die Ausführung in Anspruch genommene Arbeitsspeicher, für die Ausführung in Anspruch genommene Speicherkapazität und dergleichen.
-
In einem oder mehreren Beispielen kennzeichnet das Workflow-Zugriffssystem 120 die Ergebnisinformationen, die durch den Workflow-Ausführenden 105 unter Verwendung des vorbestimmten Begründungs-Tags bereitgestellt werden. Ferner verschiebt das Workflow-Zugriffssystem 120 die Informationen zu der einen oder den mehreren Datenquellen 130 zusammen mit der eindeutigen Kennung des Workflow-Schritts, wie bei Schritt 965 gezeigt. Ein Verschieben der angesammelten Informationen zu den Datenquellen 130 enthält ein Validieren von einer oder mehreren Datenquellen 130, in die in einem oder mehreren Beispielen verschoben werden soll. In einem oder mehreren Beispielen werden die Daten, die verschoben werden, des Weiteren mit der Workflow-Kennung gekennzeichnet.
-
Nach dem Abschluss der Ausführung des Workflow-Schritts enthält das Verfahren ein Bestimmen, ob die Ausführung des Workflows abgeschlossen ist oder ob noch weitere Workflow-Schritte übrig sind, die ausgeführt werden sollen, wie bei Schritt 970 gezeigt. Wenn noch weitere Workflow-Schritte übrig sind, wiederholt sich das Verfahren für den nächsten Workflow-Schritt, bis die gesamte Workflow-Ausführung abgeschlossen ist. Wenn der gesamte Workflow abgeschlossen ist, enthält das Verfahren ein Überprüfen durch den Workflow-Ausführenden 105, ob der Ausführung des gesamten Workflows zugehörige Daten zu den Datenquellen 130 verschoben werden sollen, wie bei Schritt 975 gezeigt. Wenn der Workflow-Ausführende 105 bestimmt, dass keine Informationen verschoben werden sollen, ist das Verfahren abgeschlossen.
-
Wenn Daten zu den Datenquellen 130 verschoben werden sollen, sammelt das Workflow-Zugriffssystem 120 die Daten an, die zu der einen oder den mehreren Datenquellen 130 verschoben werden sollen, wie hierin beschrieben und wie bei Schritt 980 gezeigt. Die angesammelten Informationen können Ergebnisinformationen für den gesamten Workflow 125 enthalten, wie zum Beispiel Bewertungen/Informationen für den gesamten Workflow. Das Workflow-Zugriffssystem 120 verschiebt ferner die angesammelten Informationen zu den Datenquellen 130, wie bei Schritt 985 gezeigt. Das Workflow-Zugriffssystem 120 verschiebt die Daten zusammen mit der eindeutigen Kennung des Workflows zu den Datenquellen 130 für eine einfache Suche und Identifizierung der Daten, die dem Workflow 125 zugehörig sind.
-
Damit speichern die Datenquellen 130 jetzt für den Workflow 125 und Workflow-Schritte aktualisierte Ergebnisinformationen, die auf Anforderung durch einen zweiten Workflow-Ausführenden unter Verwendung der eindeutigen Kennungen abgerufen werden können. Der zweite Workflow-Ausführende kann somit Entscheidungen auf Informationsgrundlage treffen, wenn der Workflow 125 unter Verwendung der Informationen ausgeführt wird, die durch den Workflow-Ausführenden 105 bereitgestellt und von Datenquellen 130 abgerufen werden. Somit ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden 105, über die zuletzt aktualisierte Version eines Workflow-Schritts zu verfügen, wenn ein Workflow ausgeführt wird, wobei die aktualisierte Version und die zugehörigen Informationen aus einer vertrauenswürdigen Datenquelle abgerufen werden, und wobei weitere Ergebnisinformationen dem Workflow-Ausführenden 105 ermöglichen zu bestimmen, ob der Workflow-Schritt auf Grundlage von Ergebnissen und Bewertungen von anderen Benutzern ausgeführt werden soll.
-
Die hierin beschriebenen technischen Lösungen ermöglichen ein Ausführen eines maschinengestützten Workflows mit neuesten Aktualisierungen und Informationen und ferner ein Unterstützen eines Workflow-Ausführenden mit relevanten Informationen von anderen Benutzern, die sich innerhalb oder außerhalb der Organisation des Workflow-Ausführenden befinden, von einem Anbieter/Ersteller des Workflows, von dem Workflow-Ausführenden selbst aus einer früheren Ausführung, aus dem Internet (soziale Medien, Blogs, Foren, Artikel usw.) und anderen Typen von Datenquellen. In einem oder mehreren Beispielen kann der Workflow-Ausführende und/oder der Anbieter die zu identifizierenden Datenquellen identifizieren. In einem oder mehreren Beispielen werden die Datenquellen, auf die zugegriffen wird, vor einem Zugriff auf Informationen aus den Datenquellen als vertrauenswürdige Quellen authentifiziert. Des Weiteren ermöglichen es die hierin beschriebenen technischen Lösungen dem Workflow-Ausführenden ferner, die Datenquellen weiter mit Informationen zu ergänzen, die während der Ausführung des Workflows generiert wurden. Die hierin beschriebenen technischen Lösungen stellen somit eine Verbesserung für eine Computertechnologie wie beispielsweise ein System zum Ausführen von maschinengestützten Workflows mit einem dynamischen Aktualisieren der Workflows und Workflow-Schritte und zum Bereitstellen von neuesten aktualisierten Informationen für die Workflow-Schritte aus einer oder mehreren Datenquellen dar, und ermöglichen ferner ein Verschieben von zusätzlichen aktualisierten Informationen zu den Datenquellen nach Abschluss der Ausführung der Workflow-Schritte.
-
Bei den vorliegenden technischen Lösungen kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailintegrationsebene handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) enthalten, auf dem durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden technischen Lösungen auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden:
- eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein durch einen Computer lesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
-
Hierin beschriebene durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden technischen Lösungen kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden technischen Lösungen durchzuführen.
-
Aspekte der vorliegenden technischen Lösungen werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der technischen Lösungen beschrieben. Es sollte klar sein, dass jeder Block der Ablaufplanveranschaulichungen und/oder der Blockschaubilder und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen umgesetzt werden können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. eine andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
-
Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
-
Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden technischen Lösungen. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Eine zweite Aktion kann als „in Reaktion auf“ eine erste Aktion bezeichnet werden, unabhängig davon, ob die zweite Aktion sich direkt oder indirekt aus der ersten Aktion ergibt. Die zweite Aktion kann zu einem wesentlich späteren Zeitpunkt als die erste Aktion stattfinden und trotzdem eine Reaktion auf die erste Aktion sein. Desgleichen kann die zweite Aktion als in Reaktion auf die erste Aktion bezeichnet werden, selbst wenn zwischen der ersten Aktion und der zweiten Aktion dazwischenliegende Aktionen stattfinden, und auch wenn eine oder mehrere der dazwischenliegenden Aktionen direkt veranlassen, dass die zweite Aktion ausgeführt wird. Zum Beispiel kann eine zweite Aktion in Reaktion auf eine erste Aktion erfolgen, wenn die erste Aktion ein Kennzeichen setzt und eine dritte Aktion später die zweite Aktion initiiert, immer, wenn das Kennzeichen gesetzt ist.
-
Zum Klarstellen der Verwendung und gleichzeitigen Bereitstellung einer öffentlichen Anmerkung sind die Ausdrücke „mindestens <A>, <B>, ... oder<N>“ oder „mindestens <A>, <B>, ... <N> oder Kombinationen davon“ oder „<A>, <B>, ... und/oder <N> im weitesten Sinne aufzufassen, wobei sie Vorrang vor allen anderen hierin vorher oder nachher implizierten Definitionen haben, es sei denn das Gegenteil wird ausdrücklich festgestellt, und bedeuten ein oder mehrere Elemente, die aus der Gruppe ausgewählt werden, die A, B ... und N aufweist. Mit anderen Worten, die Ausdrücke bedeuten jede Kombination von einem oder mehreren der Elemente A, B ... oder N, einschließlich jedes Element für sich oder das eine Element in Kombination mit einem oder mehreren der anderen Element, die auch in Kombination zusätzliche, nicht aufgeführte Elemente enthalten können.
-
Es sollte auch klar sein, dass jedes Modul, jede Einheit, jede Komponente, jeder Server, jeder Computer, jedes Endgerät oder jede Einrichtung Zugriff auf durch einen Computer lesbare Medien enthalten oder anderweitig haben kann, wie beispielsweise Speichermedien, Computerspeichermedien oder Datenspeichereinheiten (entfernbar und/oder nicht entfernbar), wie beispielsweise Magnetplatten, optische Platten oder Band. Computerspeichermedien können flüchtige und nicht flüchtige, entfernbare und nicht entfernbare Medien enthalten, die in irgendeinem Verfahren oder einer Technologie zum Speichern von Informationen umgesetzt sind, wie beispielsweise durch einen Computer lesbare Anweisung, Datenstrukturen, Programmmodule und andere Daten. Derartige Computerspeichermedien können Teil der Einheit oder von dieser zugänglich oder mit dieser verbindbar sein. Jede hierin beschriebene Anwendung bzw. jedes Modul kann unter Verwendung von durch einen Computer lesbaren/ausführbaren Anweisungen umgesetzt werden, die durch derartige durch einen Computer lesbare Medien gespeichert oder anderweitig gehalten werden können.
-
Die Beschreibungen der verschiedenen Ausführungsformen der technischen Merkmale hierin wurden zum Zweck der Veranschaulichung erstellt, sie sollen aber keineswegs erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, die nicht von dem Schutzumfang der beschriebenen Ausführungsformen abweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, der praktischen Anwendung oder technischen Verbesserung gegenüber auf dem Markt gefundenen Technologien bestmöglich zu erklären oder anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.