DE112022001483T5 - Betriebsbefehlsgrenzen - Google Patents

Betriebsbefehlsgrenzen Download PDF

Info

Publication number
DE112022001483T5
DE112022001483T5 DE112022001483.0T DE112022001483T DE112022001483T5 DE 112022001483 T5 DE112022001483 T5 DE 112022001483T5 DE 112022001483 T DE112022001483 T DE 112022001483T DE 112022001483 T5 DE112022001483 T5 DE 112022001483T5
Authority
DE
Germany
Prior art keywords
command
personal information
computer
program instructions
electronic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022001483.0T
Other languages
English (en)
Inventor
Sasikanth Eda
Sarbajit Rakshit
Sandeep Patil
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112022001483T5 publication Critical patent/DE112022001483T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Ein Verfahren zum Verwalten von Befehlen unter Nutzung von Befehlsgrenzen umfasst ein Festlegen einer ersten Befehlsgrenze für einen ersten intelligenten virtuellen Assistenten, der auf einer ersten elektronischen Einheit betrieben wird. Das Verfahren umfasst außerdem als Reaktion auf ein Empfangen von Audio aus einer Vielzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit ein Erkennen eines Abschnitts des Audios aus der Vielzahl von Quellen innerhalb der ersten Befehlsgrenze. Das Verfahren umfasst außerdem als Reaktion auf ein Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennbar ist, ein Senden des Befehls an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit.

Description

  • HINTERGRUND
  • Diese Offenbarung betrifft allgemein intelligente virtuelle Assistenten und insbesondere ein Festlegen von Betriebsbefehlsgrenzen für Einheiten, auf denen intelligente virtuelle Assistenten eingesetzt werden.
  • Ein intelligenter virtueller Assistent (IVA) steht für einen Softwareagenten, der in der Lage ist, verschiedene Aufgaben für einen Benutzer auf der Grundlage von mündlichen Befehlen oder Fragen auszuführen, die durch den Benutzer bereitgestellt werden, wobei der IVA auf einer elektronischen Einheit betrieben wird. Bei einer loT-Einheit (loT = Internet of Things, Internet der Dinge) handelt es sich um ein Beispiel mit einem IVA, die in der Lage ist, sich mit dem Internet zu verbinden und darüber Daten mit anderen Einheiten und Systemen auszutauschen, um beliebige mündliche Befehle oder Fragen zu verarbeiten. Der Benutzer, der die mündlichen Befehle oder Fragen bereitstellt, befindet sich in der Regel in der Nähe der elektronischen Einheit mit dem IVA, an der ein Mikrofon an der elektronischen Einheit die mündlichen Befehle oder Fragen erfassen kann. Es gibt jedoch Fälle, in denen eine Umgebung des Benutzers verschiedene störende Geräusche umfassen kann, wie z.B. irrelevante Gespräche zwischen Einzelpersonen, die beeinflussen können, wie die elektronische Einheit mit dem IVA die mündlichen Befehle oder Fragen erfasst. Das Fehlen einer Unterscheidung zwischen Nahfeldschall und Fernfeldschall beeinflusst, wie genau der IVA den mündlichen Befehl oder die mündliche Frage erfasst.
  • Die Umgebung des Benutzers kann auch mehrere IVAs umfassen, die auf mehreren elektronischen Einheiten betrieben werden, wobei ein mündlicher Befehl oder eine mündliche Frage durch mehrere IVAs erfasst werden kann, die die Umgebung gemeinsam nutzen. Derzeit kann der Benutzer einen bestimmten IVA erkennen, der auf einer bestimmten elektronischen Einheit in der gemeinsam genutzten Umgebung betrieben wird, um den Befehl oder die Frage weiterzuleiten, aber der Benutzer muss sich ein Erkennungswort oder eine Erkennungsformulierung für den bestimmten IVA merken, der auf der bestimmten elektronischen Einheit betrieben wird. Das Erkennungswort oder die Erkennungsformulierung ist möglicherweise nicht immer einer Person bekannt, die mit der Umgebung und den darin betriebenen mehreren IVAs nicht vertraut ist. In einigen Fällen kann ein IVA aufgrund einer falschen Erkennung der beiden IVAs durch den Benutzer ungewollt einen mündlichen Befehl empfangen, der für einen anderen IVA in der Umgebung bestimmt ist. Dies kann möglicherweise zu einer Sicherheitsverletzung führen, wenn die mehreren IVAs in einer Umgebung mit mehreren Räumen betrieben werden, in der eine böswillige Person sensible Informationen an dem IVA überhören kann, die ungewollt den mündlichen Befehl empfangen haben. Zusätzlich zum Überhören der sensiblen Informationen kann die böswillige Person über den IVA mit Hilfe mündlicher Befehle oder Fragen auf sensible Informationen zugreifen.
  • KURZDARSTELLUNG
  • Ausführungsformen gemäß der vorliegenden Erfindung offenbaren außerdem ein Verfahren, ein Computerprogrammprodukt und ein Computersystem zum Verwalten von Befehlen unter Nutzung von Befehlsgrenzen, wobei das Verfahren, das Computerprogrammprodukt und das Computersystem eine erste Befehlsgrenze für einen ersten intelligenten virtuellen Assistenten festlegen können, der auf einer ersten elektronischen Einheit betrieben wird. Die Verfahren, das Computerprogrammprodukt und das Computersystem können als Reaktion auf ein Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit einen Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennen. Das Verfahren, das Computerprogrammprodukt und das Computersystem können als Reaktion auf ein Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennbar ist, den Befehl an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit senden.
  • Ausführungsformen gemäß der vorliegenden Erfindung können eine zweite Befehlsgrenze für einen zweiten intelligenten virtuellen Assistenten festlegen, der auf einer zweiten elektronischen Einheit betrieben wird, wobei die erste Befehlsgrenze die zweite Befehlsgrenze nicht überlappt. Ausführungsformen gemäß der vorliegenden Erfindung können einen ersten Satz von Befehlsregeln für den ersten intelligenten virtuellen Assistenten, der auf der ersten elektronischen Einheit betrieben wird, und einen zweiten Satz von Befehlsregeln für den zweiten intelligenten virtuellen Assistenten festlegen, der auf der zweiten elektronischen Einheit betrieben wird.
  • Ausführungsformen gemäß der vorliegenden Erfindung können den Befehl in Bezug auf personenbezogene Informationen analysieren. Als Reaktion auf ein Feststellen, dass der Befehl personenbezogene Daten betrifft, können Ausführungsformen gemäß der vorliegenden Erfindung auf der Grundlage einer Befehlsgrenze für personenbezogene Informationen für den Befehl eine Anweisung an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit senden. Ausführungsformen gemäß der vorliegenden Erfindung können den Befehl kategorisieren, der durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbar ist. Als Reaktion auf ein Feststellen auf der Grundlage der Kategorisierung, dass der Befehl personenbezogene Informationen betrifft, können Ausführungsformen gemäß der vorliegenden Erfindung bei dem Benutzer anfragen, die Befehlsgrenze für personenbezogene Informationen für den Befehl festzulegen, wobei eine Lautstärkepegelreaktion für den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit mit der Befehlsgrenze für personenbezogene Informationen in Zusammenhang steht.
  • Ausführungsformen gemäß der vorliegenden Erfindung können den personenbezogene Informationen betreffenden Befehl und einen zweiten Abschnitt des personenbezogene Informationen betreffenden Befehls kategorisieren und den Befehl als personenbezogene Informationen umfassend kategorisieren oder zu einer akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führen. Ausführungsformen gemäß der vorliegenden Erfindung können feststellen, dass der Befehl personenbezogene Informationen betrifft, da der erste Abschnitt des Befehls als personenbezogene Informationen enthaltend kategorisiert ist und der Befehl zu der akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führt.
  • Ausführungsformen gemäß der vorliegenden Erfindung offenbaren ein Verfahren, ein Computerprogrammprodukt und ein Computersystem zum Verwalten von Befehlen unter Nutzung von Befehlsgrenzen, wobei das Verfahren, das Computerprogrammprodukt und das Computersystem einen Nahfeldradius für einen intelligenten virtuellen Assistenten festlegen können, der auf einer ersten elektronischen Einheit betrieben wird, wobei es sich bei dem Nahfeldradius um eine Befehlsgrenze handelt, die Nahfeldaudio und Fernfeldaudio trennt. Die Verfahren, das Computerprogrammprodukt und das Computersystem können als Reaktion auf ein Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit einen Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb des Nahfeldradius erkennen. Das Verfahren, das Computerprogrammprodukt und das Computersystem können als Reaktion auf ein Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb des Nahfeldradius erkennbar ist, den intelligenten virtuellen Assistenten anweisen, den Befehl auszuführen.
  • KURZBESCHREIBUNG DER MEHREREN ANSICHTEN IN DEN ZEICHNUNGEN
    • 1 ist ein Funktionsblockschema, das eine verteilte Datenverarbeitungsumgebung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
    • 2 stellt ein Flussdiagramm für ein Befehlsgrenzenprogramm zum Verwalten von Befehlen für intelligente virtuelle Assistenten unter Nutzung einer Nahfeldbefehlsgrenze gemäß einer Ausführungsform der vorliegenden Erfindung bildlich dar.
    • 3 stellt ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung für ein Befehlsgrenzenprogramm bildlich dar, das Befehle für intelligente virtuelle Assistenten unter Nutzung von Befehlsgrenzen für mehrere intelligente virtuelle Assistenten verwaltet, die in einer gemeinsam genutzten Umgebung betrieben werden.
    • 4 stellt ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung für ein Befehlsgrenzenprogramm bildlich dar, das einen Befehl in Bezug auf personenbezogene Informationen analysiert, der an einen intelligenten virtuellen Assistenten gerichtet ist.
    • 5 ist ein Blockschema von Komponenten eines Computersystems wie z.B. des Server-Computers von 1 gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung bildlich dar.
    • 7 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung bildlich dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Funktionsblockschema, das eine allgemein mit 100 bezeichnete verteilte Datenverarbeitungsumgebung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Der Begriff „verteilt“ beschreibt im hierin verwendeten Sinne ein Computersystem, das mehrere physisch getrennte Einheiten umfasst, die zusammen als ein einziges Computersystem betrieben werden. 1 stellt lediglich eine Veranschaulichung einer Realisierungsform bereit und schließt keinerlei stillschweigende Einschränkungen in Bezug auf die Umgebungen ein, in denen unterschiedliche Ausführungsformen realisiert werden können. Viele Abänderungen an der bildlich dargestellten Umgebung können durch Fachleute vorgenommen werden, ohne dass dies eine Abweichung von dem Schutzumfang der Erfindung darstellen würde, der durch die Ansprüche dargelegt ist.
  • Die verteilte Datenverarbeitungsumgebung umfasst einen Server-Computer 102, eine Client-Einheit 104, eine Erweiterte-Realität-Einheit (AR-Einheit, AR = augmented reality) 106 und Internet-der-Dinge-Einheiten (loT-Einheiten) 108, die alle über das Netzwerk 110 miteinander verbunden sind. Bei dem Server-Computer 102 kann es sich um eine eigenständige Datenverarbeitungseinheit, einen Verwaltungsserver, einen Webserver, eine mobile Datenverarbeitungseinheit oder eine beliebige elektronische Einheit oder ein beliebiges elektronisches Datenverarbeitungssystem handeln, das in der Lage ist, Daten zu empfangen, zu senden und zu verarbeiten. Bei anderen Ausführungsformen kann der Server-Computer 102 für ein Server-Datenverarbeitungssystem stehen, das mehrere Computer als Server-System wie z.B. in einer Cloud-Computing-Umgebung nutzt. Bei einer weiteren Ausführungsform kann es sich bei dem Server-Computer 102 um einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal Computer (PC), einen Desktop-Computer, ein Smartphone oder eine beliebige programmierbare elektronische Einheit handeln, die in der Lage ist, Daten mit der Client-Einheit 104, der AR-Einheit 106, den loT-Einheiten 108 und anderen Datenverarbeitungseinheiten (nicht gezeigt) innerhalb der verteilten Datenverarbeitungsumgebung über das Netzwerk 110 auszutauschen. Bei einer weiteren Ausführungsform steht der Server-Computer 102 für ein Datenverarbeitungssystem, das geclusterte (zu Gruppen zusammengefasste) Computer und Komponenten (z.B. Datenbankserver-Computer, Anwendungsserver-Computer usw.) nutzt, die als ein einziger Pool von nahtlosen Ressourcen fungieren, wenn innerhalb der verteilten Datenverarbeitungsumgebung auf diese zugegriffen wird. Der Server-Computer 102 umfasst ein Befehlsgrenzenprogramm 112 und eine Datenbank 114. Der Server-Computer 102 kann interne und externe Hardwarekomponenten umfassen, wie bildlich dargestellt und ausführlicher in Bezug auf 5 beschrieben.
  • Bei der Client-Einheit 104 kann es sich um einen Laptop-Computer, einen Tablet-Computer, ein Smartphone, eine Smartwatch, einen Smart-Lautsprecher oder um eine beliebige programmierbare elektronische Einheit handeln, die in der Lage ist, Daten mit verschiedenen Komponenten und Einheiten innerhalb der verteilten Datenverarbeitungsumgebung (z.B. Server-Computer 102, AR-Einheit 106 und IoT-Einheiten 108) über das Netzwerk 110 auszutauschen. Bei der Client-Einheit 104 kann es sich um einen am Körper tragbaren Computer handeln. Bei am Körper tragbaren Computern handelt es sich um elektronische Miniatureinheiten, die durch den Träger unter, mit oder über der Kleidung sowie an Brillen, Hüten oder anderem Accessoire getragen werden können. Am Körper tragbare Computer sind bei Anwendungen besonders nützlich, die eine komplexere Unterstützung von Berechnungen als lediglich hardwarecodierte Logiken erfordern. Im Allgemeinen steht die Client-Einheit 104 für eine oder mehrere programmierbare elektronische Einheiten oder eine Kombination von programmierbaren elektronischen Einheiten, die in der Lage sind, durch eine Maschine lesbare Programmanweisungen auszuführen und Daten mit anderen Datenverarbeitungseinheiten (nicht gezeigt) innerhalb der verteilten Datenverarbeitungsumgebung über ein Netzwerk wie z.B. das Netzwerk 110 auszutauschen. Bei einer Ausführungsform steht die Client-Einheit 104 für eine oder mehrere Einheiten, die in Zusammenhang mit einem Benutzer stehen. Die Client-Einheit 104 enthält eine Instanz einer Benutzeroberfläche 122 zum Interagieren mit dem Befehlsgrenzenprogramm 112 auf dem Server-Computer 102.
  • Die AR-Einheit 106 steht für eine durch einen Benutzer am Körper tragbare Erweiterte-Realität-Einheit (z.B. elektronische Kontaktlinse, am Körper tragbares elektronisches Headset) mit integrierter Mikroschaltung, die in der Lage ist, dem Benutzer Inhalte anzuzeigen. Die AR-Einheit 106 umfasst einen Mikrocontroller 116, eine Anzeige 118 und ein Mikrofon 120, wobei das Befehlsgrenzenprogramm 112 einen mündlichen Befehl oder eine mündliche Frage von einem Benutzer, der die AR-Einheit 106 am Körper trägt, zur Ausführung durch eine oder mehrere loT-Einheiten 108 empfangen kann. Der Mikrocontroller 116 kann eine Anzeigesteuerschaltung für die Anzeige 118, eine Datenübertragungs- und Energieumwandlungsschaltung zum Übertragen von Daten über das Netzwerk 110 und zum Verwalten einer integrierten Stromversorgung sowie eine Sensorauslese- und -steuerschaltung zum Überwachen von Augenbewegungen des Benutzers umfassen, der die AR-Einheit 106 am Körper trägt. Die Anzeige 118 ermöglicht einem Benutzer der AR-Einheit 106, verschiedene Benachrichtigungen und Fragen aus dem Befehlsgrenzenprogramm 112 anzuzeigen. Bei einem Beispiel, bei dem es sich bei der AR-Einheit 106 um eine elektronische Kontaktlinse handelt, ist die Anzeige 118 eine halbtransparente Anzeige und eine Mikrolinsenanordnung, die in die AR-Einheit 106 zum Anzeigen von Inhalten integriert ist. Die AR-Einheit 106 kann außerdem ein Energiespeichermodul, ein Solarzellenmodul zum Laden des Energiespeichermoduls, ein Biosensormodul zum Sammeln von Daten (z.B. Verfolgen von Augenbewegungen) und ein Datenübertragungs- und Energiemodul zum Übertragen von Daten mit dem Server-Computer 102, der Client-Einheit 104 und den loT-Einheiten 108 über das Netzwerk 110 umfassen. Das Mikrofon 120 erfasst mündliche Befehle oder Fragen, die an die IoT-Einheiten 108 gerichtet sind, wobei der Mikrocontroller 116 die erfassten mündlichen Befehle oder Fragen zu dem Befehlsgrenzenprogramm 112 auf dem Server-Computer 102 überträgt.
  • De loT-Einheiten 108 stehen für eine elektronische Einheit, die mit dem Netzwerk 110 verbunden ist und in der Lage ist, einen Sprachbefehl zu empfangen und auszuführen, der durch einen Benutzer der Client-Einheit 104 und/oder der AR-Einheit 106 bereitgestellt wird. Jede loT-Einheit 108 enthält eine Instanz eines intelligenten virtuellen Assistenten (IVA), der für einen Softwareagenten steht, der in der Lage ist, auf der Grundlage von durch einen Benutzer bereitgestellten Befehlen oder Fragen verschiedene Aufgaben für einen Benutzer auszuführen. Zu den loT-Einheiten 108 können, ohne auf diese beschränkt zu sein, Haushaltsgeräte, Sicherheitssysteme für Wohnbereiche, Gesundheitsüberwachungseinheiten, Fabrikanlagen, kabellose Einheiten zur Lagerbestandsverfolgung, biometrische Sicherheitsscanner und beliebige andere in Sensoren eingebettete elektronische Einheiten sowie Software zum Verbinden und Austauschen von Daten mit anderen Einheiten und Systemen über das Internet (z.B. das Netzwerk 110) gehören.
  • Bei dem Netzwerk 110 kann es sich zum Beispiel um ein Telekommunikationsnetz, ein lokales Netzwerk (local area network, LAN), ein Weitverkehrsnetzwerk (wide area network, WAN) wie z.B. das Internet oder um eine Kombination aus den dreien handeln, und es kann kabelgebundene, kabellose und/oder lichtwellenleitergebundene Verbindungen umfassen. Das Netzwerk 110 kann ein oder mehrere kabelgebundene und/oder kabellose Netzwerke umfassen, die zum Empfangen und Senden von Daten-, Sprach- und/oder Videosignalen in der Lage sind, unter anderem von Multimediasignalen, die Sprach-, Daten- und/oder Videoinformationen umfassen. Allgemein kann es sich bei dem Netzwerk 110 um eine beliebige Kombination aus Verbindungen und Protokollen handeln, die Datenübertragungen zwischen dem Server-Computer 102, der Client-Einheit 104 der AR-Einheit 106, loT-Einheiten 108 und anderen Datenverarbeitungseinheiten (nicht gezeigt) innerhalb der verteilten Datenverarbeitungsumgebung unterstützen.
  • Das Befehlsgrenzenprogramm 112 kann mündliche Befehle verwalten, die an loT-Einheiten 108 gerichtet sind, die in einer gemeinsam genutzten Umgebung unter Verwendung von Befehlsgrenzen betrieben werden, und ermöglicht einem Administrationsbenutzer des Befehlsgrenzenprogramms 112, einer oder mehrerer hier beschriebener Funktionen zuzustimmen, um die Privatsphäre des Administrationsbenutzers sicherzustellen. Das Befehlsgrenzenprogramm 112 verwaltet mündliche Befehle, die an IoT-Einheiten 108 gerichtet sind, indem für jedes loT-Einheit 108 ein Nahfeldradius festgelegt wird. Das Befehlsgrenzenprogramm 112 empfängt Audiosignale aus mehreren Quellen in einer Nähe der loT-Einheit 108 und erkennt Audiosignale aus den mehreren Quellen im Nahfeldradius der loT-Einheit 108. Das Befehlsgrenzenprogramm 112 analysiert das erkannte Audio aus den mehreren Quellen innerhalb des Nahfeldradius der loT-Einheit 108 in Bezug auf einen Befehl, der durch eine loT-Einheit 108 ausführbar ist. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass das erkannte Audio keinen erkennbaren Befehl enthält, benachrichtigt das Befehlsgrenzenprogramm 112 den Benutzer, dass der Befehl nicht über die Client-Einheit 104, die AR-Einheit 106 und/oder die IoT-Einheit 108 erkennbar ist. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass das erkannte Audio einen erkennbaren Befehl enthält, ermittelt das Befehlsgrenzenprogramm 112, ob eine AR-Einheit (z.B. AR-Einheit 106) in Zusammenhang mit dem Befehl steht. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass eine AR-Einheit nicht in Zusammenhang mit dem Befehl steht, weist das Befehlsgrenzenprogramm 112 die loT-Einheit 108 an, den Befehl auszuführen. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass eine AR-Einheit (d.h. AR-Einheit 106) mit dem Befehl in Zusammenhang steht, zeigt das Befehlsgrenzenprogramm 112 den erkannten Befehl in der AR-Einheit 106 an, wobei der in Zusammenhang mit der AR-Einheit 106 stehende Benutzer Korrekturen an dem erkannten Befehl vornehmen kann. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass keine Korrekturen an dem erkannten Befehl empfangen wurden, weist das Befehlsgrenzenprogramm 112 die loT-Einheit 108 an, den Befehl auszuführen. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass Korrekturen an dem erkannten Befehl empfangen wurden, weist das Befehlsgrenzenprogramm 112 die loT-Einheit 108 an, den korrigierten Befehl auszuführen.
  • Das Befehlsgrenzenprogramm 112 kann außerdem mündliche Befehle verwalten, die an loT-Einheiten 108 gerichtet sind, die in einer gemeinsam genutzten Umgebung unter Nutzung von Befehlsgrenzen betrieben werden, indem für jede loT-Einheit 108 Betriebsbefehlsgrenzen festgelegt werden. Das Betriebsbefehlsprogramm 112 erkennt mehrere loT-Einheiten 108 innerhalb eines definierten Bereiches und legt Betriebsbefehlsgrenzen für jede der mehreren loT-Einheiten 108 fest, um eine Wahrscheinlichkeit zu verringern, dass eine nicht beabsichtigte loT-Einheit 108 ungewollt einen mündlichen Befehl oder eine mündliche Frage erfasst, der/die durch einen Benutzer bereitgestellt wurde. Das Befehlsgrenzenprogramm 112 legt ferner Befehlsregeln für jede der mehreren loT-Einheiten 108 fest, um sicherzustellen, dass die Sicherheitsintegrität gewahrt bleibt, wenn ein nicht berechtigter Benutzer versucht, Informationen über die mehreren loT-Einheiten 108 zu extrahieren. Das Befehlsgrenzenprogramm 112 empfängt Audio mit einem Befehl, der durch mindestens eine der mehreren loT-Einheiten 108 ausführbar ist, und analysiert den Audiobefehl in Bezug auf personenbezogene Informationen. Das Befehlsgrenzenprogramm 112 erkennt bei einer in Zusammenhang mit dem Audiobefehl stehenden Audioquelle einen Abstand relativ zu jeder der mehreren IoT-Einheiten 108.
  • Wenn das Befehlsgrenzenprogramm 112 feststellt, dass sich die Audioquelle nicht innerhalb einer Befehlsgrenze einer bestimmten loT-Einheit 108 befindet, ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass sich die Audioquelle innerhalb einer Befehlsgrenze einer bestimmten loT-Einheit 108 befindet, ermittelt das Befehlsgrenzenprogramm 112, ob die Befehlsregeln für Audioquellen erfüllt sind. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass die Befehlsregeln für die Audioquelle nicht erfüllt sind, ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass die Befehlsregeln für die Audioquelle erfüllt sind, ermittelt das Befehlsgrenzenprogramm 112, ob Befehlserkennung deaktiviert ist. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass Befehlserkennung deaktiviert ist, ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass Befehlserkennung aktiviert ist, sendet das Befehlsgrenzenprogramm 112 den Befehl an die entsprechende loT-Einheit 108.
  • Das Befehlsgrenzenprogramm 112 analysiert den Befehl in Bezug auf personenbezogene Informationen, indem der durch die loT-Einheit 108 ausführbare Befehl kategorisiert und indem ermittelt wird, ob der Befehl personenbezogene Informationen betrifft. Wenn das Befehlsgrenzenprogramm 112 feststellt, dass der Befehl keine personenbezogenen Informationen betrifft, erkennt das Befehlsgrenzenprogramm 112 den Abstand der Audioquelle relativ zu jeder der mehreren loT-Einheiten 108. Wenn das Befehlserkennungsprogramm 112 feststellt, dass der Befehl personenbezogene Informationen betrifft, fragt das Befehlsgrenzenprogramm 112 bei dem Benutzer an, für den Befehl, der durch die mehreren loT-Einheiten 108 ausführbar ist, eine Befehlsgrenze für personenbezogene Informationen festzulegen. Das Befehlsgrenzenprogramm 112 empfängt und speichert die Befehlsgrenze für personenbezogene Informationen für den Befehl, der durch die mehreren loT-Einheiten 108 ausführbar ist.
  • Bei der Datenbank 114 handelt es sich um eine Datenablage (repository), die verschiedene Daten speichert, unter anderem Grundrisse (z.B. Eigenheim, Fertigungsfläche, Lagerhausfläche), Nahfeldradiusgrenze für jede loT-Einheit 108, Betriebsbefehlsgrenze für jede loT-Einheit 108, Audioquellenbefehlsregeln für jede loT-Einheit 108, Befehlsgrenzen für personenbezogene Informationen für jede loT-Einheit 108 und beliebige andere Daten, die das Befehlsgrenzenprogramm 112 zum Verwalten von mündlichen Befehlen nutzt, die an die OT-Einheiten 108 gerichtet sind. Bei der bildlich dargestellten Ausführungsform befindet sich die Datenbank 114 auf dem Server-Computer 102. Bei einer weiteren Ausführungsform kann sich die Datenbank 114 auf der Client-Einheit 104 oder an anderer Stelle innerhalb der verteilten Datenverarbeitungsumgebung befinden, vorausgesetzt, dass das Befehlsgrenzenprogramm 112 Zugriff auf die Datenbank 114 hat. Bei einer Datenbank handelt es sich um eine organisierte Sammlung von Daten, wobei die Datenbank 114 mit einer beliebigen Art von Speichereinheit realisiert sein kann, die in der Lage ist, Daten- und Konfigurationsdateien zu speichern, auf die das Befehlsgrenzenprogramm 112 zugreifen kann und die das Befehlsgrenzenprogramm nutzen kann, wie z.B. ein Datenbankserver, ein Festplattenlaufwerk oder ein USB-Stick.
  • Die Benutzeroberfläche 122 ermöglicht es Benutzern, über das Netzwerk 110 Anfragen in Bezug auf Befehle an den Server-Computer 102, die Client-Einheit 104, die AR-Einheit 106 und an loT-Einheiten 108 zu stellen oder Befehle an diese zu senden. Die Benutzeroberfläche 122 ermöglicht dem Benutzer außerdem, auf der Client-Einheit 104 als Reaktion Informationen und Anweisungen über das Netzwerk 110 zu empfangen. Bei einer Ausführungsform greift ein Benutzer der Client-Einheit 104 über Sprachbefehle in natürlicher Sprache auf die Benutzeroberfläche 122 zu. Bei einer Ausführungsform kann es sich bei der Benutzeroberfläche 122 um eine grafische Benutzeroberfläche (graphical user interface, GUI) oder eine Web-Benutzeroberfläche (web user interface, WUI) handeln, die Text, Dokumente, Webbrowser-Fenster, Benutzeroptionen, Anwendungsschnittstellen und Anweisungen für den Betrieb anzeigen kann und die Informationen (wie z.B. Grafik, Text und Ton), die ein Programm für einen Benutzer darstellt, sowie die Steuersequenzen umfassen kann, die der Benutzer zum Steuern des Programms nutzt. Die Benutzeroberfläche 122 ermöglicht einem Benutzer der Client-Einheit 104, mit dem Befehlsgrenzenprogramm 112 zu interagieren, das auf dem Server-Computer 102 betrieben wird.
  • 2 stellt ein Flussdiagramm für ein Befehlsgrenzenprogramm zum Verwalten von Befehlen für intelligente virtuelle Assistenten unter Nutzung einer Nahfeldbefehlsgrenze gemäß einer Ausführungsform der vorliegenden Erfindung bildlich dar.
  • Das Befehlsgrenzenprogramm 112 legt einen Nahfeldradius für eine loT-Einheit (202) fest. Das Befehlsgrenzenprogramm 112 kann zwischen Nahfeldaudio und Fernfeldaudio unterscheiden, wobei das Befehlsgrenzenprogramm 112 Sprachbefehle verarbeitet, die innerhalb des Nahfeldaudioradius empfangen werden, wenn ein Befehl erkannt wird, der durch eine loT-Einheit ausführbar ist. Das Befehlsgrenzenprogramm 112 kann den Nahfeldradius für die IoT-Einheit festlegen, indem bei einem Administrationsbenutzer über eine zugehörige Client-Einheit und/oder AR-Einheit angefragt wird. Alternativ kann das Befehlsgrenzenprogramm 112 einen vorgegebenen Radius (d.h. eine Grenze) nutzen, der das Nahfeldaudio und das Fernfeldaudio trennt. wobei es sich bei Audio, das innerhalb der Abgrenzungen des vorgegebenen Radius erfasst wird, um Nahfeldaudio handelt, und es sich bei Audio, das außerhalb der Abgrenzungen des vorgegebenen Radius erfasst wird, um Fernfeldaudio handelt. Zum Festlegen des Nahfeldradius durch Fragen des Administrationsbenutzers kann das Befehlsgrenzenprogramm 112 eine Anforderung an eine Client-Einheit und/oder AR-Einheit senden, die mit dem Administrationsbenutzer in Zusammenhang steht, um einen Radius (z.B. 10 Fuß, 3,5 Meter) einzugeben, der Nahfeldaudio von Fernfeldaudio trennt. Beim Eingeben des Nahfeldradius unter Nutzung einer AR-Einheit kann das Befehlsgrenzenprogramm 112 die loT-Einheit trainieren, indem der Benutzer angewiesen wird, Beispielbefehle zusammen mit einem gewünschten Feldradius bereitzustellen, um den Nahfeldradius für die loT-Einheit festzulegen. Das Befehlsgrenzenprogramm 112 kann die während des Trainings der loT-Einheit bereitgestellten Beispielbefehle nutzen, um durch die loT-Einheit empfangende zukünftige Befehle zu vergleichen und zu erkennen, welche der zukünftigen Befehle sich innerhalb des Nahfeldradius der loT-Einheit befinden.
  • Das Befehlsgrenzenprogramm 112 empfängt Audio aus mehreren Quellen in der Nähe der loT-Einheit (204). Im Anschluss an das Festlegen des Nahfeldradius für die IoT-Einheit erfasst ein Mikrofon an der loT-Einheit ein Weckwort, das auch als Trigger-Wort bezeichnet wird, zum Aktivieren einer loT-Einheit, um Audio innerhalb der Nähe zu empfangen. Die loT-Einheit kann Audio während einer vorgegebenen Dauer (z.B. 30 Sekunden) oder während einer Dauer empfangen, wobei Audiopegel (z.B. Dezibelwerte) oberhalb eines vorgegebenen Schwellenwertes liegen. Das durch die IoT-Einheit empfangene Audio kann aus mehreren Quellen innerhalb der Nähe stammen, wobei die mehreren Quellen verschiedene Personen umfassen können, die an mehreren Gesprächen und an beliebigen Umgebungsgeräuschen (z.B. Baugewerbe, Musik, Fahrzeuge) beteiligt sind, die in der Umgebung vorliegen könnten. Die loT-Einheit erfasst das Audio aus den mehreren Quellen innerhalb der Nähe und sendet das erfasste Audio an das Befehlsgrenzenprogramm 112.
  • Das Befehlsgrenzenprogramm 112 erkennt Audio aus mehreren Quellen innerhalb des Nahfeldradius der Nähe der loT-Einheit (206). Das Befehlsgrenzenprogramm 112 analysiert das empfangene Audio aus den mehreren Quellen und beseitigt über Signalverarbeitung beliebige Umgebungsgeräusche aus der Umgebung, die durch die loT-Einheit erfasst worden sein könnten. Anschließend erkennt das Befehlsgrenzenprogramm 112 Nahfeldaudio und Fernfeldaudio durch Ausnutzen von Audiopegeln (z.B. durchschnittlichen Dezibelwerten), akustischen Hinweisen (z.B. Tonfrequenz) und Schärfe der Sprache (z.B. Dezibelspitzenwerte). Bei einigen Ausführungsformen ist das Befehlsgrenzenprogramm 112 außerdem in der Lage, Daten auszunutzen, die von AR-Einheiten empfangen wurden, die sich in der Nähe der loT-Einheit befinden, um Audio zu erkennen, das sich innerhalb der Abgrenzungen des Nahfeldradius befindet. Zum Beispiel kann das Befehlsgrenzenprogramm 112 AR-Einheiten erkennen, die in der Nähe der IoT-Einheit betrieben werden, wenn jede der AR-Einheiten eine Verbindung zu einem lokalen Netzwerk herstellt, das gemeinsam mit der loT-Einheit genutzt wird. Das Befehlsgrenzenprogramm 112 nutzt Standortinformationen für die erkannten AR-Einheiten, um zu ermitteln, ob sich eine beliebige der AR-Einheiten innerhalb des Nahfeldradius der loT-Einheit befindet. Des Weiteren kann das Befehlsgrenzenprogramm 112 einen Abschnitt der AR-Einheiten abfragen, die sich innerhalb des Nahfeldradius der loT-Einheit befinden, um zu ermitteln, ob ein Mikrofon für jeden des Abschnitts von AR-Einheiten das Audio erfasst hat, das das Befehlsgrenzenprogramm 112 zuvor in (204) empfangen hat.
  • Das Befehlsgrenzenprogramm 112 analysiert das erkannte Audio aus den mehreren Quellen innerhalb des Nahfeldradius der loT-Einheit in Bezug auf einen Befehl, der durch die loT-Einheit ausführbar ist (208). Das Befehlsgrenzenprogramm 112 analysiert das erkannte Audio innerhalb des Nahfeldradius der loT-Einheit und erkennt einen durch die IoT-Einheit ausführbaren Befehl, wobei es sich bei dem Befehl um eine Frage oder eine Anweisung für die IoT-Einheit zum Durchführen einer Aktion handeln kann. Das Befehlsgrenzenprogramm 112 nutzt eine Verarbeitung natürlicher Sprache (Natural Language Processing, NLP), um den durch die loT-Einheit ausführbaren Befehl zu erkennen. Das Befehlsgrenzenprogramm 112 ermittelt, ob der Befehl erkennbar ist (Entscheidung 210). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass der Befehl nicht erkennbar ist („Nein“-Zweig, Entscheidung 210), benachrichtigt das Befehlsgrenzenprogramm 112 den Benutzer, dass der Befehl nicht erkennbar ist (214). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass der Befehl erkennbar ist („Ja“-Zweig, Entscheidung 210), ermittelt das Befehlsgrenzenprogramm 112, ob eine AR-Einheit mit dem Befehl in Zusammenhang steht (Entscheidung 216).
  • Das Befehlsgrenzenprogramm 112 benachrichtigt den Benutzer, dass der Befehl nicht erkennbar ist (214). Bei dieser Ausführungsform weist das Befehlsgrenzenprogramm 112 die loT-Einheit an, mit einer akustischen Antwort zu reagieren, dass der Befehl nicht erkennbar ist. Das Befehlsgrenzenprogramm 112 kann außerdem eine oder mehrere Empfehlungen in der akustischen Antwort bereitstellen, um Personen beim Bereitstellen erkennbarer Befehle zu unterstützen. Bei einem Beispiel stellt das Befehlsgrenzenprogramm 112 eine Empfehlung bereit, die eine Person anweist, sich vor dem Bereitstellen eines Weckwortes und einer Befehlskombination näher zu der loT-Einheit zu bewegen. Bei einem weiteren Beispiel stellt das Befehlsgrenzenprogramm 112 eine Empfehlung bereit, die eine Person anweist, den Nahfeldradius für die loT-Einheit zu vergrößern. Bei einer weiteren Ausführungsform benachrichtigt das Befehlsgrenzenprogramm 112 den Benutzer darüber, dass der Befehl nicht erkennbar ist, indem eine Benachrichtigung an eine Client-Einheit und/oder AR-Einheit gesendet wird, die in Zusammenhang mit Audio in dem Nahfeldradius der loT-Einheit steht.
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob eine AR-Einheit in Zusammenhang mit dem Befehl steht (Entscheidung 216). Wie zuvor erörtert, kann das Befehlsgrenzenprogramm 112 Daten ausnutzen, die von AR-Einheiten empfangen wurden, die sich in der Nähe der loT-Einheit befinden, um Audio zu erkennen, das sich innerhalb der Abgrenzungen des Nahfeldradius befindet. In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass die AR-Einheit in Zusammenhang mit dem Befehl steht („Ja“-Zweig, Entscheidung 216), zeigt das Befehlsgrenzenprogramm 112 den Befehl in der AR-Einheit an (218). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass die AR-Einheit nicht in Zusammenhang mit dem Befehl steht („Nein“-Zweig, Entscheidung 216), weist das Befehlsgrenzenprogramm 112 die loT-Einheit an, den Befehl auszuführen.
  • Das Befehlsgrenzenprogramm 112 zeigt den Befehl in der AR-Einheit an (218). Das Befehlsgrenzenprogramm 112 zeigt den an die IoT-Einheit gerichteten Befehl in der AR-Einheit an, die in Zusammenhang mit dem Befehl steht, um dem Benutzer zu ermöglichen, Korrekturen an dem Befehl und an beliebigen Teilbefehlen bereitzustellen. Bei einer Ausführungsform hat das Befehlsgrenzenprogramm 112 zuvor einen Befehl durch Verketten von Wörtern mit einem Weckwort oder einer Weckformulierung für die loT-Einheit erkannt. Das Befehlsgrenzenprogramm 112 zeigt den Befehl in Abschnitten (d.h. Teilbefehlen) mit optischen Indikatoren in der AR-Einheit an. Ein erster eindeutiger Indikator (d.h. Farbe, Schriftart, Hervorhebung) für einen Teilbefehl kann einen aktuellen Befehl darstellen, den die loT-Einheit ausführen soll, und ein zweiter optischer Indikator kann einen weiteren Teilbefehl in einer Warteschlange darstellen, den die loT-Einheit anschließend ausführen soll. Das Befehlsgrenzenprogramm 112 ermöglicht dem Benutzer, jeden Teilbefehl zu korrigieren, und ermöglicht dem Benutzer, eine Reihenfolge zu korrigieren, in der die IoT-Einheit jeden Teilbefehl des erkannten Befehls ausführen soll.
  • Bei einem Beispiel erkennt das Befehlsgrenzenprogramm 112 einen Befehl von einer Person mit einer zugehörigen AR-Einheit, die sich innerhalb des Nahfeldradius einer loT-Einheit befindet, der „AB, Wohnraumleuchten ausschalten und Flurleuchten einschalten“ lautet. Das Befehlsgrenzenprogramm 112 zeigt den erkannten Befehl in der AR-Einheit an, die mit dem Befehl in Zusammenhang steht, wobei ein erster Indikator „AB“ als Weckwort hervorhebt, ein zweiter Indikator „Wohnraumleuchten ausschalten“ als ersten Teilbefehl hervorhebt und ein dritter Indikator „Flurleuchten einschalten“ als zweiten Teilbefehl hervorhebt. Alternativ zeigt das Befehlsgrenzenprogramm 112 den erkannten Befehl in der AR-Einheit an, die mit dem Befehl in Zusammenhang steht, wobei ein erster Indikator (z.B. grüne Schriftfarbe) „Wohnraumleuchten ausschalten“ als ersten Teilbefehl anzeigt und ein zweiter Indikator (z.B. rote Schriftfarbe) „Flurleuchten einschalten“ als zweiten Teilbefehl hervorhebt, wobei der erste Teilbefehl durch die loT Einheit vor dem zweiten Teilbefehl ausgeführt werden soll. Das Befehlsgrenzenprogramm 112 ermöglicht dem Benutzer, eine Reihenfolge zu korrigieren, welchen Teilbefehl die loT-Einheit durchführt, indem der Indikator des ersten Teilbefehls und des zweiten Teilbefehls geändert wird. Infolge der Korrektur hebt der erste Indikator „Flurleuchten einschalten“ als ersten Teilbefehl hervor, und der zweite Indikator hebt" Wohnraum leuchten ausschalten” hervor. Das Befehlsgrenzenprogramm 112 kann beliebige Korrekturen an den Teilbefehlen über akustische Anweisungen akzeptieren, die durch den Benutzer der AR-Einheit bereitgestellt werden, die in Zusammenhang mit dem erkannten Befehl steht. Alternativ kann das Befehlsgrenzenprogramm 112 beliebige Korrekturen an den Teilbefehlen über physische Eingaben an einer Client-Einheit (z.B. Mobiltelefon) akzeptieren, die mit der AR-Einheit gekoppelt ist, die in Zusammenhang mit dem erkannten Befehl steht.
  • Bei einem weiteren Beispiel erkennt das Befehlsgrenzenprogramm 112 einen Befehl von einer Person mit einer zugehörigen AR-Einheit, die sich innerhalb des Nahfeldradius einer loT-Einheit befindet, der „AB, löse einen Alarm aus...und erinnere mich mittags daran, Kontakt mit meinem Vorgesetzten aufzunehmen“ lautet. Das Befehlsgrenzenprogramm 112 zeigt den erkannten Befehl in der AR-Einheit an, wobei ein erster Indikator „erinnere mich mittags daran, Kontakt mit meinem Vorgesetzten aufzunehmen“ als ersten Teilbefehl hervorhebt. Das Befehlsgrenzenprogramm 112 war jedoch nicht in der Lage, einen zweiten Teilbefehl von „löse einen Alarm aus ...“ ganz zu erfassen, und dadurch, dass der erkannte Befehl in der AR-Einheit angezeigt wird, kann der Benutzer den Befehl korrigieren, sodass er beliebige fehlende Abschnitte des zweiten Teilbefehls enthält. Das Befehlsgrenzenprogramm 112 kann eine Korrektur an dem zweiten Teilbefehl akzeptieren, indem der zweite Teilbefehl in seiner Gesamtheit (z.B. „löse einen Alarm um 11:55 Uhr aus“) wiederholt wird und dem zweiten Teilbefehl ein zweiter Indikator zugewiesen wird. Das Befehlsgrenzenprogramm 112 ermöglicht einem Benutzer, anschließend eine Reihenfolge des ersten Teilbefehls und des zweiten Teilbefehls des erkannten Befehls zu ändern.
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob eine Korrektur für den Befehl empfangen wurde (Entscheidung 220). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass eine Korrektur empfangen wurde („Ja“-Zweig, Entscheidung 220), weist das Befehlsgrenzenprogramm 112 die loT-Einheit an, den korrigierten Befehl auszuführen (222). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass keine Korrektur empfangen wurde („Nein“-Zweig, Entscheidung 220), weist das Befehlsgrenzenprogramm 112 die loT-Einheit an, den Befehl auszuführen (224).
  • 3 stellt ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung für ein Befehlsgrenzenprogramm bildlich dar, das Befehle für intelligente virtuelle Assistenten unter Nutzung von Befehlsgrenzen für mehrere intelligente virtuelle Assistenten verwaltet, die in einer gemeinsam genutzten Umgebung betrieben werden.
  • Das Befehlsgrenzenprogramm 112 erkennt mehrere loT-Einheiten innerhalb eines definierten Bereiches (302). Das Befehlsgrenzenprogramm 112 erkennt die mehreren loT-Einheiten innerhalb eines definierten Bereiches, sobald jede loT-Einheit eine Verbindung zu einem lokalen Netzwerk herstellt. Bei einem Beispiel sind mehrere IVAs, die auf mehreren loT-Einheiten betrieben werden, mit einem lokalen Netzwerk in einem privaten Wohnbereich verbunden, und das Befehlsgrenzenprogramm 112 erkennt jede der mehreren loT-Einheiten, sobald sie eine Verbindung zu dem lokalen Netzwerk in dem privaten Wohnbereich herstellt. Bei einem weiteren Beispiel sind mehrere IVAs, die auf mehreren loT-Einheiten betrieben werden, mit einem lokalen Netzwerk in einem Büroumfeld verbunden, und das Befehlsgrenzenprogramm 112 erkennt jede der mehreren loT-Einheiten, sobald sie eine Verbindung zu dem lokalen Netzwerk in dem Büroumfeld herstellt. Das Befehlsgrenzenprogramm 112 weist die Fähigkeit auf, jede der mehreren loT-Einheiten anzuweisen, einen Audioerfassungstest durchzuführen, um zu ermitteln, ob eine loT-Einheit aus den mehreren loT-Einheiten akustische Befehle erfassen kann. Zum Beispiel weist das Befehlserfassungsprogramm 112 eine erste loT-Einheit an, die mit dem lokalen Netzwerk verbunden ist, eindeutiges Audio mit einer bestimmten Frequenz zu erzeugen, wobei die übrigen loT-Einheiten angewiesen werden, dass eindeutige Audio mit der bestimmten Frequenz anzuhören. Wenn das eindeutige Audio durch mindestens eine loT-Einheit aus den übrigen loT-Einheiten erfasst wird, stellt das Befehlsgrenzenprogramm 112 fest, dass sich die loT-Einheit, die das eindeutige Audio erzeugt, und die mindestens eine loT-Einheit, die das eindeutige Audio erfasst hat, einen Betriebsbefehlsbereich gemeinsam nutzen. Der Betriebsbefehlsbereich steht für einen Bereich, in dem ein durch einen Benutzer erzeugter akustischer Befehl durch eine loT-Einheit erfassbar ist und in diesem Fall durch mindestens zwei loT-Einheiten erfassbar ist. Das Befehlsgrenzenprogramm 112 kann den Audioerfassungstest für jede loT-Einheit durchführen, um zu ermitteln, welche Befehlsgrenzen der mehreren loT-Einheiten sich einander überlappen.
  • Das Befehlsgrenzenprogramm 112 legt eine Betriebsbefehlsgrenze für jede der mehreren loT-Einheiten fest (304). Bei dieser Ausführungsform fragt das Befehlsgrenzenprogramm 112 bei einem Administrationsbenutzer an, eine Betriebsbefehlsgrenze für jede der mehreren loT-Einheiten festzulegen. Der Administrationsbenutzer hat die Fähigkeit, jede Betriebsbefehlsgrenze als Radius (z.B. 10 Fuß, 3,5 Meter) festzulegen, der jede der mehreren loT-Einheiten umgibt. Das Befehlsgrenzenprogramm 112 kann die Betriebsbefehlsgrenzen für jede der mehreren IoT-Einheiten über eine Benutzereingabe oder einen mündlichen Befehl an einer AR-Einheit oder einer Client-Einheit empfangen, die in Zusammenhang mit dem Administrationsbenutzer steht. Bei einer weiteren Ausführungsform legt das Befehlsgrenzenprogramm 112 eine Betriebsbefehlsgrenze für jede der mehreren loT-Einheiten auf der Grundlage eines zusätzlichen Audioerfassungstests fest, der auf den mehreren loT-Einheiten durchgeführt wird. Das Befehlsgrenzenprogramm 112 kann jede loT-Einheit anweisen, eindeutiges Audio mit verschiedenen Lautstärkepegeln zu erzeugen, um zu ermitteln, welche der übrigen IoT-Einheiten aus den mehreren loT-Einheiten das eindeutige Audio mit den verschiedenen Lautstärkepegeln erfasst. Zum Beispiel erzeugt eine erste loT-Einheit eindeutiges Audio mit fünf verschiedenen Audiopegeln, wobei eine zweite loT-Einheit das eindeutige Audio mit der höchsten Lautstärke der fünf verschiedenen Audiopegel erfasst. Das Befehlsgrenzenprogramm 112 nutzt vorgegebene Audioerfassungsabstände für jeden der fünf verschiedenen Audiopegel, um einen Abstand zwischen der ersten loT-Einheit und der zweiten IoT-Einheit auf der Grundlage dessen zu ermitteln, dass die zweite loT-Einheit das durch die erste loT-Einheit erzeugte eindeutige Audio mit der höchsten Lautstärke erfasst. Auf der Grundlage des vorgegebenen Abstands legt das Befehlsgrenzenprogramm 112 eine Betriebsbefehlsgrenze für die erste IoT-Einheit fest, wobei ein Radius der Betriebsbefehlsgrenze für die erste IoT-Einheit kleiner als der vorgegebene Abstand für das eindeutige Audio ist, das mit der höchsten Lautstärke erfasst wurde. Das Befehlsgrenzenprogramm 112 führt das eindeutige Audio mit den verschiedenen Lautstärkepegeln für jede der mehreren Einheiten durch, um jede der Betriebsbefehlsgrenzen festzulegen.
  • Das Befehlsgrenzenprogramm 112 legt Befehlsregeln für jede der mehreren IoT-Einheiten fest (306). Das Befehlsgrenzenprogramm 112 kann Befehlsregeln für jede der mehreren loT-Einheiten auf der Grundlage von durch Benutzer bereitgestellten Einschränkungen festlegen. Alternativ weist das Befehlsgrenzenprogramm 112 die Fähigkeit auf, Befehlsmuster für jede loT-Einheit zu erlernen und Befehlsregeln für jede loT-Einheit auf der Grundlage erlernter Befehlsmuster festzulegen. Bei einem Beispiel geben die Befehlsregeln an, welche Personen mit jedem auf jeder loT-Einheit betriebenen IAV auf der Grundlage eines oder mehrerer festgelegter Sprachmuster des Benutzers und/oder einer oder mehrerer Einheiten (z.B. Client-Einheit, AR-Einheit) interagieren können, die in Zusammenhang mit einem Benutzer stehen, der den Befehl bereitstellt. Bei einem weiteren Beispiel geben die Befehlsregeln an, ob ein Benutzer einer loT-Einheit einen Befehl bereitstellen kann, wenn sich der Benutzer außerhalb einer Betriebsbefehlsgrenze befindet. Wenn sich der Benutzer außerhalb der Betriebsbefehlsgrenze einer loT-Einheit befindet und der loT-Einheit über eine zwischengeschaltete Einheit (z.B. Client-Einheit, AR-Einheit) einen Befehl bereitstellt, kann das Befehlsgrenzenprogramm 112 den Befehl aus Sicherheitsgründen ignorieren. Wenn sich der Benutzer innerhalb der Betriebsbefehlsgrenze einer loT-Einheit befindet und der loT-Einheit über eine zwischengeschaltete Einheit (z.B. Client-Einheit, AR-Einheit) einen Befehl bereitstellt, akzeptiert das Befehlsgrenzenprogramm 112 den Befehl.
  • Das Befehlsgrenzenprogramm 112 empfängt Audio mit einem Befehl, der durch eine loT-Einheit ausführbar ist (308). Das Befehlsgrenzenprogramm 112 empfängt Audio mit dem durch die loT-Einheit ausführbaren Befehl von einer der mehreren loT-Einheiten, die in der gemeinsam genutzten Umgebung betrieben werden. Das Befehlsgrenzenprogramm 112 analysiert den Befehl in Bezug auf personenbezogene Informationen (310). Das Befehlsgrenzenprogramm 112 analysiert das mit dem Befehl empfangene Audio in Bezug auf personenbezogene Informationen, um zu ermitteln, ob eine Aktion erforderlich ist, um die Sicherheitsintegrität sicherzustellen. Das Analysieren des Befehls in Bezug auf personenbezogene Informationen durch das Befehlsgrenzenprogramm 112 wird ausführlicher in Bezug auf 4 erörtert.
  • Das Befehlsgrenzenprogramm 112 erkennt einen Abstand für die Audioquelle relativ zu jeder der mehreren loT-Einheiten (312). Bei einer Ausführungsform weist das Befehlsgrenzenprogramm 112 die Fähigkeit auf, erfasste Audiopegel für die mehreren IoT-Einheiten zu dem Zeitpunkt zu nutzen, zu dem das Audio mit dem Befehl empfangen wurde, um einen Abstand der Audioquelle relativ zu jeder der mehreren loT-Einheiten zu ermitteln. Das Befehlsgrenzenprogramm 112 kann außerdem die Audiopegel für die mehreren IoT-Einheiten zu dem Zeitpunkt, zu dem das Audio mit dem Befehl empfangen wurde, mit den Ergebnissen des zusätzlichen Audioerfassungstests vergleichen, die auf den mehreren IoT-Einheiten bei den verschiedenen Lautstärkepegeln in (304) durchgeführt wurden. Bei einer weiteren Ausführungsform stellt das Befehlsgrenzenprogramm 112 fest, dass das empfangene Audio mit dem Befehl in Zusammenhang mit einer AR-Einheit steht, und das Befehlsgrenzenprogramm 112 fragt die AR-Einheit in Bezug auf Standortinformationen ab. Das Befehlsgrenzenprogramm 112 nutzt die empfangenen Standortinformationen für die AR-Einheit und einen bekannten Standort für jede der mehreren loT-Einheiten in der gemeinsam genutzten Umgebung, um einen Abstand für die Audioquelle relativ zu jeder der mehreren loT-Einheiten zu erkennen.
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob sich eine Audioquelle innerhalb einer Befehlsgrenze einer loT-Einheit befindet (Entscheidung 314). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass sich die Audioquelle innerhalb der Befehlsgrenze einer loT-Einheit befindet („Ja“-Zweig, Entscheidung 314), ermittelt das Befehlsgrenzenprogramm 112, ob die Befehlsregeln für Audioquellen erfüllt sind (Entscheidung 316). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass sich die Audioquelle nicht innerhalb der Befehlsgrenze einer loT-Einheit befindet („Nein“-Zweig, Entscheidung 314), ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl (322). Selbst wenn mindestens eine loT-Einheit aus den mehreren loT-Einheiten in der Lage war, das Audio mit dem Befehl zu erfassen, ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl, da sich die Audioquelle außerhalb der Betriebsgrenzen der mehreren loT-Einheiten befand.
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob Befehlsregeln für Audioquellen erfüllt sind (Entscheidung 316). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass die Befehlsregeln für Audioquellen erfüllt sind („Ja“-Zweig, Entscheidung 316), ermittelt das Befehlsgrenzenprogramm 112, ob Befehlserkennung aktiviert ist (Entscheidung 318). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass Die Befehlsregeln für Audioquellen nicht erfüllt sind („Nein“-Zweig, Entscheidung 316), ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl (322).
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob Befehlserkennung aktiviert ist (Entscheidung 318). Das Befehlsgrenzenprogramm 112 ermöglicht einem Administrationsbenutzer, die Befehlserkennung für die mehreren loT-Einheiten zeitweilig zu deaktivieren, wobei ein Weckwort für die mehreren loT-Einheiten zeitweilig (z.B. eine Stunde) deaktiviert ist. In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass Befehlserkennung aktiviert ist („Ja“-Zweig, Entscheidung 318), sendet das Befehlsgrenzenprogramm 112 den Befehl an eine entsprechende loT-Einheit (320). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass Befehlserkennung nicht aktiviert ist („Nein“-Zweig, Entscheidung 318), ignoriert das Befehlsgrenzenprogramm 112 das Audio mit dem Befehl (322).
  • Das Befehlsgrenzenprogramm 112 sendet den Befehl an die entsprechende IoT-Einheit (320). Bei dieser Ausführungsform sendet das Befehlsgrenzenprogramm 112 den Befehl und eine Anweisung in Bezug auf eine Aktion zum Sicherstellen der Sicherheitsintegrität an die entsprechende loT-Einheit, wenn der Befehl personenbezogene Informationen betrifft. Die entsprechende loT-Einheit steht für die zuvor erkannte IoT-Einheit aus diesen mehreren loT-Einheiten, die die Audioquelle enthält, die sich innerhalb einer entsprechenden Befehlsgrenze befindet. Bei einem Beispiel kann die Anweisung den IVA enthalten, der auf der entsprechenden IoT-Einheit betrieben wird, die einen bestimmten Lautstärkepegel nutzt, wenn sie auf den Befehl reagiert, der personenbezogene Informationen betrifft, wobei der bestimmte Lautstärkepegel geringer als ein Betriebslautstärkepegel ist, der zuvor durch den Benutzer festgelegt wurde. Der bestimmte Lautstärkepegel für die akustische Reaktion durch den IVA auf der loT-Einheit steht in Zusammenhang mit einer Befehlsgrenze für personenbezogene Informationen für die IoT-Einheit, wobei die Befehlsgrenze für personenbezogene Informationen sicherstellt, dass der Lautstärkepegel der Reaktion so niedrig ist, dass eine Person außerhalb der Befehlsgrenze für personenbezogene Informationen die akustische Reaktion durch den IVA auf der IoT-Einheit nicht hören kann. Bei einem weiteren Beispiel kann die Anweisung umfassen, dass der auf der entsprechenden loT-Einheit betriebene IVA eine Text-Reaktion an eine Client-Einheit und/oder eine AR-Einheit sendet, die in Zusammenhang mit dem Administrationsbenutzer steht. Bei noch einem weiteren Beispiel kann die Anweisung umfassen, dass der auf der entsprechenden loT-Einheit betriebene IVA eine Text-Reaktion an eine Client-Einheit und/oder eine AR-Einheit sendet, die mit dem empfangenen Audio mit dem durch die loT-Einheit ausführbaren Befehl in Zusammenhang steht.
  • 4 stellt ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung für ein Befehlsgrenzenprogramm bildlich dar, das einen Befehl in Bezug auf personenbezogene Informationen analysiert, der an einen intelligenten virtuellen Assistenten gerichtet ist.
  • Das Befehlsgrenzenprogramm 112 kategorisiert den Befehl, der durch die IoT-Einheit ausführbar ist (402). Das Befehlsgrenzenprogramm 112 kann ein auf Benutzerrückmeldungen beruhendes iteratives Trainingsmodell nutzen, um den durch die loT-Einheit ausführbaren Befehl zu erkennen und zu kategorisieren. Das Befehlsgrenzenprogramm 112 kategorisiert Abschnitte des Befehls als personenbezogene Informationen enthaltend oder als keine personenbezogenen Informationen enthaltend, indem eine Verarbeitung natürlicher Sprache genutzt wird, um Abschnitte des Befehls zu erkennen, die personenbezogene Informationen enthalten. Bei einem Beispiel empfängt das Befehlsgrenzenprogramm 112 einen Befehl, der „AB, rufe das Kreditkartenunternehmen an, da meine Karte in -1234 abläuft“ lautet, und kategorisiert den Abschnitt „meine Karte in - 1234 abläuft“ als personenbezogene Informationen enthaltend. Bei einem weiteren Beispiel empfängt das Befehlsgrenzenprogramm 112 einen Befehl der „AB, welche Kontonummer wurde für unseren letzten Versand des Unternehmens C genutzt?“ lautet, und kategorisiert keinen Abschnitt des Befehls als personenbezogener Informationen enthaltend. Auch wenn der Befehl das Wort „Kontonummer“ enthält, ist keine „Nummer“ in dem Befehl enthalten. Das Befehlsgrenzenprogramm 112 kategorisiert außerdem den durch die loT-Einheit durchführbaren Befehl als personenbezogene Informationen enthaltend oder als zu einer akustischen Reaktion mit personenbezogenen Informationen führend. Aus dem vorhergehenden Beispiel, bei dem das Befehlsgrenzenprogramm 112 einen Befehl empfängt, der „AB, rufe das Kreditkartenunternehmen an, da meine Karte in -1234 abläuft“ lautet, kategorisiert das Befehlsgrenzenprogramm 112 den Befehl als einen durch die loT-Einheit ausführbaren Befehl, der personenbezogene Informationen enthält. Aus dem vorhergehenden Beispiel, bei dem das Befehlsgrenzenprogramm 112 einen Befehl empfängt, der „AB, welche Kontonummer wurde für unseren letzten Versand des Unternehmens C genutzt?“ lautet, kategorisiert das Befehlsgrenzenprogramm 112 den Befehl als einen Befehl, der zu einer akustischen Reaktion mit personenbezogenen Informationen führt.
  • Das Befehlsgrenzenprogramm 112 ermittelt, ob der Befehl personenbezogene Informationen betrifft (Entscheidung 404). Der Befehl betrifft personenbezogene Informationen, wenn mindestens ein Abschnitt des Befehls als personenbezogene Informationen aufweisend kategorisiert ist und wenn der Befehl zu einer akustischen Reaktion mit personenbezogenen Informationen führt. In dem Fall, dass das Befehlserkennungsprogramm 112 feststellt, dass der Befehl personenbezogene Informationen betrifft („Ja“-Zweig, Entscheidung 404), fragt das Befehlsgrenzenprogramm 112 bei dem Benutzer an, für den Befehl, der durch die loT-Einheit ausführbar ist, eine Befehlsgrenze für personenbezogene Informationen festzulegen (406). In dem Fall, dass das Befehlsgrenzenprogramm 112 feststellt, dass der Befehl keine personenbezogenen Informationen betrifft („Nein“-Zweig, Entscheidung 404), geht das Befehlsgrenzenprogramm 112 dazu über, einen Abstand für die Audioquelle relativ zu jeder der mehreren loT-Einheiten zu erkennen (312, 3).
  • Das Befehlsgrenzenprogramm 112 fragt bei dem Benutzer an, eine Befehlsgrenze für personenbezogene Informationen für den durch die loT-Einheit ausführbaren Befehl festzulegen (406). Bei dieser Ausführungsform fragt das Befehlsgrenzenprogramm 112 bei einem Administrationsbenutzer an, die Befehlsgrenze für personenbezogene Informationen, die in Zusammenhang mit einem bestimmten Lautstärkepegel steht, beim Reagieren auf den Befehl festzulegen, der personenbezogene Informationen betrifft, wobei der bestimmte Lautstärkepegel geringer als ein Betriebslautstärkepegel ist, der zuvor durch den Benutzer festgelegt wurde. Das Befehlsgrenzenprogramm 112 empfängt die Befehlsgrenze für personenbezogene Informationen von dem Benutzer in einer ähnlichen Weise, wie das Befehlsgrenzenprogramm 112 eine Betriebsbefehlsgrenze für jede der mehreren Einheiten in (304) in 3 festlegt. Ein Radius für die Befehlsgrenze für personenbezogene Informationen ist kleiner als ein Radius für die Betriebsbefehlsgrenze für die loT-Einheit. Wenn das Befehlsgrenzenprogramm 112 keine Befehlsgrenze für personenbezogene Informationen von dem Benutzer empfängt oder das Befehlsgrenzenprogramm 112 feststellt, dass der Radius für die empfangene Befehlsgrenze für personenbezogene Informationen oberhalb eines vorgegebenen Wertes liegt, sendet das Befehlsgrenzenprogramm 112 eine zusätzliche Benachrichtigung, die vor möglichen Sicherheitsproblemen mit einem Radius oberhalb des vorgegebenen Wertes für die Befehlsgrenze für personenbezogene Informationen warnt.
  • Das Befehlsgrenzenprogramm 112 speichert die Befehlsgrenze für personenbezogene Informationen für den Befehl, der durch die loT-Einheit ausführbar ist (408). Das Befehlsgrenzenprogramm 112 speichert die Befehlsgrenze für personenbezogene Informationen für den durch die loT-Einheit ausführbaren Befehl und sendet die Befehlsgrenze für personenbezogene Informationen als Anweisung zusammen mit dem Befehl an die entsprechende loT-Einheit. Die entsprechende loT-Einheit nutzt die Befehlsgrenze für personenbezogene Informationen beim Bereitstellen einer akustischen Reaktion auf den Befehl mit dem entsprechenden Lautstärkepegel.
  • 5 stellt ein Computersystem 500 bildlich dar, bei dem die Datenverarbeitungseinheit 102 für ein Beispiel eines Computersystems 500 steht, das das Befehlsgrenzenprogramm 112 umfasst. Das Computersystem umfasst Prozessoren 504, einen Cache 516, einen Hauptspeicher 506, einen Permanentspeicher 508, eine Datenübertragungseinheit 510, Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 512 und eine Datenübertragungsstruktur 502. Die Datenübertragungsstruktur 502 stellt Datenübertragung zwischen dem Cache 516, dem Hauptspeicher 506, dem Permanentspeicher 508, der Datenübertragungseinheit 510 und der/den Eingabe/Ausgabe-Schnittstelle(n) (E/A-Schnittstelle(n)) 512 bereit. Die Datenübertragungsstruktur 502 kann mit einer beliebigen Architektur realisiert sein, die auf das Weiterleiten von Daten und/oder Steuerinformationen zwischen Prozessoren (beispielsweise Mikroprozessoren, Datenübertragungs- und Netzwerkprozessoren usw.) und einem Systemhauptspeicher, Peripherieeinheiten und beliebigen anderen Hardwarekomponenten innerhalb eines Systems ausgelegt ist. Zum Beispiel kann die Datenübertragungsstruktur 502 mit einem oder mehreren Bussen oder mit einem Kreuzschienenschalter realisiert sein.
  • Bei dem Hauptspeicher 506 und dem Permanentspeicher 508 handelt es sich um durch einen Computer lesbare Speichermedien. Bei diesem Beispiel umfasst der Hauptspeicher 506 Direktzugriffsspeicher (random access memory, RAM). Im Allgemeinen kann der Hauptspeicher 506 beliebige geeignete flüchtige oder nichtflüchtige, durch einen Computer lesbare Speichermedien umfassen. Bei dem Cache 516 handelt es sich um einen schnellen Speicher, der das Leistungsvermögen der Prozessoren 504 verbessert, indem darin Daten gehalten werden, auf die aus dem Hauptspeicher 506 zugegriffen wurde, sowie Daten in der Nähe von Daten, auf die zugegriffen wurde.
  • Programmanweisungen und Daten, die zum praktischen Umsetzen von Ausführungsformen der vorliegenden Erfindung verwendet werden, können im Permanentspeicher 508 und im Hauptspeicher 506 gespeichert sein, um durch einen oder mehrere der jeweiligen Prozessoren 504 über den Cache 516 ausgeführt zu werden. Bei einer Ausführungsform umfasst der Permanentspeicher 508 ein magnetisches Festplattenlaufwerk. Alternativ oder zusätzlich zu einem magnetischen Festplattenlaufwerk kann der Permanentspeicher 508 einen Halbleiterdatenträger (solid state hard drive), eine Halbleiterspeichereinheit, einen Nur-Lese-Speicher (read-only memory, ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (erasable programmable read-only memory, EPROM), einen Flash-Speicher oder beliebige andere durch einen Computer lesbare Speichermedien enthalten, die in der Lage sind, Programmanweisungen oder digitale Informationen zu speichern.
  • Die durch den Permanentspeicher 508 verwendeten Medien können außerdem wechselbar sein. Zum Beispiel kann als Permanentspeicher 508 ein wechselbares Festplattenlaufwerk verwendet werden. Zu anderen Beispielen gehören optische und magnetische Platten, USB-Sticks und Smart-Cards, die in ein Laufwerk zur Übertragung auf ein weiteres, durch einen Computer lesbares Speichermedium eingeführt werden, das ebenfalls Bestandteil des Permanentspeichers 508 ist.
  • Die Datenübertragungseinheit 510 stellt bei diesem Beispiel Datenübertragung mit anderen Datenverarbeitungssystemen oder -einheiten bereit. Bei diesen Beispielen umfasst die Datenübertragungseinheit 510 eine oder mehrere Netzwerkschnittstellenkarten. Die Datenübertragungseinheit 510 kann Datenübertragung über die Verwendung von entweder physischen Datenübertragungsverbindungen oder kabellosen Datenübertragungsverbindungen oder beidem bereitstellen. Programmanweisungen und Daten, die zum praktischen Umsetzen von Ausführungsformen der vorliegenden Erfindung verwendet werden, können über die Datenübertragungseinheit 510 auf den Permanentspeicher 508 heruntergeladen werden.
  • Die E/A-Schnittstelle(n) 512 ermöglicht (ermöglichen) die Eingabe und Ausgabe von Daten mit anderen Einheiten, die mit jedem Computersystem verbunden sein können. Zum Beispiel kann die E/A-Schnittstelle 512 eine Verbindung zu externen Einheiten 518 wie z.B. zu einer Tastatur, einem Tastenfeld, einem Touchscreen und/oder einer anderen geeigneten Eingabeeinheit bereitstellen. Zu externen Einheiten 518 können außerdem transportable, durch einen Computer lesbare Speichermedien wie z.B. USB-Sticks, transportable optische oder magnetische Platten und Speicherkarten gehören. Software und Daten, die zum praktischen Umsetzen von Ausführungsformen der vorliegenden Erfindung verwendet werden, können auf derartigen transportablen, durch einen Computer lesbaren Speichermedien gespeichert sein und über die E/A-Schnittstelle(n) 512 in den Permanentspeicher 508 geladen werden. Die E/A-Schnittstelle(n) 512 stellt/stellen außerdem eine Verbindung zu der Anzeige 520 her.
  • Die Anzeige 520 stellt einen Mechanismus bereit, um einem Benutzer Daten anzuzeigen, und es kann sich dabei zum Beispiel um einen Computermonitor handeln.
  • Die hierin beschriebenen Programme sind auf der Grundlage der Anwendung bezeichnet, für die sie bei einer bestimmten Ausführungsform der Erfindung realisiert sind. Es sollte jedoch klar sein, dass hierin eine bestimmte Programmbenennungsweise lediglich der Vereinfachung dient und die Erfindung daher nicht auf die Verwendung ausschließlich in einer bestimmten Anwendung begrenzt sein soll, die durch eine derartige Benennung bezeichnet oder stillschweigend darin eingeschlossen ist.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt in einem beliebigen möglichen Integrationsgrad technischer Einzelheiten handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Eine nicht erschöpfende Liste genauerer Beispiele des durch einen Computer lesbaren Speichermediums umfasst Folgendes: eine transportable Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen transportablen Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie z.B. Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein kabelloses Netzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, kabellose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in der Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (ISA = Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, unter anderem objektorientierte Programmiersprachen wie z.B. Smalltalk, C++ oder dergleichen sowie prozedurale Programmiersprachen wie z.B. 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 Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internetdienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata mit Hilfe von durch einen Computer lesbaren Programmanweisungen realisiert werden kann bzw. können.
  • Diese Computerprogrammanweisungen können einem Prozessor eines Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Operationen ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die in dem Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Zum Beispiel können zwei hintereinander gezeigte Blöcke tatsächlich als ein Schritt ausgeführt, gleichzeitig, Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der Blockschemata und/oder Flussdiagrammdarstellungen sowie Kombinationen von Blöcken in den Blockschemata und/oder Flussdiagrammdarstellungen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.
  • Es versteht sich, dass diese Offenbarung zwar eine ausführliche Beschreibung des Cloud-Computing enthält, die Realisierung der hierin vorgestellten Lehren jedoch nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einer beliebigen anderen Art von Datenverarbeitungsumgebung realisiert werden, die gegenwärtig bekannt ist oder in Zukunft entwickelt wird.
  • Bei Cloud-Computing handelt es sich um ein Modell zur Bereitstellung von Diensten, um einen praktischen und bei Bedarf verfügbaren Netzwerkzugriff auf ein gemeinsam genutztes Reservoir konfigurierbarer Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) zu ermöglichen, die bei minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Einsatzmodelle umfassen.
  • Bei den Eigenschaften handelt es sich um die folgenden:
  • On-demand Self Service (Selbstzuweisung bei Bedarf): Ein Cloud-Kunde kann sich einseitig Datenverarbeitungsfunktionen wie zum Beispiel Serverzeit und Netzwerkspeicher dem Bedarf entsprechend automatisch bereitstellen, ohne dass eine Interaktion von Menschen mit dem Anbieter des Dienstes erforderlich ist.
  • Broad Network Access (umfassender Netzwerkzugriff): Es stehen Funktionen über ein Netzwerk zur Verfügung, auf die der Zugriff über Standardmechanismen erfolgt, die die Verwendung durch heterogene Plattformen Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Notebook-Computer und PDAs) unterstützen.
  • Resource Pooling (Ressourcenbündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehrere Kunden unter Verwendung eines Mehrfachnutzermodells mit unterschiedlichen physischen und virtuellen Ressourcen zu bedienen, die entsprechend dem Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gefühlte Standortunabhängigkeit in der Weise, dass der Kunde im Allgemeinen keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber möglicherweise in der Lage ist, den Standort auf einer höheren Abstraktionsebene (z.B. Land, Bundesstaat oder Datenverarbeitungszentrum) anzugeben.
  • Rapid Elasticity (rasche Elastizität): Funktionen können rasch und elastisch bereitgestellt werden, in einigen Fällen automatisch, um den Funktionsumfang schnell nach oben anzupassen, und schnell freigegeben werden, um den Funktionsumfang schnell nach unten anzupassen. Für den Kunden entsteht oftmals der Eindruck, dass die zum Bereitstellen verfügbaren Funktionen unbegrenzt sind und jederzeit in jeder beliebigen Menge gekauft werden können.
  • Measured Service (bemessener Dienst): Cloud-Systeme steuern und optimieren automatisch die Ressourcenverwendung durch Nutzung einer Bemessungsfunktion auf einer bestimmten Abstraktionsebene, die für die Art des Dienstes geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, gesteuert und gemeldet werden, sodass Transparenz sowohl für den Anbieter als auch den Kunden des genutzten Dienstes besteht.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
  • Software as a Service (SaaS) (Software als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu nutzen. Auf die Anwendungen kann von verschiedenen Client-Einheiten aus über eine Thin-Client-Schnittstelle wie z.B. über einen Web-Browser (z.B. auf dem Web beruhende eMail) zugegriffen werden. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme, Speicherplatz oder sogar einzelne Anwendungsfähigkeiten, nicht, abgesehen von der möglichen Ausnahme eingeschränkter benutzerspezifischer Konfigurationseinstellungen von Anwendungen.
  • Platform as a Service (PaaS) (Plattform als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, auf der Cloud-Infrastruktur vom Kunden erzeugte oder erworbene Anwendungen einzusetzen, die unter Verwendung von Programmiersprachen und Programmierwerkzeugen erzeugt wurden, die durch den Anbieter unterstützt werden. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme oder Speicherplatz, nicht, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendungen.
  • Infrastructure as a Service (laaS) (Infrastruktur als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, Verarbeitung, Speicherplatz, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Kunde beliebige Software einsetzen und ausführen kann, zu der Betriebssysteme und Anwendungen gehören können. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicherplatz sowie eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Vernetzungskomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
  • Private Cloud (private Cloud): Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
  • Community Cloud (Community-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen genutzt und unterstützt eine bestimmte Benutzergemeinschaft, die gemeinsame Interessen hat (z.B. Gesichtspunkte im Zusammenhang mit einer Aufgabe, mit Sicherheitsanforderungen, Richtlinien und mit der Einhaltung von Gesetzen und Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
  • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Gruppe in einem Industriezweig zur Verfügung gestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid cloud (Hybrid-Cloud): Bei der Cloud-Infrastruktur handelt es sich um eine Mischung aus zwei oder mehreren Clouds (Private Cloud, Community Cloud oder Public Cloud), die eigenständige Entitäten bleiben, aber über eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die die Portierbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung (Cloud Bursting) zum Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandsunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt des Cloud-Computing steht eine Infrastruktur, die ein Netzwerk aus untereinander verbundenen Knoten umfasst.
  • Nunmehr unter Bezugnahme auf 5 ist dort eine veranschaulichende Cloud-Computing-Umgebung 50 bildlich dargestellt. Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen von Cloud-Kunden verwendete lokale Datenverarbeitungseinheiten wie z.B. ein Personal Digital Assistent (PDA) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Notebook-Computer 54C und/oder ein Automobil-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 wie zum Beispiel in einer hierin oben beschriebenen Private Cloud, Community Cloud, Public Cloud oder Hybrid Cloud oder in einer Kombination davon gruppiert sein (nicht gezeigt). Dies ermöglicht der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste zu bieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit zu verwalten braucht. Es versteht sich, dass die Arten von in 5 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art von Netzwerk und/oder über eine beliebige Art von Verbindung, die über ein Netzwerk aufgerufen werden kann (z.B. unter Verwendung eines Webbrowsers), mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 6 ist dort eine Gruppe von Funktionsabstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 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 bildlich dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Softwareschicht 60 umfasst Hardware- und Softwarekomponenten. Zu Beispielen von Hardware-Komponenten gehören:
    • Großrechner 61; auf der RISC-Architektur (RISC = Reduced Instruction Set Computer) beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke und Vernetzungskomponenten 66. Bei einigen Ausführungsformen umfassen Softwarekomponenten eine Netzwerk-Anwendungsserversoftware 67 und eine Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der aus die folgenden Beispiele von virtuellen Einheiten bereitgestellt sein können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, unter anderem virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • Bei einem Beispiel kann eine Verwaltungsschicht 80 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung 81 stellt eine dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die genutzt werden, um Aufgaben innerhalb der Cloud-Computing-Umgebung durchzuführen. Eine Gebührenerfassung und Preisberechnung 82 stellt eine Kostenverfolgung bereit, während Ressourcen innerhalb der Cloud-Computing-Umgebung genutzt werden, sowie eine Abrechnung und Fakturierung der Inanspruchnahme dieser Ressourcen. Bei einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Eine Sicherheit stellt eine Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Kunden und Systemadministratoren einen Zugang zur Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltung (Service Level Management) 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die jeweils erforderliche Dienstgüte erreicht wird. Eine Planung und Erfüllung von Dienstgütevereinbarungen 85 (Service Level Agreement (SLA), Servicevertrag) stellt die Vorausplanung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die auf der Grundlage eines SLA zukünftige Anforderungen erwartet werden.
  • Eine Betriebslastschicht 90 stellt Beispiele von Funktionalitäten bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Betriebslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, gehören: Zuordnung und Navigation 91; Softwareentwicklung und -verwaltung 92 während des Lebenszyklus; Bereitstellung 93 von Schulungen in virtuellen Schulungsräumen; Verarbeitung 94 von Datenanalysen; Transaktionsverarbeitung 95; und das Befehlsgrenzenprogramm 112.
  • Die hierin beschriebenen Programme sind auf der Grundlage der Anwendung bezeichnet, für die sie bei einer bestimmten Ausführungsform der Erfindung realisiert sind. Es sollte jedoch klar sein, dass hierin eine bestimmte Programmbenennungsweise lediglich der Vereinfachung dient und die Erfindung daher nicht auf die Verwendung ausschließlich in einer bestimmten Anwendung begrenzt sein soll, die durch eine derartige Benennung bezeichnet oder stillschweigend darin eingeschlossen ist.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt in einem beliebigen möglichen Integrationsgrad technischer Einzelheiten handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Eine nicht erschöpfende Liste genauerer Beispiele des durch einen Computer lesbaren Speichermediums umfasst Folgendes: eine transportable Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen transportablen Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie z.B. Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein kabelloses Netzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, kabellose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in der Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (ISA = Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, unter anderem objektorientierte Programmiersprachen wie z.B. Smalltalk, C++ oder dergleichen sowie prozedurale Programmiersprachen wie z.B. 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 Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internetdienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata mit Hilfe von durch einen Computer lesbaren Programmanweisungen realisiert werden kann bzw. können.
  • Diese Computerprogrammanweisungen können einem Prozessor eines Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Operationen ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die in dem Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Zum Beispiel können zwei hintereinander gezeigte Blöcke tatsächlich als ein Schritt ausgeführt, gleichzeitig, Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der Blockschemata und/oder Flussdiagrammdarstellungen sowie Kombinationen von Blöcken in den Blockschemata und/oder Flussdiagrammdarstellungen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.

Claims (25)

  1. Mittels Computer realisiertes Verfahren, das umfasst Festlegen einer ersten Befehlsgrenze für einen ersten intelligenten virtuellen Assistenten, der auf einer ersten elektronischen Einheit betrieben wird; als Reaktion auf ein Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit Erkennen eines Abschnitts des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze; und als Reaktion auf ein Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennbar ist, Senden des Befehls an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit.
  2. Mittels Computer realisiertes Verfahren nach Anspruch 1, das ferner umfasst: Festlegen einer zweiten Befehlsgrenze für einen zweiten intelligenten virtuellen Assistenten, der auf einer zweiten elektronischen Einheit betrieben wird, wobei die erste Befehlsgrenze die zweite Befehlsgrenze nicht überlappt.
  3. Mittels Computer realisiertes Verfahren nach Anspruch 2, das ferner umfasst: Festlegen eines ersten Satzes von Befehlsregeln für den ersten intelligenten virtuellen Assistenten, der auf der ersten elektronischen Einheit betrieben wird, und eines zweiten Satzes von Befehlsregeln für den zweiten intelligenten virtuellen Assistenten, der auf der zweiten elektronischen Einheit betrieben wird.
  4. Mittels Computer realisiertes Verfahren nach einem der vorhergehenden Ansprüche 7 bis 3, das ferner umfasst: Analysieren des Befehls in Bezug auf personenbezogene Informationen; als Reaktion auf ein Feststellen auf der Grundlage des Analysierens, dass der Befehl personenbezogene Daten betrifft, Senden einer Anweisung an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit auf der Grundlage einer Befehlsgrenze für personenbezogene Informationen für den Befehl.
  5. Mittels Computer realisiertes Verfahren nach Anspruch 4, wobei das Analysieren des Befehls für personenbezogene Informationen ferner umfasst: Kategorisieren des Befehls, der durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbar ist; als Reaktion auf ein Feststellen auf der Grundlage der Kategorisierung, dass der Befehl personenbezogene Informationen betrifft, Fragen eines Benutzers, die Befehlsgrenze für personenbezogene Informationen für den Befehl festzulegen, wobei eine Lautstärkepegelreaktion für den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit mit der Befehlsgrenze für personenbezogene Informationen in Zusammenhang steht; und Speichern der Befehlsgrenze für personenbezogene Informationen für den Befehl.
  6. Mittels Computer realisiertes Verfahren nach Anspruch 5, wobei das Kategorisieren des durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbaren Befehls ferner umfasst: Kategorisieren des Befehls als personenbezogene Informationen betreffend oder eines ersten Abschnitts des Befehls als personenbezogene Informationen betreffend; und Kategorisieren des Befehls als personenbezogene Informationen enthaltend oder als zu einer akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führend.
  7. Mittels Computer realisiertes Verfahren nach Anspruch 6, das ferner umfasst: Feststellen, dass der Befehl personenbezogene Informationen betrifft, da der erste Abschnitt des Befehls als personenbezogene Informationen enthaltend kategorisiert ist und der Befehl zu der akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führt.
  8. Computerprogrammprodukt, das ein oder mehrere durch einen Computer lesbare physische Speichermedien und Programmanweisungen aufweist, die zusammen auf mindestens einem des einen oder der mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, wobei die gespeicherten Programmanweisungen durch einen oder mehrere Computerprozessoren ausführbar sind, wobei die gespeicherten Programmanweisungen umfassen: Programmanweisungen zum Festlegen einer ersten Befehlsgrenze für einen ersten intelligenten virtuellen Assistenten, der auf einer ersten elektronischen Einheit betrieben wird; Programmanweisungen, um als Reaktion auf das Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit einen Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze zu erkennen; und Programmanweisungen, um als Reaktion auf das Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennbar ist, den Befehl an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit zu senden.
  9. Computerprogrammprodukt nach Anspruch 8, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Festlegen einer zweiten Befehlsgrenze für einen zweiten intelligenten virtuellen Assistenten, der auf einer zweiten elektronischen Einheit betrieben wird, wobei die erste Befehlsgrenze die zweite Befehlsgrenze nicht überlappt.
  10. Computerprogrammprodukt nach Anspruch 8, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Festlegen eines ersten Satzes von Befehlsregeln für den ersten intelligenten virtuellen Assistenten, der auf der ersten elektronischen Einheit betrieben wird, und eines zweiten Satzes von Befehlsregeln für den zweiten intelligenten virtuellen Assistenten, der auf der zweiten elektronischen Einheit betrieben wird.
  11. Computerprogrammprodukt nach einem der vorhergehenden Ansprüche 8 bis 10, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Analysieren des Befehls in Bezug auf personenbezogene Informationen; Programmanweisungen, um als Reaktion auf das Feststellen auf der Grundlage des Analysierens, dass der Befehl personenbezogene Daten betrifft, eine Anweisung an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit auf der Grundlage einer Befehlsgrenze für personenbezogene Informationen für den Befehl zu senden.
  12. Computerprogrammprodukt nach Anspruch 11, wobei Programmanweisungen zum Analysieren des Befehls für personenbezogene Informationen ferner umfassen: Programmanweisungen zum Kategorisieren des Befehls, der durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbar ist; Programmanweisungen, um als Reaktion auf das Feststellen auf der Grundlage der Kategorisierung, dass der Befehl personenbezogene Informationen betrifft, bei einem Benutzer anzufragen, die Befehlsgrenze für personenbezogene Informationen für den Befehl festzulegen, wobei eine Lautstärkepegelreaktion für den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit mit der Befehlsgrenze für personenbezogene Informationen in Zusammenhang steht; und Programmanweisungen zum Speichern der Befehlsgrenze für personenbezogene Informationen für den Befehl.
  13. Computerprogrammprodukt nach Anspruch 12, wobei Programmanweisungen zum Kategorisieren des durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbaren Befehls ferner umfassen: Programmanweisungen zum Kategorisieren des Befehls als personenbezogene Informationen betreffend oder eines ersten Abschnitts des Befehls als personenbezogene Informationen betreffend; und Programmanweisungen zum Kategorisieren des Befehls als personenbezogene Informationen enthaltend oder als zu einer akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führend.
  14. Computerprogrammprodukt nach Anspruch 13, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Feststellen, dass der Befehl personenbezogene Informationen betrifft, da der erste Abschnitt des Befehls als personenbezogene Informationen enthaltend kategorisiert ist und der Befehl zu der akustischen Reaktion mit personenbezogenen Informationen durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit führt.
  15. Computersystem, das aufweist: einen oder mehrere Computerprozessoren; ein oder mehrere durch einen Computer lesbare Speichermedien; und Programmanweisungen, die auf den durch einen Computer lesbaren Speichermedien zur Ausführung durch mindestens einen des einen oder der mehreren Computerprozessoren gespeichert sind, wobei die Programmanweisungen aufweisen: Programmanweisungen zum Festlegen einer ersten Befehlsgrenze für einen ersten intelligenten virtuellen Assistenten, der auf einer ersten elektronischen Einheit betrieben wird; Programmanweisungen, um als Reaktion auf das Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit einen Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze zu erkennen; und Programmanweisungen, um als Reaktion auf das Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb der ersten Befehlsgrenze erkennbar ist, den Befehl an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit zu senden.
  16. Computersystem nach Anspruch 15, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Festlegen einer zweiten Befehlsgrenze für einen zweiten intelligenten virtuellen Assistenten, der auf einer zweiten elektronischen Einheit betrieben wird, wobei die erste Befehlsgrenze die zweite Befehlsgrenze nicht überlappt.
  17. Computersystem nach Anspruch 15, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Festlegen eines ersten Satzes von Befehlsregeln für den ersten intelligenten virtuellen Assistenten, der auf der ersten elektronischen Einheit betrieben wird, und eines zweiten Satzes von Befehlsregeln für den zweiten intelligenten virtuellen Assistenten, der auf der zweiten elektronischen Einheit betrieben wird.
  18. Computersystem nach einem der vorhergehenden Ansprüche 15 bis 17, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Analysieren des Befehls in Bezug auf personenbezogene Informationen; Programmanweisungen, um als Reaktion auf das Feststellen auf der Grundlage des Analysierens, dass der Befehl personenbezogene Daten betrifft, eine Anweisung an den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit auf der Grundlage einer Befehlsgrenze für personenbezogene Informationen für den Befehl zu senden.
  19. Computersystem nach Anspruch 18, wobei die Programmanweisungen zum Analysieren des Befehls für personenbezogene Informationen, wobei die gespeicherten Programmanweisungen ferner umfassen: Programmanweisungen zum Kategorisieren des Befehls, der durch den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit ausführbar ist; Programmanweisungen, um als Reaktion auf das Feststellen auf der Grundlage der Kategorisierung, dass der Befehl personenbezogene Informationen betrifft, bei einem Benutzer anzufragen, die Befehlsgrenze für personenbezogene Informationen für den Befehl festzulegen, wobei eine Lautstärkepegelreaktion für den ersten intelligenten virtuellen Assistenten auf der ersten elektronischen Einheit mit der Befehlsgrenze für personenbezogene Informationen in Zusammenhang steht; und Programmanweisungen zum Speichern der Befehlsgrenze für personenbezogene Informationen für den Befehl.
  20. Mittels Computer realisiertes Verfahren, das umfasst: Festlegen eines Nahfeldradius für einen intelligenten virtuellen Assistenten, der auf einer ersten elektronischen Einheit betrieben wird. wobei es sich bei dem Nahfeldradius um eine Befehlsgrenze handelt, die Nahfeldaudio und Fernfeldaudio trennt; als Reaktion auf das Empfangen von Audio aus einer Mehrzahl von Quellen innerhalb einer Nähe der ersten elektronischen Einheit Erkennen eines Abschnitts des Audios aus der Mehrzahl von Quellen innerhalb des Nahfeldradius; und als Reaktion auf das Feststellen, dass ein Befehl in dem Abschnitt des Audios aus der Mehrzahl von Quellen innerhalb des Nahfeldradius erkennbar ist, Anweisen des intelligenten virtuellen Assistenten, den Befehl auszuführen.
  21. Mittels Computer realisiertes Verfahren nach Anspruch 20, das ferner umfasst: Analysieren des Abschnitts des Audios aus der Mehrzahl von Quellen innerhalb des Nahfeldradius für den durch die erste elektronische Einheit ausführbaren Befehl.
  22. Mittels Computer realisiertes Verfahren nach Anspruch 20 oder 21, das ferner umfasst: als Reaktion auf das Feststellen, dass eine zweite elektronische Einheit in Zusammenhang mit dem Befehl steht, Anzeigen des Befehls in der zweiten elektronischen Einheit; und als Reaktion auf das Empfangen einer Korrektur an dem Befehl von der zweiten elektronischen Einheit; Anweisen des intelligenten virtuellen Assistenten, den Befehl mit der Korrektur auszuführen.
  23. Mittels Computer realisiertes Verfahren nach einem der vorhergehenden Ansprüche 20 bis 22, wobei ein erster Indikator einem ersten Teilbefehl des Befehls zugewiesen wird und ein zweiter Indikator einem zweiten Teilbefehl des Befehls zugewiesen wird.
  24. Mittels Computer realisiertes Verfahren nach Anspruch 23, das ferner umfasst: Empfangen der Korrektur an dem Befehl von der zweiten elektronischen Einheit, wobei die Korrektur den ersten Indikator dem zweiten Teilbefehl des Befehls und den zweiten Indikator dem ersten Teilbefehl des Befehls zuweist.
  25. Mittels Computer realisiertes Verfahren nach Anspruch 24, wobei der erste Indikator den virtuellen Assistenten anweist, den zweiten Teilbefehl des Befehls vor dem Ausführen des ersten Teilbefehls des Befehls mit dem zweiten Indikator auszuführen.
DE112022001483.0T 2021-05-10 2022-05-04 Betriebsbefehlsgrenzen Pending DE112022001483T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/315,397 2021-05-10
US17/315,397 US11676599B2 (en) 2021-05-10 2021-05-10 Operational command boundaries
PCT/IB2022/054100 WO2022238815A1 (en) 2021-05-10 2022-05-04 Operational command boundaries

Publications (1)

Publication Number Publication Date
DE112022001483T5 true DE112022001483T5 (de) 2024-01-11

Family

ID=83901643

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022001483.0T Pending DE112022001483T5 (de) 2021-05-10 2022-05-04 Betriebsbefehlsgrenzen

Country Status (4)

Country Link
US (1) US11676599B2 (de)
JP (1) JP2024518875A (de)
DE (1) DE112022001483T5 (de)
WO (1) WO2022238815A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11676599B2 (en) 2021-05-10 2023-06-13 International Business Machines Corporation Operational command boundaries

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140244267A1 (en) * 2013-02-26 2014-08-28 Avaya Inc. Integration of user orientation into a voice command system
US10192546B1 (en) 2015-03-30 2019-01-29 Amazon Technologies, Inc. Pre-wakeword speech processing
US10026403B2 (en) * 2016-08-12 2018-07-17 Paypal, Inc. Location based voice association system
US20190295540A1 (en) 2018-03-23 2019-09-26 Cirrus Logic International Semiconductor Ltd. Voice trigger validator
US10887351B2 (en) 2018-05-02 2021-01-05 NortonLifeLock Inc. Security for IoT home voice assistants
JP2019204025A (ja) 2018-05-24 2019-11-28 レノボ・シンガポール・プライベート・リミテッド 電子機器、制御方法、及びプログラム
US10811007B2 (en) 2018-06-08 2020-10-20 International Business Machines Corporation Filtering audio-based interference from voice commands using natural language processing
US20200020330A1 (en) 2018-07-16 2020-01-16 Qualcomm Incorporated Detecting voice-based attacks against smart speakers
GB2576016B (en) 2018-08-01 2021-06-23 Arm Ip Ltd Voice assistant devices
US10860096B2 (en) 2018-09-28 2020-12-08 Apple Inc. Device control using gaze information
US11355108B2 (en) 2019-08-20 2022-06-07 International Business Machines Corporation Distinguishing voice commands
US11676599B2 (en) 2021-05-10 2023-06-13 International Business Machines Corporation Operational command boundaries

Also Published As

Publication number Publication date
JP2024518875A (ja) 2024-05-08
WO2022238815A1 (en) 2022-11-17
US20220358914A1 (en) 2022-11-10
US11676599B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE102016125848A1 (de) Containeranwendung mit dynamischem Unterpaket-Lader
US11039783B2 (en) Automatic cueing system for real-time communication
DE102016204322A1 (de) Sichern einer Einheit unter Verwendung von grafischer Analyse
DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112019001478T5 (de) Automatisierte smartwatch-hilfe bei einem herzstillstand
DE112019001184T5 (de) Systeme und Verfahren zur Autofill-Feldklassifizierung
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
US20200092322A1 (en) VALIDATING COMMANDS FOR HACKING AND SPOOFING PREVENTION IN AN INTERNET OF THINGS (IoT) COMPUTING ENVIRONMENT
US11283806B2 (en) Adaptive security system
DE112022001483T5 (de) Betriebsbefehlsgrenzen
DE102021129310A1 (de) Identifizieren einer sprachbefehlsgrenze
DE102021210881A1 (de) Verwenden von sprach- und gesichtsbiometrik zum übermitteln von textmitteilungen zur richtigen zeit
DE112021005050T5 (de) Zugriffsberechtigungsprüfung in systemen mit künstlicher intelligenz
DE112021003923T5 (de) Iterative speicherzuordnungsoperationen bei intelligenten linsen/augmentierten brillen
DE102021123577A1 (de) Audioqualitäts-feedback während einer live-übertragung von einer quelle
DE102021125019A1 (de) Orchestrierung von einheiten für das internet der dinge
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112020004487T5 (de) Erkennen von mutationsereignissen zum überwachen der integrität
DE112020005801T5 (de) Erkennen eines datenverlustrisikos bei 5g-fähigen einheiten
US20230082146A1 (en) System and method for public housing evaluation
DE112020003555B4 (de) Verwaltung von sicherheits-berechtigungsnachweisen für client-anwendungen
US20230066524A1 (en) Management of devices in a smart environment
DE112021005482T5 (de) Ar- (augmented reality) gestützte selektive geräuscheinbindung aus der umgebung während der ausführung eines sprachbefehls

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R084 Declaration of willingness to licence