DE212017000286U1 - Multimodale Übertragung von paketierten Daten - Google Patents

Multimodale Übertragung von paketierten Daten Download PDF

Info

Publication number
DE212017000286U1
DE212017000286U1 DE212017000286.7U DE212017000286U DE212017000286U1 DE 212017000286 U1 DE212017000286 U1 DE 212017000286U1 DE 212017000286 U DE212017000286 U DE 212017000286U DE 212017000286 U1 DE212017000286 U1 DE 212017000286U1
Authority
DE
Germany
Prior art keywords
computing device
interface
processing system
data processing
candidate
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.)
Active
Application number
DE212017000286.7U
Other languages
English (en)
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
Priority claimed from US15/395,703 external-priority patent/US10032452B1/en
Application filed by Google LLC filed Critical Google LLC
Publication of DE212017000286U1 publication Critical patent/DE212017000286U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/14Systems for determining distance or velocity not using reflection or reradiation using ultrasonic, sonic, or infrasonic waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0295Proximity-based methods, e.g. position inferred from reception of particular signals
    • 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/332Query formulation
    • G06F16/3329Natural 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B13/00Transmission systems characterised by the medium used for transmission, not provided for in groups H04B3/00 - H04B11/00
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/52Network services specially adapted for the location of the user terminal
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S2205/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S2205/01Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations specially adapted for specific applications
    • G01S2205/02Indoor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

System zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung, 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 Eingabeaudiosignal umfassen;
die Prozessorkomponente für natürliche Sprache zum Parsen des Eingabeaudiosignals, um eine Anfrage und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren;
eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems, um basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur zu generieren;
eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente zum Empfangen mindestens eines von der Anfrage und dem Auslöserschlüsselwort, das durch den Prozessor für natürliche Sprache identifiziert wird, und basierend auf dem mindestens einen von der Anfrage und dem Auslöserschlüsselwort, Auswählen eines Inhaltselements über einen Echtzeit-Inhaltsauswahlprozess;
eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems zum:
Pollen einer Vielzahl von Schnittstellen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle innerhalb eines Schwellenabstands des Computergeräts zu identifizieren;
Bestimmen eines ersten Ressourcenauslastungswerts für die erste Kandidatenschnittstelle und eines zweiten Ressourcenauslastungswerts für die zweite Kandidatenschnittstelle;
Basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts, Auswählen der ersten Kandidatenschnittstelle als eine ausgewählte Schnittstelle, um das Inhaltselement zu präsentieren;
Bereitstellen des Inhaltselements zur Zustellung in einer Modalität, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird; und
Übertragen des Inhaltselements in der ersten Modalität zum Zustellen des Inhaltselements zur Präsentation über die ausgewählte Schnittstelle.

