DE112017000104T5 - Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung - Google Patents

Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung Download PDF

Info

Publication number
DE112017000104T5
DE112017000104T5 DE112017000104.8T DE112017000104T DE112017000104T5 DE 112017000104 T5 DE112017000104 T5 DE 112017000104T5 DE 112017000104 T DE112017000104 T DE 112017000104T DE 112017000104 T5 DE112017000104 T5 DE 112017000104T5
Authority
DE
Germany
Prior art keywords
action
data
computing device
processing system
data processing
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
DE112017000104.8T
Other languages
English (en)
Inventor
Gaurav Bhaya
Robert Stets
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE112017000104T5 publication Critical patent/DE112017000104T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • 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/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

Systeme und Verfahren zum Kombinieren mehrerer sprachaktivierter Audioeingabedatenpakete, die sequenzabhängige Vorgänge angeben, werden bereitgestellt. Eine Prozessorkomponente für natürliche Sprache kann erste und zweite Audioeingabesignale von einem Client-Computergerät empfangen und jeweilige Anfragen und entsprechende Auslöserschlüsselwörter identifizieren. Eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) kann jeweilige Aktionsdatenstrukturen erzeugen und jeweilige Datenübertragungen konstruieren, die jeweilige Aktionsdatenstrukturen beinhalten. Eine Thread-Optimierungskomponente kann Datenpakete der ersten Datenübertragung sowie Datenpakete der zweiten Datenübertragung erhalten. Die Thread-Optimierungskomponente kann, auf Basis einer heuristischen Technik, die auf die Datenpakete der jeweiligen Datenübertragungen angewandt wird, einen Sequenzabhängigkeitsparameter ermitteln. Die Thread-Optimierungskomponente kann, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, die ersten und zweiten Datenübertragungen in einem Einzelthread zusammenführen.

