-
HINTERGRUND
-
Die vorliegende Erfindung betrifft kognitive Mensch-Maschine-Interaktion und insbesondere ein Anpassen eines Gesprächsflusses auf Grundlage des Verhaltens im Gesprächsfluss.
-
Es sind viele verschiedene kognitive Interaktionssteuerkomponenten bekannt, bei denen einem Benutzer, der Fragen in natürlicher Sprache stellt, ein Fragenbeantwortungsdienst bereitgestellt wird. Der Dienst versucht, die Fragen zu verstehen, und gibt eine präzise Antwort auf die Frage.
-
Ein Beispiel ist der IBM Watson Assistant der International Business Machines Corporation (IBM und IBM Watson sind eingetragene Marken der International Business Machines Corporation). Das System IBM Watson zerlegt Fragen in verschiedene Schlüsselwörter und Satzfragmente, um statistisch verwandte Formulierungen zu finden. Der Dienst IBM Watson Assistant ist ein Angebot zum Einbauen von Gesprächsschnittstellen in eine beliebige Anwendung, Einheit oder einen beliebigen Kanal.
-
Kognitive Interaktionssteuerkomponenten ermöglichen den Aufbau von Systemen, die Absichten und Elemente der verschiedenen Nachrichten, die der Benutzer bereitstellt, verstehen und dabei gleichzeitig ein Gespräch führen können.
-
Die kognitiven Interaktionssteuerkomponenten folgen Regeln im Gesprächsfluss, die in der Entwicklungsphase definiert werden.
-
Es sind Verfahren bekannt, die die Hauptthemen und Unterthemen eines Gesprächs erkennen, um die Interaktion zu verbessern, wodurch sie interaktive Inhalte erzeugen, die zu den besprochenen Themen passen.
-
Ein anderes bekanntes Verfahren stellt eine Möglichkeit bereit, die Kommunikation mit virtuellen Assistenten zu verbessern, indem es Wortblöcke erzeugt, die zu den gegebenenfalls vorhandenen verschiedenen Variationen passen, um das Verständnis natürlicher Sprache zu verbessern.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt der vorliegenden Erfindung wird ein durch Computer realisiertes Verfahren zum Anpassen eines Gesprächsflusses auf Grundlage eines Benutzerverhaltens in einer kognitiven Mensch-Maschine-Interaktion bereitgestellt, das an einem Gateway zu einem kognitiven Interaktionsdienst durchgeführt wird und aufweist: Empfangen einer Reihe kognitiver Mensch-Maschine-Interaktionen während eines Gesprächsflusses; Feststellen, dass ein Verhaltensmuster der menschlichen kognitiven Interaktionen einem definierten Verhaltensmuster entspricht; Feststellen, dass eine Mehrzahl von Maschinenantworten einem definierten Schwellenwert einer maximalen Wiederholung von Antworten auf das definierte Verhaltensmuster entspricht; und Anweisen des kognitiven Interaktionsdienstes, eine Art einer nachfolgenden Antwort gemäß einer definierten Aktion für das definierte Verhaltensmuster anzupassen.
-
Gemäß einem anderen Aspekt der vorliegenden Erfindung wird ein System zum Anpassen eines Gesprächsflusses auf Grundlage eines Benutzerverhaltens in einer kognitiven Mensch-Maschine-Interaktion bereitgestellt, wobei das System ein Gateway zu einem kognitiven Interaktionsdienst darstellt und aufweist: einen Prozessor und einen Speicher, der so konfiguriert ist, dass er dem Prozessor Computerprogrammanweisungen bereitstellt, um die Funktion der Komponenten auszuführen: einer den Gesprächsfluss empfangenden Komponente zum Empfangen einer Reihe kognitiver Mensch-Maschine-Interaktionen während eines Gesprächsflusses; einer das Verhaltensmuster feststellenden Komponente zum Feststellen, dass ein Verhaltensmuster der menschlichen kognitiven Interaktionen einem definierten Verhaltensmuster entspricht; einer die Maschinenantworten feststellenden Komponente zum Feststellen, dass eine Mehrzahl von Maschinenantworten einem definierten Schwellenwert einer maximalen Wiederholung von Antworten auf das definierte Verhaltensmuster entspricht; und einer Anweisungskomponente zum Anweisen des kognitiven Interaktionsdienstes, eine Art einer nachfolgenden Antwort gemäß einer definierten Aktion für das definierte Verhaltensmuster anzupassen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt zum Anpassen eines Gesprächsflusses auf Grundlage eines Benutzerverhaltens in einer kognitiven Mensch-Maschine-Interaktion bereitgestellt, wobei das Computerprogrammprodukt ein durch Computer lesbares Speichermedium mit darauf verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu Folgendem zu veranlassen: Empfangen einer Reihe kognitiver Mensch-Maschine-Interaktionen während eines Gesprächsflusses; Feststellen, dass ein Verhaltensmuster der menschlichen kognitiven Interaktionen einem definierten Verhaltensmuster entspricht; Feststellen, dass eine Mehrzahl von Maschinenantworten einem definierten Schwellenwert einer maximalen Wiederholung von Antworten auf das definierte Verhaltensmuster entspricht; und Anweisen des kognitiven Interaktionsdienstes, eine Art einer nachfolgenden Antwort gemäß einer definierten Aktion für das definierte Verhaltensmuster anzupassen.
-
Figurenliste
-
Der als die Erfindung betrachtete Gegenstand wird im Schlussteil der Spezifikation besonders herausgestellt und ausdrücklich beansprucht. Die Erfindung kann sowohl hinsichtlich der Organisation als auch der Arbeitsweise zusammen mit ihren Zielen, Merkmalen und Vorteilen am besten unter Bezugnahme auf die folgende detaillierte Beschreibung verstanden werden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird.
-
Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nun nur beispielhaft unter Bezugnahme auf die folgenden Zeichnungen beschrieben, in denen:
- 1 ein Blockschaubild einer beispielhaften Ausführungsform eines Systems ist, in dem ein Verfahren gemäß der vorliegenden Erfindung realisiert sein kann;
- 2 ein Flussdiagramm einer beispielhaften Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung ist;
- 3 ein Blockschaubild einer beispielhaften Ausführungsform eines Systems gemäß der vorliegenden Erfindung ist;
- 4 ein Blockschaltplan einer Ausführungsform eines Computersystems oder eines Cloud-Servers ist, in dem die vorliegende Erfindung realisiert sein kann;
- 5 ein Blockschaubild einer Cloud-Datenverarbeitungsumgebung ist, in der die vorliegende Erfindung realisiert sein kann;
- 6 ein Schaubild von Schichten eines Abstraktionsmodells einer Cloud-Datenverarbeitungsumgebung ist, in der die vorliegende Erfindung realisiert sein kann;
-
Es ist verständlich, dass aus Gründen der Einfachheit und Übersichtlichkeit der Veranschaulichung die in den Figuren dargestellten Elemente nicht unbedingt maßstabsgerecht gezeichnet wurden. Beispielsweise können die Abmessungen mancher der Elemente relativ zu anderen Elementen aus Gründen der Übersichtlichkeit übertrieben dargestellt sein. Ferner können Bezugszahlen in den Figuren wiederholt dargestellt sein, um entsprechende oder analoge Merkmale anzugeben.
-
DETAILLIERTE BESCHREIBUNG
-
Die vorliegende Erfindung betrifft das Gebiet der kognitiven Mensch-Maschine-Interaktion und entspricht insbesondere einem mündlichen Gespräch, das Absichten und Elemente enthält, zwischen einem menschlichen Benutzer und einer Maschine. Absichten und Elemente einer gegebenen Interaktion ermöglichen es, dass ein Gesprächsfluss geschaffen wird, um einem Benutzer nützliche Informationen bereitzustellen.
-
Das beschriebene Verfahren und System überwachen einen Gesprächsfluss zwischen einem menschlichen Benutzer und der Maschine und überwachen die Interaktion, darunter das Verhalten des menschlichen Benutzers. Das Verhalten des menschlichen Benutzers ist als die Art und Weise definiert, in der der Benutzer während eines Gesprächs mit der kognitiven Maschine interagiert. Wenn die Interaktionen durch den Benutzer einem vordefinierten Muster entsprechen, wird dies als ein bestimmtes Verhalten erkannt. Die Antwort der Maschine auf das Verhalten des Benutzers wird im Gesprächsfluss ebenfalls überwacht und nachfolgende Antworten werden entsprechend angepasst.
-
Das beschriebene Verfahren und System haben die Fähigkeit, Verhaltensprinzipien zu definieren, die angewandt werden, um den Gesprächsfluss zu beherrschen. Statt den Gesprächsfluss mithilfe eines im System definierten festen Satzes von Regeln durchzuführen, wird das Gespräch entsprechen den unterschiedlichen Verhaltensweisen, die Benutzer haben mögen, auf Grundlage von „Verhaltensprinzipien“ geführt.
-
Unter Bezugnahme auf 1 zeigt ein Blockschaubild eine beispielhafte Ausführungsform eines Systems 100, in dem das beschriebene Verfahren und System realisiert sein können.
-
Bereitgestellt wird ein Frontend 102 einer Anwendung, das dazu dient, eine Anfrage 111 eines menschlichen Benutzers zu empfangen und sie als einen Anwendungsprogrammierschnittstellen-(API-)Aufruf an eine Orchestrierungssteuerkomponente 103 zu senden. Das Frontend 102 gibt auch eine Maschinenantwort 112, die von der Orchestrierungssteuerkomponente 103 stammt, an den Benutzer zurück und moduliert sie je nach dem Kommunikationskanal. Die Benutzeranfragen 111 und die Maschinenantworten 112 bauen einen Gesprächsfluss 120 auf.
-
Ein Beispiel für ein Frontend 102 ist ein Chatbot. Ein beispielhafter Chatbot kann in einer asynchronen ereignisgesteuerten JavaScript-Laufzeitumgebung (JavaScript ist eine Marke der Oracle Corporation) mithilfe eines kognitiven Interaktionsdienstes 130 erstellt werden, der einen Bot oder virtuellen Agenten über mobile Einheiten, Nachrichtenplattformen usw. hinweg aufbaut, testet und einrichtet.
-
Die Orchestrierungssteuerkomponente 103 ist ein Stück Infrastruktur, das dazu dient, die Benutzeranfrage 111 vom Frontend 102 abstrahiert vom Kanal als API-Aufruf zu empfangen. Die Orchestrierungssteuerkomponente 103 koordiniert Aufrufe an verschiedene Dienst-APIs und gibt die Maschinenantwort 112 an den Kanal des Frontend 102 zurück.
-
Die Orchestrierungssteuerkomponente 103 kann eine Schicht einer kundenspezifischen Anpassung zu den Datenübertragungen zwischen dem Frontend 102 und dem kognitiven Interaktionsdienst 130 hinzufügen. Die Orchestrierungssteuerkomponente 103 kann als Proxy für den kognitiven Interaktionsdienst 130 fungieren und Nachrichtenanfragen und -antworten abfangen und sie unter Verwendung von Dritt-APIs verändern.
-
Die Orchestrierungssteuerkomponente 103 kann die Gesprächshistorie in einer Datenablage 104 speichern.
-
Es kann ein kognitiver Interaktionsdienst 130 bereitgestellt werden, der dazu dient, das Gespräch zwischen dem menschlichen Benutzer und der Maschine zu verwalten. Einige Beispiele für kognitive Interaktionsdienste sind u.a.: IBM Watson der International Business Machines Corporation, Language Understanding Intelligent Service (LUIS) der Microsoft Corporation oder Dialogflow von Google Inc.
-
Bei einem kognitiven Interaktionsdienst 130 kann der Fluss durch Nutzung zusätzlicher Dienste verbessert werden. Beispielsweise kann der Dienst IBM Watson Natural Language Understanding zum Erkennen von Elementen genutzt werden und der Dienst IBM Watson Tone Analyzer kann zum Erkennen von Kundenemotionen genutzt werden. Für häufig gestellte Fragen (FAQ) kann ein Aufruf an den Dienst IBM Watson Discovery eine Abfrage von Textpassagen nutzen, um Antworten aus einer Sammlung von Dokumenten herauszuziehen.
-
Der Dienst IBM Watson Discovery ist eine kognitive Such- und Inhaltsanalysesteuerkomponente für Anwendungen zum Erkennen von Mustern, Trends und verwertbaren Einsichten. Der Dienst IBM Watson Natural Language Understanding analysiert Text, um Metadaten aus Inhalten wie etwa Konzepte, Elemente, Schlagwörter, Kategorien, Gefühl, Emotion, Beziehungen, semantische Rollen mithilfe eines Verständnisses natürlicher Sprache zu extrahieren. Der Dienst IBM Watson Tone Analyzer nutzt eine linguistische Analyse zum Erkennen von Tonfällen in geschriebenem Text. Diese Dienste können über Cloud-Dienste bereitgestellt werden.
-
Das beschriebene System stellt ein Verhaltensverwaltersystem 120 bereit, das das Verhalten des Benutzers erkennt und im Falle des Erkennens eines zuvor definierten Verhaltensmusters und einer definierten Anzahl von Antworten durch die Maschine den kognitiven Interaktionsdienst 130 anweist, wie er antworten soll. Das Verhaltensverwaltersystem 120 kann auf Datenablagen definierter Benutzerverhaltensmuster 121 und Schwellenwerte für die Wiederholung von Maschinenantworten 122 auf die Verhaltensmuster 121 verweisen. Der kognitive Interaktionsdienst 130 kann eine Datenablage definierter Aktionen 131 aufweisen, die durchgeführt werden können, wenn das Verhaltensverwaltersystem 120 eine angeforderte Antwort auf ein Verhaltensmuster anweist.
-
Der Benutzer kann über das Frontend 102 einer Anwendung eine Interaktion mit einem kognitiven Interaktionsdienst 130 beginnen. Die Nachricht der Benutzeranfrage 111 kann durch eine Orchestrierungssteuerkomponente 103 an den kognitiven Interaktionsdienst 130 weitergeleitet und in der Gesprächshistorie 104 gespeichert werden. Bevor die Nachricht zum kognitiven Interaktionsdienst 130 gelangt, durchläuft sie das beschriebene Verhaltensverwaltersystem 120. Das Verhaltensverwaltersystem 120 ermittelt, ob das Verhalten des Benutzers mit einem der zuvor definierten Verhaltensmuster 121 identifiziert wird, und dient gegebenenfalls dazu, den kognitiven Interaktionsdienst 130 anzuweisen, wie damit umzugehen ist.
-
Unter Bezugnahme auf 2 zeigt ein Flussdiagramm 200 eine beispielhafte Ausführungsform des beschriebenen Verfahrens, wie es von einem Verhaltensverwaltersystem 120 von 1 durchgeführt wird.
-
Das Verhaltensverwaltersystem 120 kann während eines Gesprächsflusses eine Reihe kognitiver Mensch-Maschine-Interaktionen empfangen 201 und kann das menschliche Verhalten und die Maschinenantworten überwachen 202.
-
Es kann ermittelt 203 werden, ob die menschlichen Interaktionen einem definierten Benutzerverhaltensmuster entsprechen. Dies kann durchgeführt werden, indem Regeln angewandt werden, die das definierte Benutzerverhaltensmuster identifizieren. Wenn kein Muster übereinstimmt, kann das Verfahren damit fortfahren, den Gesprächsfluss zu empfangen 201 und zu überwachen 202.
-
Wenn ein Verhaltensmuster übereinstimmt, kann das Verfahren 204 ermitteln, ob eine Mehrzahl von Maschinenantworten einem definierten Schwellenwert einer maximalen Wiederholung für das übereinstimmende Verhaltensmuster entspricht. Wenn der definierte Schwellenwert nicht erreicht wird, kann das Verfahren wahlweise dem Benutzer eine das Verhalten ansprechende Antwort bereitstellen 205, und das Verfahren kann damit fortfahren, den Gesprächsfluss zu empfangen 201 und zu überwachen 202, um zu ermitteln, ob das Verhalten sich fortsetzt.
-
Wenn der definierte Schwellenwert erreicht wird, kann das Verhaltensverwaltersystem den kognitiven Interaktionsdienst anweisen, nachfolgende Antworten an eine definierte Aktion anzupassen 206.
-
Die folgende Tabelle zeigt einige beispielhafte definierte Benutzerverhaltensmuster, Antwortschwellenwerte und beispielhafte Aktionen.
BENUTZERVERHALTEN | ANTWORTSCHWELLENWERT | AKTION |
Verbotene Wörter | Anzahl der Antworten [3] | Sprung zu [Abschweifungs-ID] |
Wiederholung Wort/Formulierung | Anzahl der Antworten [3] | Sprung zu [Abschweifungs-ID] |
Minimale Länge | Anzahl der Antworten [2] | Option [gehe zum Knoten/wiederhole Frage] |
Maximale Länge | Anzahl der Antworten [2] | Option [gehe zum Knoten/wiederhole Frage] |
Ärgerstufe [0,8] | Anzahl der Antworten [3] | Gehe zum Knoten [Knoten_ID] |
-
Die erste Spalte definiert Benutzerverhaltensmuster, die im Benutzerbeitrag zum Gesprächsfluss erkannt werden können. Die zweite Spalte definiert eine maximale Anzahl von Wiederholungen von Antworten, die von der Maschineninteraktion empfangen werden. Die dritte Spalte definiert eine Aktion, deren Durchführung angewiesen wird, wenn die Höchstzahl von Antworten, die für ein Verhaltensmuster erlaubt ist, erreicht ist. Die Aktion kann beispielsweise Springen zu einem Knoten oder eine Abschweifung umfassen.
-
Für Gesprächsflüsse können verschiedene Benutzerverhaltensmuster definiert werden. Die obige Tabelle zeigt einige beispielhafte definierte Benutzerverhaltensmuster wie folgt. Die Benutzerverhaltensmuster können durch Regeln definiert sein, die Aspekte eines Benutzerverhaltens bezeichnen, die das definierte Benutzerverhalten anzeigen.
-
Es kann eine Regel definiert werden, um verbotene Wörter eines Benutzers zu erkennen. Das definierte Benutzerverhalten kann auf verbotenes Vokabular achten, und das Verfahren ermöglicht es, dass ein solcher Gesprächsfluss auf eine bestimmte Weise behandelt wird.
-
Es kann eine Regel definiert werden, so dass dasselbe Thema nicht mehr als eine definierte Anzahl von Malen in einer einzigen Interaktion wiederholt wird. Dies kann durch wiederholte Wörter oder Formulierungen in der Benutzerinteraktion erkannt werden.
-
Es kann eine Regel definiert werden, um zu erkennen, wann ein Kunde eine kurze Antwort gibt, wenn eine Erklärung erforderlich ist (beispielsweise „ja“ oder „nein“, wenn eine Erklärung benötigt wird) oder wann ein Kunde eine lange Antwort gibt, wenn eine knappe Antwort benötigt wird. Die Antwortlänge kann als Maßzahl dafür genutzt werden, ob eine Antwort eine Erklärung oder eine knappe Antwort ist.
-
Es kann eine Regel definiert werden, um den Ton des Benutzers zu erkennen. Dieser kann mithilfe eines Tonerkennungswerkzeugs erkannt werden.
-
Es können andere Regeln, die in der Tabelle nicht gezeigt sind, definiert werden, darunter der Gebrauch erfundener Wörter oder ungültiger Sätze.
-
Die Benutzereingaben, die unter ein Verhaltensmuster fallen, sind möglicherweise nicht in jedem Fall dieselben Eingaben, aber sie können dieselbe Antwort durch die Maschine auslösen. Deshalb zählt das beschriebene Verfahren die Anzahl der Antworten für das definierte Benutzerverhaltensmuster und ermittelt, wann die Anzahl von Antworten einen definierten Schwellenwert erreicht. Wenn der definierte Schwellenwert erreicht ist, kann eine Aktion durch den kognitiven Interaktionsdienst als erforderlich konfiguriert sein. Dies ergibt einen Puffer einer definierten Anzahl von Antworten auf das Benutzerverhalten, bevor eine Aktion erfolgt.
-
Das Verfahren erfordert keine Wiederholung genau derselben Benutzereingabe. Ein variierendes Benutzerverhalten, das unter eine selbe Regel fällt, wird durch die wiederholte Antwort erkannt und es erfolgt eine Aktion.
-
Die Aktion, die erfolgt, kann definiert sein. In der obigen Tabelle werden Folgende als Beispiele angegeben.
-
Die Aktion kann zu einer Abschweifung springen. Eine Abschweifung ist eine zeitweilige Kontextänderung. Abschweifungen ermöglichen es dem Benutzer, sich aus einem Dialogzweig zu lösen, um zeitweilig das Thema zu ändern, bevor er zum ursprünglichen Dialogfluss zurückkehrt.
-
Folgendes ist ein Beispiel für eine Abschweifung:
- Benutzer: Ich hätte gerne einen Vertrag über eine neue Kreditkarte.
- Maschine: Perfekt, wie heißen Sie?
- Benutzer: Alejandro.
- Maschine: Und Ihre Adresse?
- Benutzer: Madrid.
- Maschine: Haben Sie eine Lieblingsfarbe?
- Benutzer: Grün.
- Maschine: Und welches Limit wählen Sie?
- Benutzer: Ich habe meine vorherige Karte verloren ==>>>>> Dies ist etwas Wichtiges für beide Seiten, das behandelt werden muss und eine Abschweifung aktiviert.
- Maschine: Perfekt, sobald wir das abgeschlossen haben, kümmern wir uns darum ==>>>>> Dies zeigt Interesse.
- Maschine: Wie hoch ist das erforderliche Limit? ==>>>>>Setzt den ursprünglichen Fluss fort
- Benutzer: 300 $
- Maschine: Perfekt, wir senden Ihnen Ihre Karte zu.
- Maschine: Wo haben Sie denn Ihrer Meinung nach Ihre Karte verloren,
benutzt sie vielleicht jemand anders? ==>>>>>Damit beginnt die Abschweifung.
-
In diesem Beispiel gilt Abschweifungs_ID=„gestohlene_Karte“ und Knoten_ID=„Vertrags_Absicht“.
-
In einer industrialisierten Umgebung ist es übliche Praxis, verschiedene Chatbots zu haben, die jeweils ein bestimmtes Thema verstehen. Bei dem beschriebenen Verfahren und System wird das Konzept von Verhaltensprinzipien eingeführt, das beim Definieren hilfreich ist, wie Chatbots antworten sollen, und das über Chatbots verschiedener Themen hinweg angewandt werden kann.
-
Einer der Vorteile dieses Verfahrens besteht darin, dass alle Gespräche denselben Regeln unterliegen, unabhängig vom Entwickler. Auf diese Weise haben alle Gespräche eine standardmäßige Verhaltensstruktur. Gespräche zu haben, die derselben Struktur folgen, ist günstig, um daran zu arbeiten, wenn man bedenkt, dass möglicherweise verschiedene Personen am selben Projekt arbeiten. Eine Reihe gemeinsamer Regeln zu haben, vereinfacht die Arbeit, wenn es darum geht, die Struktur zu verstehen, der der Dialog folgt.
-
Unter Bezugnahme auf 3 wird eine beispielhafte Ausführungsform des beschriebenen Systems in Form eines Verhaltensverwaltersystems 120 gezeigt, das als Gateway zu einem oder mehreren kognitiven Interaktionsdiensten fungiert und in einem Datenverarbeitungssystem 300 bereitgestellt ist.
-
Das Datenverarbeitungssystem 300 kann mindestens einen Prozessor 301, ein Hardware-Modul oder einen Schaltkreis zum Ausführen der Funktionen der beschriebenen Komponenten enthalten, bei denen es sich um Software-Einheiten handeln kann, die auf dem mindestens einen Prozessor ausgeführt werden. Mehrere Prozessoren, die parallele Verarbeitungs-Threads ausführen, können bereitgestellt sein, um ein paralleles Verarbeiten einiger oder aller Funktionen der Komponenten zu ermöglichen. Ein Speicher 302 kann so konfiguriert sein, dass er dem mindestens einen Prozessor 301 Computeranweisungen 303 bereitstellt, um die Funktionalität der Komponenten durchzuführen.
-
Das Verhaltensverwaltersystem 120 kann eine den Gesprächsfluss empfangende Komponente 311 zum Empfangen einer Reihe kognitiver Mensch-Maschine-Interaktionen während eines Gesprächsflusses enthalten. Die kognitiven Mensch-Maschine-Interaktionen eines Gesprächsflusses können als Aufrufe von einem Frontend einer Anwendung wie etwa einem Chatbot koordiniert werden.
-
Das Verhaltensverwaltersystem 120 kann eine die menschlichen Interaktionen überwachende Komponente 312 zum Überwachen der menschlichen kognitiven Interaktionen und eine die menschlichen Interaktionen analysierende Komponente 313 zum Analysieren der menschlichen kognitiven Interaktionen enthalten, um das Benutzerverhalten zu ermitteln. Die die menschlichen Interaktionen analysierende Komponente 313 kann eine Tonanalysatorkomponente 314 zum Analysieren des Tons einer Interaktion enthalten. Die Tonanalysatorkomponente 314 kann auf entfernt angeordnete Analysatordienste zugreifen.
-
Das Verhaltensverwaltersystem 120 kann eine die Maschinenantworten überwachende Komponente 315 zum Überwachen der Maschinenantworten und Zählen der Wiederholungen der Antworten in einem Gesprächsfluss enthalten.
-
Das Verhaltensverwaltersystem 120 kann eine das Verhaltensmuster feststellende Komponente 320 zum Feststellen, dass ein Verhaltensmuster der menschlichen kognitiven Interaktionen einem definierten Verhaltensmuster entspricht, enthalten. Die das Verhaltensmuster feststellende Komponente 320 kann eine Verhaltensregeln definierende Komponente 321 zum Konfigurieren definierter Verhaltensmuster enthalten, indem sie Regeln zum Identifizieren des Verhaltensmusters bei menschlichen kognitiven Interaktionen konfiguriert.
-
Das Verhaltensverwaltersystem 120 kann eine Konfigurationskomponente 316 zum Konfigurieren eines Satzes definierter Verhaltensmuster enthalten, wobei jedes definierte Verhaltensmuster einen Schwellenwert maximaler Wiederholungen von Antworten und eine definierte Aktion, die vom kognitiven Interaktionsdienst durchzuführen ist, aufweist. Das Verhaltensverwaltersystem 120 kann eine Datenablage 317 zum Speichern der Konfigurationsregeln und der Verhaltensmuster definierenden Regeln enthalten.
-
Das Verhaltensverwaltersystem 120 kann eine die Maschinenantworten feststellende Komponente 322 zum Feststellen enthalten, dass eine Mehrzahl der Maschinenantworten einem definierten Schwellenwert einer maximalen Wiederholung von Antworten auf das definierte Verhaltensmuster entspricht.
-
Das Verhaltensverwaltersystem 120 kann eine Anweisungskomponente 323 zum Anweisen des kognitiven Interaktionsdienstes enthalten, die Art der nachfolgenden Antworten gemäß einer definierten Aktion für das definierte Verhaltensmuster anzupassen.
-
4 stellt einen Blockschaltplan von Komponenten des Datenverarbeitungssystems 300 von 3 gemäß einer Ausführungsform der vorliegenden Erfindung dar. Es sollte ersichtlich sein, dass 4 nur eine Veranschaulichung einer Realisierung bereitstellt und keine Einschränkungen hinsichtlich der Umgebungen andeutet, in denen verschiedene Ausführungsformen realisiert sein können. An der dargestellten Umgebung können viele Modifikationen vorgenommen werden.
-
Das Datenverarbeitungssystem 300 kann einen oder mehrere Prozessoren 402, einen oder mehrere durch einen Computer lesbare RAMs 404, einen oder mehrere durch einen Computer lesbare ROMs 406, ein oder mehrere durch einen Computer lesbare Speichermedien 408, Einheitentreiber 412, ein Lese-/Schreiblaufwerk bzw. eine -schnittstelle 414, einen Netzwerkadapter bzw. eine -schnittstelle 416 umfassen, die alle über eine Datenübertragungsstruktur 418 verbunden sind. Die Datenübertragungsstruktur 418 kann mit einer beliebigen Architektur realisiert sein, die ausgelegt ist für eine Weitergabe von Daten und/oder Steuerungsinformationen zwischen Prozessoren (wie etwa Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.), dem Systemspeicher, peripheren Einheiten und beliebigen anderen Hardwarekomponenten innerhalb des Systems.
-
Auf einem oder mehreren der durch einen Computer lesbaren Speichermedien 408 sind ein oder mehrere Betriebssysteme 410 und Anwendungsprogramme 411 wie etwa das Verhaltensverwaltersystem 120 zur Ausführung durch einen oder mehrere der Prozessoren 402 über einen oder mehrere der jeweiligen RAMs 404 (die üblicherweise einen Cache-Speicher enthalten) gespeichert. Bei der veranschaulichten Ausführungsform kann es sich bei jedem der durch einen Computer lesbaren Speichermedien 408 um eine magnetische Plattenspeichereinheit eines internen Festplattenlaufwerks, einen CD-ROM, eine DVD, einen Speicherstick, ein Magnetband, eine magnetische Platte, eine optische Platte, eine Halbleiter-Speichereinheit wie etwa RAM, ROM, EPROM, Flash-Speicher oder eine beliebige andere durch einen Computer lesbare Speichereinheit handeln, die ein Computerprogramm und digitale Informationen gemäß Ausführungsformen der Erfindung speichern kann.
-
Das Datenverarbeitungssystem 300 kann außerdem ein Schreib-/Leselaufwerk bzw. eine -schnittstelle 414 umfassen, um ein oder mehrere tragbare durch einen Computer lesbare Speichermedien 426 zu lesen oder zu beschreiben. Bei dem Datenverarbeitungssystem 300 können Anwendungsprogramme 411 auf einem oder mehreren der tragbaren durch einen Computer lesbaren Speichermedien 426 gespeichert sein, über das jeweilige Schreib-/Leselaufwerk bzw. die -schnittstelle 414 gelesen werden und in das jeweilige durch einen Computer lesbare Speichermedium 408 geladen werden.
-
Das Datenverarbeitungssystem 300 kann auch einen Netzwerkadapter bzw. eine -schnittstelle 416 umfassen, wie etwa eine TCP/IP-Adapterkarte oder einen drahtlosen Datenübertragungsadapter. Die Anwendungsprogramme 411 auf den Datenverarbeitungssystem 300 können von einem externen Computer oder einer externen Speichereinheit über ein Netzwerk (beispielsweise das Internet, ein lokales Netzwerk oder andere Weitverkehrsnetze oder Drahtlosnetze) und den Netzwerkadapter bzw. die -schnittstelle 416 auf die Datenverarbeitungseinheit heruntergeladen werden. Von dem Netzwerkadapter bzw. der -schnittstelle 416 können die Programme auf ein durch einen Computer lesbares Speichermedium 408 geladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und Edge-Server aufweisen.
-
Das Datenverarbeitungssystem 300 kann auch einen Anzeigebildschirm 420, eine Tastatur oder ein Tastenfeld 422 und eine Computermaus oder ein Touchpad 424 umfassen. Die Einheitentreiber 412 bilden eine Schnittstelle zum Anzeigebildschirm 420 für die Bildgebung, zu der Tastatur oder dem Tastenfeld 422, zu der Computermaus oder dem Touchpad 424 und/oder zum Anzeigebildschirm 420 für eine Druckerfassung der Eingabe alphanumerischer Zeichen und Benutzerauswahlen. Die Einheitentreiber 412, das Schreib-/ Leselaufwerk bzw. die -schnittstelle 414 und der Netzwerkadapter bzw. die -schnittstelle 416 können Hardware und Software aufweisen, die in den durch einen Computer lesbaren Speichermedien 408 und/oder dem ROM 406 gespeichert sind.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Einzelebene der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zum Ausführen von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. 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 Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin 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 ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende 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 Weitverkehrsnetz 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 Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltkreisanordnungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, 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 letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt 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, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten 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, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder 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 ein Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass 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 Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
-
Cloud-Computing
-
Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener 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, Hauptspeicher, 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 enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
-
Bei den Eigenschaften handelt es sich um die Folgenden:
-
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). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
-
Bei den Dienstmodellen handelt es sich um die Folgenden:
-
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. auf dem Web beruhende E-Mail) 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 des Application Hosting Environment.
-
Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, 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 eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
-
Bei den Einsatzmodellen handelt es sich um die Folgenden:
-
Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
-
Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
-
Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
-
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 Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
-
Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten umfasst.
-
Nun unter Bezugnahme auf 5 ist die veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 54A, der Desktop-Computer 54B, der Laptop-Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 5 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
-
Nun unter Bezugnahme auf 6 wird ein Satz funktionaler Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (5) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt ist, 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 gehören: Mainframe-Computer 61; auf der RISC-(Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. Bei einigen Ausführungsformen beinhalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 67 und eine Datenbank-Software 68.
-
Die Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtueller Speicher 72, virtuelle Netzwerke 73, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
-
In einem Beispiel kann die Verwaltungsschicht 80 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen umfassen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
-
Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Verarbeitung der kognitiven Mensch-Maschine-Interaktion 96.
-
Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Veranschaulichung dargestellt, sollen aber nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Variationen werden für den Fachmann offensichtlich sein, ohne vom Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber am Markt befindlichen Technologien am besten zu erläutern oder Fachleute zu befähigen, die hier offenbarten Ausführungsformen zu verstehen.
-
Verbesserungen und Modifikationen können am Vorgenannten vorgenommen werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.