Description

  • HINTERGRUND
  • Übertragen von Daten zu einen Computergerät, das Computerressourcen verwendet, kann zur Folge haben, dass paketbasierte oder anderweitige überhöhte Netzwerkübertragungen von Netzwerkverkehrsdaten ein Computergerät daran hindern, die Netzwerkverkehrsdaten richtig zu verarbeiten, einen Vorgang, der mit den Netzwerkverkehrsdaten verbunden ist, abzuschließen oder zeitgerecht auf die Netzwerkverkehrsdaten zu reagieren. Die Steuerung von Netzwerkübertragungen, die Inhaltselementobjekten entsprechen, kann durch die große Anzahl von Inhaltselementobjekten verkompliziert werden, die Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten initiieren können.
  • ZUSAMMENFASSUNG
  • Mindestens ein Aspekt betrifft ein System zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung. 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 Eingabeaudiosignal umfassen. Die Prozessorkomponente für natürliche Sprache kann das Eingabeaudiosignal parsen, um eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage zu identifizieren. Eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems kann basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente kann mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und kann basierend auf dem mindestens einen von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems kann eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren, und kann einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Der erste Ressourcenauslastungswert und der zweite Ressourcenauslastungswert können auf mindestens einem von Folgendem basieren: Batteriezustand, Prozessorauslastung, Arbeitsspeicherverwendung, Schnittstellenparameter und Netzwerkbandbreitenauslastung. Die Schnittstellenverwaltungskomponente kann basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren, und kann das Inhaltselement zum Zustellen in eine Modalität konvertieren, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Die Schnittstellenverwaltungskomponente kann dem Client-Computergerät die erste Aktionsdatenstruktur zum Wiedergeben als Audioausgabe von dem Client-Computergerät bereitstellen und das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • Mindestens ein Aspekt betrifft ein Verfahren zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung. Das Verfahren kann durch die Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems Datenpakete empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes Eingabeaudiosignal umfassen. Das Verfahren kann von dem Eingabeaudiosignal eine Anfrage und ein Auslöserschlüsselwort durch die Prozessorkomponente für natürliche Sprache gemäß der Anfrage identifizieren. Das Verfahren kann durch eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems basierend auf mindestens einem von und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Das Verfahren kann durch eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und kann basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Das Verfahren kann über eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren. Das Verfahren kann durch die Schnittstellenverwaltungskomponente einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Der erste Ressourcenauslastungswert und der zweite Ressourcenauslastungswert können auf mindestens einem von Folgendem basieren: Batteriezustand, Prozessorauslastung, Arbeitsspeicherverwendung, Schnittstellenparameter und Netzwerkbandbreitenauslastung. Das Verfahren kann basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren. Das Verfahren kann das Inhaltselement zur Zustellung in eine Modalität konvertieren, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Das Verfahren kann dem Client-Computergerät die erste Aktionsdatenstruktur zum Wiedergeben als Audioausgabe von dem Client-Computergerät bereitstellen. Das Verfahren kann das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • Mindestens ein offenbarter 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 zur multimodalen Übertragung von paketierten Daten in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung auszuführen. Die Vorgänge können durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems Datenpakete empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes Eingabeaudiosignal umfassen. Die Vorgänge können durch die Prozessorkomponente für natürliche Sprache basierend auf dem Eingabeaudiosignal eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage identifizieren. Das Verfahren kann durch eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems basierend auf mindestens einem von und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Die Vorgänge können durch eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und können basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Die Vorgänge können über eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren. Die Vorgänge können durch die Schnittstellenverwaltungskomponente einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Der erste Ressourcenauslastungswert und der zweite Ressourcenauslastungswert können auf mindestens einem der folgenden Werte basieren: Batteriezustand, Prozessorauslastung, Speicherauslastung, Schnittstellenparameter und Netzwerkbandbreitenauslastung. Die Vorgänge können basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren. Die Vorgänge können das Inhaltselement zur Zustellung in eine Modalität konvertieren, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Die Vorgänge können dem Client-Computergerät die erste Aktionsdatenstruktur zum Wiedergeben als Audioausgabe von dem Client-Computergerät bereitstellen. Die Vorgänge können das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • Mindestens ein Aspekt betrifft ein System zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung. 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 Eingabeaudiosignal umfassen. Die Prozessorkomponente für natürliche Sprache kann das Eingabeaudiosignal parsen, um eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage zu identifizieren. Eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems kann basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente kann mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und basierend auf dem mindestens einen von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems kann eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren, die innerhalb eines Schwellenabstands von dem Computergerät liegen, und kann einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Die Schnittstellenverwaltungskomponente kann basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren, und kann das Inhaltselement zur Zustellung in einer Modalität bereitstellen, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Das Schnittstellenverwaltungsverfahren kann das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • Mindestens ein Aspekt betrifft ein Verfahren zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung. Das Verfahren kann durch die Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems Datenpakete empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes Eingabeaudiosignal umfassen. Das Verfahren kann von dem Eingabeaudiosignal eine Anfrage und ein Auslöserschlüsselwort durch die Prozessorkomponente für natürliche Sprache gemäß der Anfrage identifizieren. Das Verfahren kann durch eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems basierend auf mindestens einem von und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Das Verfahren kann durch eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und kann basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Das Verfahren kann über eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren, die innerhalb eines Schwellenabstands des Computergeräts liegen. Das Verfahren kann durch die Schnittstellenverwaltungskomponente einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Das Verfahren kann basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren. Das Verfahren kann das Inhaltselement zur Zustellung in eine Modalität konvertieren, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Das Verfahren kann das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • 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 für multimodale Übertragung von paketierten Daten in einem sprachaktivierten Datenpaket basierend auf einer Computernetzwerkumgebung auszuführen. Die Vorgänge können durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems Datenpakete empfangen, die ein durch einen Sensor eines Client-Computergeräts erkanntes Eingabeaudiosignal umfassen. Die Vorgänge können durch die Prozessorkomponente für natürliche Sprache basierend auf dem Eingabeaudiosignal eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage identifizieren. Das Verfahren kann durch eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems basierend auf mindestens einem von und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur generieren. Die Vorgänge können durch eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente mindestens eines von der Anfrage und dem Auslöserschlüsselwort empfangen, das durch den Prozessor für natürliche Sprache identifiziert wird, und basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auswählen. Die Vorgänge können über eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems eine Vielzahl von Schnittstellen pollen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle mit einem Schwellenabstand von dem Computergerät identifizieren. Die Vorgänge können durch die Schnittstellenverwaltungskomponente einen ersten Ressourcenauslastungswert für die erste Kandidatenschnittstelle und einen zweiten Ressourcenauslastungswert für die zweite Kandidatenschnittstelle bestimmen. Die Vorgänge können basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts die erste Kandidatenschnittstelle als eine ausgewählte Schnittstelle auswählen, um das Inhaltselement zu präsentieren. Die Vorgänge können das Inhaltselement zur Zustellung in eine Modalität konvertieren, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird. Die Vorgänge können das für die erste Modalität konvertierte Inhaltselement übertragen, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  • Diese und andere Aspekte und Implementierungen werden nachfolgend ausführlich beschrieben. 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. In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
    • 1 stellt ein System zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit;
    • 2 stellt ein Ablaufdiagramm zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit;
    • 3 stellt ein Verfahren zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit;
    • 4 stellt einen veranschaulichenden Vorgang eines Systems zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit;
    • 5 stellt einen veranschaulichenden Vorgang eines Systems zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit; und
    • 6 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 und Verfahren, Vorrichtungen und Systemen zur multimodalen Übertragung von paketierten Daten in einer sprachaktivierten datenpaketbasierten Computernetzwerkumgebung, die damit in Zusammenhang stehen, sowie Implementierungen derselben. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erläutert werden, können in einer beliebigen von zahlreichen Arten implementiert werden.
  • Systeme und Verfahren der vorliegenden Offenbarung betreffen im Allgemeinen ein Datenverarbeitungssystem, das eine optimale Übertragungsmodalität für eine datenpaket- (oder andere protokollbasierte) Übertragungen in einer sprachaktivierten Computernetzwerkumgebung identifiziert. Das Datenverarbeitungssystem kann die Effizienz und Effektivität der Datenpaketübertragung über ein oder mehrere Computernetzwerke verbessern, indem es beispielsweise eine Übertragungsmodalität aus einer Vielzahl von Optionen für Datenpaket-Routing durch ein Computernetzwerk von Inhaltselementen zu einem oder mehreren Client-Computergeräten oder zu verschiedenen Schnittstellen (z. B. verschiedenen Anwendungen oder Programmen) eines einzelnen Client-Computergeräts auswählt. Datenpakete oder andere, den ausgewählten Vorgängen entsprechende protokollbasierte Signale können über ein Computernetzwerk zwischen mehreren Computergeräten geroutet werden. Beispielsweise kann das Datenverarbeitungssystem ein Inhaltselement an eine andere Schnittstelle routen als eine Schnittstelle, von der eine Anfrage empfangen wurde. Die unterschiedliche Schnittstelle kann sich auf demselben Client-Computergerät oder auf einem anderen Client-Computergerät befinden, von dem eine Anfrage empfangen wurde. Das Datenverarbeitungssystem kann mindestens eine Kandidatenschnittstelle aus einer Vielzahl von Kandidatenschnittstellen für die Übertragung von Inhalten an ein Client-Computergerät auswählen. Die Kandidatenschnittstellen können basierend auf technischen oder rechnerischen Parametern, wie z. B. Prozessorfähigkeit oder Verwendungsrate, Speicherfähigkeit oder Verfügbarkeit, Batteriezustand, verfügbare Leistung, Netzwerkbandbreitenauslastung, Schnittstellenparameter oder anderen Ressourcenauslastungswerten, bestimmt werden. Durch Auswählen einer Schnittstelle zum Empfangen und Bereitstellen des Inhaltselements für das Wiedergeben von dem Client-Computergerät basierend auf Kandidatenschnittstellen oder den Kandidatenschnittstellen zugeordneten Verwendungsraten kann das Datenverarbeitungssystem die Netzwerkbandbreitenauslastung, die Latenzzeit oder die Verarbeitungsverwendung oder den Stromverbrauch des Client-Computergeräts, das das Inhaltselement wiedergibt, reduzieren. Dies spart Verarbeitungsleistung und andere Rechenressourcen, wie z. B. 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 beinhalten ein Datenverarbeitungssystem, das eine Eingabeaudioanfrage empfängt, die auch als Eingabeaudiosignal bezeichnet werden kann. Von der Eingabeaudioanfrage kann das Datenverarbeitungssystem eine Anfrage und ein Auslöserschlüsselwort gemäß der Anfrage identifizieren. Basierend auf dem Auslöserschlüsselwort oder der Anfrage kann das Datenverarbeitungssystem eine erste Aktionsdatenstruktur generieren. Beispielsweise kann die erste Aktionsdatenstruktur eine organische Antwort auf die von einem Client-Computergerät empfangene Audioanfrage beinhalten, und das Datenverarbeitungssystem kann die erste Aktionsdatenstruktur an dasselbe Client-Computergerät zum Wiedergeben als Audioausgabe über dieselbe Schnittstelle bereitstellen, von der die Anfrage empfangen wurde.
  • Das Datenverarbeitungssystem kann auch mindestens ein Inhaltselement basierend auf dem Auslöserschlüsselwort oder der Anfrage auswählen. Das Datenverarbeitungssystem kann eine Vielzahl von Kandidatenschnittstellen zum Wiedergeben des Inhalts/der Inhalte identifizieren oder bestimmen. Die Schnittstellen können eine oder mehrere Hard- oder Softwareschnittstellen beinhalten, wie z. B. Bildschirme, Audioschnittstellen, Lautsprecher, Anwendungen oder Programme, die auf dem Client-Computergerät, das die Eingabeaudioabfrage ausgelöst hat, oder auf verschiedenen Client-Computergeräten verfügbar sind. Die Schnittstellen können sowohl Javascript-Slots für Online-Dokumente zum Einfügen von Inhalten als auch Push-Benachrichtigungsschnittstellen beinhalten. Das Datenverarbeitungssystem kann Verwendungswerte für die verschiedenen Kandidatenschnittstellen bestimmen. Die Verwendungswerte können z. B. Leistung, Verarbeitung, Arbeitsspeicher, Bandbreite oder Schnittstellenparameterfähigkeiten angeben. Basierend auf den Verwendungswerten für die Kandidatenschnittstellen kann das Datenverarbeitungssystem eine Kandidatenschnittstelle als eine ausgewählte Schnittstelle für die Präsentation oder Wiedergabe des Inhaltselements auswählen. Beispielsweise kann das Datenverarbeitungssystem das Inhaltselement in einer mit der ausgewählten Schnittstelle kompatiblen Modalität konvertieren oder zur Zustellung bereitstellen. Die ausgewählte Schnittstelle kann eine Schnittstelle des gleichen Client-Computergeräts, das das Eingabeaudiosignal erzeugt hat, oder eines anderen Client-Computergeräts sein. Indem das Datenverarbeitungssystem Datenpakete basierend auf Verwendungswerten, die einer Kandidatenschnittstelle zugeordnet sind, über ein Computernetzwerk routet, wählt es ein Ziel für das Inhaltselement in einer Weise aus, die die geringste Menge an Verarbeitungsleistung, Arbeitsspeicher oder Bandbreite aus den verfügbaren Optionen verwenden, oder die Leistung eines oder mehrerer Client-Computergeräte einsparen kann.
  • Das Datenverarbeitungssystem kann das Inhaltselement oder die erste Aktionsdatenstruktur durch paket- oder andere protokollbasierte Datenübertragung über ein Computernetzwerk, an ein Client-Computergerät bereitstellen. Das Ausgabesignal kann dazu führen, dass eine Audiotreiberkomponente des Client-Computergeräts eine akustische Welle generiert, z. B. eine Audioausgabe, die von dem Client-Computergerät ausgegeben werden kann. Die Audio- (oder andere) Ausgabe kann der ersten Aktionsdatenstruktur oder dem Inhaltselement entsprechen. Beispielsweise kann die erste Aktionsdatenstruktur als Audioausgabe, und das Inhaltselement als eine textbasierte Nachricht geroutet werden. Durch das Routing der ersten Aktionsdatenstruktur und des Inhaltselements auf verschiedene Schnittstellen kann das Datenverarbeitungssystem die von jeder Schnittstelle verwendeten Ressourcen im Vergleich zur Bereitstellung sowohl der ersten Aktionsdatenstruktur als auch des Inhaltselements auf derselben Schnittstelle konservieren. Dies führt zu weniger Datenverarbeitungsvorgängen, weniger Arbeitsspeicherverwendung oder weniger Netzwerkbandbreitenauslastung durch die ausgewählten Schnittstellen (oder deren entsprechenden Geräten), als dies ohne Trennung und unabhängiges Routing der ersten Aktionsdatenstruktur und des Inhaltselements der Fall wäre.
  • Das Datenverarbeitungssystem kann ein oder mehrere Geräte in Reichweite eines Computergeräts identifizieren, der ein Eingabeaudiosignal über ein Mikrofon erkennt. Das Datenverarbeitungssystem kann das eine oder die mehreren identifizierten Geräte in Reichweite pollen, um eine oder mehrere Kandidatenschnittstellen zu identifizieren. Das Datenverarbeitungssystem kann für jede der einen oder mehreren Kandidatenschnittstellen einen Ressourcenauslastungswert bestimmen, um eine Schnittstelle auszuwählen, über die eine Benachrichtigung oder ein Inhaltselement übertragen werden soll. Beispielsweise kann das Datenverarbeitungssystem bestimmen, ob ein Inhaltselement oder eine Benachrichtigung übertragen werden soll. Das Datenverarbeitungssystem kann bestimmen, ob das Inhaltselement oder die Benachrichtigung in Abhängigkeit von der Spracheingabe, die von einem Computergerät empfangen wird, übertragen werden soll. Vor der Übertragung des Inhalts oder der Benachrichtigung kann das Datenverarbeitungssystem ein weiteres Computergerät in Reichweite des Computergeräts identifizieren. Das Datenverarbeitungssystem kann die Vielzahl von Computergeräten pollen, um Kandidatenschnittstellen für das Inhaltselement zu identifizieren. Das Datenverarbeitungssystem kann z. B. bestimmen, dass eine erste Kandidatenschnittstelle eines ersten Computergeräts einen hohen Ressourcenauslastungswert aufweist (z. B. kann die erste Kandidatenschnittstelle eine Audioschnittstelle sein und das Datenverarbeitungssystem kann bestimmen, dass das erste Computergerät Musik abspielt). Das Datenverarbeitungssystem kann bestimmen, dass eine zweite Kandidatenschnittstelle eine geringe Ressourcenauslastung aufweist (z. B. kann die zweite Kandidatenschnittstelle eine visuelle Anzeige beinhalten, die derzeit nicht verwendet wird). Das Datenverarbeitungssystem kann außerdem bestimmen, dass der Inhalt entweder in einem Audio- oder in einem visuellen Format dargestellt werden kann. Das Datenverarbeitungssystem kann dann die zweite Kandidatenschnittstelle auswählen, das Inhaltselement in das visuelle Format konvertieren oder auswählen, und das Inhaltselement zur Präsentation über die zweite Kandidatenschnittstelle übertragen.
  • 1 stellt ein exemplarisches System 100 zur multimodalen Übertragung von paketierten Daten in einer sprachaktivierten datenpaket- (oder anderen protokoll-) basierten Computernetzwerkumgebung dar. Das System 100 kann mindestens ein Datenverarbeitungssystem 105 beinhalten. Das Datenverarbeitungssystem 105 kann mindestens einen Server, der mindestens einen Prozessor aufweist, beinhalten. Das Datenverarbeitungssystem 105 kann beispielsweise eine Vielzahl von Servern beinhalten, die sich in mindestens einem Rechenzentrum oder einer Serverfarm befinden. Das Datenverarbeitungssystem 105 kann aus einem Audioeingabesignal eine Anfrage und ein der Anfrage zugeordnetes Auslöserschlüsselwort bestimmen. Basierend auf der Anfrage und dem Auslöserschlüsselwort kann das Datenverarbeitungssystem 105 mindestens eine Aktionsdatenstruktur bestimmen oder auswählen, und kann mindestens ein Inhaltselement auswählen (und, wie hierin beschrieben, andere Aktionen initiieren). Das Datenverarbeitungssystem 105 kann Kandidatenschnittstellen für das Wiedergeben der Aktionsdatenstrukturen oder der Inhaltselemente identifizieren und die Aktionsdatenstrukturen oder die Inhaltselemente für das Wiedergeben durch eine oder mehrere Kandidatenschnittstellen auf einem oder mehreren Client-Computergeräten basierend auf Ressourcenauslastungswerten für oder der Kandidatenschnittstellen bereitstellen, beispielsweise als Teil eines sprachaktivierten Kommunikations- oder Planungssystems. Die Aktionsdatenstruktur (oder die Inhaltselemente) kann/können eine oder mehrere Audiodateien beinhalten, welche, wenn sie wiedergegeben werden, Audioausgabe oder akustische Wellen bereitstellen. Die Aktionsdatenstrukturen oder die Inhaltselemente kann/können zusätzlich zu dem Audioinhalt weitere Inhalte (z. B. Text-, Video- oder Bildinhalte) beinhalten.
  • Das Datenverarbeitungssystem 105 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse ermöglichen. 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äß einem oder mehreren Typen von Betriebssystemplattformen betrieben werden. Das Datenverarbeitungssystem 105 kann Server in einem Rechenzentrum beinhalten, die in einem oder mehreren Lagersystemen mit hoher Dichte gespeichert sind, zusammen mit verbundenen Speichersystemen, die sich beispielsweise in einem Enterprise-Rechenzentrum befinden. Das Datenverarbeitungssystem 105 mit konsolidierten Servern kann auf diese Weise Systemverwaltung, Datensicherheit, physische Sicherheit des Systems sowie Systemleistung durch das Lokalisieren von Servern und Hochleistungsspeichersystemen in lokalisierten Hochleistungsnetzwerken verbessern. Die Zentralisierung sämtlicher oder einiger Komponenten des Datenverarbeitungssystems 105, einschließlich Servern und Speichersystemen, sowie das Koppeln dieser mit verbesserten System-Management-Tools ermöglicht eine effizientere Verwendung von Server-Ressourcen, wodurch Strom- und Verarbeitungsanforderungen eingespart und die Bandbreitenauslastung reduziert werden.
  • Das Datenverarbeitungssystem 105 kann mindestens eine Prozessorkomponente 110 für natürliche Sprache (NLP), mindestens eine Schnittstelle 115, mindestens eine Vorhersagekomponente 120, mindestens eine Inhaltsauswahlelementkomponente 125, mindestens eine Audiosignalgeneratorkomponente 130, mindestens eine Direktaktions-Anwendungsprogrammierschnittstelle (API) 135, mindestens eine Schnittstellenverwaltungskomponente 140 und mindestens einen Datenbehälter 145 beinhalten. Die NLP-Komponente 110, Schnittstelle 115, Vorhersagekomponente 120, Inhaltsauswahlelementkomponente 125, Audiosignalgeneratorkomponente 130, Direktaktions-API 135 und Schnittstellenverwaltungskomponente 140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logik-Gerät, wie z. B. programmierbare Arrays beinhalten, die konfiguriert sind, mit dem Datenbehälter 145 und mit sonstigen Computergeräten (z. B. mindestens ein Client-Computergerät 150, mindestens ein Inhaltsanbieter-Computergerät 155 oder mindestens ein 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 einem Inhaltsanordnungs- oder Suchmaschinenergebnissystem zugeordnet 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 z. B. Webseiten, Internetpräsenzen, Domänennamen oder URL-Adressen zuzugreifen, die durch das Client-Computergerät 150 präsentiert, ausgegeben, gerendert oder angezeigt werden können. Beispielsweise kann ein Benutzer des Client-Computergeräts 150 über das Netzwerk 165 auf Informationen oder Daten zugreifen, die durch das Datenverarbeitungssystem 105, 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 (Asynchroner Transfermodus)-Netzwerk, ein SONET (Synchrones Optisches Netzwerk)-Netzwerk, ein SDH (Synchrone Digitale Hierarchie)-Netzwerk, ein Drahtlosnetzwerk oder ein kabelgebundenes Netzwerk, und Kombinationen derselben, beinhalten. Das Netzwerk 165 kann eine Drahtlosverbindung, wie beispielsweise einen Infrarotkanal oder ein Satellitenfrequenzband, beinhalten. Die Topologie des Netzwerks 165 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk 165 kann ein beliebiges Protokoll oder beliebige Protokolle verwendende Mobilfunknetze, die zur Kommunikation zwischen Mobilgeräten verwendet werden, beinhalten, darunter auch 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-Computergerät, 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 die Audioeingabe in ein elektronisches Signal konvertieren, oder umgekehrt. Der Audiotreiber 153 kann ein Script oder Programm beinhalten, das durch einen oder mehrere Prozessoren des Client-Computergeräts 150 ausgeführt wird, um den Sensor 151, den Wandler 152, den Audiotreiber 153 oder andere Komponenten des Client-Computergeräts 150 zwecks Verarbeitens der Audioeingaben oder Bereitstellens der Audioausgaben zu steuern. Der Lautsprecher 154 kann das Audioausgabesignal übertragen.
  • Das Client-Computergerät 150 kann einem Endbenutzer zugeordnet 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 Audioausgabe kann einer Aktionsdatenstruktur entsprechen, die von der Direktaktions-API 135 empfangen wird, oder einem Inhaltselement, das von der Inhaltsauswahlkomponente 125 ausgewählt wird. Die computergenerierte Stimme kann Aufzeichnungen von einer realen Person oder einer computergenerierten Sprache beinhalten.
  • Das Inhaltsanbieter-Computergerät 155 (oder das Datenverarbeitungssystem 105 oder das Dienstanbieter-Computergerät 160) kann audiobasierte Inhaltselemente zwecks Anzeigens durch das Client-Computergerät 150 als eine Audioausgabe bereitstellen. Die Aktionsdatenstruktur oder das Inhaltselement kann eine organische Reaktion oder ein Angebot für eine Ware oder eine Dienstleistung beinhalten, wie beispielsweise eine sprachbasierte Nachricht, die besagt: „Heute ist es sonnig und 80 Grad Fahrenheit am Strand“ als organische Antwort auf eine Spracheingabeabfrage von „Ist heute ein Strandtag?“ Das Datenverarbeitungssystem 105 (oder eine andere Komponente des Systems 100, wie z. B. das Inhaltsanbieter-Computergerät 155, kann auch ein Inhaltselement als Antwort bereitstellen, z. B. ein sprach- oder textnachrichtenbasiertes Inhaltselement mit Sonnenschutz.
  • Das Inhaltsanbieter-Computergerät 155 oder der Datenbehälter 145 kann einen Arbeitsspeicher zum Speichern einer Reihe von Audioaktionsdatenstrukturen oder Inhaltselementen beinhalten, die in Reaktion auf eine sprachbasierte Anfrage bereitgestellt werden können. Die Aktionsdatenstrukturen und Inhaltselemente können paketbasierte Datenstrukturen für die Übertragung über das Netzwerk 165 beinhalten. Das Inhaltsanbieter-Computergerät 155 kann ebenfalls audio- oder textbasierte Inhaltselemente (oder andere Inhaltselemente) an das Datenverarbeitungssystem 105 bereitstellen, wo diese in dem Datenbehälter 145 gespeichert werden können. Das Datenverarbeitungssystem 105 kann die Audioaktionsdatenstrukturen oder textbasierten Inhaltselemente auswählen und diese bereitstellen (oder das Inhaltsanbieter-Computergerät 155 anweisen, diese bereitzustellen) an dieselben oder verschiedene Client-Computergeräte 150, die auf eine Anfrage von einem dieser Client-Computergeräte 150 reagieren. Die audiobasierten Aktionsdatenstrukturen können ausschließlich Audio sein oder mit Text-, Bild- oder Videodaten kombiniert sein. Die Inhaltselemente können ausschließlich Text sein oder mit Text-, Bild- oder Videodaten kombiniert sein.
  • 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 empfangen oder diese an die Direktaktions-API 135 des Datenverarbeitungssystems 105 bereitstellen (z. B. Aktionsdatenstrukturen oder Inhaltselemente). Die Direktaktions-API 135 kann die Aktionsdatenstrukturen auch unabhängig von oder ohne Eingabe des Dienstanbieter-Computergeräts 160 generieren. Das Dienstanbieter-Computergerät 160 und das Inhaltsanbieter-Computergerät 155 können der gleichen Entität zugeordnet sein. Beispielsweise kann das Inhaltsanbieter-Computergerät 155 Inhalte für strandbezogene Dienste wie Sonnencreme, Strandtücher oder Badeanzüge erstellen, speichern oder bereitstellen, und das Dienstanbieter-Computergerät 160 kann eine Sitzung mit dem Client-Computergerät 150 herstellen, um auf eine Spracheingabeabfrage über das Wetter am Strand, Wegbeschreibung zu einem Strand oder eine Empfehlung für einen Bereichsstrand zu reagieren, und diese Inhalte dem Endbenutzer des Client-Computergeräts 150 über eine Schnittstelle des gleichen Client-Computergeräts 150, von dem die Anfrage empfangen wurde, einer anderen Schnittstelle des gleichen Client-Computergeräts 150 oder einer Schnittstelle eines anderen Client-Computergeräts bereitzustellen. Das Datenverarbeitungssystem 105 kann über die Direktaktions-API 135, die NLP-Komponente 110 oder andere Komponenten zudem die Sitzung mit dem Client-Computergerät herstellen, einschließlich oder unter Umgehung des Dienstanbieter-Computergeräts 160, um z. B. eine organische Reaktion auf eine mit dem Strand in Zusammenhang stehende Anfrage bereitzustellen.
  • Der Datenbehälter 145 kann eine oder mehrere lokale oder verteilte Datenbanken beinhalten, und kann ein Datenbankverwaltungssystem beinhalten. Der Datenbehälter 145 kann Computerdatenspeicher oder Arbeitsspeicher beinhalten und neben anderen Daten einen oder mehrere Parameter 146, eine oder mehrere Richtlinien 147, Inhaltsdaten 148 oder Vorlagen 149 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 und dem Datenverarbeitungssystem 105 (oder dem Dienstanbietercomputergerät 160) beinhalten. Die Inhaltsdaten 148 können Inhaltselemente zur Audioausgabe oder zugeordnete Metadaten sowie eingegebene Audionachrichten beinhalten, die Teil von einer oder mehreren Kommunikationssitzungen mit dem Client-Computergerät 150 sein können.
  • Das System 100 kann die Verarbeitung von Aktionsdatenstrukturen und Inhaltselementen in einer sprachaktivierten Datenpaket- (oder anderen Protokoll-) Umgebung 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 von Aktionsdatenstrukturen als Audioausgabe für die Anzeige von dem Client-Computergerät 150 bereitstellen, um Aufgaben im Zusammenhang mit diesem Eingabeaudiosignal zu erfüllen. Beispielsweise kann das Datenverarbeitungssystem mit dem Dienstanbieter-Computergerät 160 oder anderen Drittanbieter-Computergeräten kommunizieren, um unter anderem Aktionsdatenstrukturen mit Informationen über einen Strand zu generieren. Zum Beispiel kann ein Endbenutzer ein Eingabeaudiosignal in das Client-Computergerät 150 wie folgt eingeben: „Ok, ich möchte dieses Wochenende an den Strand gehen“ und eine Aktionsdatenstruktur kann die Wochenendwettervorhersage für Strände in der Umgebung anzeigen, wie z. B. „es wird sonnig und 80 Grad Fahrenheit am Strand am Samstag, mit Flut um 15 Uhr.“
  • Die Aktionsdatenstrukturen können eine Reihe von organischen oder nicht gesponserten Antworten auf das Eingabeaudiosignal beinhalten. Beispielsweise können die Aktionsdatenstrukturen eine Strandwettervorhersage oder eine Wegbeschreibung zu einem Strand beinhalten. Die Aktionsdatenstrukturen in diesem Beispiel beinhalten organische oder nicht gesponserte Inhalte, die direkt auf das Eingabeaudiosignal reagieren. Die Inhaltselemente, die auf das Eingabeaudiosignal reagieren, können gesponserte oder nicht organische Inhalte beinhalten, wie z. B. ein Angebot zum Kauf von Sonnenschutzmitteln in einem Geschäft in der Nähe des Strandes. In diesem Beispiel reagiert die organische Aktionsdatenstruktur (Strandprognose) auf das Eingabeaudiosignal (eine Anfrage, die sich auf den Strand bezieht), und das Inhaltselement (eine Erinnerung oder ein Angebot für Sonnenschutz) reagiert ebenfalls auf das gleiche Eingabeaudiosignal. Das Datenverarbeitungssystem 105 kann Parameter von System 100 (z. B. Stromverbrauch, verfügbare Anzeigen, Anzeigeformate, Arbeitsspeicheranforderungen, Bandbreitenauslastung, Leistungskapazität oder Zeit der Eingangsleistung (z. B. interne Batterie oder externe Stromquelle, wie z. B. eine Stromquelle von einem Wandausgang) auswerten, um die Aktionsdatenstruktur und das Inhaltselement an verschiedene Kandidatenschnittstellen auf demselben Client-Computergerät 150 oder an verschiedene Kandidatenschnittstellen auf verschiedenen Client-Computergeräten 150 bereitzustellen.
  • 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 (wie z. B. Datenpakete über eine paketierte oder andere protokollbasierte Übertragung) an mindestens eine Schnittstelle 115 des Datenverarbeitungssystems 105 zu kommunizieren, und um Komponenten des Client-Computergeräts 150 anzusteuern, um Ausgabeaudiosignale (z. B. für Aktionsdatenstrukturen) oder andere Ausgabesignale (z. B. Inhaltselemente) wiederzugeben. Das Datenverarbeitungssystem 105 kann Datenpakete oder ein anderes Signal empfangen, das ein Audioeingabesignal beinhaltet oder identifiziert. Beispielsweise kann das Datenverarbeitungssystem 105 die NLP-Komponente 110 ausführen oder ausführen lassen, um das Audiosignal zu empfangen.
  • Die NLP-Komponente 110 kann das Audioeingabesignal durch Vergleichen des Eingabeaudiosignals mit einer gespeicherten repräsentativen Reihe von Audiowellenformen (z. B. in dem 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 konvertiert wurde, kann die NLP-Komponente 110 den Text mit Worten abgleichen, die beispielsweise via Training über Benutzer oder durch manuelle Beschreibung Aktionen zugeordnet 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 Audioeingabesignal an das Datenverarbeitungssystem 105 (z. B. über das Netzwerk 165) bereitstellen, wo es (z. B. durch die Schnittstelle 115) empfangen werden kann, und an die NLP-Komponente 110 bereitgestellt, oder in dem Datenbehälter 145 als Inhaltsdaten 148 gespeichert werden kann.
  • Die NLP-Komponente 110 kann ein erstes Eingabeaudiosignal empfangen oder anderweitig erhalten. Aus dem Eingabeaudiosignal kann die NLP-Komponente 110 mindestens eine Anfrage oder mindestens ein der Anfrage entsprechendes Auslöserschlüsselwort identifizieren. Die Anfrage kann Absicht oder Gegenstand des Eingabeaudiosignals anzeigen. Das Auslöserschlüsselwort kann eine Aktionsart anzeigen, die wahrscheinlich vorzunehmen ist. Die NLP-Komponente 110 kann beispielsweise das Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, das Wochenende am Strand zu verbringen. Das 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 „gehen“ oder „gehen zu“ von dem Eingabeaudiosignal kann beispielsweise eine Notwendigkeit für eine Reise weg von zu Hause 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 Zusatzaktion für mindestens eine andere Aktion ist, die durch die Anfrage angezeigt wird.
  • Die Vorhersagekomponente 120 (oder ein anderer Mechanismus des Datenverarbeitungssystems 105) kann basierend auf der Anfrage oder des Auslöserschlüsselworts mindestens eine Aktionsdatenstruktur bestimmen, die dem Eingabeaudiosignal zugeordnet ist. Die Struktur der Aktionsdaten kann Informationen zum Thema des Eingabeaudiosignals anzeigen. Die Aktionsdatenstruktur kann eine oder mehrere Aktionen beinhalten, z. B. organische Reaktionen auf das Eingabeaudiosignal. Beispielsweise kann das Eingabeaudiosignal „Ok, ich möchte an diesem Wochenende an den Strand gehen“ mindestens eine Anfrage beinhalten, die ein Interesse an einer Strandwettervorhersage, einem Surfbericht oder Informationen zur Wassertemperatur anzeigt, und mindestens ein Auslöserschlüsselwort, z. B. „gehen“, wodurch eine Fahrt zum Strand, wie beispielsweise ein Bedarf an Gegenständen, die man an den Strand bringen möchte, oder ein Bedarf an Transport an den Strand, angezeigt wird. Die Vorhersagekomponente 120 kann Themen für mindestens eine Aktionsdatenstruktur, einen Hinweis auf eine Anfrage nach einer Strandwettervorhersage sowie Themen für ein Inhaltselement, z. B. einen Hinweis auf eine Anfrage nach gesponserten Inhalten im Zusammenhang mit einem Tag am Strand, generieren oder identifizieren. Die Vorhersagekomponente 120 (oder eine andere Komponente von System 100 wie die NLP-Komponente 110 oder die Direktaktions-API 135) sagt vorher, schätzt oder bestimmt aus der Anfrage oder dem Auslöserschlüsselwort den Gegenstand für Aktionsdatenstrukturen oder für Inhaltselemente. Aus diesem Gegenstand kann die Direktaktions-API 135 mindestens eine Aktionsdatenstruktur generieren und mit mindestens einem Inhaltsanbieter-Computergerät 155 kommunizieren, um mindestens ein Inhaltselement 155 zu erhalten. Die Vorhersagekomponente 120 kann auf die Parameter 146 oder Richtlinien 147 in dem Datenbehälter 145 zugreifen, um Anfragen nach Aktionsdatenstrukturen oder Inhaltselementen zu bestimmen oder anderweitig abzuschätzen. Beispielsweise könnten die Parameter 146 oder 147 Anfragen nach einer Wettervorhersage für ein Strandwochenende oder nach Inhalten im Zusammenhang mit Strandbesuchen, wie z. B. einem Inhaltselement für Sonnenschutzmittel, angeben.
  • Die Inhaltsauswahlkomponente 125 kann Hinweise auf das Interesse oder die Anfrage nach der Aktionsdatenstruktur oder dem Inhaltselement erhalten. Beispielsweise kann die Vorhersagekomponente 120 direkt oder indirekt (z. B. über den Datenbehälter 145) einen Hinweis auf die Aktionsdatenstruktur oder das Inhaltselement für die Inhaltsauswahlelementkomponente 125 bereitstellen. Die Inhaltsauswahlelementkomponente 125 kann diese Informationen von dem Datenbehälter 145 erhalten, wo sie als Teil der Inhaltsdaten 148 gespeichert sein können. Die Angabe der Aktionsdatenstruktur kann die Inhaltsauswahlkomponente 125 über den Bedarf an Strandinformationen, wie z. B. eine Wettervorhersage oder Produkte oder Dienstleistungen informieren, die der Endverbraucher für eine Fahrt an den Strand benötigt.
  • Aus den von der Inhaltsauswahlelementkomponente 125 empfangenen Informationen, z. B. einer Angabe einer nahenden Fahrt zum Strand, kann die Inhaltsauswahlelementkomponente 125 mindestens ein Inhaltselement identifizieren. Das Inhaltselement kann auf die Eingabeaudioanfrage reagieren oder sich darauf beziehen. Beispielsweise kann das Inhaltselement eine Datennachricht beinhalten, die sich als zerrissen in der Nähe des Strandes mit Sonnencreme identifiziert oder eine Taxifahrt zum Strand anbietet. 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 das Inhaltselement ebenfalls von dem Inhaltsanbieter-Computergerät 155 auswählen. In Reaktion auf eine von dem Datenverarbeitungssystem 105 empfangene Anfrage kann das Inhaltsanbieter-Computergerät 155 beispielsweise ein Inhaltselement an das Datenverarbeitungssystem 105 (oder Komponenten davon), von dem das Eingabeaudiosignal stammte, oder für die Ausgabe an denselben Endbenutzer durch ein anderes Client-Computergerät 150, das das Eingabeaudiosignal erzeugt hat, oder für eine Ausgabe an denselben Endbenutzer durch ein anderes Computergerät 150 b erei tstell en.
  • Die Audiosignalgeneratorkomponente 130 kann ein Ausgabesignal in Reaktion auf das Eingabeaudiosignal generieren oder anderweitig erhalten, das das Inhaltselement (sowie die Aktionsdatenstruktur) beinhaltet. Beispielsweise kann das Datenverarbeitungssystem 105 die Audiosignalgeneratorkomponente 130 ausführen, um ein der Aktionsdatenstruktur oder dem Inhaltselement entsprechendes Ausgabesignal zu generieren oder zu erzeugen. Die Schnittstellenkomponente 115 des Datenverarbeitungssystems 105 kann ein oder mehrere Datenpakete mit dem Ausgabesignal über das Computernetzwerk 165 an jedes beliebige Client-Computergerät 150 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.
  • Das Datenverarbeitungssystem 105 kann das Ausgabesignal, einschließlich der Aktionsdatenstruktur aus dem Datenbehälter 145 oder aus der Audiosignalgeneratorkomponente 130, an das Client-Computergerät 150 bereitstellen. Das Datenverarbeitungssystem 105 kann das Ausgabesignal, einschließlich dem Inhaltselement 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 (z. B. entsprechend der Aktionsdatenstruktur oder dem Inhaltselement) 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, generiert, konvertiert oder an das Client-Computergerät 150 übertragen werden.
  • Die Inhaltsauswahlelementkomponente 125 kann das Inhaltselement oder die Aktionsdatenstruktur für die als Teil eines Echtzeit-Inhaltsauswahlprozesses auswählen. Beispielsweise kann die Aktionsdatenstruktur dem Client-Computergerät 150 zur Übertragung als Audioausgabe durch eine Schnittstelle des Client-Computergeräts 150 in gesprochener Weise als direkte Reaktion auf das Eingabeaudiosignal bereitgestellt werden. Der Echtzeit-Inhaltsauswahlprozess zwecks Identifizierens der Aktionsdatenstruktur und Bereitstellens des Inhaltselements an das Client-Computergerät 150 kann innerhalb einer Minute oder weniger ab dem Zeitpunkt des Eingabeaudiosignals erfolgen und als in Echtzeit erfolgend betrachtet werden. Das Datenverarbeitungssystem 105 kann das Inhaltselement auch an mindestens eine Schnittstelle des Client-Computergeräts 150, der das Eingabeaudiosignal erzeugt hat, oder an ein anderes Client-Computergerät 150 b erei tstell en.
  • Die Aktionsdatenstruktur (oder das Inhaltselement), 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 der Aktionsdatenstruktur oder dem Inhaltselement entsprechende akustische Welle zu generieren. Die akustische Welle kann Wörter beinhalten, die der Aktionsdatenstruktur oder dem Inhaltselement entsprechen.
  • Die akustische Welle, die die Aktionsdatenstruktur darstellt, kann von dem Client-Computergerät 150 getrennt von dem Inhaltselement ausgegeben werden. Beispielsweise kann die akustische Welle die Audioausgabe von „Heute ist es sonnig und 80 Grad Fahrenheit am Strand“ beinhalten. In diesem Beispiel erhält das Datenverarbeitungssystem 105 das Eingabeaudiosignal von z. B. „Ok, ich möchte dieses Wochenende gerne an den Strand gehen.“ Aus diesen Informationen identifiziert die NLP-Komponente 110 mindestens eine Anfrage oder mindestens ein Auslöserschlüsselwort, und die Vorhersagekomponente 120 verwendet die Anfrage(n) oder das/die Auslöserschlüsselwort(wörter), um eine Anfrage nach einer Aktionsdatenstruktur oder nach einem Inhaltselement zu identifizieren. Die Inhaltsauswahlkomponente 125 (oder eine andere Komponente) kann ein Inhaltselement für z. B. Sonnenschutzmittel in Strandnähe identifizieren, auswählen oder generieren. Die Direktaktions-API 135 (oder eine andere Komponente) kann eine Aktionsdatenstruktur z. B. für die Strandprognose am Wochenende identifizieren, auswählen oder generieren. Das Datenverarbeitungssystem 105 oder eine Komponente desselben, wie z. B. die Audiosignalgeneratorkomponente 130, kann die Aktionsdatenstruktur zur Ausgabe durch eine Schnittstelle des Client-Computergeräts 150 bereitstellen. Beispielsweise kann die der Aktionsdatenstruktur entsprechende akustische Welle von dem Client-Computergerät 150 ausgegeben werden. Das Datenverarbeitungssystem 105 kann das Inhaltselement für die Ausgabe über eine andere Schnittstelle desselben Client-Computergeräts 150 oder über eine Schnittstelle eines anderen Client-Computergeräts 150 bereitstellen.
  • Die paketbasierte Datenübertragung der Aktionsdatenstruktur durch das Datenverarbeitungssystem 105 zu dem Client-Computergerät 150 kann eine direkte oder Echtzeitantwort auf das Eingabeaudiosignal von „Ok, ich möchte an diesem Wochenende an den Strand gehen“ beinhalten, sodass die paketbasierten Datenübertragungen über das Computernetzwerk 165, die Teil einer Kommunikationssitzung zwischen dem Datenverarbeitungssystem 105 und dem Client-Computergerät 150 sind, den Ablauf und das Empfinden eines Echtzeitgesprächs von Mensch zu Mensch haben. Diese paketbasierte Datenübertragungskommunikationssitzung kann auch das Inhaltsanbieter-Computergerät 155 oder das Dienstanbieter-Computergerät 160 beinhalten.
  • Die Inhaltsauswahlkomponente 125 kann das Inhaltselement oder die Aktionsdatenstruktur basierend auf mindestens einer Anfrage oder mindestens einem Auslöserschlüsselwort des Eingabeaudiosignals auswählen. Beispielsweise können die Anfragen des Eingabeaudiosignals „Ok, ich möchte an diesem Wochenende an den Strand gehen“ Themen des Strandes, Fahrten an den Strand oder Dinge angeben, die einen Ausflug an den Strand erleichtern. Die NLP-Komponente 110 oder die Vorhersagekomponente 120 (oder andere Komponenten des Datenverarbeitungssystems 105, die im Rahmen der Direktaktions-API 135 ausgeführt werden) können das Auslöserschlüsselwort „gehen“, „gehen zu“ oder „um zu gehen“ identifizieren und eine Transportanfrage zum Strand bestimmen, die zumindest teilweise auf dem Auslöserschlüsselwort basiert. Die NLP-Komponente 110 (oder eine andere Komponente des Systems 100) kann auch eine Aufforderung für Inhaltselemente in Zusammenhang mit Strandaktivitäten, wie z. B. Sonnenschutz oder Sonnenschirme, bestimmen. So kann das Datenverarbeitungssystem 105 aus dem Eingabeaudiosignal Aktionen ableiten, die sekundäre Anfragen sind (z. B. eine Anfrage nach einem Sonnenschutz), die nicht die primäre Anfrage oder Gegenstand des Eingabeaudiosignals sind (Informationen über den Strand an diesem Wochenende).
  • Die Aktionsdatenstrukturen und Inhaltselemente können dem Inhalt des Eingabeaudiosignals entsprechen. Die Direktaktions-API 135 kann Programme oder Scripts ausführen, z. B. aus der NLP-Komponente 110, der Vorhersagekomponente 120 oder der Inhaltsauswahlelementkomponente 125, um Aktionsdatenstrukturen oder Inhaltselemente für eine oder mehrere dieser Aktionen 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. Abhängig von der in ihren Eingaben spezifizierten Aktion, kann die Direktaktions-API 135 einen Code oder ein Dialogscript ausführen, der/das die zur Erfüllung einer Benutzeranfrage erforderlichen Parameter identifiziert. Dieser Code kann zusätzliche Informationen, beispielsweise in dem Datenbehälter 145, suchen, wie z. B. den Namen eines Hausautomatisierungsdienstes, oder kann Audioausgaben zum Wiedergeben auf dem Client-Computergerät 150 bereitstellen, um dem Endbenutzer Fragen, wie beispielsweise nach dem beabsichtigten Ziel eines angeforderten Taxis, zu stellen. Die Direktaktions-API 135 kann erforderliche Parameter bestimmen und die Informationen in eine Aktions-Datenstruktur zusammenfassen, welche sodann an eine andere Komponente, wie beispielsweise die Inhaltsauswahlelementkomponente 125 oder das Dienstanbieter-Computergerät 160, gesendet werden kann, um erfüllt zu werden.
  • Die Direktaktions-API 135 des Datenverarbeitungssystems 105 kann, basierend auf der Anfrage oder dem Auslöserschlüsselwort, die Datenstrukturen für die Aktionen des Threads generieren. Die Aktionsdatenstrukturen können in Reaktion auf den Gegenstand des Eingabeaudiosignals generiert werden. Die Aktionsdatenstruktur kann in den Nachrichten enthalten sein, die an das Dienstanbieter-Computergerät 160 übertragen oder von diesem empfangen werden. Basierend auf dem Audioeingabesignal, das von der NLP-Komponente 110 analysiert wird, kann die Direktaktions-API 135 bestimmen, an welche, wenn überhaupt, von mehreren Dienstanbieter-Computergeräten 160 die Nachricht übertragen werden soll. Wenn ein Eingabeaudiosignal beispielsweise „Ok, ich möchte an diesem Wochenende an den Strand gehen“ beinhaltet, kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren oder Schlüsselwörter, wie z. B. das Auslöserschlüsselwort „um zu gehen“, als Hinweis auf einen Bedarf nach einem Taxi auszulösen. Die Direktaktions-API 135 kann die Anfrage in eine Aktionsdatenstruktur packen und als Nachricht an ein Dienstanbieter-Computergerät 160 eines Taxidienstes übertragen. Die Nachricht kann auch an die Inhaltsauswahlelementkomponente 125 weitergeleitet werden. Die Aktionsdatenstruktur kann Informationen zum Abschließen der Anfrage beinhalten. In diesem Beispiel können die Informationen einen Abholort (z. B. zu Hause) und einen Zielort (z. B. den Strand) beinhalten. Die Direktaktions-API 135 kann eine Vorlage 149 aus dem Datenbehälter 145 abrufen, um zu bestimmen, welche Felder in die Aktionsdatenstruktur aufgenommen werden sollen. Die Direktaktions-API 135 kann Inhalte aus dem Datenbehä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 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 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 den gemeinsamen Gegenstand beinhalten. Die Konversation kann z. B. asynchrone Kommunikationen beinhalten, die durch einen Zeitraum von Stunden oder Tagen voneinander getrennt sind. Die Konversations- oder Kommunikationssitzung kann für einen Zeitraum vom Empfangen des ersten Eingabeaudiosignals bis zu einem geschätzten oder bekannten Abschluss einer abschließenden Aktion in Zusammenhang mit dem ersten Eingabeaudiosignal oder Empfangen eines Hinweises auf eine Beendigung oder Ablauf der Konversation durch das Datenverarbeitungssystem 105 andauern. Beispielsweise kann das Datenverarbeitungssystem 105 bestimmen, dass ein Gespräch im Zusammenhang mit einem Strandausflug am Wochenende zum Zeitpunkt oder Empfangen des Eingabeaudiosignals beginnt und am Ende des Wochenendes abläuft oder endet, z. B. Sonntag Nacht oder Montag Morgen. Das Datenverarbeitungssystem 105, das über eine oder mehrere Schnittstellen des Client-Computergeräts 150 oder eines anderen Client-Computergeräts 150 während des aktiven Zeitraums des Gesprächs (z. B. vom Empfangen des Eingabeaudiosignals bis zu einer bestimmten Ablaufzeit) Aktionsdatenstrukturen oder Inhaltselemente zur Darstellung bereitstellt, kann als in Echtzeit arbeitend betrachtet werden. In diesem Beispiel erfolgen die Inhaltsauswahlprozesse und das Wiedergeben der Inhaltselemente und der Aktionsdatenstrukturen in Echtzeit.
  • Die Schnittstellenverwaltungskomponente 140 kann Schnittstellen für die Wiedergabe der Aktionsdatenstrukturen und der mit dem Eingabeaudiosignal verbundenen Inhaltselemente pollen, bestimmen, identifizieren oder auswählen. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 eine oder mehrere Kandidatenschnittstellen von Client-Computergeräten 150 identifizieren, die einem Endbenutzer zugeordnet sind, der das Eingabeaudiosignal (z. B. „Wie ist das Wetter heute am Strand?“) über eine Audioschnittstelle in eines der Client-Computergeräte 150 eingegeben hat. Die Schnittstellen können Hardware, wie z. B. Sensor 151 (z. B. ein Mikrofon), Lautsprecher 154 oder eine Bildschirmgröße eines Computergeräts, allein oder kombiniert mit Scripts oder Programmen (z. B. dem Audiotreiber 153) sowie Apps, Computerprogramme, Online-Dokumente (z. B. Webseiten) und Kombinationen derselben beinhalten.
  • Die Schnittstellen können soziale Netzwerkkonten, Textnachrichtenanwendungen oder E-Mail-Konten beinhalten, die einem Endbenutzer des Client-Computergeräts 150 zugeordnet sind, der das Eingabeaudiosignal erzeugt hat. Schnittstellen können die Audioausgabe eines Smartphones oder eines auf dem Smartphone installierten App-basierten Messaging-Geräts oder eines tragbaren Computergeräts, neben anderen Client-Computergeräten 150, beinhalten. Die Schnittstellen können zudem Bildschirmparameter (z. B. Größe, Auflösung), Audioparameter, Parameter für mobile Endgeräte (z. B. Prozessorleistung, Akkulaufzeit, Vorhandensein von installierten Anwendungen oder Programmen oder Fähigkeiten von Sensor 151 oder Lautsprecher 154), Content-Slots auf Online-Dokumenten für Text-, Bild- oder Videowiedergaben von Inhaltselementen, Chat-Anwendungen, Laptop-Parameter, Smartwatch oder andere tragbare Geräteparameter (z. B. Angaben zu deren Anzeige- oder Verarbeitungsmöglichkeiten) oder Virtual-Reality-Headset-Parameter beinhalten.
  • Die Schnittstellenverwaltungskomponente 140 kann eine Vielzahl von Schnittstellen pollen, um Kandidatenschnittstellen zu identifizieren. Kandidatenschnittstellen beinhalten Schnittstellen, die in der Lage sind, eine Antwort auf das eingegebene Audiosignal zu geben (z. B. die Aktionsdatenstruktur als Audioausgabe oder das Inhaltselement, das in verschiedenen Formaten, einschließlich Nichtaudioformaten, ausgegeben werden kann). Die Schnittstellenverwaltungskomponente 140 kann Parameter oder andere Fähigkeiten von Schnittstellen bestimmen, um zu bestimmen, ob es sich bei diesen um Kandidatenschnittstellen handelt (oder nicht). Beispielsweise kann die Schnittstellenverwaltungskomponente 140 basierend auf den Parametern 146 des Inhaltselements oder eines ersten Client-Computergeräts 150 (z. B. eines tragbaren Smartwatch-Geräts) bestimmen, dass die Smartwatch eine verfügbare visuelle Schnittstelle von ausreichender Größe oder Auflösung beinhaltet, um das Inhaltselement wiederzugeben. Die Schnittstellenverwaltungskomponente 140 kann außerdem bestimmen, dass das Client-Computergerät 150, das das Eingabeaudiosignal erzeugt hat, eine Lautsprecher-154-Hardware und ein installiertes Programm, z. B. einen Audiotreiber oder ein anderes Script zur Wiedergabe der Aktionsdatenstruktur aufweist.
  • Die Schnittstellenverwaltungskomponente 140 kann Verwendungswerte für Kandidatenschnittstellen bestimmen. Die Verwendungswerte können anzeigen, dass eine Kandidatenschnittstelle die Aktionsdatenstrukturen oder die Inhaltselemente, die in Reaktion auf die eingegebenen Audiosignale bereitgestellt werden, darstellen kann (oder nicht). Die Verwendungswerte können Parameter 146 aus dem Datenbehälter 145 oder andere Parameter aus dem Client-Computergerät 150 beinhalten, wie z. B. Bandbreiten- oder Verarbeitungsverwendungen oder - anforderungen, Rechenleistung, Leistungsbedarf, Batteriezustand, Arbeitsspeicherauslastung oder -fähigkeiten oder andere Schnittstellenparameter, die die Verfügbarkeit einer Schnittstelle zur Wiedergabe von Aktionsdatenstrukturen oder Inhaltselementen angeben. Der Batteriezustand kann eine Art von Stromquelle (z. B. interne Batterie oder externe Stromquelle, z. B. über einen Ausgang), einen Ladezustand (z. B. aktuell geladen oder nicht) oder eine Menge an verbleibender Batterieleistung angeben. Die Schnittstellenverwaltungskomponente 140 kann Schnittstellen basierend auf dem Batterie- oder Ladezustand auswählen.
  • Die Schnittstellenverwaltungskomponente 140 kann die Kandidatenschnittstellen in einer Hierarchie oder Rangfolge nach den Verwendungswerten ordnen. Beispielsweise können unterschiedliche Verwendungswerte (z. B. Verarbeitungsanforderungen, Bildschirmgröße, Zugänglichkeit für den Endanwender) unterschiedlich gewichtet werden. Die Schnittstellenverwaltungskomponente 140 kann einen oder mehrere der Verwendungswerte der Kandidatenschnittstellen basierend auf ihren Gewichtungen bewerten, um eine optimale entsprechende Kandidatenschnittstelle für die Wiedergabe des Inhaltselements (oder der Aktionsdatenstruktur) zu bestimmen. Basierend auf dieser Hierarchie kann die Schnittstellenverwaltungskomponente 140 die höchstrangige Schnittstelle für die Wiedergabe des Inhaltselements auswählen.
  • Die Schnittstellenverwaltungskomponente 140 kann basierend auf Verwendungswerten für Kandidatenschnittstellen mindestens eine Kandidatenschnittstelle als eine ausgewählte Schnittstelle für das Inhaltselement auswählen. Die ausgewählte Schnittstelle für das Inhaltselement kann die gleiche Schnittstelle sein, von der das Eingabeaudiosignal empfangen wurde (z. B. eine Audioschnittstelle des Client-Computergeräts 150) oder eine andere Schnittstelle (z. B. eine SMS-basierte Anwendung des gleichen Client-Computergeräts 150 oder ein E-Mail-Konto, auf das von demselben Client-Computergerät 150 zugegriffen werden kann.
  • Die Schnittstellenverwaltungskomponente 140 kann eine Schnittstelle für das Inhaltselement auswählen, die eine Schnittstelle eines anderen Client-Computergeräts 150 als das Gerät ist, das das Eingabeaudiosignal erzeugt hat. Beispielsweise kann das Datenverarbeitungssystem 105 das Eingabeaudiosignal von einem ersten Client-Computergerät 150 (z. B. einem Smartphone) empfangen und eine Schnittstelle, wie z. B. die Anzeige einer Smartwatch (oder eines anderen Client-Computergeräts) zur Wiedergabe des Inhaltselements auswählen. Die mehreren Client-Computergeräte 150 können alle dem gleichen Endbenutzer zugeordnet werden. Das Datenverarbeitungssystem 105 kann bestimmen, dass mehrere Client-Computergeräte 150 demselben Endbenutzer zugeordnet sind, basierend auf Informationen, die mit Zustimmung des Endbenutzers empfangen wurden, wie z. B. der Zugriff auf ein gemeinsames soziales Netzwerk- oder E-Mail-Konto über mehrere Client-Computergeräte 150.
  • Die Schnittstellenverwaltungskomponente 140 kann außerdem bestimmen, dass eine Schnittstelle nicht verfügbar ist. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 Schnittstellen pollen und bestimmen, dass der Batteriezustand eines Client-Computergeräts 150, der der Schnittstelle zugeordnet ist, niedrig ist oder unter einem Schwellenwert, wie z. B. 10 %, liegt. Oder die Schnittstellenverwaltungskomponente 140 kann bestimmen, dass das der Schnittstelle zugeordnete Client-Computergerät 150 keine ausreichende Bildschirmgröße oder Rechenleistung aufweist, um das Inhaltselement wiederzugeben, oder dass die Prozessorauslastungsrate zu hoch ist, da das Client-Computergerät gerade eine andere Anwendung ausführt, beispielsweise um Inhalte über das Netzwerk 165 zu streamen. In diesen und anderen Beispielen kann die Schnittstellenverwaltungskomponente 140 bestimmen, dass die Schnittstelle nicht verfügbar ist und kann die Schnittstelle als Kandidat für die Wiedergabe des Inhaltselements oder der Aktionsdatenstruktur beseitigen.
  • So kann die Schnittstellenverwaltungskomponente 140 bestimmen, dass eine Kandidatenschnittstelle, auf die das erste Client-Computergerät 150 Zugriff hat, einem Konto eines Endbenutzers zugeordnet ist, und dass eine zweite Kandidatenschnittstelle, auf die ein zweites Client-Computergerät 150 Zugriff hat, ebenfalls demselben Konto zugeordnet ist. Beispielsweise können beide Client-Computergeräte 150 auf dasselbe soziale Netzwerkkonto zugreifen, z. B. durch Installation einer App oder eines Scripts auf jedem Client-Computergerät 150. Die Schnittstellenverwaltungskomponente 140 kann außerdem bestimmen, dass mehrere Schnittstellen demselben Konto entsprechen, und kann mehrere, unterschiedliche Inhaltselemente für die mehreren Schnittstellen, die dem gemeinsamen Konto entsprechen, bereitstellen. Beispielsweise kann das Datenverarbeitungssystem 105 mit Zustimmung des Endbenutzers bestimmen, dass ein Endbenutzer auf ein Konto von verschiedenen Client-Computergeräten 150 aus zugegriffen hat. Diese mehreren Schnittstellen können getrennte Instanzen derselben Schnittstelle sein (z. B. dieselbe Anwendung, die auf verschiedenen Client-Computergeräten 150 installiert ist) oder verschiedene Schnittstellen, z. B. verschiedene Anwendungen für verschiedene soziale Netzwerkkonten, die beide einem gemeinsamen E-Mail-Adresskonto zugeordnet sind, auf das von mehreren Client-Computergeräten 150 aus zugegriffen werden kann.
  • Die Schnittstellenverwaltungskomponente 140 kann außerdem Entfernungen zwischen Client-Computergeräten 150 bestimmen oder schätzen, die Kandidatenschnittstellen zugeordnet sind. Beispielsweise kann das Datenverarbeitungssystem 105 mit Zustimmung des Benutzers einen Hinweis erhalten, dass das Eingabeaudiosignal von einem Smartphone oder einem Virtual-Reality-Headset-Computergerät 150 stammt, und dass der Endbenutzer einem aktiven Smartwatch-Client-Computergerät 150 zugeordnet ist. Aus diesen Informationen kann die Schnittstellenverwaltungskomponente bestimmen, dass die Smartwatch aktiv ist, z. B. von dem Endbenutzer getragen wird, wenn der Endbenutzer das Audiosignal in das Smartphone eingibt, sodass sich die beiden Client-Computergeräte 150 in einem Schwellenabstand zueinander (z. B. innerhalb von 1 Meter, 2 Meter, 3 Meter, 4 Meter oder 7 Meter; oder innerhalb des Audio- oder Sichtbereichs) befinden. Das Datenverarbeitungssystem 105 kann mit Zustimmung des Endbenutzers auch den Standort eines Smartphones bestimmen, das die Quelle eines Eingabeaudiosignals ist, und kann außerdem bestimmen, dass ein dem Endbenutzer zugeordnetes Laptop-Konto derzeit aktiv ist. Beispielsweise kann der Laptop bei einem sozialen Netzwerkkonto angemeldet werden, das anzeigt, dass der Benutzer gerade auf dem Laptop aktiv ist. In diesem Beispiel kann das Datenverarbeitungssystem 105 bestimmen, dass sich der Endbenutzer in einem Schwellenabstand zu dem Smartphone und zu dem Laptop befindet, sodass der Laptop eine geeignete Wahl für die Wiedergabe des Inhaltselements über eine Kandidatenschnittstelle sein kann.
  • Die Schnittstellenverwaltungskomponente 140 kann ein oder mehrere andere Computergeräte 150 identifizieren, die sich innerhalb eines Schwellenabstands von dem Computergerät 150 befinden, das das Eingabeaudiosignal empfängt, und dann die den Computergeräten 150 zugeordneten Kandidatenschnittstellen pollen, die sich innerhalb des Schwellenabstands des Computergeräts 150 befinden. Die Schnittstellenverwaltungskomponente 140 kann mit einer oder mehreren Näherungserkennungstechniken konfiguriert werden, um die Computergeräte 150 zu identifizieren, die sich innerhalb des Schwellenabstands des Computergeräts 150 befinden, das das Eingabeaudiosignal empfängt. Näherungserkennungstechniken können z. B. eine subakustische Wellentechnik, eine auf WIFI basierende Technik, eine auf Bluetooth basierende Technik, eine auf Eingabeaudiosignalen basierende Technik oder eine auf Token basierende Technik beinhalten. WIFI (oder Wi-Fi) kann sich auf eine Technologie zur drahtlosen lokalen Vernetzung mit Computergeräten beziehen, die auf einem Standard basieren.
  • Beispielsweise kann die Schnittstellenverwaltungskomponente 140 mit Zustimmung des Endbenutzers ein erstes Computergerät anweisen, das das Eingabeaudiosignal empfängt, eine subakustische Welle zu senden, um andere Computergeräte in einem Schwellenabstand zu identifizieren. Eine subakustische Welle kann sich auf eine akustische oder Audioübertragung beziehen, die für ein menschliches Ohr nicht oder nur schwer wahrnehmbar ist. Beispielsweise kann die subakustische Welle Infraschall, wie z. B. eine Schallwelle beinhalten, die eine Frequenz von unter 20 Hz aufweist. Die subakustische Welle kann Ultraschall beinhalten, z. B. eine Schallwelle mit Frequenzen über der oberen Hörgrenze des menschlichen Gehörs, z. B. über 20.000 Hz bis zu 1 Gigahertz, 2 Gigahertz oder mehr. Wenn das zweite Computergerät die subakustische Welle (oder Ultraschallwelle) erkennen kann, kann das zweite Computergerät eine zweite subakustische Welle (oder Ultraschallwelle) als Antwort übertragen. Die zweite subakustische Welle kann eine Kennung oder andere Daten codieren, um das zweite Computergerät anzugeben oder zu identifizieren. Das erste Computergerät kann dann die Antwort des zweiten Computergeräts empfangen, um zu bestimmen, dass sich das erste und das zweite Computergerät in einem Schwellenabstand befinden, da das erste und das zweite Computergerät in der Lage waren, erfolgreich subakustische Schallwellen voneinander zu senden und zu empfangen. Beispielsweise kann das erste Computergerät die zweite subakustische Welle decodieren, sodass diese die Kennung des zweiten Computergeräts extrahiert. Das erste Computergerät kann das Datenverarbeitungssystem 105 abfragen, um Informationen oder Profilinformationen zu erhalten, die dem zweiten Computergerät zugeordnet sind, um die Übertragung von Inhalten oder Benachrichtigungen an das zweite Computergerät zu erleichtern.
  • In einigen Fällen kann ein drittes Computergerät die durch das erste Computergerät übertragene subakustische Welle empfangen. Das dritte Computergerät kann auf die subakustische Welle mit einer dritten subakustischen Welle reagieren, die mit einer dritten Kennung codiert ist. Das erste Computergerät kann die dritte subakustische Welle empfangen, um zu bestimmen, dass ein drittes Computergerät innerhalb des Bereichs des ersten Computergeräts liegt.
  • In einigen Fällen kann das erste Computergerät die subakustische Welle (oder Ultraschallwelle) mit einem Token senden. Das Token kann eine einzigartige Kennung beinhalten. Das Token kann basierend auf einer Hash-Funktion, beispielsweise unter Verwendung eines n-Tupels, generiert werden. Das Token kann basierend auf einem oder mehreren Werten generiert werden, wie z. B. einem aktuellen der zu übertragenden Welle entsprechenden Zeitstempel, einer Gerätekennung, einer Internetprotokolladresse oder anderen Parametern oder Werten, die zu einer eindeutigen Kennung oder einem Token führen können, um dem Datenverarbeitungssystem die Bestimmung zu erleichtern, dass die zwei oder mehr Computergeräte innerhalb eines Schwellenabstands positioniert sind. Das erste Computergerät kann einen ersten Zeitstempel entsprechend der Übertragung einer subakustischen Welle mit dem Token aufzeichnen. Das zweite Computergerät kann das übertragene subakustische Signal erkennen und einen zweiten Zeitstempel aufzeichnen, der der Erkennung der subakustischen Welle entspricht. Das erste Computergerät kann über das Netzwerk 165 eine Angabe des ersten Zeitstempels und des Tokens an das Datenverarbeitungssystem 105 (z. B. Schnittstellenverwaltungskomponente 140) bestimmen. Das zweite Computergerät kann die subakustische Welle empfangen und die Welle decodieren, um das Token zu extrahieren. Nach Identifizieren des Tokens kann das zweite Computergerät das Token und den zweiten Zeitstempel gemäß der Erkennung (z. B. über Sensor 151) oder dem Empfangen der subakustischen Welle an das Datenverarbeitungssystem 105 übertragen.
  • Das Datenverarbeitungssystem 105 (z. B. Schnittstellenverwaltungskomponente 140) kann den ersten Zeitstempel und das Token von dem ersten Computergerät, und den zweiten Zeitstempel und das Token von dem zweiten Computergerät empfangen. Das Datenverarbeitungssystem 105 kann das von dem ersten Datenverarbeitungsgerät empfangene Token mit dem von dem zweiten Datenverarbeitungsgerät abgleichen, da es sich bei diesen um das gleiche Token handeln kann. In Reaktion auf den Token-Abgleich kann das Datenverarbeitungssystem 105 den ersten und zweiten Zeitstempel abrufen, um den Abstand zwischen den zwei Computergeräten zu bestimmen.
  • Beispielsweise kann das Datenverarbeitungssystem 105 (z. B. über die Schnittstellenverwaltungskomponente 140) eine Differenz zwischen dem zweiten Zeitstempel und dem ersten Zeitstempel bestimmen. Das Datenverarbeitungssystem 105 kann aus der Differenz einen Abstand zwischen dem ersten Computergerät und dem zweiten Computergerät bestimmen. Die Differenz kann z. B. dem Abstand entsprechen, den die subakustische Übertragung zurücklegt. Die subakustische Übertragung kann sich mit Schallgeschwindigkeit bewegen, die etwa 340,29 Meter pro Sekunde betragen kann. Beträgt die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel 0,01 Sekunden, so sind das erste Computergerät und das zweite Computergerät etwa (z. B. plus oder minus 10 %) mit 3,4 Metern voneinander getrennt. In einem weiteren Beispiel, wenn die Differenz zwischen dem ersten Zeitstempel und dem zweiten Zeitstempel 0,001 Sekunden beträgt, sind das erste Computergerät und das zweite Computergerät etwa 0,34 Meter voneinander getrennt. So kann das Datenverarbeitungssystem 105 die Geschwindigkeit der subakustischen Welle (z. B. die Schallgeschwindigkeit) mit der Zeitdifferenz multiplizieren, um den Abstand zwischen den Computergeräten zu bestimmen. Das Datenverarbeitungssystem 105 kann die bestimmte Entfernung mit einem Schwellenabstand (z. B. 1 Meter, 2 Meter, 3 Meter, 4 Meter, 5 Meter, 7 Meter oder mehr) vergleichen, um zu bestimmen, dass sich das zweite Computergerät innerhalb des Schwellenabstands des ersten Computergeräts befindet.
  • Die Schnittstellenverwaltungskomponente 140 kann eine Näherungserkennungstechnik verwenden, die ein Drahtlossignal verwendet. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 das erste Computergerät anweisen, ein drahtloses Signal zu übertragen (z. B. Radiofrequenzsignal, Bluetooth-Signal, WIFI-Signal, Bake, Nahfeldkommunikationssignal oder Low-Power-Bluetooth-Signal). Ein Gerät in Reichweite der Sendung, das das Signal empfängt, kann auf das erste Computergerät reagieren oder eine Angabe an die Schnittstellenverwaltungskomponente 140 übertragen, die das Empfangen des Signals angibt. Beispielsweise kann das zweite Computergerät ein zweites Signal senden, das eine Kennung des zweiten Computergeräts beinhaltet, und das erste Computergerät kann das zweite Signal empfangen und die Kennung des zweiten Computergeräts extrahieren, um basierend auf der Erfolgsübertragung zu bestimmen, dass sich das zweite Computergerät in einem Schwellenabstand befindet. In einem anderen Beispiel kann das zweite Computergerät einen Leistungspegel des Sendesignals bestimmen, um einen ungefähren Abstand zwischen dem zweiten Computergerät und dem ersten Computergerät zu bestimmen. Beispielsweise kann sich der Leistungspegel des Sendesignals in Abhängigkeit von der Entfernung, die das Signal zurücklegt, verschlechtern. Der Leistungspegel des Sendesignals kann sich mit einer Geschwindigkeit auflösen, die etwa umgekehrt proportional zum Quadrat der Entfernung zwischen dem Sender des ersten Computergeräts und dem Empfänger des zweiten Computergeräts ist (z. B. Empfangsleistung = Sendeleistung * (1/(4 * pi * Entfernung^2))) ist. Das zweite Computergerät kann den empfangenen Leistungspegel des Signals erkennen und die Angabe des empfangenen Leistungspegels an das erste Computergerät bereitstellen oder das Datenverarbeitungssystem 105 (z. B. Schnittstellenverwaltungskomponente 140) kann den empfangenen Leistungspegel mit dem übertragenen Leistungspegel vergleichen, um den Abstand zwischen dem ersten Computergerät und dem zweiten Computergerät zu bestimmen.
  • Das Datenverarbeitungssystem 105 (z. B. über die Schnittstellenverwaltungskomponente 140) kann bestimmen, dass sich das erste Computergerät und das zweite Computergerät innerhalb des Schwellenabstands befinden, wobei sowohl das erste Computergerät als auch das zweite Computergerät ein und dasselbe Eingabeaudiosignal erkennen. Beispielsweise kann ein erstes Mikrofon des ersten Computergeräts ein Eingabeaudiosignal erkennen, und ein zweites Mikrofon des zweiten Computergeräts kann das gleiche Eingabeaudiosignal ungefähr zur gleichen Zeit erkennen (z. B. kann die Zeitdifferenz auf einen Unterschied in den jeweiligen Abständen zwischen der Quelle des Eingabeaudiosignals und dem ersten und zweiten Computergerät zurückzuführen sein). Das erste Computergerät kann das von dem ersten Mikrofon erkannte Eingabeaudiosignal an das Datenverarbeitungssystem 105 bereitstellen, und das zweite Computergerät kann das von dem zweiten Mikrofon erkannte Eingabeaudiosignal an das Datenverarbeitungssystem 105 bereitstellen. Das Datenverarbeitungssystem 105 kann dann bestimmen, dass sowohl das erste Computergerät als auch das zweite Computergerät ungefähr zur gleichen Zeit das gleiche Eingabeaudiosignal erkannt haben. Das Datenverarbeitungssystem 105 kann weiterhin basierend auf entsprechenden Zeitstempeln, die der Erkennung des Eingabeaudiosignals durch das erste Mikrofon und das zweite Mikrofon entsprechen, bestimmen, dass sich das erste und das zweite Computergerät in einem Schwellenabstand befinden.
  • Indem das Datenverarbeitungssystem 105 eine Übereinstimmung zwischen Eingabeaudiosignalen erkennt, die von verschiedenen Computern erkannt werden, kann es bestimmen, dass sich die verschiedenen Computergeräte relativ nahe beieinander befinden, da ihre jeweiligen Mikrofone in der Lage waren, dasselbe Eingabeaudiosignal zu erkennen. Erkennen einer Übereinstimmung kann Abgleichen akustischer Signaturen, Abgleichen einer Fourier-Transformation der Audiosignale oder Konvertieren des eingegebenen Audiosignals in Text mittels einer Sprachsynthese-Technik und Abgleichen des Textes beinhalten. Das Datenverarbeitungssystem 105 kann eine Übereinstimmung bestimmen, wenn die Frequenzen im Wesentlichen übereinstimmen (z. B. 99 % Übereinstimmung, 98 % Übereinstimmung, 95 % Übereinstimmung, 90 % Übereinstimmung, 85 % Übereinstimmung) oder wenn der Text im Wesentlichen übereinstimmt (z. B. 99 % Übereinstimmung, 98 % Übereinstimmung, 95 % Übereinstimmung, 90 % Übereinstimmung oder 85 % Übereinstimmung).
  • Die Schnittstellenverwaltungskomponente 140 kann eine oder mehrere Näherungserkennungstechniken verwenden, um ein oder mehrere Computergeräte innerhalb des Schwellenabstands eines ersten Computergeräts zu identifizieren, das das Eingabeaudiosignal empfängt. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 eine erste Näherungserkennungstechnik verwenden, um ein zweites Computergerät innerhalb des Schwellenabstands von dem ersten Computergerät zu identifizieren. Die Schnittstellenverwaltungskomponente 140 kann eine zweite Näherungserkennungstechnik verwenden, um ein drittes Computergerät innerhalb des Schwellenabstands von dem ersten Computergerät zu identifizieren. Die Schnittstellenverwaltungskomponente 140 kann eine dritte Näherungserkennungstechnik verwenden, um ein viertes Computergerät innerhalb des Schwellenabstands von dem ersten Computergerät zu identifizieren. Jedes von dem dritten und vierten Computergerät kann eine jeweilige Kandidatenschnittstelle beinhalten. Das Datenverarbeitungssystem 105 kann die jeweiligen Kandidatenschnittstellen pollen, um für jede der Kandidatenschnittstellen einen Ressourcenauslastungswert zu bestimmen, und basierend auf einem Vergleich des jeweiligen Ressourcenauslastungswerts eine der Kandidatenschnittstellen auswählen. Der Wert für die Ressourcenauslastung kann z. B. angeben, ob die Audioausgabe über die Schnittstelle übertragen wird (z. B. Audio abspielen). Wenn keine der Kandidatenschnittstellen eine Audioausgabe wiedergibt, kann das Datenverarbeitungssystem 105 die für die Audioausgabe konfigurierte Kandidatenschnittstelle auswählen.
  • Wenn es mehrere verfügbare Schnittstellen gibt, die für die Audioausgabe konfiguriert sind, kann das Datenverarbeitungssystem 105 eine Richtlinie oder Heuristik verwenden, um eine oder mehrere der Schnittstellen für die Audioausgabe auszuwählen. Beispielsweise kann das Datenverarbeitungssystem 105 das Computergerät auswählen, das die Audioschnittstelle aufweist, die dem ersten Computer am nächsten ist, um die Wiedergabe von Audioinhalten anzuweisen. Das Datenverarbeitungssystem 105 kann die Audioschnittstelle auswählen, die dem Computer entspricht, der von einem Endbenutzer aktiv genutzt wird. Das Datenverarbeitungssystem 105 kann die Audioschnittstelle auswählen, die dem Computer entspricht, der zuletzt von dem Endbenutzer aktiv genutzt wurde. Das Datenverarbeitungssystem 105 kann die Audioschnittstelle auswählen, die dem Gerät mit der größten verbleibenden Batterie oder dem an eine Stromquelle angeschlossenen Computergerät entspricht.
  • In einigen Fällen ruft die Schnittstellenverwaltungskomponente 140 aus dem Arbeitsspeicher (z. B. Datenbehälter 145) Näherungsinformationen ab, die eine Vielzahl von Computergeräten innerhalb des Schwellenabstands des Computergeräts identifizieren. Beispielsweise kann das Datenverarbeitungssystem 105 zuvor die Vielzahl von Datenverarbeitungsgeräten identifiziert, und die Kandidatenschnittstellen entsprechend der Vielzahl von Datenverarbeitungsgeräten gepollt, und die Informationen in dem Datenbehälter 145 gespeichert haben. Beispielsweise kann es sich bei einem oder mehreren der mehreren Computergeräte 150 um stationäre oder feste Computergeräte handeln, die normalerweise nicht bewegt werden (z. B. ein an der Wand befestigtes Fernsehgerät, ein Desktop-Computergerät, ein Heimlautsprecher- oder ein Surround-Sound-Lautsprechersystem). Daher kann das Datenverarbeitungssystem 105 mindestens einige Informationen über die Computergeräte von dem Arbeitsspeicher abrufen. Das Datenverarbeitungssystem 105 kann dann die Kandidatenschnittstellen pollen, um einen aktuellen oder aktualisierten Ressourcenauslastungswert zu bestimmen. So kann das Datenverarbeitungssystem 105 bereits über Abstandsinformationen verfügen oder zuvor bestimmt haben, dass sich ein oder mehrere Datenverarbeitungsgeräte in Reichweite eines ersten Datenverarbeitungsgeräts befinden, das das Eingabeaudiosignal empfängt, und zusätzliche Ressourcenauslastung oder Verzögerung reduzieren, indem der Schritt zum Identifizieren der Geräte und zum Pollen von Kandidatenschnittstellen übersprungen wird.
  • Das Datenverarbeitungssystem 105 kann eine Hierarchie von Annäherungserkennungstechniken verwenden, die zunehmend ressourcenintensiver sind, um zu bestimmen, ob sich Computergeräte innerhalb eines Schwellenabstands befinden. Beispielsweise kann das Datenverarbeitungssystem 105 zunächst eine WIFI- oder internetprotokolladressbasierte Technik verwenden, um zu bestimmen, ob sich die mehreren Computergeräte in demselben Netzwerk befinden. Befinden sich die Computergeräte in getrennten WIFI-Netzwerken mit unterschiedlichen IP-Adressen, kann das Datenverarbeitungssystem 105 bestimmen, dass sich die beiden Geräte nicht innerhalb des Schwellenabstands befinden. Wenn das Datenverarbeitungssystem 105 jedoch bestimmt, dass sich die beiden Computergeräte in demselben WIFI-Netzwerk befinden, kann das Datenverarbeitungssystem mit einer Bluetooth-Übertragung oder einer Bake bestimmen, ob sich die beiden Computergeräte in Bluetooth-Reichweite zueinander befinden. Wenn das Datenverarbeitungssystem 105 bestimmt, dass sich die beiden Geräte in dem Bluetooth-Bereich befinden, kann das Datenverarbeitungssystem 105 ein erstes Computergerät anweisen, eine subakustische Schallwelle zu senden, um zu bestimmen, ob sich die Computer innerhalb des Schwellenabstands befinden. So kann das Datenverarbeitungssystem 105 durch die Verwendung einer Hierarchie von Näherungserkennungstechniken die Ressourcenauslastung reduzieren und Verzögerungen reduzieren, indem es schnellere oder weniger ressourcenintensive Näherungserkennungstechniken verwendet, um Geräte herauszufiltern, die sich außerhalb des Schwellenabstands befinden, und dann zu granulareren Näherungserkennungstechniken überzugehen, die mehr Ressourcen für Computergeräte verwenden, die die breit angelegten Näherungsprüfungen bestehen.
  • In einigen Fällen kann das Datenverarbeitungssystem 105 ein zweites Computergerät mit einer zweiten Kandidatenschnittstelle identifizieren, die sich innerhalb des Schwellenabstands des ersten Computergeräts befindet, das das Eingabeaudiosignal empfängt. Das Datenverarbeitungssystem 105 kann eine Direktaktions-Anwendungsprogrammierschnittstelle („API“) abfragen, die auf dem zweiten Computergerät ausgeführt wird, um den zweiten Ressourcenauslastungswert zu bestimmen. Beispielsweise kann das zweite Computergerät eine API beinhalten, die die Audioausgabe, die Videoausgabe, die Lautstärke oder andere Informationen im Zusammenhang mit der Präsentation von Inhalten steuert oder überwacht. Die API kann auf die Anfrage reagieren, indem sie einen aktuellen Lautstärkepegel angibt, bei dem Audio wiedergegeben wird; eine Dauer des Audioinhalts; eine Art von Audioinhalt (z. B. Musik, Fernsehen, Podcast, Hörbuch, Werbung, der zweite Verwendungswert gibt einen Lautstärkepegel an, bei dem Audioinhalt wiedergegeben wird.
  • Die Schnittstellenverwaltungskomponente 140 kann eine oder mehrere Techniken, Richtlinien oder Heuristiken verwenden, um eine Schnittstelle aus der Vielzahl von Kandidatenschnittstellen auszuwählen, das Inhaltselement in eine mit der ausgewählten Schnittstelle kompatible Modalität zu konvertieren und dann das konvertierte Inhaltselement zur Präsentation über die ausgewählte Schnittstelle zu übertragen. Beispielsweise kann das Datenverarbeitungssystem 105 eine Schnittstelle aus den Kandidatenschnittstellen basierend auf einem Ressourcenauslastungswert, wie z. B. einem Sensorverwendungswert, auswählen. Der Sensor kann sich auf ein Mikrofon des Computergeräts entsprechend der Kandidatenschnittstelle beziehen. Das Mikrofon kann niedrige Umgebungsgeräusche erkennen, was darauf hinweist, dass der Ton nicht in der Nähe des Computergeräts abgespielt wird und dass der Endbenutzer oder andere Benutzer nicht in der Nähe des Computergeräts sprechen. Das Datenverarbeitungssystem 105 kann die Auswahl der Schnittstelle bestimmen, da die Wiedergabe einer Audiodatei von der Schnittstelle nicht redundant oder duplikativ zu anderen Audioinhalten sein darf, da das Mikrofon einen niedrigen Sensorverwendungswert aufweist.
  • In einem anderen Beispiel kann sich die Sensorverwendung auf einen Lautsprecher des Computergeräts beziehen. Das Datenverarbeitungssystem 105 kann bestimmen, dass der Lautsprecher nicht verwendet wird, wodurch ein niedriger Sensorverwendungswert angegeben wird. Dementsprechend kann das Datenverarbeitungssystem 105 den Lautsprecher als die Schnittstelle auswählen, um das Inhaltselement bereitzustellen.
  • In einem anderen Beispiel kann sich Sensorverwendung auf eine Temperatur des Computergeräts beziehen. Wenn beispielsweise der Prozessor des Computergeräts bei einer Temperatur über einem Schwellenwert läuft, kann das Datenverarbeitungssystem 105 bestimmen, dass das Computergerät eine prozessorintensive Aufgabe ausführt, und kann bestimmen, dass dieses Computergerät oder eine Schnittstelle dieses Computergeräts nicht verwendet wird. Dementsprechend kann das Datenverarbeitungssystem 105 eine Schnittstelle eines anderen Computergeräts innerhalb eines Schwellenabstands auswählen, das eine niedrigere Temperatur aufweist.
  • Die Schnittstellenverwaltungskomponente 140 kann die Schnittstelle für das Inhaltselement basierend auf mindestens einem Verwendungswert auswählen, der angibt, dass die ausgewählte Schnittstelle die effizienteste für das Inhaltselement ist. Beispielsweise verwendet die Schnittstelle zum Wiedergeben des Inhaltselements bei der Smartwatch die geringste Bandbreite, da das Inhaltselement kleiner ist und mit weniger Ressourcen übertragen werden kann. Oder die Schnittstellenverwaltungskomponente 140 kann bestimmen, dass die für das Wiedergeben des Inhaltselements ausgewählte Kandidatenschnittstelle gerade geladen wird (z. B. eingesteckt), sodass das Wiedergeben des Inhaltselements durch die Schnittstelle die Batterie des entsprechenden Client-Computergeräts 150 nicht entleert. In einem anderen Beispiel kann die Schnittstellenverwaltungskomponente 140 eine Kandidatenschnittstelle auswählen, die aktuell weniger Verarbeitungsvorgänge ausführt als eine andere, nicht ausgewählte Schnittstelle beispielsweise eines anderen Client-Computergeräts 150, das derzeit Videoinhalte aus dem Netzwerk 165 streamt und daher weniger verfügbar ist, um das Inhaltselement ohne Verzögerung wiederzugeben.
  • Die Schnittstellenverwaltungskomponente 140 (oder eine andere Komponente des Datenverarbeitungssystems 105) kann das Inhaltselement für die Zustellung in einer mit der Kandidatenschnittstelle kompatiblen Modalität konvertieren. Wenn die Kandidatenschnittstelle beispielsweise eine Anzeige eines Smartwatch-, Smartphone- oder Tablet-Computergeräts ist, kann die Schnittstellenverwaltungskomponente 140 die Größe des Inhaltselements für eine angemessene visuelle Anzeige angesichts der Abmessungen des der Schnittstelle zugeordneten Bildschirms bemessen. Die Schnittstellenverwaltungskomponente 140 kann das Inhaltselement auch in ein Paket oder ein anderes protokollbasiertes Format konvertieren, einschließlich eines proprietären oder Industriestandardformats für die Übertragung an das Client-Computergerät 150, das der ausgewählten Schnittstelle zugeordnet ist. Die von der Schnittstellenverwaltungskomponente 140 für das Inhaltselement ausgewählte Schnittstelle kann eine Schnittstelle beinhalten, auf die der Endbenutzer von mehreren Client-Computergeräten 150 aus zugreifen kann. Beispielsweise kann die Schnittstelle ein soziales Netzwerkkonto sein oder beinhalten, auf das der Endbenutzer über das Client-Computergerät 150, das das Eingabeaudiosignal erzeugt hat (z. B. ein Smartphone), sowie andere Client-Computergeräte, wie z. B. Tablet- oder Desktop-Computer oder andere mobile Computer zugreifen kann.
  • Die Schnittstellenverwaltungskomponente 140 kann auch mindestens eine Kandidatenschnittstelle für die Aktionsdatenstruktur auswählen. Diese Schnittstelle kann die gleiche Schnittstelle sein, von der das Eingabeaudiosignal erhalten wurde, z. B. ein sprachaktivierter Assistenzdienst, der auf einem Client-Computergerät 150 ausgeführt wird. Dies kann die gleiche Schnittstelle oder eine andere Schnittstelle als diejenige sein, die die Schnittstellenverwaltungskomponente 140 für das Inhaltselement auswählt. Die Schnittstellenverwaltungskomponente 140 (oder andere Komponenten des Datenverarbeitungssystems 105) kann die Aktionsdatenstruktur demselben Client-Computergerät 150 bereitstellen, der das Eingabeaudiosignal für die Wiedergabe als Audioausgabe im Rahmen des Assistentendienstes erzeugt hat. Die Schnittstellenverwaltungskomponente 140 kann das Inhaltselement auch an die ausgewählte Schnittstelle für das Inhaltselement übertragen oder anderweitig bereitstellen, und zwar in jeder für das Wiedergeben durch die ausgewählte Schnittstelle geeigneten konvertierten Modalität.
  • So kann die Schnittstellenverwaltungskomponente 140 die Aktionsdatenstruktur als Audioausgabe für die Wiedergabe durch eine Schnittstelle des Client-Computergeräts 150 bereitstellen, die auf das von demselben Client-Computergerät 150 empfangene Eingabeaudiosignal reagiert. Die Schnittstellenverwaltungskomponente 140 kann auch das Inhaltselement für das Wiedergeben durch eine andere Schnittstelle des gleichen Client-Computergeräts 150 oder eines anderen Client-Computergeräts 150 bereitstellen, das dem gleichen Endbenutzer zugeordnet ist. Beispielsweise kann die Aktionsdatenstruktur, z. B. „Es wird sonnig und 80 Grad Fahrenheit am Strand am Samstag“, für die Audiowiedergabe durch das Client-Computergerät als Teil einer Assistenten-Programmschnittstelle, die teilweise auf dem Client-Computergerät 150 ausgeführt wird, und das Inhaltselement, z. B. ein Text-, Audio- oder Kombinationsinhalt, der angibt, dass „Sonnencreme im Supermarkt in der Nähe des Strandes erhältlich ist“, für die Wiedergabe über eine Schnittstelle desselben oder eines anderen Computergeräts 150 bereitgestellt werden, z. B. eine E-Mail oder Textnachricht, die von demselben oder einem anderen, dem Endbenutzer zugeordneten Client-Computergerät 150 abgerufen werden kann.
  • Trennen des Inhaltselements von der Aktionsdatenstruktur und Senden des Inhaltselements z. B. als eine Textnachricht anstelle einer Audiomitteilung kann zu einer geringeren Rechenleistung des Client-Computergeräts 150 führen, das auf das Inhaltselement zugreift, da z. B. Textnachrichtendatenübertragungen weniger rechenintensiv sind als Audiodatenübertragungen. Diese Trennung kann auch Stromverbrauch, Speicherplatz oder die Übertragungsbandbreite reduzieren, die für die Wiedergabe des Inhaltselements verwendet wird. Dies führt zu einer höheren Verarbeitungs-, Leistungs- und Bandbreiteneffizienz des Systems 100 und von Geräten, wie z. B. den Client-Computergeräten 150 und dem Datenverarbeitungssystem 105. Dies erhöht die Effizienz der Computer, die diese Transaktionen verarbeiten, und erhöht die Geschwindigkeit, mit der die Inhaltselemente wiedergegeben werden können. Das Datenverarbeitungssystem 105 kann Tausende, Zehntausende oder mehr Eingabeaudiosignale gleichzeitig verarbeiten, sodass die Einsparungen bei Bandbreite, Leistung und Verarbeitung erheblich sein können, und nicht nur inkrementell oder zufällig.
  • Die Schnittstellenverwaltungskomponente 140 kann das Inhaltselement an dasselbe Client-Computergerät 150 (oder ein anderes Gerät) wie die Aktionsdatenstruktur nach der Zustellung der Aktionsdatenstruktur an das Client-Computergerät 150 bereitstellen oder zustellen. Beispielsweise kann das Inhaltselement für das Wiedergeben über die ausgewählte Schnittstelle nach Abschluss der Audioausgabe der Aktionsdatenstruktur bereitgestellt werden. Die Schnittstellenverwaltungskomponente 140 kann das Inhaltselement auch gleichzeitig mit der Bereitstellung der Aktionsdatenstruktur für das Client-Computergerät 150 an die ausgewählte Schnittstelle bereitstellen. Die Schnittstellenverwaltungskomponente 140 kann das Inhaltselement für die Zustellung über die ausgewählte Schnittstelle innerhalb eines vorgegebenen Zeitraums ab Empfang des Eingabeaudiosignals durch die NLP-Komponente 110 bereitstellen. Dieser Zeitraum kann z. B. jede Zeit während einer aktiven Länge der Sitzungsunterhaltung sein. Wenn das Eingabeaudiosignal, z. B. „Ich möchte an diesem Wochenende an den Strand gehen“ lautet, kann der vorgegebene Zeitraum vom Empfangen des Eingabeaudiosignals bis zum Ende des Wochenendes, z. B. der aktive Zeitraum der Unterhaltung, beliebig lang sein. Der vorgegebene Zeitraum kann auch eine Zeit sein, die durch das Wiedergeben der Aktionsdatenstruktur als Audioausgabe durch das Client-Computergerät 150, z. B. innerhalb von 5 Minuten, einer Stunde oder einem Tag nach diesem Wiedergeben, ausgelöst wird.
  • Die Schnittstellenverwaltungskomponente 140 kann dem Client-Computergerät 150 die Aktionsdatenstruktur mit einem Hinweis auf das Vorhandensein des Inhaltselements bereitstellen. Beispielsweise kann das Datenverarbeitungssystem 105 die Aktionsdatenstruktur bereitstellen, die auf dem Client-Computergerät 150 wiedergegeben wird, um die Audioausgabe „Es wird sonnig und 80 Grad Fahrenheit am Strand am Samstag, überprüfen Sie Ihre E-Mail für weitere Informationen“, bereitzustellen. Der Satz „Überprüfen Sie Ihre E-Mail für weitere Informationen“ kann auf das Vorhandensein eines Inhalts, z. B. von Sonnenschutzmitteln, hinweisen, den das Datenverarbeitungssystem 105 einer Schnittstelle (z. B. E-Mail) bereitstellt. In diesem Beispiel können gesponserte Inhalte als Inhaltselemente für die E-Mail-Schnittstelle (oder andere) und organische Inhalte wie das Wetter als Aktionsdatenstruktur für die Audioausgabe bereitgestellt werden.
  • Das Datenverarbeitungssystem 105 kann die Aktionsdatenstruktur auch mit einer Eingabeaufforderung versehen, die den Benutzer auffordert, das Interesse des Benutzers am Erhalten des Inhaltselements zu bestimmen. Beispielsweise kann die Aktionsdatenstruktur angeben: „Es wird sonnig und 80 Grad Fahrenheit am Strand am Samstag, möchten Sie etwas über einige Dienste erfahren, die Ihnen bei Ihrer Reise behilflich sein können?“ Das Datenverarbeitungssystem 105 kann ein weiteres Audioeingabesignal von dem Client-Computergerät 150 empfangen, als Antwort auf die Aufforderung „Möchten Sie von einigen Diensten zur Unterstützung Ihrer Reise erfahren?“ wie z. B. „Sicher.“ Die NLP-Komponente 110 kann diese Antwort, z. B. „Sicher“ analysieren und als Berechtigung für die Audiowiedergabe des Inhaltselements durch das Client-Computergerät 150, interpretieren. In Reaktion darauf kann das Datenverarbeitungssystem 105 das Inhaltselement für die Audiowiedergabe durch dasselbe Client-Computergerät 150 bereitstellen, von dem die Antwort „Sicher“ stammt.
  • Das Datenverarbeitungssystem 105 kann die Übertragung des Inhaltselements verzögern, das der Aktionsdatenstruktur zugeordnet ist, um die Verarbeitungsverwendung zu optimieren. Beispielsweise kann das Datenverarbeitungssystem 105 die Aktionsdatenstruktur für die Wiedergabe als Audioausgabe durch das Client-Computergerät in Echtzeit bereitstellen, die auf das Empfangen des Eingabeaudiosignals reagiert, z. B. in einer dialogorientierten Weise, und kann die Übertragung von Inhaltselementen bis zu einem Zeitraum verzögern, in dem die Verwendung des Rechenzentrums außerhalb der Spitzenzeiten oder in Nicht-Spitzenzeiten erfolgt, was zu einer effizienteren Verwendung des Rechenzentrums führt, indem die Verwendung der Spitzenbandbreite, die Wärmeleistung oder der Kühlbedarf reduziert wird. Das Datenverarbeitungssystem 105 kann auch eine Konvertierung oder eine andere, mit dem Inhaltselement verbundene Aktivität auslösen, wie z. B. die Bestellung eines Autodienstes in Reaktion auf die Aktionsdatenstruktur oder das Inhaltselement, basierend auf Datenzentrum-Verwendungsraten oder Bandbreitenmetriken oder Anfragen des Netzwerks 165 oder eines Rechenzentrums, das das Datenverarbeitungssystem 105 beinhaltet.
  • Basierend auf einer Antwort auf ein Inhaltselement oder auf die Aktionsdatenstruktur für eine nachfolgende Aktion, z. B. ein Klick auf das über die ausgewählte Schnittstelle wiedergegebene Inhaltselement, kann das Datenverarbeitungssystem 105 eine Konvertierung identifizieren oder eine Konvertierung oder Aktion auslösen. Prozessoren des Datenverarbeitungssystems 105 können die Direktaktions-API 135 aufrufen, um Scripts auszuführen, die die Konvertierungsaktion erleichtern, um z. B. ein Auto von einem Fahrgemeinschaftsdienst zu bestellen, um den Endbenutzer zu dem Strand zu bringen oder von dort abzuholen. 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.
  • 2 stellt ein Ablaufdiagramm 200 zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit. Das Datenverarbeitungssystem 105 kann das Eingabeaudiosignal 205 empfangen, z. B. „Ok, ich möchte an diesem Wochenende an den Strand gehen.“ In Reaktion generiert das Datenverarbeitungssystem mindestens eine Aktionsdatenstruktur 210 und mindestens ein Inhaltselement 215. Die Aktionsdatenstruktur 205 kann organische oder nicht gesponserte Inhalte beinhalten, wie z. B. eine Antwort auf Audiowiedergabe mit der Aussage „Es wird sonnig und 80 Grad Fahrenheit am Strand an diesem Wochenende“ oder „Die Flut ist um 15 Uhr.“ Das Datenverarbeitungssystem 105 kann die Aktionsdatenstruktur 210 dem gleichen Client-Computergerät 150 bereitstellen, das das Eingabeaudiosignal 205 erzeugt hat, zur Wiedergabe durch eine Kandidatenschnittstelle des Client-Computergeräts 150, z. B. als Ausgabe in Echtzeit oder dialogorientiert als Teil einer digitalen oder dialogorientierten Assistentenplattform.
  • Das Datenverarbeitungssystem 105 kann die Kandidatenschnittstelle 220 als eine ausgewählte Schnittstelle für das Inhaltselement 215 auswählen und das Inhaltselement 215 der ausgewählten Schnittstelle 220 bereitstellen. Das Inhaltselement 215 kann auch eine Datenstruktur beinhalten, die vom Datenverarbeitungssystem 105 für das Wiedergeben über die ausgewählte Schnittstelle 220 in die entsprechende Modalität konvertiert werden kann. Das Inhaltselement 215 kann gesponserte Inhalte, wie z. B. ein Angebot, einen Strandkorb für den Tag zu mieten, oder Sonnenschutz, beinhalten. Die ausgewählte Schnittstelle 220 kann Teil desselben Client-Computergeräts 150 sein oder von einem anderen Gerät ausgeführt werden, auf das der Endbenutzer des Client-Computergeräts 150 zugreifen kann. Übertragung der Aktionsdatenstruktur 210 und des Inhaltselements 215 kann gleichzeitig oder nacheinander erfolgen. Die Aktionsdatenstruktur 210 kann ein Kennzeichen beinhalten, dass das Inhaltselement 215 separat über eine andere Modalität oder ein anderes Format an die ausgewählte Schnittstelle 200 übertragen wird, und weist den Endbenutzer auf das Vorhandensein des Inhaltselements 215 hin.
  • Die Aktionsdatenstruktur 210 und das Inhaltselement 215 können separat für die Wiedergabe an den Endbenutzer bereitgestellt werden. Durch Trennen des gesponserten Inhalts (Inhaltselement 215) von der organischen Reaktion (Aktionsdatenstruktur 210) müssen Audio- oder andere Benachrichtigungen, die angeben, dass das Inhaltselement 215 gesponsert wird, nicht mit der Aktionsdatenstruktur 210 versehen werden. Dies kann den Bandbreitenbedarf bei der Übertragung der Aktionsdatenstruktur 210 über das Netzwerk 165 reduzieren und die Wiedergabe der Aktionsdatenstruktur 210 vereinfachen, z. B. ohne Audio-Disclaimer oder Warnmeldungen.
  • Das Datenverarbeitungssystem 105 kann ein Antwort-Audiosignal 225 empfangen. Das Antwort-Audiosignal 225 kann ein Audiosignal beinhalten wie: „Großartig, bitte buchen Sie mir dieses Wochenende ein Hotel am Strand.“ Empfangen des Antwort-Audiosignals 225 durch das Datenverarbeitungssystem 105 kann dazu führen, dass das Datenverarbeitungssystem die Direktaktions-API 135 aufruft, um z. B. ein Hotelzimmer am Strand zu buchen. Die Direktaktions-API 135 kann auch mit mindestens einem Dienstanbieter-Computergerät 160 kommunizieren, um dem Dienstanbieter-Computergerät 160 Informationen bereitzustellen, damit das Dienstanbieter-Computergerät 160 den Buchungsprozess abschließen oder bestätigen kann.
  • 3 stellt ein Verfahren 300 zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit. Das Verfahren 300 kann Datenpakete (ACT 305) empfangen. Beispielsweise kann die durch das Datenverarbeitungssystem 105 ausgeführte NLP-Komponente 110 von dem Client-Computergerät 105 Datenpakete empfangen, die ein Eingabeaudiosignal (ACT 305) beinhalten. Die Datenpakete können über das Netzwerk 165 als paket- oder andere protokollbasierte Datenübertragungen empfangen werden (ACT 305). Das Verfahren 300 kann aus dem Eingabeaudiosignal Anfragen oder Auslöserschlüsselwörter identifizieren, die den Anfragen entsprechen (ACT 310). Beispielsweise kann die NLP-Komponente 110 das Eingabeaudiosignal analysieren, um Anfragen zu identifizieren, die sich auf den Inhalt des Eingabeaudiosignals beziehen, oder um Auslöserschlüsselwörter zu identifizieren, die beispielsweise Aktionen angeben können, die den Anfragen zugeordnet sind.
  • Das Verfahren 300 kann mindestens eine Aktionsdatenstruktur (ACT 315) generieren. Beispielsweise kann die Direktaktions-API 135 eine Aktionsdatenstruktur (ACT 315) basierend auf den Anfragen oder Auslöserschlüsselwörtern generieren. Die Aktionsdatenstrukturen können organischen oder nicht gesponserten Inhalt in Zusammenhang mit dem Eingabeaudiosignal beinhalten. Das Verfahren 300 kann mindestens ein Inhaltselement (ACT 320) auswählen. Beispielsweise kann die Inhaltsauswahlkomponente 125 die Anfrage(n) oder das/die Auslöserschlüsselwort(e) empfangen und basierend auf diesen Informationen ein oder mehrere Inhaltselemente auswählen. Die Inhaltselemente können gesponserte Elemente beinhalten, deren Inhalt sich auf den Gegenstand der Anfrage oder das Auslöserschlüsselwort bezieht. Die Inhaltselemente können durch die Inhaltsauswahlelementkomponente 125 über einen Echtzeit-Inhaltsauswahlprozess ausgewählt werden.
  • Das Verfahren 300 kann eine Vielzahl von Computergeräten innerhalb eines Schwellenabstands des Computergeräts identifizieren und eine Vielzahl von Schnittstellen pollen, um mindestens eine Kandidatenschnittstelle (ACT 325) zu bestimmen. Das Verfahren 300 kann eine oder mehrere Annäherungserkennungstechniken verwenden, um ein oder mehrere Computergeräte innerhalb des Schwellenabstands zu identifizieren und dann die dem einen oder den mehreren Computergeräten zugeordneten Kandidatenschnittstellen zu pollen. Die Kandidatenschnittstelle kann Kandidatenschnittstellen zum Wiedergeben des ausgewählten Inhaltselements (oder Aktionsdatenstruktur) beinhalten. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 Schnittstellen abfragen, um Verwendungswerte zu erhalten, z. B. Parameterinformationen oder andere Merkmale zu den Schnittstellen (ACT 330). Basierend auf den Verwendungswerten kann die Schnittstellenverwaltungskomponente 140 (ACT 335) mindestens eine Kandidatenschnittstelle als eine ausgewählte Schnittstelle für die Wiedergabe des Inhaltselements (oder der Aktionsdatenstruktur) auswählen. Das Verfahren 300 kann Konvertieren des Inhaltselements in eine Modalität zum Wiedergeben über die ausgewählte Schnittstelle (ACT 340) beinhalten. Beispielsweise kann das Datenverarbeitungssystem 105 oder eine Komponente davon, wie die Schnittstellenverwaltungskomponente 140, das Inhaltselement für die Wiedergabe in einem Inhaltselement-Slot eines Online-Dokuments (z. B. für die Anzeige als E-Mail (z. B. über eine ausgewählte E-Mail-Schnittstelle) oder als Textnachricht für die Anzeige in einer Chat-App) konvertieren. In einigen Fällen kann das Verfahren 300 Auswählen des Inhaltselements in der Modalität zum Wiedergeben über die ausgewählte Schnittstelle (ACT 340) beinhalten.
  • Das Verfahren 300 kann die Aktionsdatenstruktur dem Client-Computergerät 150 zum Wiedergeben bereitstellen („ACT 345“) und das Inhaltselement an die für das Wiedergeben des Inhaltselements ausgewählte Kandidatenschnittstelle (ACT 350) übertragen. Beispielsweise kann die Schnittstellenverwaltungskomponente 140 über die Schnittstelle 115 die Aktionsdatenstruktur dem Client-Computergerät 150 zur Wiedergabe als Audioausgabe in Reaktion auf das empfangene Eingabeaudiosignal (ACT 345) bereitstellen. Das Datenverarbeitungssystem kann das Inhaltselement auch an die ausgewählte Schnittstelle auf dem gleichen oder einem anderen Client-Computergerät 150 zum Wiedergeben in der konvertierten Modalität (ACT 350) übertragen.
  • 4 stellt einen veranschaulichenden Vorgang eines Systems zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit. Das System 400 kann eine oder mehrere in dem System 100, 200 oder 600 abgebildete Komponenten, z. B. ein Datenverarbeitungssystem 105, Netzwerk 165 und ein oder mehrere Computergeräte, beinhalten.
  • Wie in 4 veranschaulicht, kann System 400 ein erstes Computergerät 404 beinhalten, das einen Abstand von 410 von einem zweiten Computergerät 406 aufweist. Das zweite Computergerät 406 kann mit dem ersten Ausgabegerät 408 kommunikativ gekoppelt werden, um Audio, Video, Bilder oder andere Inhalte über das erste Ausgabegerät 408 auszugeben. Das erste Computergerät 405, das zweite Computergerät 406 und das erste Ausgabegerät 408 können in einem ersten Raum 402 (z. B. einem Raum eines Hauses, einer Wohnung, einer Unterkunft, einem Büro, einem Hotelzimmer oder einem anderen physischen Raum) positioniert oder platziert werden. Das erste Computergerät 404 und das zweite Computergerät 406 können mit einem Datenverarbeitungssystem 105 über Netzwerk 165 interagieren oder kommunizieren.
  • System 400 kann ein oder mehrere Computergeräte beinhalten, die eine oder mehrere Benutzeroberflächen aufweisen. Eine erste Benutzeroberfläche kann als invasiv angesehen werden, z. B. ein Benutzeroberflächenelement, das erscheint, ohne dass ein Benutzer das Benutzeroberflächenelement anfordert. Diese Elemente der Benutzeroberfläche können Inhaltselemente oder Benachrichtigungen beinhalten und können über eine mobile Anwendung oder Webseite bereitgestellt werden. Diese Benutzeroberflächenelemente können ignoriert oder verworfen werden, da sie visuell invasive Benutzeroberflächenelemente sein können. Einige Computergeräte können in erster Linie Audio- oder Nur-Audio-Geräte sein, wie z. B. ein sprachbasierter digitaler Assistent. Bei diesen Arten von Computergeräten kann das Benutzeroberflächenelement die Wiedergabe von Audio beinhalten, die den Inhalt unterbrechen kann, den das Gerät vor der Benachrichtigung oder dem Inhaltselement ausgegeben hat. Daher können die Systeme und Verfahren der vorliegenden Offenbarung diese Benachrichtigungen zu bestimmten Zeiten oder bestimmten Schnittstellen oder bestimmten Computergeräten bereitstellen, z. B. ohne die Stromausgabe zu unterbrechen oder über den Audiokanal des aktuellen Geräts oder den Audiokanal eines nahegelegenen Geräts abzuspielen.
  • Das Datenverarbeitungssystem 105 kann bestimmen, wann und wo Inhaltselemente oder Benachrichtigungen zugestellt werden sollen. Das Datenverarbeitungssystem 105 kann einen Mechanismus bereitstellen, um zu bestimmen, wann ein Benutzer mit einer akustischen Benachrichtigung auf der Grundlage des Benutzereingriffs mit nahegelegenen Geräten und des Medienwiedergabestatus dieser nahegelegenen Geräte kontaktiert werden soll. Beispielsweise kann das Datenverarbeitungssystem 105 bestimmen, ob der Benutzer bereits mit einem nahegelegenen Computergerät (z. B. einem zweiten Computergerät 406, das ein Video auf einem ersten Ausgabegerät 408 abspielt, z. B. einem Monitor, einem Anzeigegerät, einem Fernseher oder einem Lautsprecher) verbunden ist, und entscheidet sich dafür, den Benutzer nicht durch eine audiobasierte Werbung zu unterbrechen.
  • Das Datenverarbeitungssystem 105 kann bestimmen, dass entweder das Inhaltselement oder die Benachrichtigung überhaupt nicht angezeigt wird, oder dass die Benachrichtigung oder das Inhaltselement an ein anderes Medium oder Gerät gesendet wird (z. B. Senden des Inhaltselements oder der Benachrichtigung als Push-Benachrichtigung an ein erstes Computergerät 404), oder dass das Inhaltselement oder die Benachrichtigung für eine spätere Zustellung verschoben wird.
  • Beispielsweise kann das System 400 ein erstes Computergerät 404 beinhalten. Das erste Computergerät 404 kann eine oder mehrere Komponenten oder Funktionalitäten von Computergerät 150 beinhalten. Das erste Computergerät 404 kann ein Eingabeaudiosignal empfangen, das eine durch den Benutzer bereitgestellte Spracheingabe oder einen Audiobefehl umfasst. Das erste Computergerät 404 kann mit dem Audiobefehl eingreifen und spielt dann entweder ein Inhaltselement oder eine Benachrichtigung basierend auf der Bestimmung des Datenverarbeitungssystems 105 ab oder hält sie zurück. Das Datenverarbeitungssystem 105 kann bestimmen, dass das erste Computergerät 105 das Inhaltselement oder die Benachrichtigung abspielen oder präsentieren soll, wenn der Benutzer anwesend ist und das erste Computergerät 404 keine andere Aktivität unterbricht. Das Datenverarbeitungssystem 105 kann den anwesenden Benutzer basierend auf einer Interaktion oder einem Einsatz mit dem ersten Computergerät 404 bestimmen.
  • Das Datenverarbeitungssystem 105 kann ferner bestimmen, ob das Inhaltselement oder die Benachrichtigung eine andere Aktivität unterbrechen würde. Beispielsweise kann das Datenverarbeitungssystem 105 den Audiozustand von in der Nähe befindlichen Geräten durch eine lokale API bestimmen. Das Datenverarbeitungssystem 105 kann die API verwenden, um das zweite Computergerät 406 abzufragen, um zu bestimmen, ob das zweite Computergerät 406 gerade Audioinhalte über das erste Ausgabegerät 408 wiedergibt und wie hoch der Lautstärkepegel ist. Das Datenverarbeitungssystem 105 kann die Metadaten über den Inhalt, der gerade von dem zweiten Datenverarbeitungsgerät 406 abgespielt wird, überprüfen oder verarbeiten, um zu bestimmen, ob der Inhalt Audio beinhaltet oder nicht (z. B. Wiedergabe einer Bild-Diashow ohne Audio). Wenn das zweite Computergerät 406 kein Audio abspielt, kann das Datenverarbeitungssystem 105 bestimmen, dass Bereitstellen eines Audioinhaltselements für die Präsentation über das erste Computergerät 404 den Inhalt des zweiten Computergeräts 406 nicht unterbrechen darf.
  • Um dies zu tun, kann das Datenverarbeitungssystem 105 Computergeräte innerhalb eines Schwellenabstands von dem ersten Computergerät 404 erkennen. Das Datenverarbeitungssystem 105 (z. B. eine Schnittstellenverwaltungskomponente) kann eine oder mehrere Näherungserkennungstechniken verwenden, um einen Abstand von 410 zwischen dem ersten Computergerät 404 und dem zweiten Computergerät 406 zu bestimmen, und zu bestimmen, ob der Abstand 410 innerhalb eines Schwellenabstands liegt. Beispielsweise kann das Datenverarbeitungssystem 105 das erste Computergerät 404 anweisen, eine subakustische Schallwelle zu übertragen. Indem ein Token über einen subakustischen Ton von den Lautsprechern des ersten Computergeräts 404 an das Mikrofon eines anderen Geräts (z. B. Mikrofon des zweiten Computergeräts 406) gesendet, und dann der Wert dieses Tokens mit einem Serveraustausch verglichen wird, kann das Datenverarbeitungssystem 105 bestimmen, ob sich das erste Computergerät 404 und das zweite Computergerät 406 in einem einzigen Raum (z. B. einem ersten Raum 402) befinden. Das Datenverarbeitungssystem 105 kann den Abstand 410 zwischen zwei Geräten 404 und 406, die Uhren synchronisieren können, durch Zählen der Millisekunden, die das Token benötigt, um von dem Lautsprecher des ersten Computergeräts 404 zu dem Mikrofon des zweiten Computergeräts 406 zu gelangen, weiter annähern.
  • In einigen Fällen kann das Datenverarbeitungssystem 105 feststellen, dass Audio oder Video auf einem nahegelegenen Gerät (z. B. innerhalb eines Schwellenabstands wie Abstand 410) des ersten Computergeräts 404 abgespielt wird, und bestimmen, die Bereitstellung eines Audioinhaltselements oder einer Benachrichtigung über das erste Computergerät 404 zu blockieren. In einigen Fällen kann das Datenverarbeitungssystem 105 basierend auf einer Außerkraftsetzungskonfiguration des ersten Computergeräts 404 eine Außerkraftsetzung des Blocks bestimmen (z. B. zur Bereitstellung von Si cherhei tswarnungen).
  • 5 stellt einen veranschaulichenden Vorgang eines Systems zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung bereit. Das System 500 kann eine oder mehrere in dem System 100, 200 oder 600 abgebildete Komponenten beinhalten, z. B. ein Datenverarbeitungssystem 105, Netzwerk 165 und ein oder mehrere Computergeräte. System 500 kann ein erstes Computergerät 404, zweites Computergerät 406 und erstes Ausgabegerät 408 beinhalten. System 500 kann ein drittes Computergerät 504 beinhalten, das eine oder mehrere Komponenten oder Funktionalitäten von Computergerät 150 beinhalten kann. System 500 kann ein zweites Ausgabegerät 506 beinhalten, das eine oder mehrere Komponenten oder Funktionalitäten von dem ersten Ausgabegerät 408 beinhalten kann.
  • Wie in 5 veranschaulicht, kann System 500 ein erstes Computergerät 404 beinhalten, das einen Abstand 410 weg von einem zweiten Computergerät 406 aufweist. Das zweite Computergerät 406 kann mit dem ersten Ausgabegerät 408 kommunikativ gekoppelt werden, um Audio, Video, Bilder oder andere Inhalte über das erste Ausgabegerät 408 auszugeben. Das erste Computergerät 405, das zweite Computergerät 406 und das erste Ausgabegerät 408 können in einem ersten Raum 402 (z. B. einem Raum eines Hauses, einer Wohnung, einer Unterkunft, einem Büro, einem Hotelzimmer oder einem anderen physischen Raum) positioniert oder platziert werden. Das erste Computergerät 404 und das zweite Computergerät 406 können mit einem Datenverarbeitungssystem 105 über Netzwerk 165 interagieren oder kommunizieren.
  • System 500 kann einen zweiten Raum 502 beinhalten, der an den ersten Raum 402 angrenzend positioniert ist. Der zweite Raum 502 kann mindestens teilweise von dem ersten Raum 402 durch eine Wand 512 getrennt sein. Die Wand 512 kann eine Öffnung 514 oder Türöffnung beinhalten. In dem zweiten Raum 502 kann das System 500 ein viertes Computergerät 510 und ein drittes Computergerät 504 beinhalten, die kommunikativ mit einem zweiten Ausgabegerät 506 gekoppelt sind. Das dritte Computergerät 504 kann von dem ersten Computergerät 404 durch einen Abstand 508 getrennt sein.
  • Das Datenverarbeitungssystem 105 kann Inhalte oder Benachrichtigungen auf einem oder mehreren Computergeräten in Umgebungen bereitstellen, in denen ein oder mehrere Geräte einen relativ hohen Wert für die Ressourcenauslastung aufweisen (z. B. Audio oder Video abspielen), ohne die Ressource zu unterbrechen. Beispielsweise kann das Datenverarbeitungssystem 105 ein Inhaltselement auswählen und bestimmen, die Bereitstellung des Inhaltselements auf dem ersten Ausgabegerät 408 über das zweite Computergerät 406 zu blockieren, da das zweite Computergerät 406 ein Video mit Audio abspielt. Stattdessen kann das Datenverarbeitungssystem 105 bestimmen, dass das Inhaltselement oder die Benachrichtigung über eine Push-Benachrichtigung an ein mobiles Computergerät (z. B. ein erstes Computergerät 404) gesendet wird, das sich innerhalb des Schwellenabstands von dem zweiten Computergerät 406 befindet.
  • Das Datenverarbeitungssystem 105 kann eine oder mehrere Annäherungserkennungstechniken (z. B. subakustische Schallwellen, Bluetooth oder Erkennung desselben audiobasierten Eingabesignals auf separaten Geräten) verwenden, um nahegelegene Computergeräte innerhalb eines Schwellenabstands zu identifizieren. Bluetooth kann sich auf einen drahtlosen Übertragungsstandard mit kurzer Reichweite für die Verbindung von Computergeräten, wie z. B. Handys, Computern oder anderen elektronischen Geräten, beziehen. Die drahtlose Kurzstreckenübertragung kann Funkwellen von 2,4 bis 2,485 GHz verwenden. Die Reichweite kann etwa 0,5 Meter, 1 Meter, 10 Meter, 100 Meter, 150 Meter, 240 Meter oder mehr betragen. Beispielsweise kann Erkennen desselben Eingabeaudiosignals (oder Audiobefehls) durch zwei getrennte Geräte (z. B. ein erstes Computergerät 404, und ein zweites Computergerät 406) ein Proxy-Signal sein, dass sich die Geräte in einem Schwellenabstand befinden.
  • Das Datenverarbeitungssystem 105 kann ein Inhaltselement oder eine Benachrichtigung identifizieren, die an ein Computergerät zu übertragen sind. Das Datenverarbeitungssystem 105 kann in Reaktion auf Identifizieren des Inhaltselements oder der Benachrichtigung bestimmen, ob sich ein oder mehrere Datenverarbeitungsgeräte innerhalb des Schwellenabstands befinden. In einigen Fällen können Näherungsinformationen bereits in Datenverarbeitungssystem 105 gespeichert werden, oder es können breite Näherungsinformationen verwendet werden, um zu erkennen, dass die beiden Geräte nicht nahe genug sind, um eine granulärere Nähe zum Gerät zu testen (z. B. subakustische Töne). Beispielsweise kann das Datenverarbeitungssystem 105 eine Hierarchie von Annäherungserkennungstechniken verwenden, die zunehmend ressourcenintensiver sind, um zu bestimmen, ob sich Computergeräte innerhalb eines Schwellenabstands befinden.
  • In einigen Fällen kann das Datenverarbeitungssystem 105 mehrere Computergeräte identifizieren, die mit einem Konto verknüpft sind. Das Datenverarbeitungssystem 105 kann einen Satz von in der Nähe befindlichen Geräten innerhalb eines Schwellenabstands identifizieren. Wie in 500 veranschaulicht, kann das Datenverarbeitungssystem 105 eine oder mehrere Näherungserkennungstechniken verwenden, um zu bestimmen, dass der Abstand 508 zwischen dem ersten Computergerät 404 und dem dritten Computergerät 504 größer als der Schwellenabstand ist. Das Datenverarbeitungssystem 105 kann bestimmen, ob ein Benutzer mit dem dritten Computergerät 504 interagiert, um ein Video auf dem zweiten Ausgabegerät 506 abzuspielen. Das Datenverarbeitungssystem 105 kann bestimmen, keine Audioinhalte oder eine Benachrichtigung zur Präsentation über das erste Computergerät 404 bereitzustellen, da das dritte Computergerät 504, das dem Benutzer zugeordnet ist oder mit dem dieser interagiert, größer als der Schwellenabstand zu dem ersten Computergerät 404 ist.
  • In einigen Fällen kann das Datenverarbeitungssystem 105 eine oder mehrere Anwendungen als Kandidaten für die Präsentation von Inhalten oder eine Benachrichtigung identifizieren. Beispielsweise kann das Datenverarbeitungssystem 105 bestimmen, ob eine mit dem ersten Datenverarbeitungsgerät 404 integrierte Anwendung zum Bereitstellen des Inhalts oder der Benachrichtigung verwendet werden soll. Das Datenverarbeitungssystem 105 kann mehrere mit dem ersten Datenverarbeitungsgerät 404 integrierte Anwendungen identifizieren, die den Inhalt oder die Benachrichtigung bereitstellen, die Anwendungen de-duplizieren und eine Kandidatenschnittstelle (z. B. Anwendung) basierend auf Ressourcenauslastungswerten oder eine vorprogrammierte Hierarchie basierend auf einer Benachrichtigungskonfiguration auswählen (z. B. kann die Audioschnittstelle höher als die Bildschnittstelle eingestuft werden, die höher als reine Textschnittstellen eingestuft werden kann).
  • Somit kann das Datenverarbeitungssystem Benachrichtigungen an das ausgewählte Gerät senden. Diese Benachrichtigung kann eine Nutzlast beinhalten. Beispielsweise kann das erste Computergerät eine Benachrichtigung an ein viertes Computergerät 510 (z. B. ein mobiles Computergerät 150) übertragen, um neue Inhalte zu fördern, die an das dritte Computergerät 504 zur Präsentation über das zweite Ausgabegerät 506 gestreamt werden können. Der Benutzer kann dem vierten Computergerät 510 befehlen, anweisen oder angeben, den neuen Inhalt auf dem zweiten Ausgabegerät 506 zu streamen.
  • 6 zeigt ein Blockdiagramm eines exemplarischen Computersystems 600. Das Computersystem oder Computergerät 600 kann das System 100 oder dessen Komponenten, wie z. B. das Datenverarbeitungssystem 105, beinhalten oder verwendet werden, um diese zu implementieren. Das Computersystem 600 beinhaltet einen Bus 605 oder eine andere Kommunikationskomponente zur Kommunikation von Informationen und einen Prozessor 610 oder eine Verarbeitungsschaltung, die mit dem Bus 605 zum Verarbeiten von Informationen gekoppelt ist. Das Computersystem 600 kann außerdem einen oder mehrere Prozessoren 610 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus zum Verarbeiten von Informationen gekoppelt sind. Das Computersystem 600 beinhaltet außerdem Hauptspeicher 615, wie z. B. Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus 605 gekoppelt ist, um Daten zu speichern, sowie Befehle, die von dem Prozessor 610 ausgeführt werden sollen. Der Hauptspeicher 615 kann der Datenbehälter 145 sein bzw. diesen beinhalten. Der Hauptspeicher 615 kann beim Ausführen von Befehlen durch den Prozessor 610 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem 600 kann außerdem einen Nur-LeseSpeicher (ROM) 620 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus 605 gekoppelt ist, um statische Informationen und Befehle für den Prozessor 610 zu speichern. Ein Speichergerät 625, wie z. B. ein Solid-State-Gerät, eine magnetische oder optische Platte, kann mit dem Bus 605 gekoppelt werden, um Informationen und Anweisungen dauerhaft zu speichern. Das Speichergerät 625 kann den Datenbehälter 145 beinhalten bzw. Teil desselben sein.
  • Das Computersystem 600 kann über den Bus 605 mit einer Anzeige 635, wie z. B. einer Flüssigkristallanzeige (LCD) oder aktiven Matrixanzeige, gekoppelt sein, sodass einem Benutzer Informationen angezeigt werden können. Mit dem Bus 605 kann ein Eingabegerät 630, wie z. B. eine Tastatur mit alphanumerischen und anderen Tasten, gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor 610 übermitteln lassen. Das Eingabegerät 630 kann eine Touchscreen-Anzeige 635 beinhalten. Das Eingabegerät 630 kann außerdem eine Cursorsteuerung, wie z. B. eine Maus, einen Trackball oder Pfeiltasten beinhalten, um Richtungsdaten und ausgewählte Befehle an den Prozessor 610 übertragen und die Bewegung des Cursors auf der Anzeige 635 steuern lassen. Die Anzeige 635 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 von dem Computersystem 600 in Reaktion darauf implementiert werden, dass der Prozessor 610 eine in dem Hauptspeicher 615 enthaltene Anordnung von Anweisungen ausführt. Diese Anweisungen können von einem computerlesbaren Medium, wie z. B. Speichergerät 625, in den Hauptspeicher 615 gelesen werden. Das Ausführen des in dem Hauptspeicher 615 enthaltenen Anweisungssatzes veranlasst das Computersystem 600 dazu, die hierin beschriebenen und veranschaulichten Prozesse auszuführen. Außerdem können in einer Multi-Prozessor-Anordnung ein oder mehrere Prozessoren dazu genutzt werden, die im Hauptspeicher 615 enthaltenen Anweisungen auszuführen. Fest verdrahtete Schaltungen können anstelle von oder in Kombination mit Software-Anweisungen 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 6 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 implementiert werden, einschließlich der in dieser Spezifikation offenbarten Strukturen und ihrer strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben.
  • Für Situationen, in denen die hierin erläuterten Systeme persönliche Informationen über Benutzer sammeln, oder persönliche Informationen nutzen können, kann für die Benutzer eine Möglichkeit bereitgestellt werden, einzustellen, ob Programme oder Funktionen, die persönliche Informationen sammeln können (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, eine Benutzerpräferenz oder den Standort eines Benutzers), oder um einzustellen, 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 beim Erstellen von Parametern entfernt werden. Eine Benutzeridentität kann beispielsweise anonymisiert werden, sodass keine personenbezogenen 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 die 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, codiert sein, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu codieren, 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 von einem oder mehreren derselben sein bzw. darin enthalten sein. Obwohl ein Computerspeichermedium kein sich verbreitendes Signal ist, kann ein Computerspeichermedium jedoch eine Quelle oder ein Ziel von Computerprogrammanweisungen sein, die in einem künstlich erzeugten sich ausbreitenden Signal codiert sind. Das Computerspeichermedium kann auch eine oder mehrere separate Komponenten oder Medien sein (z. B. mehrere CDs, Datenträger oder andere Speichervorrichtungen bzw. darin beinhaltet 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 sind 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 davon 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 erzeugt, wie z. B. Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination von einem oder mehreren derselben darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodell-Infrastrukturen, wie z. B. Webdienste, sowie verteilte und räumlich verteilte Rechen-Infrastrukturen realisieren. Die Schnittstellenverwaltungskomponente 140, die Direktaktions-API 135, die Inhaltsauswahlkomponente 125, die Vorhersagekomponente 120 oder die NLP-Komponente 110 und andere Komponenten des Datenverarbeitungssystems 105 können beispielsweise eine oder mehrere Datenverarbeitungsvorrichtungen, Systeme, Computergeräte oder Prozessoren beinhalten oder gemeinsam nutzen.
  • Ein Computerprogramm (auch bezeichnet als Programm, Software, Softwareanwendung, App, Script oder Code) kann in einer beliebigen Form von Programmiersprache, darunter auch in kompilierten Sprachen oder interpretierten Sprachen, deklarativen oder prozeduralen Sprachen, geschrieben sein, und in beliebiger Form eingesetzt werden, darunter auch als eigenständiges Programm oder als 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 (wie z. B. ein oder mehrere Scripts, die in einem Dokument in Auszeichnungssprache gespeichert sind), in einer einzelnen dem betreffenden Programm gewidmeten Datei oder in mehreren koordinierten Dateien (wie beispielsweise Dateien, die ein oder mehrere Module, Teil-Programme oder Code-Abschnitte enthalten). Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern zum Ausführen bereitgestellt 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 Computerprogrammanweisungen 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 Client-Computer beinhaltet, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch den ein Benutzer mit einer in dieser Spezifikation 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 sein. 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 600 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 basierend auf Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und die eine Client-Server-Beziehung zueinander aufweisen. In einigen Implementierungen überträgt ein Server Daten (z. B. Aktionsdatenstrukturen oder Inhaltselemente darstellende Datenpakete) an ein Client-Gerät (z. B. zu dem Client-Computergerät 150 zu Zwecken des Anzeigens von Daten und Empfangens von Benutzereingaben von einem Benutzer, der mit dem Client-Gerät interagiert, oder zu dem Dienstanbieter-Computergerät 160 oder dem Inhaltsanbieter-Computergerät 155). In dem Client-Gerät generierte Daten (z. B. ein Ergebnis der Benutzerinteraktion) können von dem Client-Gerät an dem Server empfangen werden (z. B. empfangen durch das Datenverarbeitungssystem 105 von dem Computergerät 150 oder dem Inhaltsanbietercomputergerät 155 oder dem Dienstanbietercomputergerä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, zudem ist es 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 in sämtlichen Implementierungen und die beschriebenen Programmkomponenten können in einem einzigen Hardware- oder Softwareprodukt enthalten sein. Die NLP-Komponente 110, die Inhaltsauswahlelementkomponente 125, die Schnittstellenverwaltungskomponente 140 oder die Vorhersagekomponente 120 können beispielsweise eine einzelne Komponente, eine App oder ein Programm oder ein Logik-Gerä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 der 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 Ausführungsformen oder Implementierungen ausgeschlossen sein.
  • Die hier verwendete Ausdrucksweise und Terminologie dient dem Zweck der Beschreibung und sollte nicht als Einschränkung 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 Bezugnahmen 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, und jegliche Bezugnahmen auf eine Implementierung oder ein Element oder eine Wirkungsweise beliebiger Art, auf die hierin in der Mehrzahl verwiesen wird, kann auch Implementierungen, einschließlich eines lediglich einzelnen Elements, umfassen. Bezugnahmen auf die Singular- oder die Pluralform sind nicht dazu 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 solche Bezugszeichen noch deren Abwesenheit eine einschränkende Wirkung auf den Umfang der Anspruchselemente.
  • Die hierin beschriebenen Systeme und Verfahren können auch durch andere Ausführungsformen verkörpert werden, ohne von deren Eigenschaften abzuweichen. Die vorhergehenden Implementierungen werden eher als anschaulich denn als einschränkend für die hierin beschriebenen Systeme und Verfahren betrachtet. Der Umfang der hierin beschriebenen Systeme und Verfahren wird somit eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben, und Änderungen, welche innerhalb der Bedeutungen und des Bereichs der Äquivalenz der Ansprüche fallen, sind darin eingeschlossen.

Claims (20)

  1. System zur multimodalen Übertragung von paketierten Daten in einer auf sprachdatenaktivierten Datenpaketen basierenden Computernetzwerkumgebung, 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 Eingabeaudiosignal umfassen; die Prozessorkomponente für natürliche Sprache zum Parsen des Eingabeaudiosignals, um eine Anfrage und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren; eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems, um basierend auf mindestens einem von der Anfrage und dem Auslöserschlüsselwort eine erste Aktionsdatenstruktur zu generieren; eine durch das Datenverarbeitungssystem ausgeführte Inhaltsauswahlkomponente zum Empfangen mindestens eines von der Anfrage und dem Auslöserschlüsselwort, das durch den Prozessor für natürliche Sprache identifiziert wird, und basierend auf dem mindestens einen von der Anfrage und dem Auslöserschlüsselwort, Auswählen eines Inhaltselements über einen Echtzeit-Inhaltsauswahlprozess; eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems zum: Pollen einer Vielzahl von Schnittstellen, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle innerhalb eines Schwellenabstands des Computergeräts zu identifizieren; Bestimmen eines ersten Ressourcenauslastungswerts für die erste Kandidatenschnittstelle und eines zweiten Ressourcenauslastungswerts für die zweite Kandidatenschnittstelle; Basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts, Auswählen der ersten Kandidatenschnittstelle als eine ausgewählte Schnittstelle, um das Inhaltselement zu präsentieren; Bereitstellen des Inhaltselements zur Zustellung in einer Modalität, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird; und Übertragen des Inhaltselements in der ersten Modalität zum Zustellen des Inhaltselements zur Präsentation über die ausgewählte Schnittstelle.
  2. System nach Anspruch 1, umfassend: die Schnittstellenverwaltungskomponente, um das Computergerät anzuweisen, eine subakustische Welle zu übertragen, um ein zweites Computergerät innerhalb des Schwellenabstands des Computergeräts zu identifizieren, wobei das zweite Computergerät die zweite Kandidatenschnittstelle umfasst.
  3. System nach Anspruch 1, umfassend die Schnittstellenverwaltungskomponente zum: Bereitstellen eines Tokens über die von dem Computergerät übertragene subakustische Welle zum Erkennen durch einen zweiten Sensor des zweiten Computergeräts; Empfangen des von dem zweiten Computergerät über ein Netzwerk erkannten Tokens durch den zweiten Sensor des zweiten Computergeräts; und Bestimmen, basierend auf einer Übereinstimmung zwischen dem von dem zweiten Computergerät empfangenen Token und dem über die von dem Computergerät übertragene subakustische Welle bereitgestellten Token, dass sich das zweite Computergerät innerhalb des Schwellenabstands des Computergeräts befindet.
  4. System nach Anspruch 1, umfassend: die Schnittstellenverwaltungskomponente, um das Computergerät anzuweisen, eine drahtlose Kurzstreckenübertragung zu übertragen, die ein Signal umfasst, um ein zweites Computergerät innerhalb des Schwellenabstands des Computergeräts zu identifizieren, wobei das zweite Computergerät die zweite Kandidatenschnittstelle umfasst.
  5. System nach Anspruch 4, umfassend die Schnittstellenverwaltungskomponente zum: die Schnittstellenverwaltungskomponente zum Vergleichen des von dem Sensor des Client-Computergeräts erfassten Eingabeaudiosignals mit einem von einem zweiten Sensor eines zweiten Client-Computergeräts erfassten zweiten Eingabeaudiosignal, um eine Übereinstimmung zu identifizieren; und basierend auf der Übereinstimmung, Identifizieren des zweiten Computergeräts als innerhalb des Schwellenabstands des Computergeräts, wobei das zweite Computergerät die zweite Kandidatenschnittstelle umfasst.
  6. System nach Anspruch 5, umfassend die Schnittstellenverwaltungskomponente zum: Empfangen eines ersten Zeitstempels, der der Übertragung der das Token umfassenden subakustischen Welle durch das Computergerät entspricht; Empfangen eines zweiten Zeitstempels, der der Übertragung der das Token umfassenden subakustischen Welle durch das zweite Computergerät entspricht; und Bestimmen, basierend auf einem Unterschied zwischen dem zweiten Zeitstempel und dem ersten Zeitstempel, dass sich das zweite Computergerät innerhalb des Schwellenabstands von dem Computergerät befindet.
  7. System nach Anspruch 1, umfassend die Schnittstellenverwaltungskomponente zum: Identifizieren, basierend auf einer Vielzahl von Näherungserkennungstechniken, einer Vielzahl von Computergeräten innerhalb des Schwellenabstands des Computergeräts, wobei die Vielzahl von Computergeräten ein zweites Computergerät mit der zweiten Kandidatenschnittstelle und ein drittes Computergerät mit einer dritten Kandidatenschnittstelle umfasst; Pollen der Vielzahl von Schnittstellen, die die erste Kandidatenschnittstelle, die zweite Kandidatenschnittstelle und die dritte Kandidatenschnittstelle umfassen; Bestimmen eines dritten Ressourcenauslastungswerts für die dritte Kandidatenschnittstelle; und basierend auf einem Vergleich des ersten Ressourcenauslastungswerts, des zweiten Ressourcenauslastungswerts, und des dritten Ressourcenauslastungswerts, Auswählen der ersten Kandidatenschnittstelle als die ausgewählte Schnittstelle, um das Inhaltselement zu präsentieren.
  8. System nach Anspruch 1, umfassend: dass die Schnittstellenverwaltungskomponente aus dem Arbeitsspeicher Näherungsinformationen abruft, die eine Vielzahl von Computergeräten innerhalb des Schwellenabstands des Computergeräts identifizieren.
  9. System nach Anspruch 1, umfassend die Schnittstellenverwaltungskomponente zum: Identifizieren eines zweiten Computergeräts, das die zweite Kandidatenschnittstelle umfasst; Anfragen einer Anwendungsprogrammierschnittstelle, die auf dem zweiten Computergerät ausgeführt wird, um den zweiten Ressourcenauslastungswert zu bestimmen, wobei der zweite Verwendungswert einen Lautstärkepegel angibt, bei dem Audioinhalte wiedergegeben werden.
  10. System nach Anspruch 1, wobei der erste Ressourcenauslastungswert und der zweite Ressourcenauslastungswert basierend auf mindestens einem von Batteriezustand, Prozessorauslastung, Speicherauslastung, Schnittstellenparameter und Netzwerkbandbreitenauslastung bestimmt werden.
  11. System nach Anspruch 1, wobei der erste Ressourcenauslastungswert und der zweite Ressourcenauslastungswert basierend auf Sensorverwendung bestimmt werden.
  12. System nach Anspruch 1, wobei die erste Kandidatenschnittstelle und die zweite Kandidatenschnittstelle zwei verschiedene Schnittstellen des Client-Geräts sind.
  13. System nach Anspruch 1, wobei das Client-Computergerät ein erstes Client-Computergerät ist, umfassend: dass die Schnittstellenverwaltungskomponente bestimmt, dass die erste Kandidatenschnittstelle dem ersten Client-Computergerät entspricht, das mit dem Konto verknüpft ist, und dass die zweite Kandidatenschnittstelle einem zweiten Client-Computergerät entspricht, das mit dem Konto verknüpft ist.
  14. System nach Anspruch 1, wobei die erste Kandidatenschnittstelle einen Anzeigebildschirm beinhaltet, und die zweite Kandidatenschnittstelle eine Audioschnittstelle beinhaltet.
  15. System von Anspruch 1, wobei die erste Kandidatenschnittstelle einer Push-Benachrichtigung zugeordnet ist und die zweite Kandidatenschnittstelle einen Java-Script-Slot auf einem Online-Dokument beinhaltet.
  16. System nach Anspruch 1, umfassend die Schnittstellenverwaltungskomponente zum: Identifizieren einer dritten Kandidatenschnittstelle; Bestimmen eines dritten Ressourcenauslastungswerts für die dritte Kandidatenschnittstelle; und Zuordnen einer Hierarchie zu der ersten Kandidatenschnittstelle, der zweiten Kandidatenschnittstelle und der dritten Kandidatenschnittstelle basierend auf dem ersten Ressourcenauslastungswert, dem zweiten Ressourcenauslastungswert und dem dritten Ressourcenauslastungswert.
  17. System nach Anspruch 1, wobei die Vielzahl von Kandidatenschnittstellen mindestens eines von einem Bildschirm, einer Audioschnittstelle, einer Vibrationsschnittstelle, einer E-Mail-Schnittstelle, einer Push-Benachrichtigungsschnittstelle, einer Schnittstelle für mobile Computergeräte, einer Anwendung für tragbare Computergeräte, einem Inhaltsschlitz in einem Online-Dokument, einer Chat-Anwendung, einer Anwendung für mobile Computergeräte, einem Laptop, einer Uhr, einem Headset für virtuelle Realität und einem Lautsprecher beinhaltet.
  18. 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 zur multimodalen Übertragung von paketierten Daten in einer auf sprachaktivierten Datenpaketen basierenden Computernetzwerkumgebung auszuführen, die Vorgänge umfassend: Empfangen von Datenpaketen durch eine Prozessorkomponente für natürliche Sprache, die durch ein Datenverarbeitungssystem ausgeführt wird, über eine Schnittstelle des Datenverarbeitungssystems, die ein durch einen Sensor eines Client-Computergeräts erkanntes Eingabeaudiosignal umfassen; Identifizieren einer Anfrage und eines Auslöserschlüsselworts gemäß der Anfrage durch die Prozessorkomponente für natürliche Sprache von dem Eingabeaudiosignal; Generieren einer ersten Aktionsdatenstruktur durch eine Direktaktions-Anwendungsprogrammierschnittstelle des Datenverarbeitungssystems basierend auf mindestens einem von und dem Auslöserschlüsselwort; Empfangen mindestens eines von der Anfrage und dem Auslöserschlüsselwort, das durch den Prozessor für natürliche Sprache identifiziert wird, durch das durch eine Inhaltsauswahlkomponente ausgeführte Datenverarbeitungssystem, und basierend auf mindestens einem aus der Anfrage und dem Auslöserschlüsselwort, Auswählen eines Inhaltselements über einen Echtzeit-Inhaltsauswahlprozess; Pollen einer Vielzahl von Schnittstellen über eine Schnittstellenverwaltungskomponente des Datenverarbeitungssystems, um eine erste Kandidatenschnittstelle und eine zweite Kandidatenschnittstelle zu identifizieren, die innerhalb eines Schwellenabstands des Computergeräts liegen; Bestimmen eines ersten Ressourcenauslastungswerts durch die Schnittstellenverwaltungskomponente für die erste Kandidatenschnittstelle und eines zweiten Ressourcenauslastungswerts für die zweite Kandidatenschnittstelle; basierend auf einem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts, Auswählen der ersten Kandidatenschnittstelle als eine ausgewählte Schnittstelle, um das Inhaltselement zu präsentieren; Konvertieren des Inhaltselements zur Zustellung in eine Modalität, die mit der ausgewählten Schnittstelle kompatibel ist, die basierend auf dem Vergleich des ersten Ressourcenauslastungswerts und des zweiten Ressourcenauslastungswerts ausgewählt wird; und Übertragen des für die erste Modalität konvertierten Inhaltselements, um das Inhaltselement zum Wiedergeben von der ausgewählten Schnittstelle zuzustellen.
  19. Computerlesbares Speichermedium nach Anspruch 18, die Vorgänge umfassend: Anweisen des Computergeräts durch die Schnittstellenverwaltungskomponente, eine subakustische Welle zu übertragen, um ein zweites Computergerät innerhalb des Schwellenabstands des Computergeräts zu identifizieren, wobei das zweite Computergerät die zweite Kandidatenschnittstelle umfasst.
  20. Computerlesbares Speichermedium nach Anspruch 18, die Vorgänge umfassend: Bereitstellen eines Tokens über die von dem Computergerät übertragene subakustische Welle zum Erkennen durch einen zweiten Sensor des zweiten Computergeräts; Empfangen des von dem zweiten Computergerät über ein Netzwerk erkannten Tokens durch den zweiten Sensor des zweiten Computergeräts; und Bestimmen, basierend auf einer Übereinstimmung zwischen dem von dem zweiten Computergerät empfangenen Token und dem über die von dem Computergerät übertragene subakustische Welle bereitgestellten Token, dass sich das zweite Computergerät innerhalb des Schwellenabstands des Computergeräts befindet.
DE212017000286.7U 2016-12-30 2017-08-31 Multimodale Übertragung von paketierten Daten Active DE212017000286U1 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/395,703 US10032452B1 (en) 2016-12-30 2016-12-30 Multimodal transmission of packetized data
US15/395,703 2016-12-30
US15/674,838 2017-08-11
US15/674,838 US10708313B2 (en) 2016-12-30 2017-08-11 Multimodal transmission of packetized data
PCT/US2017/049782 WO2018125307A1 (en) 2016-12-30 2017-08-31 Multimodal transmission of packetized data

Publications (1)

Publication Number Publication Date
DE212017000286U1 true DE212017000286U1 (de) 2019-08-20

Family

ID=59901585

Family Applications (2)

Application Number Title Priority Date Filing Date
DE212017000286.7U Active DE212017000286U1 (de) 2016-12-30 2017-08-31 Multimodale Übertragung von paketierten Daten
DE112017000142.0T Pending DE112017000142T5 (de) 2016-12-30 2017-08-31 Multimodale übertragung von paketierten daten

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112017000142.0T Pending DE112017000142T5 (de) 2016-12-30 2017-08-31 Multimodale übertragung von paketierten daten

Country Status (8)

Country Link
US (3) US10708313B2 (de)
EP (2) EP3961372A1 (de)
JP (3) JP6586470B2 (de)
KR (3) KR101996574B1 (de)
CN (2) CN108541312A (de)
AU (2) AU2017384996B2 (de)
DE (2) DE212017000286U1 (de)
WO (1) WO2018125307A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105678586B (zh) 2016-01-12 2020-09-29 腾讯科技(深圳)有限公司 一种信息扶持方法和装置
EP4235644A3 (de) * 2018-03-14 2023-10-25 Google LLC Erzeugung von iot-basierten benachrichtigungen und bereitstellung von befehlen, um eine automatische wiedergabe von iot-basierten benachrichtigungen durch automatisierte assistenten-clients von client-vorrichtungen zu bewirken
US11145313B2 (en) * 2018-07-06 2021-10-12 Michael Bond System and method for assisting communication through predictive speech
US11403888B2 (en) * 2018-09-24 2022-08-02 Gojo Industries, Inc. Method and system for using data packet beaconing to determine compliance with protocols
US10777186B1 (en) * 2018-11-13 2020-09-15 Amazon Technolgies, Inc. Streaming real-time automatic speech recognition service
JP7135099B2 (ja) * 2018-11-21 2022-09-12 グーグル エルエルシー 異種のデータソースへのクエリからの応答の統合
US11785386B2 (en) * 2019-01-03 2023-10-10 Harman International Industries, Incorporated Multistep sound preference determination
EP3912024A1 (de) * 2019-05-06 2021-11-24 Google LLC Erzeugung und aktualisierung von sprachbasierten softwareanwendungen unter verwendung von anwendungsschablonen
US11429793B2 (en) * 2019-05-28 2022-08-30 Dell Products L.P. Site ambient audio collection
CN112783954B (zh) * 2019-11-06 2024-04-05 北京金山云网络技术有限公司 数据访问方法、装置及服务器
US11083036B1 (en) * 2020-05-27 2021-08-03 Lenovo (Singapore) Pte. Ltd. Vehicle selection of device to use to execute function
DE112022002775T5 (de) 2021-05-27 2024-04-04 Sony Group Corporation Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsprogramm

Family Cites Families (274)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04287556A (ja) 1991-03-18 1992-10-13 Nippon Telegr & Teleph Corp <Ntt> 通信端末探索方法
AU684872B2 (en) 1994-03-10 1998-01-08 Cable And Wireless Plc Communication system
JP2775140B2 (ja) 1994-03-18 1998-07-16 株式会社エイ・ティ・アール人間情報通信研究所 パターン認識方法、音声認識方法および音声認識装置
US5724521A (en) 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US6259405B1 (en) 1995-06-06 2001-07-10 Wayport, Inc. Geographic based communications service
US5835061A (en) 1995-06-06 1998-11-10 Wayport, Inc. Method and apparatus for geographic-based communications service
US5740549A (en) 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US6026368A (en) 1995-07-17 2000-02-15 24/7 Media, Inc. On-line interactive system and method for providing content and advertising information to a targeted set of viewers
US5675788A (en) 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
GB2305747A (en) 1995-09-30 1997-04-16 Ibm Load balancing of connections to parallel servers
WO1997021183A1 (en) 1995-12-08 1997-06-12 Bell Communications Research, Inc. Method and system for placing advertisements in a computer network
US5801413A (en) 1995-12-19 1998-09-01 Micron Technology, Inc. Container-shaped bottom electrode for integrated circuit capacitor with partially rugged surface
US5848397A (en) 1996-04-19 1998-12-08 Juno Online Services, L.P. Method and apparatus for scheduling the presentation of messages to computer users
US5850433A (en) 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US6185427B1 (en) 1996-09-06 2001-02-06 Snaptrack, Inc. Distributed satellite position system processing and application network
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6078914A (en) 1996-12-09 2000-06-20 Open Text Corporation Natural language meta-search system and method
US6144944A (en) 1997-04-24 2000-11-07 Imgis, Inc. Computer system for efficiently selecting and providing information
US6044376A (en) 1997-04-24 2000-03-28 Imgis, Inc. Content stream analysis
WO1998058334A1 (en) 1997-06-16 1998-12-23 Doubleclick Inc. Method and apparatus for automatic placement of advertising
JPH1165950A (ja) 1997-08-15 1999-03-09 Sony Corp 情報通信方法、情報通信システム、携帯無線通信端末およびサーバ装置
US6600930B1 (en) 1997-07-11 2003-07-29 Sony Corporation Information provision system, information regeneration terminal, and server
US5930773A (en) 1997-12-17 1999-07-27 Avista Advantage, Inc. Computerized resource accounting methods and systems, computerized utility management methods and systems, multi-user utility management methods and systems, and energy-consumption-based tracking methods and systems
US6457040B1 (en) 1998-01-16 2002-09-24 Kabushiki Kaisha Toshiba Method and system for a distributed network computing system for providing application services
JPH11265347A (ja) 1998-01-16 1999-09-28 Toshiba Corp 分散ネットワークコンピューティングシステム、及びこのシステムに用いられる情報交換装置、情報交換方法、並びに情報交換方法のプログラム情報を格納したコンピュータ読取り可能な記憶媒体
US6647257B2 (en) 1998-01-21 2003-11-11 Leap Wireless International, Inc. System and method for providing targeted messages based on wireless mobile location
US6286005B1 (en) 1998-03-11 2001-09-04 Cannon Holdings, L.L.C. Method and apparatus for analyzing data and advertising optimization
US20030154072A1 (en) 1998-03-31 2003-08-14 Scansoft, Inc., A Delaware Corporation Call analysis
US20070294229A1 (en) 1998-05-28 2007-12-20 Q-Phrase Llc Chat conversation methods traversing a provisional scaffold of meanings
US6167382A (en) 1998-06-01 2000-12-26 F.A.C. Services Group, L.P. Design and production of print advertising and commercial display materials over the Internet
US6731612B1 (en) 1998-06-29 2004-05-04 Microsoft Corporation Location-based web browsing
US6826593B1 (en) 1998-09-01 2004-11-30 Lucent Technologies Inc. Computer implemented method and apparatus for fulfilling a request for information content with a user-selectable version of a file containing that information content
US6189003B1 (en) 1998-10-23 2001-02-13 Wynwyn.Com Inc. Online business directory with predefined search template for facilitating the matching of buyers to qualified sellers
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
HK1025466A2 (en) 1999-01-15 2000-10-05 Imandi Corp Extraction of vendor information from web sites
US6332127B1 (en) 1999-01-28 2001-12-18 International Business Machines Corporation Systems, methods and computer program products for providing time and location specific advertising via the internet
US6985882B1 (en) 1999-02-05 2006-01-10 Directrep, Llc Method and system for selling and purchasing media advertising over a distributed communication network
US6269361B1 (en) 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US7035812B2 (en) 1999-05-28 2006-04-25 Overture Services, Inc. System and method for enabling multi-element bidding for influencing a position on a search result list generated by a computer network search engine
US7844594B1 (en) 1999-06-18 2010-11-30 Surfwax, Inc. Information search, retrieval and distillation into knowledge objects
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
US6363065B1 (en) 1999-11-10 2002-03-26 Quintum Technologies, Inc. okApparatus for a voice over IP (voIP) telephony gateway and methods for use therein
US7392185B2 (en) * 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US6446045B1 (en) 2000-01-10 2002-09-03 Lucinda Stone Method for using computers to facilitate and control the creating of a plurality of functions
AU2001234986A1 (en) 2000-02-11 2001-08-20 Wynwyn.Com, Inc. Online business directory with thesaurus and search template
US6401075B1 (en) 2000-02-14 2002-06-04 Global Network, Inc. Methods of placing, purchasing and monitoring internet advertising
JP2001236410A (ja) 2000-02-21 2001-08-31 Kyota Iwaoka 相互接続型広告配信方法およびそのシステム
JP2002132827A (ja) 2000-03-06 2002-05-10 Katsuyoshi Nagashima インターネット情報からの広告宣伝情報自動検索装置及び広告宣伝情報自動検索方法
US7376729B2 (en) 2000-03-23 2008-05-20 Freebit Co., Ltd. System for internet connections, method for calculating connection fees for network connection services, billing system for network connection services, and system for network connection management
JP2002007253A (ja) 2000-06-19 2002-01-11 Freebit.Com Co Ltd インターネット接続システム、インターネット利用者への情報提供システム、及びインターネット利用者への情報提供方法
JP2001282982A (ja) 2000-03-28 2001-10-12 Hisahiro Negi Webマーケティングシステム
US7155729B1 (en) * 2000-03-28 2006-12-26 Microsoft Corporation Method and system for displaying transient notifications
JP2001297256A (ja) 2000-04-12 2001-10-26 Kuku:Kk サーバーコンピュータの制御方法
JP2001312646A (ja) 2000-04-28 2001-11-09 Occs Planning Corp 屋外広告における広告媒体賃貸システム
JP2001312649A (ja) 2000-05-01 2001-11-09 Adc Technology Kk 広告システム及び記録媒体
CN1252975C (zh) 2000-05-16 2006-04-19 约翰·塔歇罗 提供地理目标信息和广告的方法和系统
KR20000054165A (ko) 2000-05-24 2000-09-05 김병남 위치정보를 이용한 인터넷 광고 시스템 및 그 방법
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
KR20020035113A (ko) 2000-05-31 2002-05-09 추후보정 네트웍을 통해 광고를 전달하기 위한 방법 및 시스템
JP4612158B2 (ja) 2000-06-29 2011-01-12 株式会社東芝 移動通信端末装置
CA2414379A1 (en) 2000-06-30 2002-01-10 Troy Schultz Method and apparatus for a gis based search engine utilizing real time advertising
AU2001269411A1 (en) 2000-07-10 2002-01-21 Viven Ltd. Broadcast content over cellular telephones
US20020082938A1 (en) 2000-07-19 2002-06-27 Dana Borger Systems, methods and computer program products that facilitate and account for call-through advertising between advertisers and users of web-enabled telephone devices
JP2002073666A (ja) 2000-08-29 2002-03-12 Sharp Corp 情報提供システム及び情報提供サーバ及び情報受信端末並びに情報提供プログラムを記録した記録媒体
US6857007B1 (en) 2000-08-30 2005-02-15 Bloomfield Enterprises, Llc Personal digital assistant facilitated communication system
US20020029226A1 (en) 2000-09-05 2002-03-07 Gang Li Method for combining data with maps
US20020128908A1 (en) 2000-09-15 2002-09-12 Levin Brian E. System for conducting user-specific promotional campaigns using multiple communications device platforms
JP2002099822A (ja) 2000-09-26 2002-04-05 Minoru Sato 広告システム、広告方法および情報記憶媒体
US6983331B1 (en) 2000-10-17 2006-01-03 Microsoft Corporation Selective display of content
JP2002140359A (ja) 2000-11-01 2002-05-17 Masayuki Hasegawa 広告配信システム、広告コンテンツおよび広告配信装置ならびに広告配信方法
WO2002101485A2 (en) 2000-11-10 2002-12-19 In2M Corporation Methods and systems for electronic coupon issuance transmission and management
US7376640B1 (en) 2000-11-14 2008-05-20 At&T Delaware Intellectual Property, Inc. Method and system for searching an information retrieval system according to user-specified location information
JP2002169744A (ja) 2000-12-04 2002-06-14 Ntt Me Corp 付加情報配信装置及び付加情報配信方法
JP2002170027A (ja) 2000-12-04 2002-06-14 Standard J:Kk 広告配信事業およびシステム
US7406434B1 (en) 2000-12-15 2008-07-29 Carl Meyer System and method for improving the performance of electronic media advertising campaigns through multi-attribute analysis and optimization
US6956816B1 (en) 2001-02-15 2005-10-18 Extreme Networks Fault tolerant automatic protection switching for distributed routers
JP2002245048A (ja) 2001-02-20 2002-08-30 Mitsubishi Electric Corp 画像検索方法および画像検索装置
WO2002076077A1 (en) 2001-03-16 2002-09-26 Leap Wireless International, Inc. Method and system for distributing content over a wireless communications system
JP2002288541A (ja) 2001-03-28 2002-10-04 Ntt Comware Corp 広告料課金システム、そのプログラムおよびそのプログラムが記録されたコンピュータ読み取り可能な記録媒体
US6993326B2 (en) 2001-04-02 2006-01-31 Bellsouth Intellectual Property Corporation System and method for providing short message targeted advertisements over a wireless communications network
US7698228B2 (en) 2001-04-27 2010-04-13 Accenture Llp Tracking purchases in a location-based services system
US7970648B2 (en) 2001-04-27 2011-06-28 Accenture Global Services Limited Advertising campaign and business listing management for a location-based services system
US8402088B2 (en) 2001-06-11 2013-03-19 Apple Inc. Establishing telephone calls at a specified future time using a URI and a web-based telephony application
US8538803B2 (en) 2001-06-14 2013-09-17 Frank C. Nicholas Method and system for providing network based target advertising and encapsulation
US7089264B1 (en) 2001-06-22 2006-08-08 Navteq North America, Llc Geographic database organization that facilitates location-based advertising
US20030008661A1 (en) 2001-07-03 2003-01-09 Joyce Dennis P. Location-based content delivery
JP2003016348A (ja) 2001-07-04 2003-01-17 Nec Commun Syst Ltd 広告配信方法
KR100552468B1 (ko) 2001-07-19 2006-02-15 삼성전자주식회사 음성인식에 따른 오동작을 방지 및 음성인식율을 향상 할수 있는 전자기기 및 방법
EP1412874A4 (de) 2001-07-27 2007-10-17 Quigo Technologies Inc System und verfahren zur automatisierten verfolgung und analyse der dokumentbenutzung
JP2003044126A (ja) 2001-08-02 2003-02-14 Mitsui Eng & Shipbuild Co Ltd リモートメンテナンスシステムおよび在庫管理システム
US7043471B2 (en) 2001-08-03 2006-05-09 Overture Services, Inc. Search engine account monitoring
US7243024B2 (en) 2001-08-11 2007-07-10 Endicott William L Computer-implemented system and method for wayfinding
US7120429B2 (en) 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
US7920682B2 (en) 2001-08-21 2011-04-05 Byrne William J Dynamic interactive voice interface
US8214342B2 (en) 2001-08-23 2012-07-03 Michael Meiresonne Supplier identification and locator system and method
US7778872B2 (en) 2001-09-06 2010-08-17 Google, Inc. Methods and apparatus for ordering advertisements based on performance information and price information
JP2003122781A (ja) 2001-10-17 2003-04-25 Super Contents Distrubutions Ltd 商品情報配信方法
KR100794424B1 (ko) * 2001-11-01 2008-01-16 엘지노텔 주식회사 오디오 패킷 스위칭 시스템 및 방법
JP2003223591A (ja) 2001-11-20 2003-08-08 Matsushita Electric Ind Co Ltd 電子商取引サービスシステム、電子商取引端末、電子商取引サービスサーバ並びにコンピュータプログラム
US7295996B2 (en) 2001-11-30 2007-11-13 Skinner Christopher J Automated web ranking bid management account system
KR200269767Y1 (ko) 2001-12-07 2002-03-25 김동춘 의자 조립용 파이프 연결부재
US7016343B1 (en) 2001-12-28 2006-03-21 Cisco Technology, Inc. PSTN call routing control features applied to a VoIP
JP4074106B2 (ja) 2002-03-07 2008-04-09 富士通株式会社 広告送信方法及び装置
US7386318B2 (en) 2002-03-19 2008-06-10 Pitney Bowes Mapinfo Corporation Location based service provider
US7136875B2 (en) 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
US20060149624A1 (en) 2004-12-30 2006-07-06 Shumeet Baluja Generating and/or serving local area advertisements, such as advertisements for devices with call functionality
JP2003337893A (ja) 2002-05-20 2003-11-28 Sharp Corp 情報配信装置、情報配信方法、情報配信プログラムおよび情報配信プログラムを記録したコンピュータ読取り可能な記録媒体
US8611919B2 (en) 2002-05-23 2013-12-17 Wounder Gmbh., Llc System, method, and computer program product for providing location based services and mobile e-commerce
JP2004032037A (ja) 2002-06-21 2004-01-29 Hitachi Ltd 情報受発信システム、それに使用される情報処理装置及び携帯端末
US20040044571A1 (en) 2002-08-27 2004-03-04 Bronnimann Eric Robert Method and system for providing advertising listing variance in distribution feeds over the internet to maximize revenue to the advertising distributor
US7617122B2 (en) 2002-08-28 2009-11-10 International Business Machines Corporation Targeted online marketing
US20040059712A1 (en) 2002-09-24 2004-03-25 Dean Jeffrey A. Serving advertisements using information associated with e-mail
US20070088609A1 (en) 2002-10-25 2007-04-19 Medio Systems, Inc. Optimizer For Selecting Supplemental Content Based on Content Productivity of a Document
US7260066B2 (en) 2002-10-31 2007-08-21 Conexant Systems, Inc. Apparatus for link failure detection on high availability Ethernet backplane
US7263086B2 (en) 2002-11-12 2007-08-28 Nokia Corporation Method and system for providing location-based services in multiple coverage area environments
US7818207B1 (en) 2003-01-10 2010-10-19 Google, Inc. Governing the serving of advertisements based on a cost target
US7007014B2 (en) 2003-04-04 2006-02-28 Yahoo! Inc. Canonicalization of terms in a keyword-based presentation system
US7826907B2 (en) 2003-07-31 2010-11-02 Hewlett-Packard Development Company, L.P. Fortuitous combinations of ad-hoc available sets of different electronic devices to respond to user jobs
KR200339736Y1 (ko) 2003-09-16 2004-01-31 고재석 초음파를 이용한 에너지 활성화 및 수처리 장치
WO2005031589A1 (en) 2003-09-23 2005-04-07 Marchex, Inc. Performance-based online advertising system and method
US20050076017A1 (en) 2003-10-03 2005-04-07 Rein Douglas R. Method and system for scheduling search terms in a search engine account
US7120235B2 (en) 2003-10-06 2006-10-10 Ingenio, Inc. Method and apparatus to provide pay-per-call performance based advertising
US20050086104A1 (en) 2003-10-17 2005-04-21 Mcfadden Jeffrey A. Delivery of advertising to telephone users
US20120102020A1 (en) 2003-12-04 2012-04-26 Mark Pearson Generating Search Result Listing with Anchor Text Based Description of Website Corresponding to Search Result
US20050144065A1 (en) 2003-12-19 2005-06-30 Palo Alto Research Center Incorporated Keyword advertisement management with coordinated bidding among advertisers
US20050137939A1 (en) 2003-12-19 2005-06-23 Palo Alto Research Center Incorporated Server-based keyword advertisement management
US20050144069A1 (en) 2003-12-23 2005-06-30 Wiseman Leora R. Method and system for providing targeted graphical advertisements
US8312014B2 (en) 2003-12-29 2012-11-13 Yahoo! Inc. Lateral search
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US20050187823A1 (en) 2004-02-23 2005-08-25 Howes Jeffrey V. Method and system for geographically-targeted internet advertising
US20050225810A1 (en) 2004-04-02 2005-10-13 Sun Fang C Image retrieval and memory-accessing business card scanning device
US7428529B2 (en) 2004-04-15 2008-09-23 Microsoft Corporation Term suggestion for multi-sense query
US7853255B2 (en) 2004-04-16 2010-12-14 Broadcom Corporation Digital personal assistance via a broadband access gateway
US20060004627A1 (en) 2004-06-30 2006-01-05 Shumeet Baluja Advertisements for devices with call functionality, such as mobile phones
US10032452B1 (en) 2016-12-30 2018-07-24 Google Llc Multimodal transmission of packetized data
US7613637B2 (en) 2004-12-19 2009-11-03 Bcks Participant node for a searchable distributed information network
KR100643326B1 (ko) 2005-02-22 2006-11-10 삼성전자주식회사 홈 네트워크 시스템 및 그의 컨텐츠 전송 방법
US7448023B2 (en) 2005-02-25 2008-11-04 Microsoft Corporation Method and system for verifying rule compliance of an application object
US7720684B2 (en) 2005-04-29 2010-05-18 Nuance Communications, Inc. Method, apparatus, and computer program product for one-step correction of voice interaction
US8099327B2 (en) 2005-06-01 2012-01-17 Google Inc. Auctioneer
US20060287919A1 (en) 2005-06-02 2006-12-21 Blue Mustard Llc Advertising search system and method
US20060274869A1 (en) 2005-06-07 2006-12-07 Yahoo! Inc. Dynamically generating content based on capabilities of a mobile device
FR2887102A1 (fr) 2005-06-13 2006-12-15 France Telecom Procede de modification du mode de service demande par un terminal de communication en fonction d'au moins un parametre de configuration et/ou representatif de la qualite de service reseau
US7672931B2 (en) 2005-06-30 2010-03-02 Microsoft Corporation Searching for content using voice search queries
US20070027760A1 (en) 2005-07-29 2007-02-01 Collins Robert J System and method for creating and providing a user interface for displaying advertiser defined groups of advertisement campaign information
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US7747614B2 (en) 2005-10-31 2010-06-29 Yahoo! Inc. Difference control for generating and displaying a difference result set from the result sets of a plurality of search engines
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
HRP20050953B1 (en) 2005-11-08 2012-04-30 T-Mobile Hrvatska D.O.O. Base station system performance measurement system in a gsm radio communicatioon network
US7624101B2 (en) 2006-01-31 2009-11-24 Google Inc. Enhanced search results
CA2641853C (en) 2006-02-10 2016-02-02 Spinvox Limited A mass-scale, user-independent, device-independent, voice messaging system
US20080052219A1 (en) 2006-03-31 2008-02-28 Combinenet, Inc. System for and method of expressive auctions of user events
JP4887911B2 (ja) 2006-05-31 2012-02-29 船井電機株式会社 電子機器
US8401726B2 (en) 2006-07-20 2013-03-19 The Boeing Company Maintenance interval determination and optimization tool and method
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP4188989B2 (ja) 2006-09-15 2008-12-03 本田技研工業株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
US8880402B2 (en) 2006-10-28 2014-11-04 General Motors Llc Automatically adapting user guidance in automated speech recognition
US20090013255A1 (en) * 2006-12-30 2009-01-08 Matthew John Yuschik Method and System for Supporting Graphical User Interfaces
US7877384B2 (en) 2007-03-01 2011-01-25 Microsoft Corporation Scoring relevance of a document based on image text
US8843376B2 (en) 2007-03-13 2014-09-23 Nuance Communications, Inc. Speech-enabled web content searching using a multimodal browser
US7974888B2 (en) 2007-03-30 2011-07-05 Amazon Technologies, Inc. Services for providing item association data
US8583592B2 (en) 2007-03-30 2013-11-12 Innography, Inc. System and methods of searching data sources
US20080249855A1 (en) 2007-04-04 2008-10-09 Yahoo! Inc. System for generating advertising creatives
US8041709B2 (en) 2007-05-25 2011-10-18 Microsoft Corporation Domain collapsing of search results
GB2442818B (en) 2007-06-11 2008-11-05 Cvon Innovations Ltd Methodologies and systems for determining mobile device capabilities
US20090006145A1 (en) 2007-06-27 2009-01-01 Google Inc. Booking Advertising Campaigns
US8175914B1 (en) 2007-07-30 2012-05-08 Google Inc. Automatic adjustment of advertiser bids to equalize cost-per-conversion among publishers for an advertisement
US20090210491A1 (en) 2008-02-20 2009-08-20 Microsoft Corporation Techniques to automatically identify participants for a multimedia conference event
US8068604B2 (en) 2008-12-19 2011-11-29 Computer Product Introductions Corporation Method and system for event notifications
US8255224B2 (en) 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US20090240670A1 (en) 2008-03-20 2009-09-24 Yahoo! Inc. Uniform resource identifier alignment
US8504365B2 (en) 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US7904460B2 (en) 2008-04-23 2011-03-08 Microsoft Corporation Determining computer information from processor properties
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US8489599B2 (en) * 2008-12-02 2013-07-16 Palo Alto Research Center Incorporated Context and activity-driven content delivery and interaction
US8145561B1 (en) 2009-01-05 2012-03-27 Sprint Communications Company L.P. Phone usage pattern as credit card fraud detection trigger
US8346709B2 (en) 2009-02-05 2013-01-01 Google Inc. Determining conversion probability using session metrics
US8326637B2 (en) * 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8019746B2 (en) 2009-03-02 2011-09-13 Yahoo! Inc. Optimized search result columns on search results pages
EP2409251A4 (de) 2009-03-20 2015-03-18 Ad Vantage Networks Llc Verfahren und und systeme zur durchsuche, auswahl und anzeige von inhalten
US8176069B2 (en) 2009-06-01 2012-05-08 Aol Inc. Systems and methods for improved web searching
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9431006B2 (en) * 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US20110022460A1 (en) 2009-07-22 2011-01-27 Yahoo! Inc. Explicit online advertising exposure terms
GB2476077A (en) 2009-12-10 2011-06-15 Skype Ltd Estimating VoIP call Quality before a call is set up
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8433672B2 (en) 2010-02-17 2013-04-30 GM Global Technology Operations LLC Method and apparatus for vehicle component health prognosis by integrating aging model, usage information and health signatures
JP5084858B2 (ja) 2010-03-16 2012-11-28 ヤフー株式会社 サマリ作成装置、サマリ作成方法及びプログラム
US8630200B2 (en) 2010-06-01 2014-01-14 Meltwater News International Holdings, GmbH Method and apparatus for embedding information in a short URL
US8429110B2 (en) 2010-06-10 2013-04-23 Microsoft Corporation Pattern tree-based rule learning
US20110320114A1 (en) 2010-06-28 2011-12-29 Microsoft Corporation Map Annotation Messaging
WO2012009672A1 (en) 2010-07-16 2012-01-19 Altruik, Inc. System and method for improving webpage indexing and optimization
US20120030015A1 (en) 2010-07-29 2012-02-02 Google Inc. Automatic abstracted creative generation from a web site
US8583795B2 (en) 2010-08-09 2013-11-12 Mskynet Inc. URI service system and method
US8433800B2 (en) 2011-02-28 2013-04-30 Mskynet Inc. Smart link system and method
KR20120020532A (ko) 2010-08-30 2012-03-08 삼성전자주식회사 오디오 신호 처리 방법 및 장치
MX336363B (es) 2010-09-17 2015-12-18 Thomson Licensing Metodo y sistema para determinar la identidad/presencia de un dispositivo movil para el control e interaccion en la distribucion de contenido.
US8713168B2 (en) 2010-09-22 2014-04-29 The Nielsen Company (Us), Llc Methods and apparatus to determine impressions using distributed demographic information
US8510368B2 (en) 2010-10-20 2013-08-13 Mskynet Inc. Short URI payload-status systems and methods
US20120101776A1 (en) 2010-10-26 2012-04-26 Brower Alfred N Embedded prognostic health management system for aeronautical machines and devices and methods thereof
US9280515B2 (en) 2010-12-03 2016-03-08 Echostar Technologies L.L.C. Provision of alternate content in response to QR code
US9148686B2 (en) 2010-12-20 2015-09-29 Echostar Technologies, Llc Matrix code-based user interface
US10275782B2 (en) 2010-12-28 2019-04-30 Excalibur Ip, Llc Variation of minimum advertisement relevance quality threshold based on search query attributes
WO2012094329A1 (en) 2011-01-05 2012-07-12 Envidient, Inc. System and method for managing media content
US20140019128A1 (en) * 2011-01-05 2014-01-16 Daniel J. RISKIN Voice Based System and Method for Data Input
JP5025808B1 (ja) * 2011-03-31 2012-09-12 株式会社東芝 情報処理装置及び情報処理プログラム
US8578143B2 (en) 2011-05-17 2013-11-05 Apple Inc. Modifying operating parameters based on device use
US9230061B2 (en) * 2011-08-15 2016-01-05 Medcpu, Inc. System and method for text extraction and contextual decision support
US10120877B2 (en) 2011-09-15 2018-11-06 Stephan HEATH Broad and alternative category clustering of the same, similar or different categories in social/geo/promo link promotional data sets for end user display of interactive ad links, coupons, mobile coupons, promotions and sale of products, goods and services integrated with 3D spatial geomapping and mobile mapping and social networking
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
WO2013069172A1 (ja) * 2011-11-10 2013-05-16 三菱電機株式会社 ナビゲーション装置および方法
US20130124606A1 (en) 2011-11-14 2013-05-16 Boopsie, Inc. Automatic personalization of downloadable mobile apps
US20130144720A1 (en) 2011-12-06 2013-06-06 Yahoo! Inc. System for Advertisement Display
US20130191226A1 (en) 2012-01-20 2013-07-25 Bradley Hopkins Smallwood Pricing and delivery of advertising based on exposure time
US8453058B1 (en) 2012-02-20 2013-05-28 Google Inc. Crowd-sourced audio shortcuts
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US20130325449A1 (en) 2012-05-31 2013-12-05 Elwha Llc Speech recognition adaptation systems based on adaptation data
US20130339030A1 (en) * 2012-06-13 2013-12-19 Fluential, Llc Interactive spoken dialogue interface for collection of structured data
US9767479B2 (en) 2012-06-25 2017-09-19 Google Inc. System and method for deploying ads based on a content exposure interval
US20140004839A1 (en) * 2012-06-29 2014-01-02 Frederick P. Block Proximity based transfer
US8996299B2 (en) 2012-08-27 2015-03-31 Place Codes, Inc. Geographic coordinates coding software product
US9613160B2 (en) 2012-09-28 2017-04-04 Disney Enterprises, Inc. Client-side web site selection according to device capabilities
JP2014085780A (ja) 2012-10-23 2014-05-12 Samsung Electronics Co Ltd 番組推薦装置及び番組推薦プログラム
US9275637B1 (en) 2012-11-06 2016-03-01 Amazon Technologies, Inc. Wake word evaluation
US8612226B1 (en) 2013-01-28 2013-12-17 Google Inc. Determining advertisements based on verbal inputs to applications on a computing device
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9842489B2 (en) 2013-02-14 2017-12-12 Google Llc Waking other devices for additional data
US10133546B2 (en) 2013-03-14 2018-11-20 Amazon Technologies, Inc. Providing content on multiple devices
KR102065045B1 (ko) * 2013-03-15 2020-01-10 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
US9026176B2 (en) 2013-05-12 2015-05-05 Shyh-Jye Wang Message-triggered voice command interface in portable electronic devices
US9706255B2 (en) 2013-06-05 2017-07-11 Thomson Licensing Method and apparatus for content distribution for multiscreen viewing wherein video program and information related to the video program are transmitted to a second device but not to a first device when the distance between the two devices is greater than a predetermined threshold
US11218434B2 (en) * 2013-06-12 2022-01-04 Google Llc Audio data packet status determination
JP5989604B2 (ja) 2013-06-14 2016-09-07 西日本電信電話株式会社 デジタルサイネージシステム
KR20150031896A (ko) 2013-09-17 2015-03-25 한국전자통신연구원 음성인식장치 및 그 동작방법
US9443527B1 (en) * 2013-09-27 2016-09-13 Amazon Technologies, Inc. Speech recognition capability generation and control
WO2015054240A1 (en) * 2013-10-07 2015-04-16 President And Fellows Of Harvard College Computer implemented method, computer system and software for reducing errors associated with a situated interaction
US9245527B2 (en) 2013-10-11 2016-01-26 Apple Inc. Speech recognition wake-up of a handheld portable electronic device
US9530416B2 (en) * 2013-10-28 2016-12-27 At&T Intellectual Property I, L.P. System and method for managing models for embedded speech and language processing
CN104683294B (zh) * 2013-11-27 2019-01-18 阿里巴巴集团控股有限公司 一种数据处理方法和系统
US9588635B2 (en) 2013-12-12 2017-03-07 Microsoft Technology Licensing, Llc Multi-modal content consumption model
KR102201634B1 (ko) * 2013-12-27 2021-01-12 엘지전자 주식회사 단말기 및 그 동작 방법
US20180322536A1 (en) 2014-01-14 2018-11-08 Google Inc. Resource utilization based cross device transmissions
US9589564B2 (en) 2014-02-05 2017-03-07 Google Inc. Multiple speech locale-specific hotword classifiers for selection of a speech locale
KR20150092996A (ko) 2014-02-06 2015-08-17 삼성전자주식회사 디스플레이 장치 및 이를 이용한 전자 장치의 제어 방법
EP3739460A1 (de) 2014-03-03 2020-11-18 Sony Corporation Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
US9153106B1 (en) 2014-07-10 2015-10-06 Google Inc. Automatically activated visual indicators on computing device
WO2016014026A1 (en) 2014-07-22 2016-01-28 Nuance Communications, Inc. Systems and methods for speech-based searching of content repositories
US9747011B2 (en) * 2014-09-16 2017-08-29 Google Inc. Continuation of playback of media content by different output devices
US9424841B2 (en) 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
CN104916285A (zh) * 2014-10-13 2015-09-16 江苏华音信息科技有限公司 全自动外语语音现场控制汽车驾驶的控制器装置
CA2869245A1 (en) 2014-10-27 2016-04-27 MYLE Electronics Corp. Mobile thought catcher system
JP2016111406A (ja) 2014-12-02 2016-06-20 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
KR101643560B1 (ko) 2014-12-17 2016-08-10 현대자동차주식회사 음성 인식 장치, 그를 가지는 차량 및 그 방법
US9903938B2 (en) 2015-02-03 2018-02-27 Nokia Technologies Oy Radio and audio localization
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
WO2016157658A1 (ja) 2015-03-31 2016-10-06 ソニー株式会社 情報処理装置、制御方法、およびプログラム
US10165091B1 (en) 2015-04-03 2018-12-25 Sprint Communications Company L.P. User device parameter allocation based on internet protocol version capabilities
KR20170028628A (ko) 2015-09-04 2017-03-14 삼성전자주식회사 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
CN106558993A (zh) 2015-09-30 2017-04-05 株式会社村田制作所 Dc/dc转换装置
US9542941B1 (en) 2015-10-01 2017-01-10 Lenovo (Singapore) Pte. Ltd. Situationally suspending wakeup word to enable voice command input
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
US9653075B1 (en) 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
US20170289596A1 (en) 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc Networked public multi-screen content delivery
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US20180133900A1 (en) * 2016-11-15 2018-05-17 JIBO, Inc. Embodied dialog and embodied speech authoring tools for use with an expressive social robot
US20180144308A1 (en) * 2016-11-23 2018-05-24 Dropbox, Inc. Natural language calendar
US20180293221A1 (en) * 2017-02-14 2018-10-11 Microsoft Technology Licensing, Llc Speech parsing with intelligent assistant
US11200894B2 (en) * 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing

Also Published As

Publication number Publication date
KR102068271B1 (ko) 2020-01-20
AU2017384996A1 (en) 2019-05-23
KR20190079716A (ko) 2019-07-05
JP7139295B2 (ja) 2022-09-20
WO2018125307A1 (en) 2018-07-05
US20220353303A1 (en) 2022-11-03
US11381609B2 (en) 2022-07-05
US10708313B2 (en) 2020-07-07
AU2017384996B2 (en) 2020-05-14
KR102098847B1 (ko) 2020-04-08
US20200322396A1 (en) 2020-10-08
JP2019510247A (ja) 2019-04-11
EP3961372A1 (de) 2022-03-02
EP3360041A1 (de) 2018-08-15
DE112017000142T5 (de) 2018-09-13
KR20180087836A (ko) 2018-08-02
CN108541312A (zh) 2018-09-14
US11930050B2 (en) 2024-03-12
EP3360041B1 (de) 2022-02-23
KR101996574B1 (ko) 2019-07-04
US20180191788A1 (en) 2018-07-05
KR20200007095A (ko) 2020-01-21
AU2020217377A1 (en) 2020-09-03
AU2020217377B2 (en) 2021-08-12
CN115168025B (zh) 2023-10-03
JP2023002503A (ja) 2023-01-10
JP2020042270A (ja) 2020-03-19
JP6586470B2 (ja) 2019-10-02
CN115168025A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
DE212017000286U1 (de) Multimodale Übertragung von paketierten Daten
US11087760B2 (en) Multimodal transmission of packetized data
DE112017000122T5 (de) Natürliche Sprachverarbeitung für den Sitzungsaufbau mit Serviceprovidern
DE112017000202T5 (de) Datenstruktur-Pooling von sprachaktivierten Datenpaketen
DE112017000177T5 (de) Authentifizierung von paketierten Audiosignalen
DE212017000032U1 (de) Modulation von paketierten Audiosignalen
DE112017000131T5 (de) Rückmeldungssteuerung für Datenübertragungen
DE212017000068U1 (de) Einrichten von audio-basierten Netzwerksitzungen mit nicht registrierten Ressourcen
CN110140110B (zh) 计算设备之间的内容源分配
EP3519981B1 (de) Erkennung einer doppelübertragung von paketierten daten

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years