Description

  • HINTERGRUND
  • Die vorliegende Anmeldung beansprucht den Vorteil und die Priorität der US-Patentanmeldung Nr. 15/395,725 , eingereicht am 30. Dezember 2016 unter dem Titel „SEQUENCE DEPENDENT DATA MESSAGE CONSOLIDATION IN A VOICE ACTIVATED COMPUTER NETWORK ENVIRONMENT“ (SEQUENZABHÄNGIGE DATENNACHRICHTENKONSOLIDIERUNG IN EINER SPRACHAKTIVIERTEN COMPUTERNETZWERKUMGEBUNG), die in ihrer Gesamtheit durch Bezugnahme hierin für alle Zwecke einbezogen wird.
  • HINTERGRUND
  • Paketbasierte oder anderweitige überhöhte Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten können ein Computergerät daran hindern, die Netzwerkverkehrsdaten richtig zu verarbeiten, eine Operation, die mit den Netzwerkverkehrsdaten verbunden ist, abzuschließen oder zeitgerecht auf die Netzwerkverkehrsdaten zu reagieren. Die überhöhten Netzwerkübertragungen von Netzwerkverkehrsdaten können zudem ein Datenrouting erschweren oder die Qualität der Antwort verschlechtern, wenn das ansprechende Computergerät an oder über dessen Verarbeitungskapazität gelangt, was eine ineffiziente Bandbreitennutzung zur Folge haben kann. Die Steuerung von Netzwerkübertragungen, die Inhaltselementobjekten entsprechen, kann durch die große Anzahl von Inhaltselementobjekten erschwert werden, die Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten initiieren können.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Mindestens ein Aspekt ist auf ein System zum Kombinieren mehrerer sprachaktivierter Audioeingabedatenpakete gerichtet, die sequenzabhängige Vorgänge angeben. Eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, kann, über eine Schnittstelle des Datenverarbeitungssystems, Datenpakete empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen. Die Prozessorkomponente für natürliche Sprache kann das erste Eingabeaudiosignal parsen, um eine erste Anfrage und ein erstes Auslöserschlüsselwort zu identifizieren, das der ersten Anfrage entspricht. Eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems kann, basierend auf dem Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, eine erste Aktionsdatenstruktur erzeugen. Die Direktaktions-API kann eine erste Datenübertragung konstruieren, die die erste Aktionsdatenstruktur beinhaltet, um eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Die Prozessorkomponente für natürliche Sprache kann, über die Schnittstelle des Datenverarbeitungssystems, Datenpakete empfangen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor der Client-Computergeräts erkannt wurde, und kann das zweite Eingabeaudiosignal parsen, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die Direktaktions-Anwendungsprogrammierschnittstelle („API“) kann, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, eine zweite Aktionsdatenstruktur erzeugen. Die Direktaktions-API kann eine zweite Datenübertragung konstruieren, die die zweite Aktionsdatenstruktur beinhaltet, um eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Eine Thread-Optimierungskomponente, die vom Datenverarbeitungssystem ausgeführt wird, kann Datenpakete der ersten Datenübertragung sowie Datenpakete der zweiten Datenübertragung erhalten. Die Thread-Optimierungskomponente kann, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenstruktur und die Datenpakete, die auf die zweite Datenstruktur angewandt wird, einen Sequenzabhängigkeitsparameter ermitteln. Die Thread-Optimierungskomponente kann, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, die erste Datenübertragung mit der zweiten Aktionsdatenübertragung in einem Einzelthread zusammenführen.
  • Mindestens ein Aspekt ist auf ein Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen gerichtet, die sequenzabhängige Vorgänge angeben. Das Verfahren kann das Empfangen von Datenpaketen, die ein durch einen Sensor eines Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, beinhalten. Das Verfahren kann das Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, beinhalten. Das Verfahren kann das Erzeugen einer ersten Aktionsdatenstruktur durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage beinhalten. Das Verfahren kann das Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Das Verfahren kann das Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen beinhalten, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor des Client-Computergeräts erkannt wurde, und das Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Das Verfahren kann das Erzeugen, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur beinhalten. Das Verfahren kann das Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Das Verfahren kann das Erhalten, durch die Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Daten der ersten Datenübertragung und Daten der zweiten Datenübertragung beinhalten. Das Verfahren kann das Ermitteln, auf Basis einer heuristischen Technik, die auf die Daten der ersten Datenübertragung angewandt wird und auf die Daten der zweiten Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters beinhalten. Das Verfahren kann das Verknüpfen, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread beinhalten.
  • Mindestens ein Aspekt bezieht sich auf ein computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie durch einen oder mehrere Datenprozessoren ausgeführt werden, den einen oder die mehreren Datenprozessoren veranlassen, Vorgänge auszuführen, um mehrere sprachaktivierte Audioeingabedatenkommunikationen zu verwalten, die sequenzabhängige Vorgänge angeben. Die Vorgänge können das Empfangen von Datenpaketen, die ein durch einen Sensor eines Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, beinhalten. Die Vorgänge können das Identifizieren einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, beinhalten. Die Vorgänge können das Erzeugen einer ersten Aktionsdatenstruktur durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage beinhalten. Die Vorgänge können das Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Die Vorgänge können das Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen beinhalten, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor der Client-Computergeräts erkannt wurde, und das Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die Vorgänge können das Erzeugen, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweite Aktionsdatenstruktur beinhalten. Die Vorgänge können das Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät beinhalten, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden. Die Vorgänge können das Erhalten, durch die Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Datenpaketen der ersten Datenübertragung und Datenpaketen der zweiten Datenübertragung beinhalten. Die Vorgänge können das Ermitteln, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenstruktur und die Datenpakete der zweiten Datenstruktur angewandt wird, eines Sequenzabhängigkeitsparameter beinhalten. Die Vorgänge können das Verknüpfen, auf Basis des Sequenzabhängigkeitsparameters, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread beinhalten.
  • Diese und andere Aspekte und Implementierungen werden nachfolgend näher erläutert. Die vorstehenden Informationen und die folgende ausführliche Beschreibung beinhalten veranschaulichende Beispiele verschiedener Aspekte und Implementierungen und stellen einen Überblick oder einen Rahmen für das Verständnis des Wesens und Charakters der beanspruchten Aspekte und Implementierungen bereit. Die Zeichnungen bieten eine Veranschaulichung und ein weiteres Verständnis der verschiedenen Aspekte und Implementierungen und sind in diese Spezifikation einbezogen und stellen einen Teil derselben dar.
  • Figurenliste
  • Die begleitenden Zeichnungen sollen nicht maßstabsgetreu sein. Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen verweisen auf ähnliche Elemente. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
    • 1 stellt ein System zum Kombinieren mehrerer sprachaktivierter Eingabedatenpakete dar, die sequenzabhängige Vorgänge in einer sprachaktivierten Computernetzwerkumgebung angegeben haben;
    • 2 stellt ein Funktionsdiagramm einer Einzelthreadstruktur für eine auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar;
    • 3 stellt ein Funktionsdiagramm der Thread-Datenstrukturerzeugung und Kommunikation zwischen Remote-Datenverarbeitungssystemen und Dienstanbieter-Computergeräten in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung dar;
    • 4 stellt Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen dar, die sequenzabhängige Vorgänge angeben; und
    • 5 zeigt ein Blockdiagramm, das eine allgemeine Architektur für ein Computersystem veranschaulicht, das zum Implementieren von Elementen der hierin beschriebenen und veranschaulichten Systeme und Verfahren eingesetzt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend finden sich ausführlichere Beschreibungen von verschiedenen Konzepten, die Verfahren, Vorrichtungen und Systeme zum Optimieren der Verarbeitung mehrerer sprachaktivierter Audioeingabedatenpakete in einer sprachaktivierten Computernetzwerkumgebung betreffen, und von Implementierungen derselben. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erläutert werden, können auf eine beliebige von zahlreichen Weisen implementiert werden.
  • Systeme und Verfahren der vorliegenden Offenbarung beziehen sich allgemein auf ein Datenverarbeitungssystem, das mehrere auf sprachaktivierten Paketen (oder einem anderen Protokoll) basierende Eingabeaudiosignale über paketbasierte Übertragungen in einer sprachaktivierten Computernetzwerkumgebung optimiert oder dynamisch anpasst. Das Datenverarbeitungssystem kann die Effizienz und Effektivität der Datenpaketübertragung über eines oder mehrere Computernetzwerke beispielsweise durch Extrahieren von Informationen aus Eingabeaudiosignalen zum Erzeugen mehrerer entsprechender Aktionsdatenstrukturen verbessern. Die Aktionsdatenstrukturen können für die Übertragung während Kommunikationssitzungen zwischen dem Datenverarbeitungssystem und mehreren verschiedenen Dienstanbieter-Computergeräten konstruiert sein. Aus den Datenpaketen verschiedener Aktionsdatenstrukturen kann das Datenverarbeitungssystem beispielsweise mindestens einen Sequenzabhängigkeitsparameter ermitteln. Die Sequenzabhängigkeitsparameter können eine Reihenfolge der Aktionsvorgänge angeben, die durch die Aktionsdatenstrukturen oder ihre entsprechenden Datenübertragungen angegeben werden. Auf Basis der Sequenzabhängigkeitsparameter kann das Datenverarbeitungssystem mehrere Aktionsdatenübertragungen in einem Einzelthread zusammenführen oder kombinieren.
  • Der Einzelthread kann sequenzabhängige Vorgänge von mehreren Aktionsdatenstrukturen beinhalten. Das Datenverarbeitungssystem kann den Einzelthread oder Teile davon (z. B. mindestens eine paketbasierte Datenstruktur) mehreren Dienstanbieter-Computergeräten bereitstellen, um Aktionen durchzuführen, die durch den Einzelthread angegeben werden. Das Datenverarbeitungssystem kann außerdem den Einzelthread oder Teile davon für mindestens ein Inhaltsanbieter-Computergerät bereitstellen, um Inhaltselemente zu erhalten, die mit dem Einzelthread verknüpft sind. Die Dienstanbieter-Computergeräte und die Inhaltsanbieter-Computergeräte können, über das oder unter Umgehung des Datenverarbeitungssystems, mit mindestens einem Client-Computergerät (z. B. einer Quelle der Audioeingabesignale) kommunizieren, um Audioausgaben wiederzugeben, um die Aktionen durchzuführen, die durch den Thread angegeben werden, oder um Inhaltselemente am Client-Computergerät wiederzugeben.
  • Durch Zusammenführen oder sonstiges Konsolidieren mehrerer Aktionsdatenstrukturen in einem Einzelthread und durch Identifizieren sequenzabhängiger Vorgänge, die durch den Einzelthread angegeben werden, werden die Verarbeitungs-, Energie- und Speichernutzungsanforderungen des Datenverarbeitungssystem im Vergleich zur individuellen Verarbeitung mehrerer Aktionsdatenstrukturen ohne solche Konsolidierung und Sequenzabhängigkeitsidentifizierung verringert. Asynchrone Verarbeitung oder Verarbeitung in falscher Reihenfolge der Vorgänge individueller Aktionsdatenstrukturen kann beispielsweise unpassende, vorzeitige oder unnötige Datenpaketkommunikationen über aufgebaute Kommunikationssitzungen zwischen dem Datenverarbeitungssystem und den Dienstanbieter- oder Inhaltsanbieter-Computergeräten verursachen. Dies verschwendet Bandbreite und kann unnötige Verarbeitungsvorgänge durch das Datenverarbeitungssystem sowie durch die Dienstanbieter- und Inhaltsanbieter-Computergeräte verursachen, wodurch die Rechenressourcen mehrerer Computergeräte verschwendet werden.
  • Basierend auf identifizierten sequenzabhängigen Vorgängen im Einzelthread kann das Datenverarbeitungssystem vorübergehend oder dauerhaft die Anfangsvorgänge eines Satzes von sequenzabhängigen Vorgängen überspringen und stattdessen zu einem Vorgang übergehen, der einem späteren oder endgültigen Vorgang entspricht. Indem paket- oder anderen protokollbasierte Datenübertragungen, die einem frühen Betrieb einer Vielzahl von sequenzabhängigen Vorgängen entsprechen, umgangen werden und stattdessen direkt zu paketbasierten Datenübertragungen für spätere Vorgänge in einer Folge von Vorgängen übergegangen wird, kann das Datenverarbeitungssystem die Datenverarbeitung, die mit den Vorgängen in der Frühphase verbunden ist, reduzieren, verzögern oder beseitigen. Dies spart Verarbeitungsleistung und andere Rechenressourcen wie Speicher, reduziert den Stromverbrauch des Datenverarbeitungssystems, darüber hinaus werden durch die reduzierte Datenübertragung über das Computernetzwerk der Bandbreitenbedarf und die Nutzung des Datenverarbeitungssystems reduziert.
  • Die hier beschriebenen Systeme und Verfahren können ein Datenverarbeitungssystem beinhalten, das ein erstes Eingabeaudiosignal empfängt. Vom ersten Eingabeaudiosignal kann das Datenverarbeitungssystem eine erste Anfrage und ein erstes Auslöserschlüsselwort identifizieren, das der Anfrage entspricht. Auf Basis des ersten Auslöserschlüsselworts oder der ersten Anfrage kann das Datenverarbeitungssystem eine erste Aktionsdatenstruktur erzeugen und kann eine erste Datenübertragung konstruieren oder vorbereiten, die die erste Aktionsdatenstruktur beinhaltet. Die erste Datenübertragung kann als ein Datenpaket oder andere protokollbasierte Übertragung vom Client-Computergerät zu mindestens einem ersten Dienstanbieter-Computergerät als Teil der ersten Kommunikationssitzung geroutet werden.
  • Das Datenverarbeitungssystem kann ein zweites Eingabeaudiosignal empfangen. Vom zweiten Eingabeaudiosignal kann das Datenverarbeitungssystem eine zweite Anfrage und ein zweites Auslöserschlüsselwort identifizieren, das der Anfrage entspricht. Auf Basis des zweiten Auslöserschlüsselworts oder der zweiten Anfrage kann das Datenverarbeitungssystem eine zweite Aktionsdatenstruktur erzeugen und eine zweite Datenübertragung konstruieren oder vorbereiten, die die zweite Aktionsdatenstruktur beinhaltet. Die zweite Datenübertragung kann als ein Datenpaket oder andere protokollbasierte Übertragung vom Client-Computergerät zu mindestens einem zweiten Dienstanbieter-Computergerät als Teil der zweiten Kommunikationssitzung geroutet werden. Die ersten und zweiten Dienstanbieter-Computergeräte können verschiedenen Entitäten entsprechen, die nicht über das Datenverarbeitungssystem miteinander kommunizieren.
  • Das Datenverarbeitungssystem kann Datenpakete der ersten und zweiten Übertragungen (z. B. von den ersten und zweiten Datenstrukturen) erhalten und Informationen aus den Datenpaketen extrahieren, um mindestens einen Sequenzabhängigkeitsparameter zu ermitteln. Der Sequenzabhängigkeitsparameter kann eine Sequenz der Vorgänge für Aktionen der ersten und zweiten Datenstrukturen angeben. Das Datenverarbeitungssystem kann die Sequenzabhängigkeitsparameter mit einem Schwellenwert (z. B. einer Regel, einer Richtlinie oder einem Wert) vergleichen und auf Basis des Vergleichs kann das Datenverarbeitungssystem die ersten und zweiten Datenübertragungen (oder verknüpfte Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Der Einzelthread kann Aktionen der ersten und zweiten (oder mehr) Aktionsdatenstrukturen angeben und eine Sequenz oder Reihenfolge dieser Aktionen sowie Sequenzabhängigkeiten angeben, wobei zum Beispiel eine zweite Aktion nicht beginnen (oder für das Beginnen geplant werden) kann, bis die erste Aktion abgeschlossen ist.
  • Das Datenverarbeitungssystem kann Vorgänge in Verbindung mit einigen Aktionen des Einzelthread, zum Beispiel auf Basis von Sequenzabhängigkeiten oder auf Basis von Eingaben, die vom Client-Computergerät empfangen werden, neu ordnen, überspringen oder zumindest vorübergehend umgehen. Dies kann vor oder ohne Ausführen von mindestens einem Teil der Datenverarbeitungsvorgänge erfolgen, die auf der umgangenen Aktion basieren. Das Umgehen der Verarbeitungsvorgänge für eine erste Aktion kann dazu führen, dass Daten in Verbindung mit einer zweiten Aktion mit weniger Datenverarbeitung und weniger Stromverbrauch identifiziert, übertragen oder wiedergegeben werden als ohne die Umgehung der Fall wäre.
  • 1 stellt ein exemplarisches System 100 zur Optimierung der Verarbeitung von mehreren Aktionsdatenstrukturen mit sequenzabhängigen Vorgängen in einer sprachaktivierten (oder anderen protokoll-) basierten Computernetzwerkumgebung dar. Das System 100 kann mindestens ein Datenverarbeitungssystem 105, beispielsweise als Teil eines sprachaktivierten Kommunikations- oder Planungssystems, beinhalten. Das Datenverarbeitungssystem 105 kann mindestens einen Server beinhalten, der mindestens einen Prozessor aufweist. Das Datenverarbeitungssystem 105 kann zum Beispiel eine Vielzahl von Servern beinhalten, die sich in mindestens einem Rechenzentrum oder in einer Serverfarm befinden. Das Datenverarbeitungssystem 105 kann aus einem Audioeingabesignal eine Anfrage und ein mit der Anfrage verknüpftes Auslöserschlüsselwort bestimmen. Auf Basis der Anfrage und des Auslöserschlüsselworts kann das Verarbeitungssystem 105 eine Aktionsdatenstruktur erzeugen. Die Aktionsdatenstruktur kann mindestens eine Aktion angeben, die dem Eingabeaudiosignal entspricht. Das Datenverarbeitungssystem 105 kann mehrere getrennte Eingabeaudiosignale empfangen und für jedes Eingabeaudiosignal eine jeweilige Datenstruktur erstellen. Das Datenverarbeitungssystem 105 kann Datenübertragungen für jede Datenstruktur konstruieren oder anderweitig vorbereiten, um die Datenstrukturen während jeweiliger Kommunikationssitzungen in Bezug auf andere Computergeräte (z. B. Dienstanbieter-Computergeräte oder Inhaltsanbieter-Computergeräte) zu übertragen. Das Datenverarbeitungssystem 105 kann, aus den Aktionsdatenstrukturen oder entsprechenden Datenübertragungen, einen oder mehrere Sequenzabhängigkeitsparameter ermitteln. Auf Basis der Sequenzabhängigkeitsparameter kann das Datenverarbeitungssystem 105 mehrere Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Ein Einzelthread kann Aktionen von mindestens zwei Aktionsdatenstrukturen sowie Reihenfolgen von Vorgängen oder Sequenzabhängigkeiten der Aktionen angeben.
  • Das Datenverarbeitungssystem 105 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse unterstützen. Die logische Gruppe von Servern kann als ein Rechenzentrum, eine Serverfarm oder eine Computerfarm bezeichnet werden. Die Server können auf verschiedene Standorte verteilt sein. Ein Rechenzentrum oder eine Computerfarm kann als eine einzelne Entität verwaltet werden oder die Computerfarm kann eine Vielzahl von Computerfarmen beinhalten. Die Server in einer Computerfarm können heterogen sein - ein oder mehrere der Server oder Computer können gemäß einer oder mehreren Arten von Betriebssystemplattformen betrieben werden. Das Datenverarbeitungssystem 105 kann Server in einem Rechenzentrum beinhalten, die in einem oder mehreren High-Density-Racksystemen gespeichert sind, sowie zugehörige Speichersysteme, die beispielsweise in einem Unternehmensrechenzentrum positioniert sind. Das Datenverarbeitungssystem 105 mit konsolidierten Servern kann auf diese Weise Systemverwaltung, Datensicherheit, physische Sicherheit des Systems sowie Systemleistung verbessern, indem in lokalisierten Hochleistungsnetzwerken nach Servern und Hochleistungsspeichersystemen gesucht wird. Die Zentralisierung aller oder einiger der Komponenten des Datenverarbeitungssystems 105, einschließlich Server und Speichersysteme, sowie das Koppeln dieser mit verbesserten System-Management-Tools ermöglicht eine effizientere Verwendung von Server-Ressourcen, wodurch Strom- und Verarbeitungsanforderungen gespart und die Bandbreitennutzung reduziert werden.
  • Das Datenverarbeitungssystem 105 kann mindestens eine Prozessorkomponente für natürliche Sprache (NLP) 110, mindestens eine Schnittstelle 115, mindestens eine Thread-Optimierungskomponente 120, mindestens eine Inhaltsauswahlelementkomponente 125, mindestens eine Audiosignalgeneratorkomponente 130, mindestens eine Direktaktions-Anwendungsprogrammierschnittstelle (API) 135, mindestens eine Sitzungshandhabungselementkomponente 140 und mindestens einen Datenbehälter 145 beinhalten. Die NLP-Komponente 110, Schnittstelle 115, Thread-Optimierungskomponente 120, Inhaltsauswahlelementkomponente 125, Audiosignalgeneratorkomponente 130, Direktaktions-API 135 und Sitzungshandhabungselementkomponente 140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logikgerät, wie z. B. programmierbare Arrays beinhalten, die konfiguriert sind, mit dem Datenbehälter 145 und mit sonstigen Computergeräten (z. B. dem Client-Computergerät 150, dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160) über das mindestens eine Computernetzwerk 165 kommunizieren zu können. Das Netzwerk 165 kann Computernetzwerke, wie z. B. das Internet, lokale Netzwerke, regionale Netzwerke und Großraumnetzwerke oder sonstige Bereichsnetzwerke, Intranets, Satellitennetzwerke oder sonstige Computernetzwerke, wie z. B. sprach- oder datenbezogene Mobilfunknetze und Kombinationen derselben, beinhalten.
  • Das Netzwerk 165 kann ein Anzeigenetzwerk, wie z. B. eine im Internet verfügbare Untergruppe von Informationsquellen, beinhalten oder bilden, die mit einem Inhaltsanordnungs- oder Suchmaschinenergebnissystem verknüpft sind, oder die auswählbar sind, sodass sie Drittanbieterinhaltselemente als Teil einer Inhaltselementanordnungskampagne beinhalten. Das Netzwerk 165 kann durch das Datenverarbeitungssystem 105 verwendet werden, um auf Informationsressourcen wie Webseiten, Internetpräsenzen, Domänennamen oder URL-Adressen zuzugreifen, die durch das Client-Computergerät 150 präsentiert, ausgegeben, wiedergegeben oder angezeigt werden können. Über das Netzwerk 165 kann ein Benutzer des Client-Computergeräts 150 beispielsweise auf Informationen oder Daten zugreifen, die durch das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 bereitgestellt werden.
  • Das Netzwerk 165 kann beispielsweise ein Point-to-Point-Netzwerk, ein Broadcast-Netzwerk, ein Großraumnetzwerk, ein lokales Netzwerk, ein Telekommunikationsnetzwerk, ein Datenkommunikationsnetzwerk, ein Computernetzwerk, ein ATM-Netzwerk (Asynchroner Transfermodus), ein SONET-Netzwerk (Synchrones Optisches Netzwerk), ein SDH-Netzwerk (Synchrone Digitale Hierarchie), ein Drahtlosnetzwerk oder ein kabelgebundenes Netzwerk beinhalten und Kombinationen derselben sein. Das Netzwerk 165 kann eine Drahtlosverbindung, wie z. B. einen Infrarotkanal oder ein Satellitenfrequenzband, beinhalten. Die Topologie des Netzwerks 165 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk 165 kann mobile Telefonnetzwerke unter Verwendung eines beliebigen Protokolls oder beliebigen Protokollen beinhalten, die zur Kommunikation mit Mobilgeräten geeignet sind, darunter Advanced Mobile Phone Protocol („AMPS“), Time Division Multiple Access („TDMA“), Code-Division Multiple Access („CDMA“), Global System for Mobile Communication („GSM“), General Packet Radio Services („GPRS“) und Universal Mobile Telecommunications System („UMTS“). Verschiedene Arten von Daten können über verschiedene Protokolle übertragen werden, oder es können gleiche Arten von Daten über verschiedene Protokolle übertragen werden.
  • Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können mindestens ein Logikgerät, wie z. B. ein Computergerät mit einem Prozessor, zur Kommunikation miteinander oder mit dem Datenverarbeitungssystem 105 über das Netzwerk 165 beinhalten. Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können jeweils mindestens einen Server, Prozessor oder Speicher oder eine Vielzahl von Rechenressourcen oder Servern, die sich in mindestens einem Rechenzentrum befinden, beinhalten. Das Client-Computergerät 150, das Inhaltsanbieter-Computergerät 155 und das Dienstanbieter-Computergerät 160 können jeweils mindestens ein Computergerät, wie z. B. einen Desktop-Computer, Laptop, Tablet, persönlichen digitalen Assistenten, Smartphone, tragbaren Computer, Server, Thin Client-Computer, virtuellen Server, oder ein anderes Computergerät beinhalten.
  • Das Client-Computergerät 150 kann mindestens einen Sensor 151, mindestens einen Wandler 152, mindestens einen Audiotreiber 153 und mindestens einen Lautsprecher 154 beinhalten. Der Sensor 151 kann ein Mikrofon oder einen Audioeingabesensor beinhalten. Der Wandler 152 kann das Audioeingabesignal in ein elektronisches Signal umwandeln. Der Audiotreiber 153 kann ein Script oder Programm beinhalten, das von einem oder mehreren Prozessoren des Client-Computergeräts 150 ausgeführt wird, um den Sensor 151, den Wandler 152 oder den Audiotreiber 153 neben anderen Komponenten des Client-Computergeräts 150 zu steuern, um Audioeingaben zu verarbeiten oder Audioausgaben bereitzustellen. Der Lautsprecher 154 kann das Audioausgabesignal übertragen.
  • Das Client-Computergerät 150 kann mit einem Endbenutzer verknüpft sein, der Sprachabfragen als Audioeingabe in das Client-Computergerät 150 (über den Sensor 151) eingibt, und eine Audioausgabe in Form einer computergenerierten Stimme empfängt, die von dem Datenverarbeitungssystem 105 (oder dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160) für das Client-Computergerät 150 bereitgestellt und von einem Lautsprecher 154 ausgegeben werden kann. Die computergenerierte Stimme kann Aufzeichnungen von einer realen Person oder einer computergenerierten Sprache beinhalten.
  • Das Inhaltsanbieter-Computergerät 155 kann audiobasierte Inhaltselemente zum Anzeigen durch das Client-Computergerät 150 als ein Audioausgangsinhaltselement bereitstellen. Das Inhaltselement kann ein Angebot für eine Ware oder eine Dienstleistung, wie z. B. eine sprachbasierte Nachricht wie folgt beinhalten: „Möchten Sie, dass ich für Sie ein Taxi bestelle?“ Das Inhaltsanbieter-Computergerät 155 kann beispielsweise einen Arbeitsspeicher beinhalten, um eine Reihe von Audioinhaltselementen zu speichern, die in Reaktion auf eine sprachbasierte Abfrage bereitgestellt werden. Das Inhaltsanbieter-Computergerät 155 kann auch audiobasierte Inhaltselemente (oder andere Inhaltselemente) an das Datenverarbeitungssystem 105 bereitstellen, wo diese im Datenbehälter 145 gespeichert werden können. Das Datenverarbeitungssystem 105 kann die Inhaltselemente auswählen, die eine Audiokomponente beinhalten, und die Inhaltselemente für das Client-Computergerät 155 bereitstellen (oder das Inhaltsanbieter-Computergerät 150 anweisen, diese bereitzustellen). Die audiobasierten Inhaltselemente können ausschließlich Audio sein oder mit Text-, Bild- oder Videodaten kombiniert sein. Die Inhaltselemente können eine oder mehrere Audiodateien beinhalten, die beim Wiedergeben eine Audioausgabe oder eine akustische Welle bereitstellen. Die Inhaltselemente können neben oder anstelle von Audioinhalten auch andere Inhalte (z. B. Text-, Video- oder Bildinhalte) beinhalten. Beispielsweise können die Inhaltselemente Text- oder Bilddateien oder Kombinationen derselben beinhalten, die keine Audiodateien beinhalten und die keine Audioausgabe wiedergeben.
  • Das Dienstanbieter-Computergerät 160 kann mindestens eine Prozessorkomponente für natürliche Sprache (NLP) 161 des Dienstanbieters und mindestens eine Dienstanbieterschnittstelle 162 beinhalten. Die Dienstanbieter-NLP-Komponente 161 (oder andere Komponenten, wie z. B. eine Direktaktions-API des Dienstanbieter-Computergeräts 160) kann das Client-Computergerät 150 (über das Datenverarbeitungssystem 105 oder durch Umgehen des Datenverarbeitungssystems 105) ansteuern, um eine hin und her gehende sprach- oder audiobasierte Konversation in Echtzeit (z. B. eine Sitzung) zwischen dem Client-Computergerät 150 und dem Dienstanbieter-Computergerät 160 zu erzeugen. Die Dienstanbieterschnittstelle 162 kann beispielsweise Datennachrichten von der Direktaktions-API 135 des Datenverarbeitungssystems 105 empfangen oder für diese bereitstellen. Das Dienstanbieter-Computergerät 160 und das Inhaltsanbieter-Computergerät 155 können mit der gleichen Entität verknüpft sein. Das Dienstanbieter-Computergerät 155 kann beispielsweise Inhalte für einen Fahrgemeinschaftsdienst erzeugen, speichern oder bereitstellen, und das Dienstanbieter-Computergerät 160 kann eine Sitzung mit dem Client-Computergerät 150 aufbauen, um die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen, den Endbenutzer des Client-Computers 150 abzuholen. Das Datenverarbeitungssystem 105 kann über die Direktaktions-API 135, die NLP-Komponente 110 oder andere Komponenten auch die Sitzung mit dem Client-Computergerät 150 aufbauen, einschließlich oder unter Umgehung des Computergeräts 160 des Dienstanbieters, um z. B. die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen.
  • Der Datenbehälter 145 kann eine oder mehrere lokale oder verteilte Datenbanken und ein Datenbankmanagementsystem beinhalten. Der Datenbehälter 145 kann Computerdatenspeicher oder Arbeitsspeicher beinhalten und kann einen oder mehrere Parameter 146, eine oder mehrere Richtlinien 147, Interaktionsmodi 148 und Vorlagen 149 neben anderen Daten speichern. Die Parameter 146, Richtlinien 147 und Vorlagen 149 können Informationen, wie z. B. Regeln über eine sprachbasierte Sitzung zwischen dem Client-Computergerät 150 (oder dem Dienstanbieter-Computergerät 160) und dem Datenverarbeitungssystem 105 beinhalten. Die Inhaltsdaten 148 können Inhaltselemente für eine Audioausgabe oder verknüpfte Metadaten sowie eingegebene Audionachrichten, die Teil von einer oder mehreren Kommunikationssitzungen mit dem Client-Computergerät 150 sein können, beinhalten.
  • Das Datenverarbeitungssystem 105 kann eine Anwendung, ein Script oder ein Programm beinhalten, die/das auf dem Client-Computergerät 150 installiert ist, wie beispielsweise eine Anwendung, um Eingabeaudiosignale an die Schnittstelle 115 des Datenverarbeitungssystems 105 zu kommunizieren, und um Komponenten des Client-Computergeräts anzusteuern, um Ausgabeaudiosignale wiederzugeben. Das Datenverarbeitungssystem 105 kann Datenpakete oder ein anderes Signal empfangen, das ein Audioeingabesignal beinhaltet oder identifiziert. Beispielsweise kann das Datenverarbeitungssystem 105 zumindest einen Teil der NLP-Komponente 110 ausführen oder ausführen lassen, um das Audioeingabesignal zu empfangen.
  • Die NLP-Komponente 110 kann das Audioeingabesignal durch Vergleichen des Eingabesignals mit einer gespeicherten repräsentativen Reihe von Audiowellenformen (z. B. im Datenbehälter 145) und Auswählen der größten Übereinstimmungen in erkannten Text umwandeln. Die repräsentativen Wellenformen werden über eine große Menge von Benutzern erzeugt und können mit Sprachproben erweitert werden. Nachdem das Audiosignal in erkannten Text umgewandelt wurde, kann die NLP-Komponente 110 den Text mit Worten in Übereinstimmung bringen, die beispielsweise via Training über Benutzer oder durch manuelle Beschreibung mit Aktionen verknüpft sind, die das Datenverarbeitungssystem 105 bereitstellen kann.
  • Das Audioeingabesignal kann durch den Sensor 151 (z. B. ein Mikrofon) von dem Client-Computergerät erkannt werden. Über den Wandler 152, den Audiotreiber 153 oder andere Komponenten kann das Client-Computergerät 150 das Audioeingangssignal dem Datenverarbeitungssystem 105 (z. B. über das Netzwerk 165) bereitstellen, wo es (z. B. über die Schnittstelle 115) empfangen werden kann, und der NLP-Komponente 110 bereitgestellt oder in dem Datenbehälter 145 als Inhaltsdaten 148 gespeichert werden kann.
  • Das System 100 kann die Verarbeitung von Aktionsdatenstrukturen, die sequenzabhängige Vorgänge beinhalten, in einer sprachaktivierten (oder anderen protokoll-) basierten Computernetzwerkumgebung optimieren. Beispielsweise kann das Datenverarbeitungssystem 105 einen sprachaktivierten Assistentendienst, ein Sprachbefehlsgerät, einen intelligenten persönlichen Assistenten, einen Wissensnavigator, eine Ereignisplanung oder ein anderes Assistentenprogramm beinhalten oder Teil davon sein. Das Datenverarbeitungssystem 105 kann eine oder mehrere Instanzen der Audioausgabe für die Anzeige von dem Client-Computergerät 150 bereitstellen, um Aufgaben im Zusammenhang mit diesem Eingabeaudiosignal zu erfüllen. Zu den Aufgaben kann z. B. die Kommunikation mit dem Dienstanbieter-Computergerät 160 oder anderen Drittanbieter-Computergeräten gehören, um Abendessen zu reservieren oder Kinokarten zu kaufen. Zum Beispiel kann ein Endbenutzer ein Eingabeaudiosignal in das Client-Computergerät 150 wie folgt eingeben: „OK, ich würde gerne heute Abend essen gehen.“ Das Eingabeaudiosignal kann durch den Sensor 151 (z. B. ein Mikrofon) des Client-Computergeräts 150 erkannt und in ein Datenpaket oder eine andere protokollbasierte Struktur für die Übertragung zum Datenverarbeitungssystem 105 umgewandelt werden (z. B. durch den Wandler 152).
  • Die NLP-Komponente 110 kann mindestens ein erstes Eingabeaudiosignal empfangen oder anderweitig erhalten. Die NLP-Komponente 110 kann beispielsweise über die Schnittstelle 115 und das Computernetzwerk 165 das erste Eingabeaudiosignal von dem Client-Computergerät 150 erhalten. Die NLP-Komponente 110 kann Daten vom ersten Eingabeaudiosignal extrahieren oder anderweitig parsen, um mindestens eine erste Anfrage oder mindestens ein erstes Auslöserschlüsselwort zu identifizieren, das der ersten Anfrage entspricht. Die erste Anfrage kann Absicht oder Gegenstand des ersten Eingabeaudiosignals, z. B. eine Absicht zum Abendessen, anzeigen. Das erste Auslöserschlüsselwort kann eine Art von Aktion anzeigen, die wahrscheinlich vorzunehmen ist. Die NLP-Komponente 110 kann beispielsweise das erste Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend für ein Abendessen wegzugehen. Das erste Auslöserschlüsselwort kann mindestens ein Wort, einen Ausdruck, einen Wortstamm oder ein Teilwort oder eine Ableitung beinhalten, das bzw. die eine vorzunehmende Aktion anzeigen. Das Auslöserschlüsselwort „gehen“ oder „gehen zu“ von dem Eingabeaudiosignal kann beispielsweise eine Notwendigkeit für einen Transport anzeigen. Bei diesem Beispiel drückt das Eingabeaudiosignal (oder die identifizierte Anfrage) nicht direkt eine Absicht für einen Transport aus, das Auslöserschlüsselwort zeigt jedoch an, dass ein Transport eine Zusatz- oder Teilaktion für mindestens eine andere Aktion ist, die durch die Anfrage angezeigt wird.
  • Die NLP-Komponente 110 kann ein zweites Eingabeaudiosignal empfangen. Das erste Audioeingabesignal kann beispielsweise sein „OK, ich würde gerne heute Abend essen gehen“ und das zweite Audioeingabesignal kann sein „OK, ich würde gerne später einen Kinofilm ansehen“. Die NLP-Komponente 110 kann das zweite Eingabeaudiosignal von beliebigem Client-Computergerät 150 analog zu der Weise, wie das erste Eingabeaudiosignal erhalten wurde, z. B. über das Netzwerk 165, empfangen oder anderweitig erhalten. Die NLP-Komponente 110 kann Daten vom zweiten Eingabeaudiosignal extrahieren oder anderweitig parsen, um mindestens eine zweite Anfrage oder mindestens ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht. Die zweite Anfrage kann Absicht oder Gegenstand des zweiten Eingabeaudiosignals anzeigen, z. B. einen Kinofilm in einem Kino anzusehen. Das zweite Auslöserschlüsselwort kann eine Art von Aktion anzeigen, die wahrscheinlich vorzunehmen ist. Die NLP-Komponente 110 kann beispielsweise das Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend für einen Kinofilm wegzugehen. Das zweite Auslöserschlüsselwort kann mindestens ein Wort, eine Phrase, einen Wortstamm oder ein Teilwort oder eine Ableitung beinhalten, das bzw. die eine vorzunehmende Aktion anzeigen. Das Auslöserschlüsselwort „ansehen“ vom zweiten Eingabeaudiosignal kann beispielsweise eine Notwendigkeit für Transport angeben, z. B. als Zusatz- oder Teilaktion zu mindestens einer anderen Aktion, die durch die Anfrage angegeben wird.
  • Die Direktaktions-API 135 kann Programme oder Scripts, zum Beispiel von der NLP-Komponente 110, der Thread-Optimierungskomponente 120 oder der Inhaltsauswahlkomponente 125 ausführen, um Aufgaben oder Aktionen durchzuführen oder um Inhaltselemente in Reaktion auf Eingabeaudiosignale zu identifizieren. Die Direktaktions-API 135 kann eine bestimmte Aktion ausführen, um die von dem Datenverarbeitungssystem 105 bestimmte Absicht des Endbenutzers zu erfüllen. In Abhängigkeit von der Aktion, die in deren Eingaben spezifiziert ist, kann die Direktaktions-API 135 einen Code oder ein Dialogscript ausführen, das die Parameter identifiziert, die erforderlich sind, um eine Benutzeranfrage zu erfüllen. Dieser Code kann zusätzliche Informationen z. B. in dem Datenbehälter 145 nachschlagen, wie z. B. den Namen eines Hausautomatisierungsdienstes, oder kann Audioausgaben zum Wiedergeben auf dem Client-Computergerät 150 bereitstellen, um dem Endbenutzer Fragen zu stellen, wie z. B. nach dem beabsichtigten Ziel eines angeforderten Taxis, dem Genre eines anzusehenden Kinofilms oder die Art des Restaurants für das Abendessen. Die Direktaktions-API 135 kann die notwendigen Parameter ermitteln und die Informationen in eine Aktionsdatenstruktur packen, die dann an eine andere Komponente, wie z. B. die Inhaltsauswahlkomponente 125 oder an das zu erfüllende Dienstanbieter-Computergerät 160 (oder Inhaltsanbieter-Computergerät 155) gesendet werden kann.
  • Die Direktaktions-API 135 des Datenverarbeitungssystems 105 kann, basierend auf der Anfrage oder dem Auslöserschlüsselwort, Datenstrukturen für die Aktionen des Threads erzeugen. Die Aktionsdatenstrukturen können in Reaktion auf die erzeugte Anfrage vorhanden sein. Die Aktionsdatenstruktur kann in den Nachrichten enthalten sein, die an das Dienstanbieter-Computergerät 160 übertragen oder von diesem empfangen werden. Basierend auf der Anfrage, die von der NLP-Komponente 110 analysiert wird, kann die Direktaktions-API 135 ermitteln, an welche von mehreren Dienstanbieter-Computergeräten 160 die Nachricht übertragen werden soll.
  • Die Direktaktions-API 135 kann eine erste Aktionsdatenstruktur auf Basis des ersten Auslöserschlüsselworts und in Reaktion auf die erste Anfrage erzeugen und sie kann eine zweite Aktionsdatenstruktur auf Basis des zweiten Auslöserschlüsselworts und in Reaktion auf die zweite Anfrage erzeugen. Wenn das erste Eingabeaudiosignal beispielsweise „heute Abend essen gehen“ beinhaltet, kann die NLP-Komponente 110 das Auslöserschlüsselwort „heute Abend“ und die Anfrage für einen Vorschlag oder eine Reservierung zum Abendessen identifizieren. Die Direktaktions-API 135 kann die Anfrage in eine erste Aktionsdatenstruktur für die Übertragung als eine Nachricht an ein Dienstanbieter-Computergerät 160 (oder Inhaltsanbieter-Computergerät 155) eines Restaurants verpacken. Das erste Eingabeaudiosignal kann andere Anfragen oder Auslöserschlüsselwörter beinhalten, die andere Aktionen, zusätzlich zur Abendessen-Aktion, angeben. Diese Aktionen können in der ersten Aktionsdatenstruktur enthalten sein. Die NLP-Komponente 110 kann beispielsweise erste Anfragen oder erste Auslöserschlüsselwörter für Transport oder Abendessen (zusätzliche Aktionen) aus dem ersten Eingabeaudiosignal „OK, ich würde gerne heute Abend essen gehen“ identifizieren.
  • Falls das zweite Eingabeaudiosignal beispielsweise „später einen Kinofilm ansehen“ enthält, kann die NLP-Komponente 110 die Anfrage zum Ansehen eines Kinofilms mit den Auslöserschlüsselwörtern „ansehen“ oder „später“ identifizieren. Die Direktaktions-API 135 kann die Anfrage in eine zweite Aktionsdatenstruktur für die Übertragung als eine Nachricht an ein Dienstanbieter-Computergerät 160 (oder Inhaltsanbieter-Computergerät 155) eines Kinofilmunternehmens oder Kinos verpacken. Das zweite Eingabeaudiosignal kann andere zweite Anfragen oder Auslöserschlüsselwörter beinhalten, die andere Aktionen, zusätzlich zur Kinofilm-Aktion, angeben. Diese Aktionen können in der zweiten Aktionsdatenstruktur enthalten sein. Die NLP-Komponente 110 kann beispielsweise erste Anfragen oder erste Auslöserschlüsselwörter für Transport zu oder von einem Kino (zusätzliche Aktionen) aus dem zweiten Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ identifizieren.
  • Die ersten und zweiten oder jedwede anderen Datenstrukturen können auch zur Inhaltsauswahlkomponente 125 weitergegeben werden. Die Aktionsdatenstrukturen können Informationen zum Abschließen einer oder mehrerer Aktionen beinhalten, die mit der Anfrage verknüpft sind. In diesem Beispiel können die Informationen Restaurant- oder Kinofilm-Interessenangaben, Ortsinformationen, eine Identifizierung oder einen Ort eines Restaurants oder eine Art von Restaurant, Restaurant-Reservierungsinformationen, Kinofilmanfangszeiten, Kino-Standortinformationen oder einen Abholort und einen Zielort beinhalten. Die Direktaktions-API 135 kann eine Vorlage 149 aus dem Behälter 145 abrufen, um zu bestimmen, welche Felder in die Aktionsdatenstruktur aufgenommen werden sollen. Die Direktaktions-API 135 kann Inhalte aus dem Behälter 145 abrufen, um Informationen für die Felder der Datenstruktur zu erhalten. Die Direktaktions-API 135 kann die Felder der Vorlage mit diesen Informationen füllen, um die Datenstruktur zu generieren. Die Direktaktions-API 135 kann die Felder auch mit Daten aus dem Eingabeaudiosignal oder von Drittanbieterquellen füllen. Die Vorlagen 149 können für Kategorien von Dienstanbietern standardisiert oder für bestimmte Dienstanbieter standardisiert werden. Beispielsweise können Fahrgemeinschaftsdienstanbieter die folgende standardisierte Vorlage 149 verwenden, um die Datenstruktur zu erzeugen: {client_device_identifier;
    authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}. Die Datenstruktur kann variable Felder beinhalten. Die variablen Felder können beispielsweise eine Sequenz oder Reihenfolge der Vorgänge mehrerer Aktionen angeben, die identifiziert, angegeben oder mit mindestens einer Aktion einer Datenstruktur verbunden sind. Die Direktaktions-API 135 kann Felder der Datenstruktur, einschließlich variabler Felder, ausfüllen. Die Direktaktions-API 135 kann Daten in einem oder mehreren variablen Feldern einer Datenstruktur auf Basis einer Sequenzabhängigkeit zwischen Aktionen ausfüllen oder eingeben, wie z. B. eine zweite Aktion, die nach Ende der ersten Aktion beginnt.
  • Die Direktaktions-API 135 kann Datenübertragungen konstruieren, die Datenpakete beinhalten, die Aktionsdatenstrukturen entsprechen. Die Datenübertragungen können beispielsweise paketierte Versionen der Aktionsdatenstrukturen beinhalten, z. B. Datenpakete mit Header- und Nutzlastregionen, die Informationen angeben, die durch die Datenstrukturen dargestellt werden. Die Datenübertragungen können verwendet werden, um mindestens eine Kommunikationssitzung zwischen dem Dienstanbieter-Computergerät 160 und dem Client-Computergerät 150 über das Datenverarbeitungssystem 105 herzustellen (z. B. daran teilzunehmen). Die Sitzungshandhabungselementkomponente 140 kann die Kommunikationssitzung über die Schnittstelle 115 herstellen oder identifizieren. Nach der Zusammenführungs- oder Verknüpfungsaktion erster und zweiter Datenstrukturen (oder ihrer entsprechenden paketierten Datenübertragungen) in einen Einzelthread kann das Datenverarbeitungssystem 105 die Datenübertragungen beispielsweise dem Dienstanbieter-Computergerät 160 bereitstellen. Als Teil der Kommunikation der Kommunikationssitzung kann das Dienstanbieter-Computergerät 160 außerdem über das Datenverarbeitungssystem 105 Datenpakete (oder andere Datennachrichten) vom Client-Computergerät 105 empfangen. Das Datenverarbeitungssystem 105 kann beispielsweise als Teil der Kommunikationssitzung eingehende Datennachrichten vom Client-Computergerät 150 empfangen und zu dem Dienstanbieter-Computergerät 160 routen.
  • Die Thread-Optimierungskomponente 120 kann Datenpakete der ersten und zweiten (und jedweden anderen) Datenübertragungen erhalten oder auf diese zugreifen. Die Direktaktions-API 135 kann die Übertragungen (z. B. die entsprechenden Datenpakete) beispielsweise dem Datenbehälter 145 zur Speicherung bereitstellen, wobei diese durch die Thread-Optimierungskomponente 120 abgerufen werden können. Die Thread-Optimierungskomponente 120 kann außerdem die Datenpakete (oder andere protokollbasierte Strukturen) der Datenübertragungen von der Direktaktions-API 135 (oder anderen Komponente des Datenverarbeitungssystems 105) unter Umgehung des Datenbehälters 145 empfangen.
  • Die Thread-Optimierungskomponente 120 kann Informationen von Datenpaketen mehrerer Datenübertragungen, die jeweils mehreren Aktionsdatenstrukturen entsprechen, parsen oder anderweitig extrahieren. Die Thread-Optimierungskomponente 120 kann beispielsweise eine heuristische Technik auf Datenpakete einer ersten Übertragung (oder auf die entsprechende erste Datenstruktur) und auf Datenpakete einer zweiten Übertragung (oder der entsprechenden zweiten Datenstruktur) anwenden, um mindestens einen Sequenzabhängigkeitsparameter zu ermitteln. Die heuristische oder andere statistische Technik kann einen Schwellenwertgrad von Gewissheitsmustern unter den ersten und zweiten Datenübertragungen (oder entsprechenden Datenstrukturen) identifizieren, die eine Sequenzabhängigkeit von Aktionen angeben, die durch die Datenübertragungen angegeben werden.
  • Der Sequenzabhängigkeitsparameter kann das Vorhandensein oder die Wahrscheinlichkeit (z. B. in Bezug auf einen Schwellenwert oder einen anderen Vergleichswert) von Aktionen angeben, die durch die Datenübertragungen (oder entsprechenden Aktionsdatenstrukturen) dargestellt werden, die eine Reihenfolge von Vorgängen, Zeit oder Sequenzabhängigkeit voneinander haben. Die sequenzabhängigen Vorgänge oder Aktionen, die durch die Sequenzabhängigkeitsparameter angegeben werden, können eine Reihe von Aktionen beinhalten, die in einer bekannten, vorgeschlagenen, erforderlichen oder bestimmten Reihenfolge stattfinden. Wenn man beispielsweise von zu Hause aus in ein Kino geht, kann man zu Hause drei sequenzabhängige Vorgänge oder Aktionen ausführen. Die erste Aktion in diesem Beispiel ist die Fahrt von zu Hause zum Kino. Die zweite Aktion beinhaltet Ansehen des Kinofilms im Kino. Die dritte Aktion beinhaltet Zurückkehren vom Kino.
  • Diese drei (oder vielleicht weiteren) Aktionen können durch die Direktaktions-API 135 aus Anfragen oder Auslöserschlüsselwörtern ermittelt werden, die dem Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ entsprechen. In diesem Beispiel ist die zweite Aktion in der Sequenz (der Kinofilm wird angesehen) folgend auf und abhängig von der ersten Aktion (die Wohnung verlassen, um zum Kino zu gehen), und die dritte Aktion (Heimkehr) ist folgend auf und abhängig von der ersten Aktion und der zweiten Aktion. Die dritte Aktion kann als folgend auf und abhängig von der zweiten Aktion betrachtet werden, da eine Absicht geäußert wurde, dies zu tun, wobei das Datenverarbeitungssystem 105 ermittelt oder voraussagt, dass der Endbenutzer den Kinofilm im Kino ansehen würde, bevor er ebenfalls nach Hause zurückkehrt.
  • Auf Basis der Sequenzabhängigkeitsparameter kann die Thread-Optimierungskomponente 120 zwei oder mehrere Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in einem Einzelthread zusammenführen. Der Einzelthread kann datenidentifizierende Aktionen sowie andere Daten (z. B. Metadaten oder Drittanbieterdaten) aus mehreren Datenaktionsstrukturen identifizieren. Der Einzelthread kann in paketierter (oder anderer protokollbasierter) Form, z. B. im selben Format wie die ersten und zweiten Datenübertragungen, sein. Der Einzelthread kann auch in einem Datenstrukturformat, z. B. durch die Direktaktions-API 135 erzeugt, sein oder einem Format mindestens einer Vorlage 149, einer Richtlinie 147 oder einem Parameter 146 folgen. Der Einzelthread kann eine Zuordnung oder Verknüpfung von Aktionen von einer oder mehreren Datenübertragungen oder von einer oder mehreren Aktionsdatenstrukturen beinhalten oder angeben.
  • Die Datenübertragungen oder Aktionsdatenstrukturen können miteinander durch die Thread-Optimierungskomponente 120 zusammengeführt oder anderweitig verknüpft werden, um den Einzelthread vor Übertragung der Daten, die durch die Aktionsdatenstrukturen angegeben werden, über die Kommunikationssitzung zum Dienstanbieter-Computergerät 160 zu erzeugen. In diesem Beispiel kann die Direktaktions-API 135 oder eine andere Komponente des Datenverarbeitungssystems 105 (z. B. die Schnittstelle 115) mindestens einen Teil der Daten, die durch den Einzelthread angegeben werden, nach der Zusammenführung oder Erstellung des Einzelthreads, zum ersten Mal an das Dienstanbieter-Computergerät 160 übertragen. Es kann beispielsweise sein, dass das Datenverarbeitungssystem 105 vor Erstellung des Einzelthreads Daten, die mit der ersten oder zweiten (oder jedweden anderen) Datenstruktur verknüpft sind, verzögert, verhindert, zurückgehalten oder nicht übertragen hat. In einigen Beispielen können zumindest einige der Daten, die durch individuelle Datenstrukturen angegeben werden, durch und vom Datenverarbeitungssystem 105 dem Dienstanbieter-Computergerät 160 vor Erstellung des Einzelthreads bereitgestellt werden.
  • Die Thread-Optimierungskomponente 120 kann die Datenübertragungen (oder entsprechende Aktionsdatenstrukturen) in den Einzelthread auf Basis des Sequenzabhängigkeitsparameters zusammenführen oder anderweitig konsolidieren oder verknüpfen. Die erste Datenübertragung (und erste Datenstruktur) kann beispielsweise Aktionen darstellen, die mit dem ersten Audioeingabesignal „OK, ich würde gerne heute Abend essen gehen“ verknüpft sind, die zweite Datenübertragung (und zweite Datenstruktur) kann Aktionen darstellen, die mit dem zweiten Eingabeaudiosignal „OK, ich würde gerne später einen Kinofilm ansehen“ verknüpft sind. Die ersten und zweiten (und jedweden anderen) Eingabeaudiosignale können aufeinanderfolgend (mit einem Abstand von weniger als einer Minute), durch Zeit voneinander (z. B. mehr als eine Minute) getrennt sein und sie können vom selben oder von anderen Client-Computergeräten 150 stammen. Die Thread-Optimierungskomponente 120 kann Datenpakete (oder andere Daten) erhalten, die diese Informationen darstellen, und kann mindestens einen Sequenzabhängigkeitsparameter ermitteln. Der Sequenzabhängigkeitsparameter kann beispielsweise angeben, dass die Aktion des Zurückkehrens vom Kino nach der Aktion des Ansehens des Kinofilms erfolgt, oder dass die Aktion des Ansehens des Kinofilms nach der Aktion des Abendessens erfolgt oder vorausgesagt ist.
  • Der Einzelthread (in einer beliebigen Datenstruktur oder einem beliebigen Format) kann einen Satz von sequenzabhängigen Vorgängen angeben, die einem oder mehreren Eingabeaudiosignalen (oder entsprechenden Datenstrukturen oder Datenübertragungen), wie z. B. einer Reihe von Aktionen, entsprechen. Der Thread kann zwei oder mehr beliebige Aktionen beinhalten, wie z. B. eine erste Aktion, eine zweite Aktion und eine dritte Aktion. Zum Beispiel kann ein Zusammenführen des ersten Eingabeaudiosignals „OK, ich würde gerne heute Abend essen gehen“ und des zweiten Eingabeaudiosignals „OK, ich würde gerne später einen Kinofilm ansehen“ mindestens eine Anfrage beinhalten, die ein Interesse an einem Abendessen und einem Kinofilm signalisiert, und mindestens ein Auslöserschlüsselwort, z. B. „Gehen“, das auf einen Transportbedarf hinweist. Die Thread-Optimierungskomponente 120 kann mindestens einen Sequenzabhängigkeitsparameter identifizieren, der mindestens eine Sequenz-, zeitliche oder Vorgangsreihenfolgeabhängigkeit zwischen den Aktionen angibt, und kann den Einzelthread erzeugen, um die mehreren Eingabeaudiosignale (der entsprechende vorlagenbasierte Datenstrukturen oder paket-/protokollbasierte Datenübertragungen) zu kombinieren. Die Thread-Optimierungskomponente 120 kann den Einzelthread erstellen, der mindestens drei Aktionen angibt, wie z. B. eine Abendessen-Aktion (erste Aktion), eine Kino-Aktion (zweite Aktion) und eine Heimtransport-Aktion (dritte Aktion). In diesem Beispiel erzeugt die Thread-Optimierungskomponente 120 aus den Anfragen oder den Auslöserschlüsselwörtern einen Einzelthread aus mehreren getrennten Eingaben, die die drei Aktionen angeben. Der Einzelthread kann auch andere Aktionen, wie z. B. einen ersten Transport zum Abendessen, beinhalten.
  • Das Datenverarbeitungssystem 105 oder eine Komponente davon, wie z. B. die Thread-Optimierungskomponente 120, kann bestimmen, dass die Aktionen des Threads sequenzabhängige Vorgänge sind. Beispielsweise kann die Thread-Optimierungskomponente bestimmen, dass die zweite Aktion, den Kinofilm ansehen, auf die erste Aktion des Abendessens folgt, und dass die dritte Aktion, vom Kino aus nach Hause zu fahren, nach der zweiten Aktion, den Kinofilm ansehen, erfolgt. Die Thread-Optimierungskomponente 120 kann auf die Parameter 146 oder Richtlinien 147 in dem Datenbehälter 145 zugreifen, um die Reihenfolge der sequenzabhängigen Aktionen zu bestimmen oder anderweitig abzuschätzen. Beispielsweise könnten die Parameter 146 oder Richtlinien 147 darauf hinweisen, dass eine Transportaktion (z. B. ein Taxi nach Hause) nach einer Ereignisaktion (z. B. Ansehen eines Kinofilms) stattfinden kann.
  • Die Inhaltsauswahlelementkomponente 125 kann Hinweise auf alle Aktionen des Einzelthreads erhalten. Beispielsweise kann die Thread-Optimierungskomponente 120 direkt oder indirekt (z. B. über den Datenbehälter 145) mindestens einen Teil des Einzelthreads bereitstellen, der die dritte (oder jede andere) Aktion der Inhaltsauswahlelementkomponente 125 angibt. Die Inhaltsauswahlelementkomponente 125 kann diese Informationen aus dem Datenbehälter 145 erhalten, wo sie als Teil der Inhaltsdaten 148 gespeichert werden können. Die Angabe der dritten Aktion kann die Inhaltsauswahlelementkomponente 125 über einen Transportbedarf vom Standort des Kinos zu einem Ort informieren, der durch das Client-Computergerät 150 bestimmt oder angezeigt wird, wie z. B. eine Fahrt zu einem Endziel.
  • Die Inhaltsauswahlelementkomponente 125 kann Hinweise auf eine spätere Aktion in dem Thread vor dem Auftreten mindestens einer früheren Aktion erhalten. Beispielsweise kann die Inhaltsauswahlelementkomponente 125 eine Angabe der dritte Aktion empfangen (z. B. Notwendigkeit einer Fahrt vom Kino), bevor der Kinofilm im Kino läuft (zweite Aktion), oder bevor die Person, die das Eingabeaudiosignal in das Client-Computergerät 150 eingibt, im Restaurant zu Abend isst (erste Aktion). Die Inhaltsauswahlelementkomponente 125 kann Hinweise auf mindestens eine Aktion des Threads erhalten, bevor mindestens eine Aktion des Threads abgeschlossen ist.
  • Aus den Informationen, die von der Inhaltsauswahlelementkomponente 125 empfangen werden, z. B. eine Angabe der dritten Aktion vor dem Auftreten von mindestens einer vorherigen Aktion in dem sequenzabhängigen Thread, kann die Inhaltsauswahlelementkomponente 125 mindestens ein Inhaltselement identifizieren. Das Inhaltselement kann auf die dritte (oder jede andere) Aktion reagieren oder damit in Zusammenhang steht. Beispielsweise kann das Inhaltselement eine Audionachricht beinhalten, die Dienste eines Fahrgemeinschaftsunternehmens anbietet, das auf die dritte Aktion reagiert, die auf einen Transportbedarf hinweist. Die Inhaltsauswahlelementkomponente 125 kann den Datenbehälter 145 abfragen, um das Inhaltselement, z. B. aus den Inhaltsdaten 148, auszuwählen oder anderweitig zu identifizieren. Die Inhaltsauswahlelementkomponente 125 kann auch das Inhaltselement aus dem Inhaltsanbieter-Computergerät 155 auswählen. Beispielsweise kann das Inhaltsanbieter-Computergerät 155, das auf eine Anfrage des Datenverarbeitungssystems 105 reagiert, dem Datenverarbeitungssystem 105 (oder einer Komponente davon) ein Inhaltselement für eine spätere Ausgabe durch das Client-Computergerät 150 bereitstellen.
  • Die Audiosignalgeneratorkomponente 130 kann ein Ausgabesignal erzeugen oder anderweitig erhalten, welches das Inhaltselement beinhaltet, das auf die dritte (oder jede andere) Aktion reagiert. Beispielsweise kann das Datenverarbeitungssystem 105 die Audiosignalgeneratorkomponente ausführen, um ein dem Inhaltselement entsprechendes Ausgabesignal zu generieren oder zu erzeugen. Die Schnittstelle 115 des Datenverarbeitungssystems 105 kann ein oder mehrere Datenpakete mit dem Ausgabesignal über das Computernetzwerk 165 an das Client-Computergerät 150, z. B. als Teil der Kommunikationssitzung, bereitstellen oder übertragen. Die Schnittstelle 115 kann konzipiert, konfiguriert, aufgebaut oder betriebsfähig sein, Informationen beispielsweise unter Verwendung von Datenpaketen zu empfangen und zu übertragen. Die Schnittstelle 115 kann Informationen unter Verwendung eines oder mehrerer Protokolle, wie z. B. einem Netzwerkprotokoll senden und empfangen. Die Schnittstelle 115 kann eine Hardwareschnittstelle, eine Softwareschnittstelle, eine drahtgebundene Schnittstelle oder eine drahtlose Schnittstelle beinhalten. Die Schnittstelle 115 kann das Übersetzen oder Formatieren von Daten von einem Format in ein anderes erleichtern. Die Schnittstelle 115 kann beispielsweise eine Anwendungsprogrammierschnittstelle beinhalten, die Definitionen zum Kommunizieren zwischen verschiedenen Komponenten, wie z. B. Softwarekomponenten des Systems 100, beinhaltet.
  • Beispielsweise kann das Datenverarbeitungssystem 105 das Ausgabesignal aus dem Datenbehälter 145 oder aus der Audiosignalgeneratorkomponente 130 an das Client-Computergerät 150 bereitstellen. Das Datenverarbeitungssystem 105 kann auch über Datenpaketübertragungen das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 anweisen, das Ausgabesignal an das Client-Computergerät 150 bereitzustellen. Das Ausgabesignal kann als ein oder mehrere Datenpakete (oder ein anderes Kommunikationsprotokoll) von dem Datenverarbeitungssystem 105 (oder einem anderen Datenverarbeitungsgerät) erhalten, erzeugt, umgewandelt oder an das Client-Computergerät 150 übertragen werden.
  • Die Inhaltsauswahlelementkomponente 125 kann zu einer späteren Aktion in einer Reihe von sequenzabhängigen Vorgängen springen, die vom Einzelthread angegeben werden, um ein Inhaltselement für die spätere Aktion vor dem Auftreten (und vor einem unmittelbaren Bedarf) für eine Aktivität auszuwählen, die der späteren Aktion entspricht. Durch Springen zu einer späteren sequenziellen Aktion, z. B. einem Inhaltselement für eine zweite nachfolgende Aktion vor Auswählen eines Inhaltselements für eine erste vorherige Aktion, ist das Datenverarbeitungssystem 105 nicht verpflichtet, erste Prozessinformationen zu verarbeiten, die sich auf die vorherige Aktion beziehen, um Inhaltselemente für nachfolgende Aktionen auszuwählen. Dies reduziert Prozessorauslastung, Stromverbrauch und Bandbreite von Datenübertragungen, die ansonsten mit der Auswahl eines Inhaltselements (für die erste Aktion) verbunden wären, bevor das Inhaltselement für die zweite Aktion ausgewählt wird.
  • Die Inhaltsauswahlelementkomponente 125 kann das Inhaltselement für die (nachfolgende oder spätere) Aktion im Rahmen eines Echtzeit-Inhaltsauswahlprozesses auswählen. Beispielsweise kann das Inhaltselement dem Client-Computergerät zum Übertragen als Audioausgabe in Klartext als direkte Reaktion auf das Eingabeaudiosignal bereitgestellt werden. Der Echtzeit-Inhaltsauswahlprozess zum Identifizieren des Inhaltselements und zum Bereitstellen des Inhaltselements an das Client-Computergerät 150 kann innerhalb einer Minute oder weniger ab dem Zeitpunkt des Eingabeaudiosignals erfolgen und als Echtzeit betrachtet werden.
  • Das dem Inhaltselement entsprechende Ausgabesignal, das dem Inhaltsanbieter-Computergerät 155 entspricht (oder Daten, die dem Dienstanbieter-Computergerät 160 entsprechen), das z. B. von der Audiosignalgeneratorkomponente 130 erhalten oder generiert wird, die über die Schnittstelle 115 und das Computernetzwerk 165 an das Client-Computergerät 150 übertragen wird, kann dazu führen, dass das Client-Computergerät 150 den Audiotreiber 153 ausführt, um den Lautsprecher 154 anzusteuern und eine dem Ausgabesignal entsprechende akustische Welle zu erzeugen. Die akustische Welle kann Wörter beinhalten, die dem Inhaltselement oder anderen Daten für die spätere (z. B. zweite oder dritte) Aktion entsprechen. Das Ausgabesignal, das dem Inhaltselement entspricht, kann auch Nichtaudio-Inhaltselemente beinhalten, die auf dem Client-Computergerät 150, das die Quelle des Eingabeaudiosignals ist, oder auf einem anderen Client-Computergerät 150 (z. B. einem tragbaren Computergerät) als Text- oder Bildnachrichten wiedergeben, die ohne Audioelemente wiedergegeben werden können.
  • Das Datenverarbeitungssystem 105 kann das Ausgabesignal bereitstellen, das das Inhaltselement oder andere Daten in Reaktion auf eine Aktion in direkter oder Echtzeitantwort auf das Eingabeaudiosignal beinhaltet, sodass die paketbasierten Datenübertragungen über das Computernetzwerk 165, die Teil einer Kommunikationssitzung zwischen dem Datenverarbeitungssystem 105 und dem Client-Computer 150 sind, den Ablauf und das Empfinden einer Echtzeitkonversation von Mensch zu Mensch haben. Diese paketbasierte Datenübertragungskommunikationssitzung kann auch das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 beinhalten.
  • Die Inhaltsauswahlelementkomponente 125 kann Inhaltselemente auswählen, die in Reaktion auf die zweite (oder jede nicht erste) Aktion in der sequenzabhängigen Reihe von Aktionen bereitgestellt werden, bevor sie ein Inhaltselement für eine vorherige Aktion in der Sequenz auswählt. Dadurch entfällt die Notwendigkeit, zumindest einen Teil der Daten, die den vorherigen Aktionen entsprechen, zu verarbeiten, was dazu führt, dass das zweite Inhaltselement mit einer reduzierten Anzahl von Verarbeitungsvorgängen ausgewählt wird, als wenn die Inhaltselemente in einer Reihenfolge ausgewählt würden, die der Reihenfolge der Sequenz von Aktionen entspricht. Inhaltselemente für die vorangegangenen (z. B. erste und zweite) Aktionen können ausgewählt werden oder auch nicht, z. B. nach Auswahl des Inhaltselements für die zweite Aktion.
  • Die Inhaltsauswahlelementkomponente 125 kann das Inhaltselement (z. B. für die zweite Aktion) basierend auf mindestens einem Auslöserschlüsselwort des Threads auswählen, das einen anderen Gegenstand als den Gegenstand der einen oder mehreren Anfragen desselben Threads angibt. Beispielsweise können die Anfragen des Einzelthreads den Gegenstand einer Anfrage zum Abendessen (erste Aktion) und den Gegenstand einer Anfrage zum Kinofilm (zweite Aktion) angeben. Dieser Gegenstand gibt keine Transportanfrage an. Die NLP-Komponente 110 oder die Thread-Optimierungskomponente 120 (oder andere Komponenten des Datenverarbeitungssystems 105, die im Rahmen der Direktaktions-API 135 ausgeführt werden) können jedoch das Auslöserschlüsselwort „gehen“, „gehen zu“ oder „um zu gehen“ identifizieren und einen Transportauftrag bestimmen, der zumindest teilweise auf dem Auslöserschlüsselwort basiert. So kann das Datenverarbeitungssystem 105 aus dem Eingabeaudiosignal Aktionen ableiten, die sekundäre Anfragen sind, die nicht die primäre Anfrage oder Gegenstand des Eingabeaudiosignals sind.
  • Das Datenverarbeitungssystem 105 kann die Übertragung des Ausgabesignals, das das Inhaltselement beinhaltet, verhindern oder verzögern. So kann z. B. die Schnittstelle 115 oder ein Script, das über die Direktaktions-API 135 ausgeführt wird, die Übertragung von Datenpaketen, die das einem Inhaltselement oder einer Aktion des Einzelthreads entsprechende Ausgabesignal beinhalten, bis zu einem auslösenden Ereignis verhindern. Das auslösende Ereignis kann den Ablauf eines bestimmten Zeitraums beinhalten, wie z. B. zwei Stunden oder ein Zeitpunkt, der mit dem Auftreten einer früheren Aktion in dem Thread, wie z. B. einer geplanten Endzeit eines Kinofilms, zusammenfällt. Das auslösende Ereignis kann auch eine Berechtigungsanzeige beinhalten, die das Datenverarbeitungssystem 105 von dem Client-Computer 150 empfängt. Die Berechtigungsanzeige kann als nachfolgende Audioeingabe beginnen, die dem Thread zugeordnet ist, jedoch von dem Datenverarbeitungssystem 105 im Anschluss an das Eingabeaudiosignal, ein textbasiertes oder anderes nicht hörbares Signal empfangen wird, oder sie kann einen Hinweis auf eine Einstellung des Client-Computers 150 beinhalten, der das Empfangen von Inhaltselementen durch das Client-Computergerät 150 autorisiert.
  • Das Datenverarbeitungssystem 105 kann auch die Übertragung des Inhaltselements verzögern, das mit einer zweiten oder nachfolgenden Aktion des Threads verbunden ist, um die Verarbeitungsauslastung zu optimieren. Beispielsweise kann das Datenverarbeitungssystem 105 die Übertragung von Inhaltselementen bis zu einer Zeitspanne verzögern, in der die Nutzung des Rechenzentrums außerhalb der Spitzenzeiten oder in Nicht-Spitzenzeiten erfolgt, was zu einer effizienteren Auslastung des Rechenzentrums führt, indem die Auslastung der Spitzenbandbreite, die Wärmeleistung oder der Kühlbedarf reduziert wird. Das Datenverarbeitungssystem 105 kann auch eine Umwandlung oder eine andere mit dem Inhaltselement verbundene Aktivität auslösen, wie z. B. die Bestellung eines Autodienstes, basierend auf Datenzentrum-Auslastungsraten oder Bandbreitenmetriken oder Anfragen des Netzwerks 165 oder eines Rechenzentrums, das das Datenverarbeitungssystem 105 beinhaltet.
  • Die Inhaltselemente können den Aktionen des Threads entsprechen, und die Inhaltsauswahlelementkomponente 125 kann ein Inhaltselement für eine, mehrere oder alle Aktionen des Threads auswählen. Die Thread-Optimierungskomponente 120 kann den sequenzabhängigen Thread von Aktionen identifizieren, z. B. „Abendessen“ (erste Aktion) „Kinofilm“ (zweite Aktion) und „Transport vom Kino“ (dritte Aktion).
  • So kann beispielsweise, auf Basis des Einzelthreads, das Inhaltselement für die dritte Aktion zum Wiedergeben auf dem Client-Computergerät 150 als Audioantwort bereitgestellt werden, die in Reaktion auf das Audioeingabesignal aussagt: „Möchten Sie vom Kino nach Hause fahren?“ Das Datenverarbeitungssystem 105 kann im Anschluss oder vor diesem Wiedergeben ein Inhaltselement, z. B. „Das italienische Restaurant in der Innenstadt heute Abend um 19 Uhr geöffnet - haben Sie Interesse?“ für die erste Aktion (Abendessen) auswählen oder bereitstellen, und kann einen anderen Inhalt, z. B. „Möchten Sie Karten für den Kinofilm um 21 Uhr im Stadtkino?“ für die zweite Aktion (Kinofilm) auswählen oder bereitstellen. Das Datenverarbeitungssystem 105 kann diese auf das Eingabeaudiosignal reagierenden Inhaltselemente für die Wiedergabe durch das Client-Computergerät 150 als Audioausgabeinhaltselemente bereitstellen (dazu gehört auch die Anweisung an das Inhaltsanbietercomputergerät 155). Das Datenverarbeitungssystem 105 kann über die Schnittstelle 115 diese Inhalte in beliebiger Reihenfolge auswählen oder dem Client-Computer 150 bereitstellen. So kann z. B. das Inhaltselement für die dritte (z. B. letzte) Aktion zuerst, vor Inhaltselementen, die anderen früheren Aktionen des Threads entsprechen, ausgewählt oder bereitgestellt werden.
  • Das Datenverarbeitungssystem 105 kann eine Antwort auf das Inhaltselement „Möchten Sie vom Kino nach Hause fahren?“ empfangen. Die Antwort kann ein Eingabeaudiosignal, z. B. „Ja bitte“, beinhalten, das von dem Endbenutzer in das Client-Computergerät 150 eingegeben und von dem Datenverarbeitungssystem 105 empfangen wurde. Das Datenverarbeitungssystem 105 oder eine Komponente davon (z. B. die Thread-Optimierungskomponente) kann die Antwort als Teil des Einzelthreads beinhalten. Basierend auf dieser Antwort kann die Direktaktions-API 135 mit dem Dienstanbieter-Computergerät 160 (das mit dem Inhaltselement, wie z. B. einem Fahrgemeinschaftsunternehmen, in Verbindung gebracht werden kann) kommunizieren, um ein Taxi oder ein Fahrgemeinschaftsfahrzeug für den Standort des Kinos zu dem Zeitpunkt zu bestellen, an dem der Kinofilm endet. Das Datenverarbeitungssystem 105 kann diese Standort- oder Zeitinformationen als Teil des Datenpakets (oder eines anderen Protokolls) erhalten, das auf Datennachrichtenkommunikation mit dem Client-Computergerät 150, dem Datenbehälter 145 oder aus anderen Quellen, wie z. B. dem Dienstanbieter-Computergerät 160 oder dem Inhaltsanbieter-Computergerät 155, basiert. Die Bestätigung dieses Auftrags (oder eine andere Umwandlung) kann als Audiokommunikation von dem Datenverarbeitungssystem 105 zu dem Client-Computergerät 150 in Form eines Ausgabesignals von dem Datenverarbeitungssystem 105 erfolgen, das das Client-Computergerät 150 ansteuert, um Audioausgaben, wie z. B. „großartig, Sie haben ein Auto, das um 23 Uhr außerhalb des Kinos auf Sie wartet“, wiederzugeben. Das Datenverarbeitungssystem 105 kann über die Direktaktions-API 135 mit dem Dienstanbieter-Computergerät 160 kommunizieren, um den Auftrag für das Auto zu bestätigen.
  • Das Datenverarbeitungssystem 105 kann die Antwort (z. B. „Ja bitte“) auf den Inhalt erhalten („Möchten Sie vom Kino nach Hause fahren?“) und eine paketbasierte Datennachricht an die Dienstanbieter-NLP-Komponente 161 (oder eine andere Komponente des Dienstanbieter-Computergeräts) routen. Diese paketbasierte Datennachricht kann dazu führen, dass das Dienstanbieter-Computergerät 160 eine Umwandlung vornimmt, z. B. um eine Reservierung für die Abholung eines Autos außerhalb des Kinos vorzunehmen. Diese Umwandlung - oder bestätigte Bestellung - (oder jede andere Umwandlung einer anderen Aktion des Threads) kann vor Abschluss einer oder mehrerer Aktionen des Threads, wie z. B. vor Abschluss des Kinofilms, sowie nach Abschluss einer oder mehrerer Aktionen des Threads, wie z. B. nach dem Abendessen, erfolgen.
  • Basierend auf einer Antwort auf ein Inhaltselement für eine nachfolgende Aktion in dem Thread, wie z. B. die Antwort „Ja bitte“ auf das Inhaltselement „Möchten Sie vom Kino nach Hause fahren“ für die dritte und letzte Aktion in einem sequenzabhängigen Thread, kann das Datenverarbeitungssystem 105 eine Umwandlung oder Aktion initiieren. Dies kann erfolgen, bevor der Endbenutzer mit den mit dem Thema verbundenen Aktivitäten begonnen hat, z. B. vor dem Abendessen oder vor dem Ende des Kinofilms. Prozessoren des Datenverarbeitungssystems 105 können die Direktaktions-API 135 aufrufen, um Scripts auszuführen, die ein Auto von einem Fahrgemeinschaftsdienst bestellen. Die Direktaktions-API 135 kann Inhaltsdaten 148 (oder Parameter 146 oder Richtlinien 147) von dem Datenbehälter 145 sowie Daten empfangen, die mit Zustimmung des Endbenutzers von dem Client-Computergerät 150 empfangen werden, um Standort, Zeit, Benutzerkonten, logistische oder andere Informationen zu bestimmen, um ein Auto aus dem Fahrgemeinschaftsdienst zu reservieren. Unter Verwendung der Direktaktions-API 135 kann das Datenverarbeitungssystem 105 auch mit dem Dienstanbieter-Computergerät 160 kommunizieren, um die Umwandlung abzuschließen, indem es in diesem Beispiel die Reservierung für die Abholung der Fahrgemeinschaft vornimmt.
  • Die Direktaktions-API 135 kann die Umwandlung oder Aktivität zur Durchführung einer Aktion des Threads jederzeit während eines Zeitraums vom Empfangen des ersten, dem Thread zugeordneten Eingabeaudiosignals durch das Datenverarbeitungssystem 105 auslösen (z. B. „OK, ich möchte heute Abend zum Abendessen aus gehen und dann ins Kino gehen“) bis zu einer Schwellenwertzeit nach Abschluss einer der Aktionen des Threads (z. B. bis 15 Minuten nach dem Ende der zweiten Aktion, den Kinofilm anzusehen). Das Datenverarbeitungssystem 110 kann das Ende dieses Zeitraums auch aufgrund anderer Faktoren bestimmen, wie z. B. aufgrund der Angabe, dass der Endbenutzer die Aktionen des Threads abgeschlossen hat, z. B. nach Hause zurückgekehrt ist oder sich nicht mehr im Kino befindet. Das Datenverarbeitungssystem 105 kann auch von dem Client-Computergerät 150 (eine Datennachricht, die über das Netzwerk 165 übertragen wird) eine Angabe erhalten, dass der Thread abgebrochen oder inaktiv ist, oder dass der Endbenutzer Aktionen des Threads abgebrochen oder abgeschlossen hat.
  • Die Direktaktions-API 135 kann das Umwandeln oder die Aktivität initiieren, um eine Aktion des Threads basierend auf dem Abschluss oder dem Zeitpunkt des Abschlusses anderer Aktionen des Threads durchzuführen. So kann z. B. das Datenverarbeitungssystem 105 eine Ware oder Dienstleistung (Fahrgemeinschaftsabholung) direkt oder durch Kommunikation mit dem Dienstanbieter-Computergerät 160 innerhalb eines Schwellwertzeitraums nach Abschluss einer vorherigen Aktion in dem Thread bestellen. Innerhalb von 5 Minuten (oder einer anderen Zeitspanne) vor oder nach dem geplanten oder tatsächlichen Abschluss des Kinofilms (zweite Aktion) kann das Datenverarbeitungssystem 105 einen Fahrgemeinschaftsdienst bestätigen oder beauftragen, ein Auto zur Abholung des Endbenutzers zum Kino zu schicken (nachfolgende, dritte Aktion). Dies kann auftreten, wenn keine Eingaben von dem Endbenutzer-Computergerät 150 während dieses Zeitraums empfangen wurden, oder wenn auf eine Aufforderung des Endbenutzercomputergeräts 150 während dieses Zeitraums reagiert wird.
  • Die Direktaktions-API 135 kann die Umwandlungen oder andere Aktivitäten, die mit den sequenzabhängigen Vorgängen des Threads verbunden sind, in beliebiger Reihenfolge initiieren. Beispielsweise kann die Direktaktions-API 135 (oder eine andere Komponente des Datenverarbeitungssystems 105) eine Aktivität initiieren, die einer abschließenden Aktion entspricht (z. B. die dritte Aktion in einem Drei-Aktions-Thread, z. B. die Bestellung eines Taxis), bevor sie eine Aktivität auslöst, die einem früheren Thread in der Sequenz (z. B. vor der Reservierung eines Abendessens oder vor der Bestellung von Kinokarten) entspricht. In diesem Beispiel initiiert das Datenverarbeitungssystem 105 die Aktivität für eine frühere (z. B. zweite) Aktion nach Initiieren der Aktivität für die spätere (z. B. dritte) Aktion.
  • Die Inhaltsauswahlelementkomponente 125 kann mehrere Inhaltselemente identifizieren, auswählen oder erhalten, die aus mehreren Inhaltsauswahlprozessen resultieren. Die Inhaltsauswahlprozesse können in Echtzeit erfolgen, z. B. als Teil derselben Konversation, Kommunikationssitzung oder Reihe von Kommunikationssitzungen zwischen dem Datenverarbeitungssystem 105 und dem Client-Computergerät 150, die einen Thread beinhalten. Die Konversation kann z. B. asynchrone Kommunikationen beinhalten, die durch einen Zeitraum von Stunden oder Tagen voneinander getrennt sind. Die Konversation oder die Kommunikationssitzung kann für einen Zeitraum vom Empfangen des ersten Eingabeaudiosignals bis zu einem geschätzten oder bekannten Abschluss einer abschließenden Handlung des Threads, dem Empfangen eines Hinweises auf eine Beendigung des Threads durch das Datenverarbeitungssystem 105 dauern. Dies kann als die aktive Zeitdauer des Threads bezeichnet werden. Bei einem Thread mit drei Aktionen (z. B. Abendessen, Kinofilm und Heimtransport) kann die Inhaltsauswahlelementkomponente 125 für jede Aktion mindestens ein Inhaltselement auswählen. Die Inhaltselementauswahlkomponente 125 kann für jede Aktion einen anderen Inhaltsauswahlprozess durchlaufen oder Ergebnisse erhalten. In den Inhaltsauswahlprozessen kann das Inhaltsanbieter-Computergerät 150 Inhaltselemente zur Auswahl durch die Inhaltsauswahlelementkomponente 125 festlegen. Für einen Thread mit mindestens drei Aktionen kann die Inhaltselementauswahlkomponente über einen ersten Inhaltsauswahlprozess ein erstes Inhaltselement für die erste Aktion, ein zweites Inhaltselement für die zweite Aktion über einen zweiten Inhaltsauswahlprozess und ein drittes Inhaltselement für die dritte Aktion über einen dritten Inhaltsauswahlprozess auswählen oder anderweitig identifizieren. Das Datenverarbeitungssystem 105, das diese Inhalte zum Wiedergeben durch das Client-Computergerät 150 während des aktiven Zeitraums des Threads bereitstellt, kann als in Echtzeit betrieben betrachtet werden. In diesem Beispiel erfolgen die Inhaltsauswahlprozesse und das Wiedergeben der Inhaltselemente in Echtzeit.
  • Das Datenverarbeitungssystem 105 kann Aktionen, die mit Inhaltselementen verknüpft sind, abbrechen. Beispielsweise kann der Endbenutzer nach der Bestellung des Autodienstes den Kinofilm anschauen, sich dann aber entscheiden, zu Fuß nach Hause zu gehen oder sich nach dem Kinofilm die Zeit anderweitig zu vertreiben, anstatt eine Mitfahrgelegenheit nach Hause in Anspruch zu nehmen. Eine App oder ein anderes Programm, das auf dem Client-Computergerät 150 als Teil des Datenverarbeitungssystems 105 ausgeführt wird, kann ein Eingabeaudiosignal von „Stornieren meiner Fahrt nach Hause“ empfangen. Die NLP-Komponente 110 kann dieses Eingabeaudiosignal, z. B. als eine oder mehrere paketbasierte Datennachrichten, empfangen und kann ermitteln, dass sich dieses Eingabeaudiosignal auf einen bereits bestehenden Thread (z. B. Abendessen, Kinofilm, Heimfahrt) bezieht und Teil derselben Konversation oder Kommunikation ist. Beispielsweise kann die NLP-Komponente 110 (oder eine andere Komponente des Datenverarbeitungssystems 105) Zeitdaten, Standortdaten und bereits vorhandene Thread-Daten, wie z. B. vergangene, gegenwärtige oder geplante Aktionen eines Threads, aus den Inhaltsdaten 148 des Datenbehälters 145 auswerten, um zu ermitteln, dass sich ein Eingabeaudiosignal auf einen bereits vorhandenen Thread bezieht. Basierend auf der Anfrage „Fahrt“ oder dem Auslöserschlüsselwort „Abbrechen“ kann die NLP-Komponente 110 beispielsweise ermitteln, dass sich das Eingabeaudiosignal „Fahrt stornieren“ auf das Inhaltselement „Möchten Sie eine Fahrt vom Kino nach Hause?“ bezieht, das der dritten Aktion eines zuvor bestehenden Threads entspricht. Die Direktaktions-API 135 (oder eine andere Komponente) kann das Datenverarbeitungssystem 105 veranlassen, über die Schnittstelle 115 mit dem Dienstanbieter-Computergerät 160 zu kommunizieren, um den Auftrag für den Taxi- oder Fahrgemeinschaftsdienst, mit einem Auto nach Abschluss des Kinofilms außerhalb des Kinos auf den Endbenutzer zu warten, zu stornieren.
  • Die NLP-Komponente 135 kann das Datenpaket oder eine andere protokollbasierte Nachricht empfangen, um eine Aktion des Threads vor oder nach Abschluss einer beliebigen Aktion des Threads abzubrechen. Die NLP-Komponente 135 kann von dem Client-Computergerät 150 (oder von dem Datenbehälter 145) eine Datennachricht (eingehendes Audiosignal) empfangen, um eine Aktion des Threads innerhalb eines Zeitintervalls abzubrechen, das durch eine frühere Aktion des Threads ausgelöst wurde. Das Datenverarbeitungssystem 105 kann beispielsweise in einem sequenzabhängigen Thread mit drei Aktionen, Abendessen, Kinofilm, Transport, die Nachricht über die Transportstornierung innerhalb von 5 Minuten (oder einem anderen Zeitraum) nach Abschluss des Kinofilms empfangen. Das Datenverarbeitungssystem 105 kann zur Bestätigung eines Produktes oder einer Dienstleistung im Zusammenhang mit einer Aktion des Threads auffordern. Das Datenverarbeitungssystem 105 kann beispielsweise während eines Zeitraums zwischen der ersten Aktion und der zweiten Aktion (z. B. nach dem Abendessen und vor dem Kinofilm) eine Datennachricht an das Client-Computergerät 150 übertragen, die bei Wiedergabe auf dem Client-Computergerät 150 die Audio- oder Textnachricht mit der Aufschrift „Nur bestätigen, dass Sie immer noch möchten, dass nach dem Kinofilm ein Auto auf Sie wartet“, ausgibt. Das Datenverarbeitungssystem 105 kann eine Rückmeldung empfangen, z. B. „Ja, bestätigt“ oder „Nein, das Fahrzeug stornieren“. Diese Antwort kann als Teil des Threads enthalten sein. Die Direktaktions-API 135 kann Scripts ausführen, um diese Informationen zu verarbeiten, und mit dem Dienstanbieter-Computergerät 160 kommunizieren, um die Bestätigung oder Stornierung anzuzeigen.
  • Bezugnehmend auf 1 und 2, unter anderem, kann die Thread-Optimierungskomponente 120 auf Basis des Sequenzabhängigkeitsparameters mindestens eine Einzelthread-Datenstruktur 200 erstellen. Die Einzelthread-Datenstruktur 200 kann eine paketbasierte Architektur (oder ein anderes Format) beinhalten und kann mindestens einen Header 205 beinhalten. Der Header 205 kann ergänzende Daten beinhalten, die das Datenverarbeitungssystem 105 identifizieren, Quell- oder Zieladressinformationen, geltende Protokollinformationen, IP-Adressen, Frame-Synchronisierungsdaten, Größendaten, Auflösungsdaten oder Metadaten, die mit Aktionsdatenstrukturen verknüpft sind. Die Nutzlast oder der Korpus der Einzelthread-Datenstruktur 200 kann mindestens einen Sequenzabhängigkeitsparameter 210 oder andere Informationen, wie z. B. mindestens eine erste Datenübertragung 215 oder mindestens eine zweite Datenübertragung 220, beinhalten. Die Einzelthread-Datenstruktur 200 kann eine oder mehr als eine Struktur, z. B. mehrere Pakete mit jeweiligen Headern 205 und Nutzlasten, beinhalten, die mindestens einen Teil der ersten Datenübertragung 215 oder der zweiten Datenübertragung 220 angeben. Der Sequenzabhängigkeitsparameter 215 kann eine Sequenzabhängigkeit der Aktionen aus der Vielzahl von Aktionen angeben, die durch die erste Datenübertragung 215 oder die zweite Datenübertragung 220 angegeben werden.
  • Der Header 205, der Sequenzabhängigkeitsparameter 210, die erste Datenübertragung 215 und die zweite Datenübertragung 220 können, müssen jedoch nicht, in der Einzelthread-Datenstruktur 200 enthalten sein. Der Korpus einer Einzelthread-Datenstruktur 200 kann beispielsweise nur die erste Datenübertragung 215 (oder Teile davon) beinhalten und keine der Sequenzabhängigkeitsparameter 210 oder die zweite Datenübertragung 220 beinhalten oder der Korpus der Einzelthread-Datenstruktur 200 kann den Sequenzabhängigkeitsparameter 210 sowie eine oder mehrere der ersten Datenübertragung 215 und der zweiten Datenübertragung 220 beinhalten. Die Einzelthread-Datenstruktur 200 kann eines oder mehrere individuelle Pakete beinhalten, die getrennt nacheinander oder parallel als Teil von einer oder mehreren Datenübertragungen zwischen dem Datenverarbeitungssystem 105 und dem Dienstanbieter-Computergerät 160 oder dem Inhaltsanbieter-Computergerät 155 übertragen werden. Der Header 205 oder der Sequenzabhängigkeitsparameter 210 kann angeben, dass die getrennten Übertragungen oder getrennten Datenpakete mit derselben Batch-Übertragung verknüpft sind, z. B. derselben gesamten Einzelthread-Datenstruktur 200. Die Direktaktions-API 135 kann mehrere verschiedene Einzelthread-Datenstrukturen in einer Einzelthread-Datenstruktur 200 zusammenführen oder anderweitig verbinden. Die Einzelthread-Datenstruktur 200 kann mehrere Pakete oder mehrere verschiedene Strukturen beinhalten, die getrennt, jedoch miteinander verknüpft sind.
  • Die Thread-Optimierungskomponente 120 kann eine Aktion der Einzelthread-Datenstruktur 200 gegenüber einer anderen Aktion priorisieren. Die Priorisierung kann durch den Sequenzabhängigkeitsparameter 210 angegeben oder anderweitig der Direktaktions-API 135 oder der Inhaltsauswahlkomponente 125 bereitgestellt werden. Die Thread-Optimierungskomponente 120 kann beispielsweise eine zeitlich erste Aktion priorisieren, die durch die Einzelthread-Datenstruktur 200 angegeben wird. In Reaktion auf die Priorisierung kann die Direktaktions-API 135 oder andere Komponente, wie z. B. die Inhaltsauswahlkomponente 125, Datenübertragungen (z. B. mindestens einen Teil der ersten Datenübertragung 215 oder der zweiten Datenübertragung 220) dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160 bereitstellen, um eine Umwandlung vorzunehmen, die mit der zeitlich ersten Aktion verbunden ist.
  • Bezugnehmend auf 3, unter anderem, kann das Datenverarbeitungssystem 105 von einem ersten Client-Computergerät 150 das erste Eingabeaudiosignal 305 (z. B. „OK, ich würde gerne heute Abend essen gehen“) empfangen. Das Datenverarbeitungssystem 105 kann außerdem, vom selben oder einem anderen Client-Computergerät 150, das zweite Eingabeaudiosignal 310 (z. B. „OK, ich würde gerne später einen Kinofilm ansehen“) empfangen. Das Datenverarbeitungssystem 105 kann jeweilige Aktionsdatenstrukturen und entsprechende Datenübertragungen für die ersten und zweiten Audioeingabesignale 305, 310 erzeugen. Komponenten des Datenverarbeitungssystems 105, wie z. B. die Thread-Optimierungskomponente 120, können statistische oder heuristische Techniken auf das erste Eingabeaudiosignal 305 und das zweite Eingabeaudiosignal 310 anwenden, um mindestens einen Sequenzabhängigkeitsparameter zu erzeugen, der sequenzabhängige Aktionen aus den Aktionen des ersten Eingabeaudiosignals 305 und des zweiten Eingabeaudiosignals 310 angibt. Das Datenverarbeitungssystem 105 kann die Datenübertragung (z. B. Pakete) oder die Aktionsdatenstrukturen, die dem ersten Eingabeaudiosignal 305 und dem zweiten Eingabeaudiosignal 310 entsprechen, in Stapeln oder Pools zusammenfassen, um gestapelte oder gepoolte Einzelthread-Datenstrukturen 200 zu erstellen. Das Datenverarbeitungssystem 105 kann die Einzelthread-Datenstruktur 200 zum Dienstanbieter-Computergerät 160 für die Verarbeitung durch das Dienstanbieter-Computergerät 160, zum Beispiel mindestens ein Auto zu reservieren, Kinokarten zu kaufen, eine Reservierung für das Abendessen vorzunehmen, in Reaktion auf die ersten und zweiten Eingabeaudiosignale 305, 310 übertragen oder anderweitig bereitstellen.
  • Verschiedene Instanzen der Teile derselben Einzelthread-Datenstruktur können verschiedenen Computergeräten bereitgestellt werden. Alle oder einige des Einzelthreads 200 können beispielsweise einem Dienstanbieter-Computergerät 160 bereitgestellt werden, um eine Umwandlung vorzunehmen, z. B. ein Auto von einem Fahrgemeinschaftsdienst bestellen, und dieselben oder unterschiedliche Teile des Einzelthreads 200 können (gleichzeitig oder nacheinander) einem Inhaltsanbieter-Computergerät 155 bereitgestellt werden, um eine weitere Umwandlung vorzunehmen, z. B. ein Inhaltselement für ein Restaurant zu erhalten.
  • In Reaktion auf das Empfangen der Einzelthread-Datenstruktur 200 kann das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 mindestens einen Vorgang durchführen, der durch die Einzelthread-Datenstruktur 200 definiert oder angegeben wird. Der Vorgang kann einer oder mehreren der jeweiligen Aktionen der Aktionsdatenstrukturen (oder Datenübertragungen) der ersten oder zweiten Eingabeaudiosignale 305, 310 entsprechen. Die Vorgänge können beispielsweise das Reservieren eines Autos von einem Fahrgemeinschaftsdienst vom Dienstanbieter-Computergerät 160 oder das Bereitstellen eines Inhaltselements für einen Kinofilm beinhalten. Das Inhaltsanbieter-Computergerät 155 kann beispielsweise eine erste Antwort 315 (z. B. ein Inhaltselement für einen Kinofilm) für das Client-Computergerät 150 bereitstellen, und das Dienstanbieter-Computergerät 160 kann eine zweite Antwort 320 (z. B. ein Auto reservieren) demselben oder einem anderen Client-Computergerät 150 bereitstellen. Die ersten und zweiten Antworten 315, 320 können das Datenverarbeitungssystem 105 während der Übertragung vom Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160 zum Client-Computergerät 150 umgehen. Die Antworten 315, 320 können Text-, Bild- oder andere Datennachrichten (einschl. Audio) beinhalten, die eine Umwandlungsaktion, wie z. B. eine Reservierung für ein Auto von einem Autodienst oder das Mieten eines Inhaltselements, bestätigen. Das Datenverarbeitungssystem 105 kann eine Angabe der Umwandlung (oder der Antworten 315, 320) über das Computernetzwerk 165 von dem Dienstanbieter-Computergerät 160, dem Inhaltsanbieter-Computergerät 155 oder dem Client-Computergerät 150 empfangen.
  • Der durch das Datenverarbeitungssystem 105 (z. B. durch die Thread-Optimierungskomponente 120 oder die Direktaktions-API 135) erstellte Einzelthread 200 kann eine tatsächliche, bekannte, geplante oder geschätzte Zeit von Aktionen angeben, die dem Thread entsprechen. Diese Zeiten können u. a. Kinofilmanfangszeiten, Transportabholzeiten, Abendessen-Reservierungszeiten oder Veranstaltungszeiten beinhalten. Die Zeiten können diskrete Zeitpunkte, z. B. 20 Uhr Abendessen-Reservierungen, oder relative Zeitpunkte zu anderen Aktionen sein, z. B. der Beginn der Aktion „B“ ist 15 Minuten nach der bekannten oder geschätzten Abschlusszeit von Aktion „A“ geplant. Der Thread 200 kann beispielsweise angeben, dass eine erste Aktion (z. B. Abendessen) planmäßig vor einer zweiten Aktion (z. B. Kinofilm ansehen) stattfinden soll. Diese Aktionen können Datenstruktur- (oder Datenübertragungs-)Aktionen entsprechen, die aus Eingabeaudiosignalen identifiziert wurden. Die Direktaktions-API 135 kann den Abschluss einer ersten Aktion erkennen. Das Computergerät 150 kann beispielsweise ein Script ausführen, um die Rechnung im Restaurant zu bezahlen, oder die Direktaktions-API 135 kann schätzen, dass das Abendessen 90 Minuten dauern wird, oder der Endbenutzer kann ein Audioeingabesignal oder eine andere Datennachricht bereitstellen, um anzugeben, dass die erste Aktion zu einem Zeitpunkt oder innerhalb eines Zeitfensters abgeschlossen oder für den Abschluss geplant ist. In Reaktion auf die Erkennung des Abschlusses (z. B. bekannte oder geschätzte Endzeit) einer ersten Aktion kann die Direktaktions-API 135 die Übertragung von Datenpakten des Einzelthreads zu einem Dienstanbieter-Computergerät 160 oder einem Inhaltsanbieter-Computergerät 155 fortsetzen. Diese Übertragung kann nach dem bekannten oder geschätzten Abschluss der ersten Aktion oder während eines Zeitfensters (z. B. innerhalb einer Stunde) nach dem bekannten oder geschätzten Abschluss der ersten Aktion erfolgen. Nach Abschluss des Abendessens kann die Direktaktions-API 135 beispielsweise zumindest einen Teil des Einzelthreads 200 für ein Dienstanbieter-Computergerät 160 bereitstellen, um Kinokarten zu kaufen, oder für ein Inhaltsanbieter-Computergerät 155, um ein Inhaltselement für einen Kinofilm zu erhalten. Angaben der Umwandlungen (z. B. Kauf der Karten oder Wiedergabe des Inhaltselements am Client-Computergerät 150) können dem Datenverarbeitungssystem 105 vom Client-Computergerät 150, dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160 bereitgestellt werden. Der Sequenzabhängigkeitsparameter 210 kann die Reihenfolge angeben, in der Aktionen des Einzelthreads 200 planmäßig stattfinden sollen, er kann z. B. angeben, dass eine erste Aktion planmäßig vor einer zweiten Aktion stattfinden soll.
  • Die Direktaktions-API 135 kann mindestens eine Deadlock-Bedingung mindestens einer Aktion des Einzelthreads 200 identifizieren. Eine Deadlock-Bedingung kann angeben, dass eine zweite Aktion erst fortfahren kann, nachdem eine erste, vorherige Aktion abgeschlossen ist. Die Direktaktions-API 135 kann beispielsweise eine Deadlock-Bedingung identifizieren, wenn die erste Aktion eine Kinofilmaktion (Ansehen eines Kinofilms in einem Kino) ist und eine zweite Aktion der Heimtransport über einen Fahrgemeinschaftsdienst, wenn der Kinofilm zu Ende ist. Die Direktaktions-API 135 kann eine Deadlock-Bedingung für die zweite Aktion (z. B. die Fahrt nach Hause) ermitteln, die bis zu einem Zeitpunkt dauert, der mit der ersten Aktion verknüpft ist, wie z. B. eine geplante Endzeit des Kinofilms. Die Direktaktions-API 135 oder andere Komponente, wie z. B. die Schnittstelle 115, kann die Übertragung der Datenübertragung zu einem Dienstanbieter-Computergerät (z. B. einem Fahrgemeinschaftsdienst) in Reaktion auf die Deadlock-Bedingung verhindern. Das Datenverarbeitungssystem 105 oder eine Komponente davon kann beispielsweise die Übertragung von Datenpaketen der Datenübertragung (oder Datenstruktur) für die Aktion (z. B. Reservieren eines Autos) an ein Dienstanbieter-Computergerät 160 (z. B. eines Fahrgemeinschaftsdienstes) während des Zeitraums der Deadlock-Bedingung verhindern. Dies verhindert, dass das Dienstanbieter-Computergerät 160 die Anfrage für ein Auto (oder den anderen Dienst) empfängt.
  • Die Direktaktions-API 135 kann eine Angabe empfangen oder anderweitig ermitteln, dass die Deadlock-Bedingung beendet oder nicht länger vorhanden ist. Die Direktaktions-API 135 kann beispielsweise das Dienstanbieter-Computergerät 160 oder andere Drittanbieter-Computergerät abfragen, um eine geplante Endzeit eines Kinofilms oder einer anderen Aktion zu ermitteln. Bei Eintreffen dieser Zeit oder innerhalb eines Schwellenwertzeitraums (z. B. 30 Minuten oder 5 Minuten) vor dieser Zeit kann die Direktaktions-API die Deadlock-Bedingung unterbrechen, freigeben oder beenden. Nach Ablauf der Deadlock-Bedingung kann das Datenverarbeitungssystem 105 an das Dienstanbieter-Computergerät 160 Daten der Datenübertragung oder Datenstruktur, die einer nachfolgenden Aktion entsprechen, z. B. einer Fahrt nach dem Kinofilm nach Hause, (z. B. über die Schnittstelle 105) übertragen.
  • Die Direktaktions-API 135 kann eine Angabe vom Client-Computergerät 150 empfangen, die Deadlock-Bedingung zu beenden. Der Endbenutzer kann sich beispielsweise entscheiden, das Kino vorzeitig zu verlassen, bevor der Kinofilm zu Ende ist, und kann ein Eingabeaudiosignal in das Client-Computergerät eingeben, z. B. „OK, dieser Film ist schlecht, ich möchte bitte nach Hause fahren“. Das Datenverarbeitungssystem 105 (z. B. die NLP-Komponente 110 oder die Direktaktions-API 135) kann aus diesem Eingabeaudiosignal ermitteln, dass die Deadlock-Bedingung abgelaufen ist, und kann Daten für die nachfolgende Aktion an das Dienstanbieter-Computergerät 160 übertragen. Nach der Freigabe der Deadlock-Bedingung kann die Direktaktions-API 135 außerdem Daten für eine Aktion (z. B. Daten einer Datenübertragung oder Aktionsdatenstruktur des Einzelthreads 200) für das Inhaltsanbieter-Computergerät 155 bereitstellen, um ein Inhaltselement zu erhalten, das mit der Aktion nach dem Deadlock verbunden ist. Das Inhaltselement kann durch das Datenverarbeitungssystem 105 oder durch das Inhaltsanbieter-Computergerät 155 dem Client-Computergerät 150 für die Wiedergabe bereitgestellt werden. Das Inhaltselement kann beispielsweise angeben „Es tut mir leid wegen des Kinofilms, möchten sie ein Auto von einem Fahrgemeinschaftsunternehmen bestellen?“. Die Inhaltsauswahlkomponente 125 (oder andere Komponente, wie z. B. die Schnittstelle 115 oder die Direktaktions-API 135) kann die Auswahl des Inhaltselements oder die Übertragung des ausgewählten Inhaltselements an das Client-Computergerät 150 in Reaktion auf eine Deadlock-Bedingung oder bis zur Freigabe der Deadlock-Bedingung blockieren.
  • Die Direktaktions-API 135 kann fortlaufende Reihenfolgen von Aktionen ändern, die durch den Einzelthread 200 angegeben werden. Die Direktaktions-API kann beispielsweise eine Angabe der ersten fortlaufenden Reihenfolge, z. B. eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion (Abendessen, dann ein Kinofilm, dann eine Fahrt nach Hause) ermitteln. Die Direktaktions-API 135 und andere Komponenten, wie z. B. die NLP-Komponente 110 und die Schnittstelle 115, können eine Anfrage zum Ändern der fortlaufenden Reihenfolge empfangen. Das Datenverarbeitungssystem 105 kann beispielsweise ein Eingabeaudiosignal vom Client-Computergerät empfangen „OK, ich möchte nach dem Kinofilm zum Abendessen ausgehen“. Die Direktaktions-API 135 (oder NLP-Komponente 110) kann aus diesem Audioeingabesignal eine Anfrage zum Ändern der fortlaufenden Reihenfolge der Aktionen zu, beispielsweise, ein Kinofilm, dann Abendessen, dann eine Fahrt nach Hause ändern. Aus diesen Informationen kann die Direktaktions-API 135 eine geänderte fortlaufende Reihenfolge erzeugen, sodass die zweite Aktion (Ansehen des Kinofilms) jetzt planmäßig vor der ersten Aktion (Abendessen) stattfinden soll. Die Direktaktions-API 135 oder Inhaltsauswahlkomponente 125 (oder andere Komponenten) kann demgemäß damit fortfahren, die Datenübertragung der Kinofilmaktion vor den Datenübertragungen der Abendessenaktion an das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 zu übertragen. Die Direktaktions-API 135 kann außerdem eine Deadlock-Bedingung identifizieren oder ändern, um Vorgänge, die mit der Abendessen-Aktion verbunden sind, auf Basis einer Endzeit der ersten Kinofilmaktion zu verzögern. Die Aktionen Abendessen, Kinofilm und Transport dienen als Beispiele, tatsächlich kann jede beliebige Anzahl von Endbenutzeraktivitäten oder Anfragen Aktionen darstellen. Die Änderungen können in Reaktion auf andere Eingaben als das Eingabeaudiosignal erfolgen. Wenn beispielsweise Eintrittskarten für den Kinofilm um 21 Uhr (nach dem Abendessen) ausverkauft sind, kann das Datenverarbeitungssystem 105 eine Audioausgabe für die Wiedergabe am Client-Computergerät 150 bereitstellen, um das Ansehen eines Kinofilms (z. B. die Vorführung um 17 Uhr) vor dem Abendessen vorzuschlagen.
  • Das Datenverarbeitungssystem 105 kann eine Offline-Aktion durchführen. Dadurch können Verarbeitungs- und Stromanforderungen gespart und der Netzwerkverkehr verringert oder auf Nebenzeiten verschoben werden. Der Einzelthread 200 kann beispielsweise eine erste Aktion und eine zweite nachfolgende Aktion angeben, die von der Auflösung der ersten Aktion abhängt. Diese Aktionen können Tage oder Wochen (oder mehr) voneinander entfernt sein, wie z. B. Kaufen eines Flugtickets (erste Aktion, heute) für einen dreiwöchigen Strandurlaub in den Tropen, der in sechs Wochen stattfindet, und Buchen von Tauchunterricht für den letzten Urlaubstag (zweite Aktion, mehr als sechs Wochen entfernt). Die Direktaktions-API 135 kann in Echtzeit mit dem Dienstanbieter-Computergerät 160, das einer Fluglinien-Entität entspricht, in Reaktion auf das Eingabeaudiosignal kommunizieren, um die Flugtickets in einer Online-Aktion zu kaufen, um eine Umwandlung - den Kauf der Flugtickets - vorzunehmen. Die zweite Aktion in diesem Beispiel bleibt sechs Monate entfernt. Über diesen sechsmonatigen Zeitraum oder ein anderes Zeitfenster kann die Direktaktions-API 135 oder andere Komponente, wie z. B. die Inhaltsauswahlkomponente 125, Inhaltselemente auswählen oder andere Vorgänge in Reaktion auf die zweite Aktion (Tauchunterricht) durchführen. Die Direktaktions-API kann dies beispielsweise offline erhalten, indem sie diese Informationen vom Datenbehälter 145 oder einem Drittanbieter-Datenbehälter in Verbindung mit Tauchunterricht erhält. Die Offline-Aktion kann in Echtzeit erfolgen oder auch nicht, zudem erfordert eine Offline-Aktion keine zeitliche Trennung (z. B. sechs Monate) zwischen Aktionen. Das Datenverarbeitungssystem 105 kann beispielsweise Informationen in Reaktion auf Aktionen vom Datenbehälter 145 oder einer Drittanbieter-Datenbank in Echtzeit als Teil einer Kommunikationssitzung oder synchronen oder asynchronen Konversation mit dem Client-Computergerät erhalten.
  • 4 stellt ein Verfahren 400 zum Verwalten sprachaktivierter Eingabedatenkommunikationen dar, die sequenzabhängige Vorgänge in einer sprachaktivierten, datenpaketbasierten Computernetzwerkumgebung angeben. Das Verfahren 400 kann mindestens ein erstes Audioeingabesignal empfangen (ACT 405). Die NLP-Komponente kann beispielsweise über die Schnittstelle 115 Datenpakete empfangen (ACT 405). Das Datenverarbeitungssystem 105 kann die NLP-Komponente 110 ausführen, starten oder aufrufen, um paket- oder andere protokollbasierte Übertragungen über das Netzwerk von mindestens einem Client-Computergerät 150 zu empfangen. Die Datenpakete können ein von dem Sensor 151 eines ersten Client-Computergeräts 150 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie z. B. ein erster Endbenutzer, der in ein Client-Computergerät 150, z. B. ein Smartphone, spricht: „OK, ich würde gerne heute Abend essen gehen“. Das Verfahren 400 kann das Eingabeaudiosignal parsen, um mindestens eine erste Anfrage oder mindestens ein erstes Auslöserschlüsselwort von dem Eingabeaudiosignal (ACT 410) zu identifizieren. Beispielsweise kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren (eine Einladungsanfrage für „Abendessen“) sowie die Schlüsselwörter („gehen zu“), die der Anfrage entsprechen oder sich auf diese beziehen. Das Verfahren 400 kann mindestens eine erste Aktionsdatenstruktur (ACT 415) auf Basis der identifizierten Anfragen oder Schlüsselwörter erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API 135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die eine erste Aktion angibt, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder eine Restaurantempfehlung.
  • Das Verfahren 400 kann mindestens ein zweites Audioeingabesignal empfangen (ACT 420). Die NLP-Komponente 110 kann beispielsweise paket- oder andere protokollbasierte Übertragungen über das Netzwerk 165 vom selben oder einem anderen Client-Computergerät 150 empfangen, von dem das erste Eingabeaudiosignal stammt. Die Datenpakete können ein von dem Sensor 151 des zweiten Client-Computergeräts 150 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie z. B. einem Endbenutzer, der in ein Client-Computergerät 150 spricht: „OK, ich würde mir später gerne einen Film ansehen“. Das Verfahren 400 kann mindestens eine zweite Anfrage oder mindestens ein zweites Auslöserschlüsselwort von dem zweiten Eingabeaudiosignal (ACT 425) identifizieren. Beispielsweise kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren (eine Einladungsanfrage für „Film“) sowie die Schlüsselwörter („ansehen“), die der Anfrage entsprechen oder sich auf sie beziehen. Das Verfahren 400 kann mindestens eine zweite Aktionsdatenstruktur (ACT 430) auf Basis der identifizierten Anfragen oder Schlüsselwörter erzeugen, die mit dem empfangenen ersten Audioeingabesignal verknüpft sind. Die Direktaktions-API 135 kann beispielsweise eine Aktionsdatenstruktur erzeugen, die eine zweite Aktion angibt, wie z. B. einen Standort für eine Taxiabholung, einen angeforderten Dienstleister oder Kinofilminformationen.
  • Das Verfahren 400 kann Datenübertragungen aus den Aktionsdatenstrukturen konstruieren (ACT 435). Die Direktaktions-API 135 kann beispielsweise eine erste Datenübertragung aus einer ersten Aktionsdatenstruktur erstellen, die dem ersten Eingabeaudiosignal entspricht, und kann eine zweite Datenübertragung aus der zweiten Aktionsdatenstruktur erstellen, die dem zweiten Eingabeaudiosignal entspricht. Die ersten und zweiten (oder andere Anzahl von) Datenübertragungen können durch Paketierung von Informationen, die aus den entsprechenden Aktionsdatenstrukturen erhalten wurden, oder anderweitiges Umwandeln der Aktionsdatenstrukturen in eine Form für die Übertragung als Teil einer allgemein definierten Kommunikationssitzung, z. B. einer hin und her gehenden oder asynchronen Konversation oder Übertragung von Daten zwischen dem Endbenutzer-Computergerät 150 und dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160 über das Datenverarbeitungssystem 105 konstruiert oder erzeugt (ACT 435) werden. Kommunikationssitzungen mit mehreren Drittanbietergeräten (z. B. Inhaltsanbieter-Computergeräten 155 oder Dienstanbieter-Computergeräten 160), die verschiedenen Entitäten entsprechen, können als Teil einer gemeinsamen Kommunikationssitzung betrachtet werden. Kommunikationssitzungen können synchron mit hin und her gehender Datenübertragung zu und von dem Client-Computergerät 150 in einer Konversationsangelegenheit oder asynchron sein, wobei eine Ruhephase, z. B. mindestens eine Stunde, zwischen Datenübertragungen stattfindet.
  • Das Verfahren 400 kann Daten aus den Datenübertragungen erhalten (ACT 440). Die Thread-Optimierungskomponente 120 kann beispielsweise auf Informationen bezüglich Aktionen von den Datenübertragungen (oder von den entsprechenden Aktionsdatenstrukturen) zugreifen oder diese (z. B. aus dem Datenbehälter 145) abrufen. Das Verfahren 400 kann mindestens einen Sequenzabhängigkeitsparameter ermitteln (ACT 445). Auf Basis der Daten, die von den Datenübertragungen erhalten wurden (ACT 440), die eine Reihenfolge der Vorgänge oder Sequenzabhängigkeit der Aktionen angeben, kann die Thread-Optimierungskomponente 120 beispielsweise einen Sequenzabhängigkeitsparameter ermitteln, der das Vorhandensein einer Sequenzabhängigkeit für mindestens zwei Aktionen angibt. Das Verfahren 400 kann eine oder mehrere Aktionsdatenstrukturen (direkt oder über Verknüpfung entsprechender Datenübertragungen) mit der Einzelthread-Datenstruktur 200 verknüpfen. Die Thread-Optimierungskomponente 120 (oder andere Komponente des Datenverarbeitungssystems 105) kann die Einzelthread-Datenstruktur 200 erzeugen (ACT 450). Auf Basis der Angabe von mindestens zwei sequenz- oder zeitabhängigen Vorgängen kann die Thread-Optimierungskomponente 120 beispielsweise mindestens eine Einzelthread-Datenstruktur erzeugen, die die ersten und zweiten Datenübertragungen, ersten und zweiten Aktionsdatenstrukturen oder ihre verknüpften Aktionen angibt (ACT 440). Die erzeugte Einzelthread-Datenstruktur 200 (ACT 450) kann Daten beinhalten, die von der Direktaktions-API 135 verwendet werden, um den Abschluss einer Aktion zu erkennen, sodass das Datenverarbeitungssystem 105 dann dem Dienstanbieter-Computergerät 160 oder dem Inhaltsanbieter-Computergerät 155 Datenpakete für eine andere Aktion bereitstellen kann. Das Datenverarbeitungssystem 105 kann außerdem eine Deadlock-Bedingung identifizieren, die mit Aktionen der erzeugten Einzelthread-Datenstruktur 200 verknüpft ist (ACT 450). Die Einzelthread-Datenstruktur 200 kann eine fortlaufende Reihenfolge mehrerer Aktionen angeben und das Verfahren kann eine geänderte fortlaufende Reihenfolge erzeugen, die die fortlaufende Reihenfolge der Aktionen ändert. Das Datenverarbeitungssystem 105 kann die gesamte oder einen Teil der Einzelthread-Datenstruktur 200 für ein oder mehrere Inhaltsanbieter-Computergeräte 155 oder Dienstanbieter-Computergeräte 160 bereitstellen.
  • 5 zeigt ein Blockdiagramm eines exemplarischen Computersystems 500. Das Computersystem oder Computergerät 500 kann das System 100 oder dessen Komponenten, wie z. B. das Datenverarbeitungssystem 105, beinhalten oder es kann verwendet werden, um diese zu implementieren. Das Computersystem 500 beinhaltet einen Bus 505 oder eine andere Kommunikationskomponente zur Übertragung von Informationen sowie einen Prozessor 510 oder eine Verarbeitungsschaltung, die mit dem Bus 505 gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 kann außerdem einen oder mehrere Prozessoren 510 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem 500 beinhaltet ferner Hauptspeicher 515, wie z. B. Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus 505 gekoppelt ist, um Daten zu speichern, sowie Anweisungen, die vom Prozessor 510 ausgeführt werden sollen. Der Hauptspeicher 515 kann der Datenbehälter 145 sein bzw. diesen Datenbehälter beinhalten. Der Hauptspeicher 515 kann bei Ausführung von Anweisungen durch den Prozessor 510 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem 500 kann ferner einen Nur-Lese-Speicher (ROM) 520 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus 505 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor 510 zu speichern. Mit dem Bus 505 kann ein Speichergerät 525, wie z. B. ein Solid-State-Gerät, eine magnetische oder optische Platte, gekoppelt werden, um Informationen und Anweisungen dauerhaft zu speichern. Das Speichergerät 525 kann den Datenbehälter 145 beinhalten bzw. Teil davon sein.
  • Das Computersystem 500 kann über den Bus 505 mit einer Anzeige 535, wie z. B. einer Flüssigkristallanzeige (LCD) oder aktiven Matrixanzeige, gekoppelt sein, sodass sich einem Benutzer Informationen anzeigen lassen. Mit dem Bus 505 kann ein Eingabegerät 530, wie z. B. eine Tastatur mit alphanumerischen und anderen Tasten, gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor 510 übermitteln lassen. Das Eingabegerät 530 kann eine Touchscreenanzeige 535 beinhalten. Das Eingabegerät 530 kann außerdem eine Cursorsteuerung, wie z. B. eine Maus, einen Trackball oder Pfeiltasten auf der Tastatur, beinhalten, sodass sich Richtungsdaten und ausgewählte Befehle an den Prozessor 510 übermitteln und die Bewegung des Cursors auf der Anzeige 535 steuern lassen. Die Anzeige 535 kann beispielsweise Bestandteil des Datenverarbeitungssystems 105, des Client-Computergeräts 150 oder anderer Komponenten von 1 sein.
  • Die hierin beschriebenen Prozesse, Systeme und Verfahren können vom Computersystem 500 als Folge davon implementiert werden, dass der Prozessor 510 einen im Hauptspeicher 515 enthaltenen Satz von Anweisungen ausführt. Diese Anweisungen können von einem computerlesbaren Medium (wie z. B. Speichergerät 525) in den Hauptspeicher 515 gelesen werden. Die Ausführung des im Hauptspeicher 515 enthaltenen Satzes von Anweisungen veranlasst das Computersystem 500, die hierin beschriebenen und dargestellten Prozesse auszuführen. Außerdem können in einer Multi-Prozessor-Anordnung ein oder mehrere Prozessoren dazu genutzt werden, die im Hauptspeicher 515 enthaltenen Anweisungen auszuführen. Festverdrahtete Schaltungen können anstelle von oder in Kombination mit Softwareanweisungen zusammen mit den hierin beschriebenen Systemen und Verfahren verwendet werden. Die hierin beschriebenen Systeme und Verfahren sind nicht auf eine spezifische Kombination aus Hardwareschaltungen und Software beschränkt.
  • Obwohl ein exemplarisches Computersystem in 5 beschrieben worden ist, kann der Gegenstand, einschließlich der in dieser Spezifikation beschriebenen Vorgänge, in anderen Arten von digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden.
  • Für Situationen, in denen die hier erläuterten Systeme ggf. persönliche Informationen über Benutzer sammeln oder nutzen, kann für die Benutzer eine Möglichkeit bereitgestellt werden, zu kontrollieren, ob Programme oder Funktionen, die persönliche Informationen (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, eine Benutzerpräferenz oder den Standort eines Benutzers) sammeln, oder um zu kontrollieren, ob und/oder wie Inhalt von einem Inhaltsserver oder einem anderen Datenverarbeitungssystem empfangen wird, der für den Benutzer ggf. relevanter ist. Zusätzlich können gewisse Daten auf eine oder mehrere Weisen anonymisiert werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Daten entfernt werden, wenn Parameter generiert werden. Eine Benutzeridentität kann beispielsweise anonymisiert werden, sodass keine persönlichen identifizierbaren Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wobei Standortinformationen (wie beispielsweise Stadt, Postleitzahl oder Bundesland) entnommen werden, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Somit kann der Benutzer Kontrolle darüber haben, wie Informationen über ihn oder sie gesammelt und von einem Inhaltsserver verwendet werden.
  • Der Gegenstand und die in dieser Spezifikation beschriebenen Vorgänge können in digitalen elektronischen Schaltkreisanordnungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. Der in dieser Beschreibung beschriebene Gegenstand kann als ein oder mehrere Computerprogramme implementiert werden, z. B. als eine oder mehrere Schaltungen von Computerprogrammanweisungen, die auf einem oder mehreren Computerspeichermedien codiert sind, um von Datenverarbeitungsvorrichtungen ausgeführt zu werden bzw. den Betrieb derselben zu steuern. Alternativ oder ergänzend dazu können die Programmanweisungen in einem künstlich erzeugten sich ausbreitenden Signal, wie beispielsweise einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal, kodiert sein, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu kodieren, damit diese von einer Datenverarbeitungsvorrichtung ausgeführt werden. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein frei adressierbares oder serielles Zugriffsspeicher-Array oder -Gerät oder eine Kombination derselben sein bzw. darin enthalten sein. Obwohl ein Computerspeichermedium kein sich ausbreitendes Signal ist, kann ein Computerspeichermedium jedoch eine Quelle oder ein Ziel von Computerprogrammbefehlen sein, die in einem künstlich erzeugten sich ausbreiteten Signal kodiert sind. Das Computerspeichermedium kann zudem eine oder mehrere separate Komponenten oder Medien sein (z. B. mehrere CDs, Datenträger oder andere Speichergeräte bzw. darin enthalten sein. Die in dieser Spezifikation beschriebenen Vorgänge können als Vorgänge implementiert werden, die durch eine Datenverarbeitungsvorrichtung an Daten ausgeführt werden, die auf einem oder mehreren computerlesbaren Speichergerät(en) gespeichert oder von anderen Quellen empfangen werden.
  • Die Begriffe „Datenverarbeitungssystem“, „Computergerät“, „Komponente“ oder „Datenverarbeitungsvorrichtung“ umfassen verschiedene Geräte, Vorrichtungen und Maschinen zur Verarbeitung von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers, eines oder mehrerer Systeme auf einem Chip oder mehrerer derselben oder Kombinationen der vorstehenden. Die Vorrichtung kann eine Spezial-Logikschaltung, wie z. B. eine FPGA (feldprogrammierbare Universalschaltung) oder eine ASIC (anwendungsspezifische integrierte Schaltung), beinhalten. Das Gerät kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm, wie z. B. Code, erzeugt, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination derselben darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodell-Infrastrukturen, wie z. B. Webdienste, sowie verteilte Rechen- und räumlich verteilte Rechen-Infrastrukturen realisieren. Die Direktaktions-API 135, Inhaltsauswahlkomponente 125, Thread-Optimierungskomponente 120 oder NLP-Komponente 110 und andere Komponenten des Datenverarbeitungssystems 105 können eine oder mehrere Datenverarbeitungsvorrichtungen, Systeme, Computergeräte oder Prozessoren beinhalten oder teilen.
  • Ein Computerprogramm (auch bekannt als ein Programm, Software, Softwareanwendung, App, Script oder Code) kann in beliebiger Form von Programmiersprache, darunter auch in kompilierten Sprachen oder interpretierten Sprachen, deklarativen oder prozeduralen Sprachen geschrieben sein, und kann in beliebiger Form eingesetzt werden, darunter auch als Einzelprogramm oder Modul, Komponente, Unterprogramm, Objekt oder eine andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm kann einer Datei in einem Dateisystem entsprechen. Ein Computerprogramm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält (z. B. eines oder mehrere Scripts, die in einem Dokument in Auszeichnungssprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern). Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme ausführen (z. B. Komponenten des Datenverarbeitungssystems 105), um durch Verarbeiten von Eingabedaten und Erzeugen von Ausgaben Vorgänge durchzuführen. Die Prozesse und Logikabläufe können zudem durch eine logische Sonderzweckschaltung, wie z. B. einen feldprogrammierbaren Universalschaltkreis (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC) ausgeführt und Vorrichtungen in Form derselben implementiert werden. Zu den zum Speichern von Computerprogrammbefehlen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, einschließlich Halbleiterspeicherelementen, darunter auch EPROM, EEPROM und Flash-Speichergeräte; magnetische Festplatten, wie z. B. interne Festplatten oder Wechselplatten; magneto-optische Festplatten; und CD-ROM- und DVD-ROM-Laufwerke. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Der hierin beschriebene Gegenstand kann in einem Computersystem implementiert sein, das eine Backend-Komponente, wie z. B. einen Datenserver, oder eine Middleware-Komponente, wie z. B. einen Anwendungsserver, oder eine Frontend-Komponente, wie z. B. einen Clientcomputer beinhaltet, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch den ein Benutzer mit einer in dieser Beschreibung beschriebenen Implementierung des Gegenstandes interagieren kann, oder eine Kombination aus einer oder mehreren jener Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden werden. Beispiele für Kommunikationsnetzwerke beinhalten ein lokales Netzwerk („LAN“) und ein Großraumnetzwerk („WAN“), ein Inter-Netzwerk (z. B. das Internet) und Peer-to-Peer-Netzwerke (z. B. ad hoc Peer-to-Peer-Netzwerke).
  • Das Computersystem, wie z. B. System 100 oder System 500, kann Clients und Server beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk (z. B. das Netzwerk 165). Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und die eine Client-Server-Beziehung zueinander aufweisen. In einigen Implementierungen sendet ein Server Daten (z. B. ein Inhaltselement darstellende Datenpakete) an ein Client-Computergerät (z. B. zu Zwecken des Anzeigens von Daten und Empfangens von Benutzereingaben von einem Benutzer, der mit dem Client-Computergerät interagiert). In dem Client-Computergerät erzeugte Daten (z. B. ein Ergebnis der Benutzerinteraktion) können von dem Client-Computergerät an dem Server empfangen werden (z. B. empfangen durch das Datenverarbeitungssystem 105 von dem Computergerät 150 oder dem Inhaltsanbieter-Computergerät 155 oder dem Dienstanbieter-Computergerät 160).
  • Obwohl die Vorgänge in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, ist es nicht erforderlich, dass diese Vorgänge in der dargestellten bestimmten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden, und es ist nicht erforderlich, dass alle veranschaulichten Vorgänge durchgeführt werden. Hierin beschriebene Aktionen können in einer unterschiedlichen Reihenfolge durchgeführt werden.
  • Die Trennung verschiedener Systemkomponenten erfordert keine Trennung bei sämtlichen Implementierungen, zudem können die beschriebenen Programmkomponenten in einem einzigen Hardware- oder Softwareprodukt enthalten sein. Die NLP-Komponente 110, die Inhaltsauswahlkomponente 125 oder die Thread-Optimierungskomponente 120 kann beispielsweise eine einzelne Komponente, eine App oder ein Programm oder ein Logikgerät mit einer oder mehreren Verarbeitungsschaltungen oder Teil von einem oder mehreren Servern des Datenverarbeitungssystems 105 sein.
  • Nachdem nunmehr einige veranschaulichende Implementierungen beschrieben wurden, ist es offensichtlich, dass das Vorstehende als Veranschaulichung und nicht als Einschränkung dient, und lediglich auf exemplarische Art und Weise präsentiert wurde. Insbesondere können, obgleich viele der hierin präsentierten Beispiele spezifische Kombinationen von Verfahrensvorgängen oder Systemelementen beinhalten, diese Vorgänge und Elemente auf andere Weisen kombiniert werden, um dieselben Ziele zu erreichen. Vorgänge, Elemente und Merkmale, die im Zusammenhang mit einer Implementierung erläutert werden, sollen nicht von einer ähnlichen Rolle in anderen Implementierungen oder Implementierungen ausgeschlossen sein.
  • Die hier verwendete Ausdrucksweise und Terminologie dient dem Zweck der Beschreibung und sollte nicht als einschränkend betrachtet werden. Die Verwendung der Wörter „einschließlich“, „umfassend“, „aufweisend“, „enthaltend“, „einbeziehend“, „gekennzeichnet durch“, „dadurch gekennzeichnet, dass“ und Variationen derselben, soll hier bedeuten, dass die danach aufgelisteten Gegenstände, Äquivalente derselben und zusätzliche Gegenstände sowie alternative Implementierungen, die ausschließlich aus den danach aufgelisteten Gegenständen bestehen, mit umfasst sind. In einer Implementierung bestehen die hierin beschriebenen Systeme und Verfahren aus einem, aus jeder Kombination von mehr als einem oder aus allen der hierin beschriebenen Elemente, Wirkungsweisen oder Komponenten.
  • Jegliche Bezugnahme auf Implementierungen oder Elemente oder Wirkungsweisen der Systeme und Verfahren, auf die hierin in der Einzahl verwiesen wird, können auch Implementierungen, einschließlich einer Vielzahl dieser Elemente, umfassen, während jegliche Bezugnahmen auf eine Implementierung oder ein Element oder eine Wirkungsweise beliebiger Art, auf die hierin in der Mehrzahl verwiesen wird, auch Implementierungen, einschließlich nur eines einzelnen Elements, umfassen können. Bezugnahmen auf die Singular- oder die Pluralform sind nicht gedacht, die vorliegend offenbarten Systeme und Verfahren, deren Komponenten, Wirkungsweisen oder Elemente auf einzelne oder mehrfache Konfigurationen einzuschränken. Bezugnahmen auf eine Wirkungsweise oder ein Element jeglicher Art, auf Basis von Informationen, Wirkungsweisen oder Elementen einer beliebigen Art können Implementierungen beinhalten, deren Wirkungsweise oder deren Element zumindest teilweise auf Informationen, Wirkungsweisen oder Elementen jeglicher Art basiert.
  • Jegliche der hierin offenbarten Implementierungen können mit beliebigen anderen Implementierungen oder Ausführungsformen kombiniert werden, wobei die Bezugnahmen auf „eine Implementierung“, „einige Implementierungen“, „die eine Implementierung“ oder dergleichen einander nicht zwangsläufig ausschließen und angeben sollen, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die im Zusammenhang mit der Implementierung beschrieben wird, in mindestens einer Implementierung oder Ausführungsform enthalten sein kann. Derartige Begriffe in der hierin verwendeten Form beziehen sich nicht notwendigerweise auf dieselbe Implementierung. Jede Implementierung kann einschließlich oder ausschließlich und auf jede Weise, die mit den hierin offenbarten Aspekten und Implementierungen im Einklang steht, mit jeder anderen Implementierung kombiniert werden.
  • Verweise auf „oder“ können als einschließend ausgelegt werden, sodass alle Begriffe, die mithilfe von „oder“ beschrieben werden, einen beliebigen einzelnen, mehr als einen oder alle beschriebenen Begriffe angeben können. Eine Bezugnahme auf „mindestens eines von ’A‘ und ’B‘“ kann beispielsweise nur ‚A‘, nur ‚B‘ sowie sowohl ‚A‘ und ‚B‘ beinhalten. Diese Bezugnahmen, die in Verbindung mit „umfassend“ oder anderer offener Terminologie verwendet werden, können zusätzliche Elemente einbeziehen.
  • Wenn technische Merkmale in den Zeichnungen, der ausführlichen Beschreibung oder einem beliebigen Anspruch von Bezugszeichen gefolgt werden, wurden die Bezugszeichen eingebunden, um die Verständlichkeit der Zeichnungen, ausführlichen Beschreibung oder Ansprüche zu erhöhen. Dementsprechend haben weder jene Bezugszeichen noch deren Abwesenheit eine einschränkende Wirkung auf den Umfang der Anspruchselemente.
  • Die hierin beschriebenen Systeme und Verfahren können zudem durch andere Ausführungsformen realisiert werden, ohne von deren wesentlichen Merkmalen abzuweichen. Komponenten des Datenverarbeitungssystems 105 müssen beispielsweise keine getrennten Komponenten sein und eine Komponente kann andere Komponenten beinhalten. Prozessoren eines oder mehrerer Computergeräte (z. B. Server) können Komponenten des Datenverarbeitungssystems 105 beinhalten oder ausführen. Die vorhergehenden Implementierungen werden eher als anschaulich denn als einschränkend für die hierin beschriebenen Systeme und Verfahren betrachtet. Der Geltungsbereich der hierin beschriebenen Systeme und Verfahren wird daher eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben, wobei Änderungen, welche innerhalb der Bedeutungen und des Bereichs der Äquivalenz der Ansprüche fallen, daher hierin eingeschlossen sind.
  • Beansprucht wird Folgendes:
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 15395725 [0001]

Claims (20)

  1. System zum Kombinieren mehrerer sprachaktivierter Audioeingabedatenpakete, die sequenzabhängige Vorgänge angeben, umfassend: eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, um, über eine Schnittstelle des Datenverarbeitungssystems, Datenpakete zu empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen; die Prozessorkomponente für natürliche Sprache, um das erste Eingabeaudiosignal zu parsen, um eine erste Anfrage und ein erstes Auslöserschlüsselwort, das der ersten Anfrage entspricht, zu identifizieren; eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) des Datenverarbeitungssystems zum: Erzeugen, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, einer ersten Aktionsdatenstruktur; und Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, um eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor der Client-Computergeräts erkannt wurde, und Parsen des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht; die Direktaktions-API zum: Erzeugen, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur; und Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, um eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät aufzubauen, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; eine Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, zum: Erhalten von Datenpaketen der ersten Datenübertragung und zum Erhalten von Datenpaketen der zweiten Datenübertragung; Ermitteln, auf Basis einer heuristischen Technik, die auf die Datenpakete der ersten Datenübertragung und die Datenpakete der zweiten Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters; und Zusammenführen, auf Basis eines Vergleichs des Sequenzabhängigkeitsparameters mit einem Schwellenwert, der ersten Datenübertragung mit der zweiten Datenübertragung in einem Einzelthread.
  2. System nach Anspruch 1, wobei der Einzelthread eine erste Aktion angibt, die planmäßig vor einer zweiten Aktion stattfinden soll, wobei die erste Aktion der ersten Aktionsdatenstruktur entspricht und die zweite Aktion der zweiten Aktionsdatenstruktur entspricht, umfassend: die Direktaktions-API zum Erkennen eines Abschlusses der ersten Aktion; und eine Schnittstelle des Datenverarbeitungssystems zum Übertragen der Datenpakete des Einzelthreads zum zweiten Dienstanbieter-Computergerät nach Abschluss der ersten Aktion.
  3. System nach Anspruch 1, wobei der Sequenzabhängigkeitsparameter angibt, dass eine Aktion, die der ersten Aktionsdatenstruktur entspricht, planmäßig vor einer Aktion stattfinden soll, die der zweiten Aktionsdatenstruktur entspricht.
  4. System nach Anspruch 3, umfassend: die Direktaktions-API zum Identifizieren einer Deadlock-Bedingung, die mit der Aktion, die der zweiten Aktionsdatenstruktur entspricht, auf Basis einer Zeit verknüpft ist, die mit der Aktion, die der ersten Aktionsdatenstruktur entspricht, verknüpft ist.
  5. System nach Anspruch 4, umfassend: eine Schnittstelle des Datenverarbeitungssystems zum Verhindern der Übertragung der Datenpakete der zweiten Kommunikationssitzung zum zweiten Dienstanbieter-Computergerät in Reaktion auf die Deadlock-Bedingung.
  6. System nach Anspruch 4, umfassend: die Direktaktions-API zum Erhalten einer Angabe der Beendigung der Deadlock-Bedingung; und eine Schnittstelle des Datenverarbeitungssystems zum Übertragen der Datenpakete der zweiten Kommunikationssitzung zum zweiten Dienstanbieter-Computergerät nach Beendigung der Deadlock-Bedingung.
  7. System nach Anspruch 1, wobei der Einzelthread sequenzabhängige Aktionen für den Einzelthread in einer fortlaufenden Reihenfolge angibt, wobei die fortlaufende Reihenfolge eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhaltet, umfassend die Direktaktions-API zum: Empfangen einer Angabe der fortlaufenden Reihenfolge und nach dem Empfangen der Angabe der fortlaufenden Reihenfolge; zum Erzeugen einer geänderten fortlaufenden Reihenfolge, wobei die fortlaufende Reihenfolge die dritte Aktion vor der zweiten Aktion beinhaltet.
  8. System nach Anspruch 1, wobei der Einzelthread eine Reihe von sequenzabhängigen Aktionen für den Einzelthread angibt, wobei die sequenzabhängigen Aktionen eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhalten, umfassend: die Direktaktions-API zum Ermitteln einer Deadlock-Bedingung auf Basis einer Abschlusszeit der ersten Aktion; die Direktaktions-API zum Ermitteln einer Freigabe der Deadlock-Bedingung auf Basis eines Abschlusses der ersten Aktion; und eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Identifizieren eines Inhaltselements für die zweite Aktion in Reaktion auf die Freigabe der Deadlock-Bedingung.
  9. System nach Anspruch 1, umfassend: die Thread-Optimierungskomponente zum Identifizieren einer Reihe von sequenzabhängigen Aktionen für den Einzelthread.
  10. System nach Anspruch 1, umfassend: die Direktaktions-API zum Übertragen mindestens einer der ersten Datenübertragung und der zweiten Datenübertragung als Teil der Kommunikationssitzung nach dem Zusammenführen der ersten Datenübertragung und der zweiten Datenübertragung im Einzelthread.
  11. System nach Anspruch 1, umfassend: die Direktaktions-API zum Identifizieren einer Deadlock-Bedingung in Verbindung mit der Sequenz der Vielzahl von Aktionen; und eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Blockieren der Auswahl eines Inhaltselements, das mit Reihen von sequenzabhängigen Aktionen für den Einzelthread verbunden ist, in Reaktion auf die Deadlock-Bedingung.
  12. System nach Anspruch 1, umfassend: die Thread-Optimierungskomponente zum Priorisieren der zweiten Aktionsdatenstruktur gegenüber der ersten Aktionsdatenstruktur.
  13. System nach Anspruch 12, umfassend eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum: Identifizieren eines Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur; und nach Identifizierung des Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur, Identifizieren eines Inhaltselements in Reaktion auf die erste Aktionsdatenstruktur.
  14. System nach Anspruch 1, umfassend: eine Inhaltsauswahlkomponente des Datenverarbeitungssystems zum Durchführen einer Offline-Aktion zum Auswählen eines Inhaltselements in Reaktion auf die zweite Aktionsdatenstruktur.
  15. System nach Anspruch 1, umfassend: die Direktaktions-API zum Ausfüllen eines variablen Felds von mindestens einer der ersten Datenstruktur und der zweiten Datenstruktur auf Basis einer Sequenzabhängigkeit zwischen einer ersten Aktion und einer zweiten Aktion.
  16. System nach Anspruch 1, wobei die erste Kommunikationssitzung und die zweite Kommunikationssitzung Teil einer gemeinsamen Kommunikationssitzung sind.
  17. Verfahren zum Verwalten mehrerer sprachaktivierter Audioeingabedatenkommunikationen, die sequenzabhängige Vorgänge angeben, umfassend: Empfangen, durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein durch einen Sensor eines Client-Computergeräts erkanntes erstes Eingabeaudiosignal umfassen; Identifizieren, durch die Prozessorkomponente für natürliche Sprache, aus dem ersten Eingabeaudiosignal, einer ersten Anfrage und eines ersten Auslöserschlüsselworts, das der ersten Anfrage entspricht; Erzeugen, durch eine Direktaktions-Anwendungsprogrammierschnittstelle („API“), des Datenverarbeitungssystems, basierend auf dem ersten Auslöserschlüsselwort und in Reaktion auf die erste Anfrage, einer ersten Aktionsdatenstruktur; Konstruieren einer ersten Datenübertragung, die die erste Aktionsdatenstruktur beinhaltet, für eine erste Kommunikationssitzung zwischen einem ersten Dienstanbieter-Computergerät und dem Client-Computergerät, wobei Datenpakete der ersten Kommunikationssitzung vom Client-Computergerät zum ersten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Empfangen, durch die Prozessorkomponente für natürliche Sprache, über die Schnittstelle des Datenverarbeitungssystems, von Datenpaketen, die ein zweites Eingabeaudiosignal umfassen, das vom Sensor des Client-Computergeräts erkannt wurde, und Parsen, durch die Prozessorkomponente für natürliche Sprache, des zweiten Eingabeaudiosignals, um eine zweite Anfrage und ein zweites Auslöserschlüsselwort zu identifizieren, das der zweiten Anfrage entspricht; Erzeugen, durch die Direktaktions-API, basierend auf dem zweiten Auslöserschlüsselwort und in Reaktion auf die zweite Anfrage, einer zweiten Aktionsdatenstruktur; Konstruieren einer zweiten Datenübertragung, die die zweite Aktionsdatenstruktur beinhaltet, für eine zweite Kommunikationssitzung zwischen einem zweiten Dienstanbieter-Computergerät und dem Client-Computergerät, wobei Datenpakete der zweiten Kommunikationssitzung vom Client-Computergerät zum zweiten Dienstanbieter-Computergerät über das Datenverarbeitungssystem geroutet werden; Erhalten, durch eine Thread-Optimierungskomponente, die durch das Datenverarbeitungssystem ausgeführt wird, von Daten der ersten Datenübertragung und Daten der zweiten Datenübertragung; Ermitteln, auf Basis einer heuristischen Technik, die auf die Daten der ersten Datenübertragung und die Daten der auf die zweite Datenübertragung angewandt wird, eines Sequenzabhängigkeitsparameters; und Verknüpfen, auf Basis des Sequenzabhängigkeitsparameters, der ersten Aktionsdatenstruktur und der zweiten Aktionsdatenstruktur mit einem Einzelthread.
  18. Verfahren nach Anspruch 17, wobei der Einzelthread eine erste Aktion angibt, die planmäßig vor einer zweiten Aktion stattfinden soll, wobei die erste Aktion der ersten Aktionsdatenstruktur entspricht und die zweite Aktion der zweiten Aktionsdatenstruktur entspricht, umfassend: Erkennen eines Abschlusses der ersten Aktion; und Bereitstellen der Datenpakete der zweiten Kommunikationssitzung für das zweite Dienstanbieter-Computergerät nach Abschluss der ersten Aktion.
  19. Verfahren nach Anspruch 17, umfassend: Identifizieren einer Deadlock-Bedingung, die mit einer Aktion des Einzelthreads verknüpft ist.
  20. Verfahren nach Anspruch 17, wobei der Einzelthread sequenzabhängige Aktionen für den Einzelthread in einer fortlaufenden Reihenfolge angibt, wobei die fortlaufende Reihenfolge eine erste Aktion, eine zweite Aktion nach der ersten Aktion und eine dritte Aktion nach der zweiten Aktion beinhaltet, umfassend: Empfangen einer Angabe der fortlaufenden Reihenfolge; und Erzeugen einer geänderten fortlaufenden Reihenfolge, wobei die fortlaufende Reihenfolge die dritte Aktion vor der zweiten Aktion beinhaltet.
DE112017000104.8T 2016-12-30 2017-08-31 Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung Pending DE112017000104T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/395,725 US10630751B2 (en) 2016-12-30 2016-12-30 Sequence dependent data message consolidation in a voice activated computer network environment
US15/395,725 2016-12-30
PCT/US2017/049780 WO2018125306A1 (en) 2016-12-30 2017-08-31 Sequence dependent data message consolidation in a voice activated computer network environment

Publications (1)

Publication Number Publication Date
DE112017000104T5 true DE112017000104T5 (de) 2018-09-13

Family

ID=59901584

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112017000104.8T Pending DE112017000104T5 (de) 2016-12-30 2017-08-31 Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung
DE212017000053.8U Active DE212017000053U1 (de) 2016-12-30 2017-08-31 Sequenzabhängige Datennachrichtenkonsolidierung in einer sprachaktivierten Computernetzwerkumgebung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE212017000053.8U Active DE212017000053U1 (de) 2016-12-30 2017-08-31 Sequenzabhängige Datennachrichtenkonsolidierung in einer sprachaktivierten Computernetzwerkumgebung

Country Status (8)

Country Link
US (3) US10630751B2 (de)
EP (3) EP3588268B1 (de)
JP (3) JP6549250B2 (de)
KR (3) KR102213761B1 (de)
CN (2) CN113504888B (de)
DE (2) DE112017000104T5 (de)
GB (1) GB2571918A (de)
WO (1) WO2018125306A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10614153B2 (en) * 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
CN110811115A (zh) * 2018-08-13 2020-02-21 丽宝大数据股份有限公司 电子化妆镜装置及其脚本运行方法
JP7297884B2 (ja) * 2018-10-15 2023-06-26 ライブパーソン, インコーポレイテッド 動的エンドポイント通信チャネル
KR102254501B1 (ko) * 2018-10-19 2021-05-21 한양대학교 산학협력단 부분 순서 보장 기반의 입출력 스케줄러 및 그 방법
US10771523B1 (en) * 2019-04-12 2020-09-08 Dish Network L.L.C. Asynchronous real-time media transfer over wireless networks
US10498721B1 (en) * 2019-06-03 2019-12-03 Capital One Services, Llc Multi-device verification via non-audible sound
CN111459451A (zh) * 2020-03-31 2020-07-28 北京市商汤科技开发有限公司 交互对象的驱动方法、装置、设备以及存储介质
CN112631760A (zh) * 2020-12-31 2021-04-09 深圳市大富网络技术有限公司 一种线程创建方法、系统、装置及计算机存储介质
CN113380247A (zh) * 2021-06-08 2021-09-10 阿波罗智联(北京)科技有限公司 多音区语音唤醒、识别方法和装置、设备、存储介质
US11671249B1 (en) * 2022-07-25 2023-06-06 Gravystack, Inc. Apparatus for generating an action-based collective

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3493441A (en) * 1967-08-25 1970-02-03 Hooker Chemical Corp Detoxification of hexavalent chromium containing coating on a metal surface
US4603430A (en) 1984-09-21 1986-07-29 Hughes Aircraft Company Target discrimination utilizing median filters
JP3181592B2 (ja) 1992-12-01 2001-07-03 マイクロソフト コーポレイション 埋め込まれたオブジェクトとイン・プレース対話するための方法及びシステム
US5812935A (en) 1993-04-17 1998-09-22 Hughes Electronics Cellular system employing base station transmit diversity according to transmission quality level
US5608727A (en) 1995-05-02 1997-03-04 Motorola, Inc. Method and system for management of frequency spectrum among multiple applications on a shared medium
US6119101A (en) 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
DE19716445A1 (de) 1997-04-21 1998-10-22 Heidelberger Druckmasch Ag Verfahren zur Verbreiterung von Zeichen
US6529730B1 (en) 1998-05-15 2003-03-04 Conexant Systems, Inc System and method for adaptive multi-rate (AMR) vocoder rate adaption
US6829646B1 (en) 1999-10-13 2004-12-07 L. V. Partners, L.P. Presentation of web page content based upon computer video resolutions
US20010016034A1 (en) * 1998-12-08 2001-08-23 Sukhinder Singh Method and apparatus for obtaining and aggregating off-line user data for re-packaging and presentation to users over a data-packet-network
US7003729B1 (en) 1999-04-20 2006-02-21 I2 Technologies Us, Inc. Method and apparatus for supporting multiple alternative graphical user interfaces in computer-moderated electronic commerce
US6275806B1 (en) 1999-08-31 2001-08-14 Andersen Consulting, Llp System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters
US6684249B1 (en) 2000-05-26 2004-01-27 Sonicbox, Inc. Method and system for adding advertisements over streaming audio based upon a user profile over a world wide area network of computers
FI20001577A (fi) 2000-06-30 2001-12-31 Nokia Mobile Phones Ltd Puheenkoodaus
US6857007B1 (en) 2000-08-30 2005-02-15 Bloomfield Enterprises, Llc Personal digital assistant facilitated communication system
WO2002086864A1 (en) 2001-04-18 2002-10-31 Rutgers, The State University Of New Jersey System and method for adaptive language understanding by computers
US7219309B2 (en) 2001-05-02 2007-05-15 Bitstream Inc. Innovations for the display of web pages
EP1393148B1 (de) 2001-05-02 2010-03-03 Bitstream Inc. Verfahren, systeme und programmierung zur herstellung und anzeige von subpixeloptimierten font-bitmaps unter verwendung eines nichtlinearen farbausgleichs
GB0118294D0 (en) * 2001-07-27 2001-09-19 Ibm Method and system for deadlock detection and avoidance
GB2392595A (en) 2002-08-30 2004-03-03 Hewlett Packard Co Page composition
US20040056894A1 (en) 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US7296230B2 (en) 2002-11-29 2007-11-13 Nippon Telegraph And Telephone Corporation Linked contents browsing support device, linked contents continuous browsing support device, and method and program therefor, and recording medium therewith
WO2004068320A2 (en) 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
EP1593057B1 (de) 2003-02-14 2011-09-28 Access Co., Ltd. Browser-programm zur durchführung eines tabellen-layout
KR20040076649A (ko) 2003-02-26 2004-09-03 삼성전자주식회사 종횡비별 브라우저 그래픽 표시 장치 및 방법
KR100447526B1 (ko) 2003-03-18 2004-09-08 엔에이치엔(주) 인터넷 사용자의 접속 의도 판단 방법 및 이를 이용한인터넷 상의 광고 방법과 그 시스템
US7962522B2 (en) 2003-06-03 2011-06-14 Norris Iii Forbes Holten Flexible, dynamic menu-based web-page architecture
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
GB0320278D0 (en) 2003-08-29 2003-10-01 Hewlett Packard Development Co Constrained document layout
US7809843B1 (en) * 2003-09-18 2010-10-05 Intel Corporation Globally unique identification in communications protocols and databases
NO20034724D0 (no) 2003-10-22 2003-10-22 Opera Software Asa Presentasjon av HTML-innhold på en skjermterminal
KR100458461B1 (ko) 2004-03-04 2004-11-26 엔에이치엔(주) 지식 광고 방법 및 지식 광고 시스템
US7853255B2 (en) 2004-04-16 2010-12-14 Broadcom Corporation Digital personal assistance via a broadband access gateway
US20060103667A1 (en) 2004-10-28 2006-05-18 Universal-Ad. Ltd. Method, system and computer readable code for automatic reize of product oriented advertisements
US20060111971A1 (en) 2004-11-24 2006-05-25 Microsoft Corporation System and method for on-line and off-line advertising in content delivered to a display screen
EP1861800A1 (de) 2005-03-09 2007-12-05 Medio Systems, Inc. Verfahren und system zur abgabe von geboten zur werbungsplatzierung auf rechnervorrichtungen
JP4346571B2 (ja) * 2005-03-16 2009-10-21 富士通株式会社 音声認識システム、音声認識方法、及びコンピュータプログラム
US7730418B2 (en) 2005-05-04 2010-06-01 Workman Nydegger Size to content windows for computer graphics
JP4665639B2 (ja) 2005-07-19 2011-04-06 日本電気株式会社 通信品質監視システム、通信品質監視装置、通信品質劣化箇所特定装置、その装置における方法及びプログラム
JP2007080357A (ja) 2005-09-13 2007-03-29 Toshiba Corp 情報記憶媒体、情報再生方法、情報再生装置
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
FI118779B (fi) 2005-10-07 2008-03-14 Riku Rikkola Kortti, kortin vastaanottolaite ja järjestelmä sähköenergian välittämistä varten
JP2007115293A (ja) 2005-10-17 2007-05-10 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
US7904505B2 (en) 2005-11-02 2011-03-08 At&T Intellectual Property I, L.P. Service to push author-spoken audio content with targeted audio advertising to users
EP2523442A1 (de) 2006-02-10 2012-11-14 Spinvox Limited Benutzerunabhängiges, vorrichtungsunabhängiges Multiskala-Sprachnachrichten-zu-Text-Umwandlungssystem
US7606875B2 (en) 2006-03-28 2009-10-20 Microsoft Corporation Detecting serving area of a web resource
CN101055577A (zh) 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 可扩展标记语言集中器
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP5262721B2 (ja) 2006-11-01 2013-08-14 日本電気株式会社 画像表示装置
US7742922B2 (en) 2006-11-09 2010-06-22 Goller Michael D Speech interface for search engines
US8031857B2 (en) 2006-12-19 2011-10-04 Scenera Technologies, Llc Methods and systems for changing a communication quality of a communication session based on a meaning of speech data
US7877696B2 (en) 2007-01-05 2011-01-25 Eastman Kodak Company Multi-frame display system with semantic image arrangement
US8107960B2 (en) * 2007-01-23 2012-01-31 Toshiba America Research, Inc. Prioritized query
GB2451415B (en) 2007-02-13 2011-08-17 Vodafone Plc Content reproduction in telecommunications systems
US8413070B1 (en) 2007-05-07 2013-04-02 Adobe Systems Incorporated Declarative resizeable list in electronic form
KR20100017440A (ko) 2007-05-29 2010-02-16 가부시키가이샤 아쿠세스 단말 장치, 히스토리 관리 방법, 및 히스토리 관리를 위한 컴퓨터 사용 가능한 기억 매체
US20090085921A1 (en) 2007-10-01 2009-04-02 Lydia Mai Do Populate Web-Based Content Based on Space Availability
US8095865B2 (en) 2007-11-21 2012-01-10 Microsoft Corporation Layout manager
US8555193B2 (en) 2008-01-17 2013-10-08 Google Inc. System for intelligent automated layout and management of interactive windows
US8453051B1 (en) 2008-03-31 2013-05-28 Amazon Technologies, Inc. Dynamic display dependent markup language interface
US20090279108A1 (en) 2008-05-12 2009-11-12 Nagayasu Hoshi Image Processing Apparatus
JP4547638B2 (ja) 2008-05-29 2010-09-22 ソニー株式会社 Webページ表示装置及びWebページ表示方法
US20090300120A1 (en) 2008-06-03 2009-12-03 Contec Innovations Inc. Method and system for producing a presentation message for a mobile device
CA2633177A1 (en) 2008-06-03 2009-12-03 Contec Innovations, Inc. Method and system for producing a presentation message for a mobile device
US9357075B1 (en) 2008-06-05 2016-05-31 Avaya Inc. Conference call quality via a connection-testing phase
US8527339B2 (en) 2008-06-26 2013-09-03 Microsoft Corporation Quality based pricing and ranking for online ads
US8438310B2 (en) 2008-10-01 2013-05-07 Adp Dealer Services, Inc. Systems and methods for configuring a website having a plurality of operational modes
US8938672B2 (en) 2008-11-04 2015-01-20 International Business Machines Corporation Amending the display property of grid elements
US8145561B1 (en) 2009-01-05 2012-03-27 Sprint Communications Company L.P. Phone usage pattern as credit card fraud detection trigger
JP4978629B2 (ja) 2009-01-19 2012-07-18 コニカミノルタビジネステクノロジーズ株式会社 項目設定装置、並びにその制御方法及び制御プログラム
JP5018794B2 (ja) 2009-01-20 2012-09-05 コニカミノルタビジネステクノロジーズ株式会社 印刷ジョブ出力装置、並びにその制御方法及び制御プログラム
JP4760921B2 (ja) 2009-01-28 2011-08-31 コニカミノルタビジネステクノロジーズ株式会社 項目設定装置、並びにその制御方法及び制御プログラム
US8949582B2 (en) * 2009-04-27 2015-02-03 Lsi Corporation Changing a flow identifier of a packet in a multi-thread, multi-flow network processor
US8448074B2 (en) 2009-05-01 2013-05-21 Qualcomm Incorporated Method and apparatus for providing portioned web pages in a graphical user interface
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
JP5299125B2 (ja) 2009-06-30 2013-09-25 富士ゼロックス株式会社 文書処理装置及びプログラム
JP5340088B2 (ja) 2009-09-07 2013-11-13 キヤノン株式会社 情報処理方法及び装置
JP5032543B2 (ja) 2009-09-16 2012-09-26 株式会社東芝 スケジューリング装置、方法及びプログラム
US8402379B2 (en) 2009-09-30 2013-03-19 SAP Portals Israel Limited Dynamic content layout for a user interface display
US9124642B2 (en) 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
WO2011065564A1 (ja) 2009-11-30 2011-06-03 楽天株式会社 オブジェクト表示装置、オブジェクト表示方法、オブジェクト表示制御プログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8626511B2 (en) * 2010-01-22 2014-01-07 Google Inc. Multi-dimensional disambiguation of voice commands
US8793598B2 (en) 2010-04-14 2014-07-29 Microsoft Corporation Cross-browser web dialog platform
KR101577508B1 (ko) 2010-06-29 2015-12-15 라쿠텐 인코포레이티드 정보 처리 장치, 정보 처리 방법, 및 정보 처리 프로그램이 기록된 기록 매체
KR101731843B1 (ko) 2010-09-02 2017-05-02 삼성전자 주식회사 아이템 디스플레이하는 방법 및 장치
KR101045589B1 (ko) 2010-09-15 2011-07-01 주식회사 유비온 네트워크를 통해 수신한 컨텐츠의 표시장치 및 그 방법
JP2012073863A (ja) 2010-09-29 2012-04-12 Rakuten Inc 広告表示プログラム、広告表示装置、広告表示方法、記録媒体、および、広告表示システム
US20120158490A1 (en) 2010-12-16 2012-06-21 Yahoo! Inc. Sponsored search auction mechanism for rich media advertising
US20120159314A1 (en) 2010-12-16 2012-06-21 Microsoft Corporation Adaptive content layout
US8510237B2 (en) 2011-03-15 2013-08-13 Qualcomm Incorporated Machine learning method to identify independent tasks for parallel layout in web browsers
US20130007602A1 (en) 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
US8872855B2 (en) 2011-07-21 2014-10-28 Flipboard, Inc. Adjusting orientation of content regions in a page layout
US9396167B2 (en) 2011-07-21 2016-07-19 Flipboard, Inc. Template-based page layout for hosted social magazines
US9020981B2 (en) 2011-09-30 2015-04-28 Comprehend Systems, Inc. Systems and methods for generating schemas that represent multiple data sources
US9760236B2 (en) 2011-10-14 2017-09-12 Georgia Tech Research Corporation View virtualization and transformations for mobile applications
JP5667962B2 (ja) * 2011-11-08 2015-02-12 日本電信電話株式会社 音声認識装置とその方法とプログラム
CN103959800A (zh) * 2011-11-30 2014-07-30 三菱电机株式会社 信息处理系统和信息处理方法
US9542956B1 (en) 2012-01-09 2017-01-10 Interactive Voice, Inc. Systems and methods for responding to human spoken audio
EP2839391A4 (de) 2012-04-20 2016-01-27 Maluuba Inc Konversationsagent
WO2013162582A1 (en) 2012-04-26 2013-10-31 Empire Technology Development Llc Multimedia application rental and billing
US9323443B2 (en) 2012-05-02 2016-04-26 International Business Machines Corporation Drilling of displayed content in a touch screen device
US20130305145A1 (en) 2012-05-09 2013-11-14 Ni Group Limited A Method of Publishing Digital Content
US20130305144A1 (en) 2012-05-09 2013-11-14 Ni Group Limited Method of Publishing Digital Content
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US20140019462A1 (en) 2012-07-15 2014-01-16 Microsoft Corporation Contextual query adjustments using natural action input
US20140033228A1 (en) 2012-07-25 2014-01-30 Google Inc. Configuring content display dimensions
CN104798094B (zh) 2012-09-20 2019-02-19 谷歌有限责任公司 确定内容项目显示环境的配置
US20140108941A1 (en) 2012-10-17 2014-04-17 Christopher Stephen Joel Method and Apparatus for Automatically Optimizing the Loading of Images in a Cloud-Based Proxy Service
US9164966B1 (en) 2012-10-24 2015-10-20 Google Inc. Determining sizes of content items
US8977555B2 (en) * 2012-12-20 2015-03-10 Amazon Technologies, Inc. Identification of utterance subjects
US20140180796A1 (en) 2012-12-21 2014-06-26 Sándor Sás Selecting and serving content items of different content item types for a content item slot
KR20140089876A (ko) 2013-01-07 2014-07-16 삼성전자주식회사 대화형 인터페이스 장치 및 그의 제어 방법
EP2954514B1 (de) 2013-02-07 2021-03-31 Apple Inc. Sprachtrigger für einen digitalen assistenten
US20140258849A1 (en) 2013-03-06 2014-09-11 Google Inc. Automatic Alignment of a Multi-Dimensional Layout
US11233841B2 (en) 2013-03-15 2022-01-25 Yottaa, Inc. Systems and methods for configuration-based optimization by an intermediary
EP2814244A1 (de) 2013-06-11 2014-12-17 Alcatel Lucent Verfahren und System zur Verbesserung der Kommunikationsqualität einer Videokonferenz
US20140372903A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Independent Hit Testing for Touchpad Manipulations and Double-Tap Zooming
US9472206B2 (en) * 2013-06-17 2016-10-18 Google Technology Holdings LLC Privacy mode for always-on voice-activated information assistant
US9483444B2 (en) 2013-07-09 2016-11-01 Flipboard, Inc. Dynamic layout engine for a digital magazine
US10776375B2 (en) * 2013-07-15 2020-09-15 Microsoft Technology Licensing, Llc Retrieval of attribute values based upon identified entities
WO2015041711A1 (en) 2013-09-20 2015-03-26 Yottaa, Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
EP3063923B1 (de) * 2013-10-29 2019-10-16 Telefonaktiebolaget LM Ericsson (publ) Steuerung einer kette von diensten
US10726831B2 (en) 2014-05-20 2020-07-28 Amazon Technologies, Inc. Context interpretation in natural language processing using previous dialog acts
US9350770B2 (en) 2014-05-30 2016-05-24 Apple Inc. Redundant transmission channels for real-time applications on mobile devices
US9330433B2 (en) * 2014-06-30 2016-05-03 Intel Corporation Data distribution fabric in scalable GPUs
US10108817B2 (en) 2014-09-26 2018-10-23 Microsoft Technology Licensing, Llc Privacy-preserving cookies for personalization without user tracking
WO2016054230A1 (en) 2014-10-01 2016-04-07 XBrain, Inc. Voice and connection platform
US9711141B2 (en) * 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9959129B2 (en) 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US10460034B2 (en) * 2015-01-28 2019-10-29 Mitsubishi Electric Corporation Intention inference system and intention inference method
JP6449039B2 (ja) * 2015-02-10 2019-01-09 ホーチキ株式会社 機器管理装置、機器管理方法、及びプログラム
US20160274864A1 (en) 2015-03-20 2016-09-22 Google Inc. Systems and methods for enabling user voice interaction with a host computing device
US10331766B2 (en) 2015-06-07 2019-06-25 Apple Inc. Templating for content authoring and distribution
US10331312B2 (en) * 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US9940929B2 (en) 2015-12-09 2018-04-10 Lenovo (Singapore) Pte. Ltd. Extending the period of voice recognition
CN105654950B (zh) 2016-01-28 2019-07-16 百度在线网络技术(北京)有限公司 自适应语音反馈方法和装置
US11477139B2 (en) * 2016-02-25 2022-10-18 Meta Platforms, Inc. Techniques for messaging bot rich communication
US9864732B2 (en) 2016-05-02 2018-01-09 Google Inc. User interfaces that facilitate management of formatting of digital content
CN106033476B (zh) 2016-05-19 2019-07-23 西安交通大学 一种云计算环境中分布式计算模式下的增量式图计算方法
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US20180012595A1 (en) * 2016-07-07 2018-01-11 Intelligently Interactive, Inc. Simple affirmative response operating system
US20180191798A1 (en) 2016-12-30 2018-07-05 Google Inc. Methods and systems for server-side rendering of native content for presentation

Also Published As

Publication number Publication date
CN113504888A (zh) 2021-10-15
JP6756017B2 (ja) 2020-09-16
US20180191804A1 (en) 2018-07-05
DE212017000053U1 (de) 2018-08-27
US10630751B2 (en) 2020-04-21
EP3588268A1 (de) 2020-01-01
EP3979067A1 (de) 2022-04-06
US20200213382A1 (en) 2020-07-02
JP6932827B2 (ja) 2021-09-08
EP3588268B1 (de) 2021-11-10
JP2020198630A (ja) 2020-12-10
EP3979067B1 (de) 2024-07-17
KR102023148B1 (ko) 2019-09-20
EP3360037A1 (de) 2018-08-15
US20210099511A1 (en) 2021-04-01
CN108604177B (zh) 2021-06-25
KR20210014773A (ko) 2021-02-09
GB201803011D0 (en) 2018-04-11
KR102327616B1 (ko) 2021-11-17
EP3360037B1 (de) 2019-11-06
GB2571918A (en) 2019-09-18
US10893088B2 (en) 2021-01-12
JP6549250B2 (ja) 2019-07-24
JP2019204515A (ja) 2019-11-28
KR20190107765A (ko) 2019-09-20
KR102213761B1 (ko) 2021-02-08
WO2018125306A1 (en) 2018-07-05
CN108604177A (zh) 2018-09-28
KR20180090184A (ko) 2018-08-10
JP2019506641A (ja) 2019-03-07
CN113504888B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
DE112017000104T5 (de) Sequenzabhängige datennachrichtenkonsolidierung in einer sprachaktivierten computernetzwerkumgebung
DE112017000092T5 (de) Sequenzabhängige vorgangsverarbeitung von paketbasierten datennachrichtenübertragungen
DE112017000202T5 (de) Datenstruktur-Pooling von sprachaktivierten Datenpaketen
DE112017000169T5 (de) Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation
DE112017000122T5 (de) Natürliche Sprachverarbeitung für den Sitzungsaufbau mit Serviceprovidern
DE112017000177T5 (de) Authentifizierung von paketierten Audiosignalen
DE112017000139T5 (de) Modulation von paketierten Audiosignalen
DE112017000141T5 (de) Selektives sensorabfragen
DE112017000131T5 (de) Rückmeldungssteuerung für Datenübertragungen
DE202017107937U1 (de) Modifikation einer audiobasierten Computerprogrammausgabe

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017200000

Ipc: G06F0040000000

R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: KILBURN & STRODE LLP, GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

Representative=s name: KILBURN & STRODE LLP, NL

R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB