DE112017000169T5 - Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation - Google Patents
Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation Download PDFInfo
- Publication number
- DE112017000169T5 DE112017000169T5 DE112017000169.2T DE112017000169T DE112017000169T5 DE 112017000169 T5 DE112017000169 T5 DE 112017000169T5 DE 112017000169 T DE112017000169 T DE 112017000169T DE 112017000169 T5 DE112017000169 T5 DE 112017000169T5
- Authority
- DE
- Germany
- Prior art keywords
- computing device
- client computing
- service provider
- generation component
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 147
- 238000004891 communication Methods 0.000 title claims abstract description 86
- 230000001419 dependent effect Effects 0.000 title abstract description 10
- 238000001514 detection method Methods 0.000 title 1
- 230000005236 sound signal Effects 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims description 58
- 230000004044 response Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 11
- 230000009471 action Effects 0.000 description 54
- 238000012546 transfer Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Power Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
- HINTERGRUND
- Die vorliegende Anmeldung beansprucht den Nutzen der am 30. Dezember 2016 eingereichten
US-Patentanmeldung Nr. 15/395,674 - HINTERGRUND
- Paketbasierte oder anderweitige überhöhte Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten können ein Computergerät daran hindern, die Netzwerkverkehrsdaten richtig zu verarbeiten, einen Vorgang, der mit den Netzwerkverkehrsdaten verbunden ist, abzuschließen oder zeitgerecht auf die Netzwerkverkehrsdaten zu reagieren. Die überhöhten Netzwerkübertragungen von Netzwerkverkehrsdaten können zudem ein Datenrouting erschweren oder die Qualität der Antwort verschlechtern, falls das reagierende Computergerät an oder über dessen Verarbeitungskapazität gelangt, was eine ineffiziente Bandbreitenauslastung zur Folge haben kann. Die Steuerung von Netzwerkübertragungen, die Inhaltselementobjekten entsprechen, kann durch die große Anzahl von Inhaltselementobjekten erschwert werden, die Netzwerkübertragungen von Netzwerkverkehrsdaten zwischen Computergeräten initiieren können.
- KURZDARSTELLUNG
- Mindestens ein Aspekt betrifft ein System zum Bereitstellen von kennungsabhängiger Vorgangsverarbeitung von paketbasierter Datenkommunikation. Das System beinhaltet 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 Eingabeaudiosignal umfassen, das von einem Sensor eines eine Gerätekennung aufweisenden Client-Computergeräts erkannt wird. Die Prozessorkomponente für natürliche Sprache parst das Eingabeaudiosignal, um eine Anfrage und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren. Das System beinhaltet ferner eine Inhaltsauswahlelementkomponente, die von dem Datenverarbeitungssystem ausgeführt wird, um das durch den Prozessor für natürliche Sprache identifizierte Auslöserschlüsselwort zu empfangen, und basierend auf dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auszuwählen. Das System beinhaltet ebenfalls eine Verknüpfungsgenerierungskomponente, die eine Suche nach einer Gerätekennung des Client-Computergeräts in einer Datenbank durchführt, in der Kontokennungen gespeichert sind, welche für ein dem Inhaltselement entsprechendes Dienstanbietergerät erstellt wurden. Das System beinhaltet ferner das Bestimmen, durch die Verknüpfungsgenerierungskomponente, eines Nichtvorhandenseins der Gerätekennung des Client-Computergeräts in der Datenbank, basierend auf einem in Reaktion auf die Suche empfangenen Null-Befehl. Das System beinhaltet ferner, dass die Verknüpfungsgenerierungskomponente eine virtuelle Kennung für das Client-Gerät erzeugt und die virtuelle Kennung mit der Gerätekennung verknüpft, und die Datenpakete, die die virtuelle Kennung in einem Nutzdatenabschnitt tragen, an das Dienstanbietergerät routet, um das Dienstanbietergerät zu veranlassen, ein Konto für das Client-Computergerät basierend auf der virtuellen Kennung zu erstellen. Das System beinhaltet ebenfalls, dass das Datenverarbeitungssystem von dem Dienstanbietergerät eine Anzeige empfängt, dass das Dienstanbietergerät das Konto unter Verwendung der virtuellen Kennung erstellt hat und einen Vorgang mit dem Client-Computergerät durchgeführt hat.
- Mindestens ein Aspekt betrifft ein Verfahren zum Aufrufen von Aktionen für die kennungsabhängige Vorgangsverarbeitung von Paketdatenkommunikation zwischen einem Client-Computergerät und einem Dienstanbietergerät unter Verwendung eines Datenverarbeitungssystems. Das Verfahren beinhaltet das Empfangen, durch eine von dem Datenverarbeitungssystem ausgeführte Prozessorkomponente für natürliche Sprache, eines einem Sprachbefehl entsprechenden Audiosignals von dem Client-Computergerät. Das Verfahren beinhaltet ferner das Verarbeiten des Audiosignals durch die Prozessorkomponente für natürliche Sprache, um eine Anfrage nach einem Dienst und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren. Das Verfahren beinhaltet das Auswählen, durch eine von dem Datenverarbeitungssystem ausgeführte Inhaltsauswahlelementkomponente und basierend auf dem Schlüsselwort, eines dem mit dem Datenverarbeitungssystem kommunikativ gekoppelten Dienstanbietergeräts entsprechenden Inhaltselements. Das Verfahren beinhaltet zusätzlich das Bestimmen, durch eine durch das Datenverarbeitungssystem ausgeführte Verknüpfungsgenerierungskomponente, des Nichtvorhandenseins eines Datenbankdatensatzes, der einer dem Client-Computergerät zugeordneten Client-Computergerät-Kennung entspricht, in einer dem Dienstanbietergerät zugeordneten Datenbank. Das Verfahren beinhaltet ferner das Erzeugen, durch die Verknüpfungsgenerierungskomponente und in Reaktion auf das Bestimmen des Nichtvorhandenseins, einer dem Client-Computergerät zugeordneten virtuellen Kennung, wobei sich die virtuelle Kennung von der Client-Computergerät-Kennung unterscheidet. Das Verfahren beinhaltet ebenfalls das Senden, durch die Verknüpfungsgenerierungskomponente, der virtuellen Kennung an das Dienstanbietergerät. Das Verfahren beinhaltet zusätzlich das Empfangen, durch die Verknüpfungsgenerierungskomponente, einer ersten Nachricht von dem Dienstanbietergerät, welche das Erstellen eines der virtuellen Kennung entsprechenden Datenbankdatensatzes anzeigt.
- Mindestens ein Aspekt betrifft ein computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie von einem oder mehreren Datenprozessoren ausgeführt werden, den einen oder die mehreren Datenprozessoren veranlassen, Vorgänge für die kennungsabhängige Vorgangsverarbeitung von paketbasierter Datenkommunikation zwischen einem Client-Computergerät und einem Dienstanbietergerät durchzuführen. Durch eine von dem Datenverarbeitungssystem ausgeführte Prozessorkomponente für natürliche Sprache können die Vorgänge ein einem Sprachbefehl entsprechendes Audiosignal von einem Client-Computergerät empfangen. Durch die Prozessorkomponente für natürliche Sprache können die Vorgänge das Audiosignal bearbeiten, um eine Anfrage nach einem Dienst und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren. Durch eine von dem Datenverarbeitungssystem ausgeführte Inhaltsauswahlelementkomponente und basierend auf dem Schlüsselwort können die Vorgänge ein dem mit dem Datenverarbeitungssystem kommunikativ gekoppelten Dienstanbietergerät entsprechendes Inhaltselement auswählen. Die Vorgänge können durch eine durch das Datenverarbeitungssystem ausgeführte Verknüpfungsgenerierungskomponente ein Nichtvorhandensein eines Datenbankdatensatzes, der einer dem Client-Computergerät zugeordneten Client-Computergerät-Kennung entspricht, in einer dem Dienstanbietergerät zugeordneten Datenbank bestimmen. Durch die Verknüpfungsgenerierungskomponente und in Reaktion auf das Bestimmen des Nichtvorhandenseins können die Vorgänge eine dem Client-Computergerät zugeordnete virtuelle Kennung erzeugen, wobei sich die virtuelle Kennung von der Client-Computergerät-Kennung unterscheidet. Durch die Verknüpfungsgenerierungskomponente können die Vorgänge die virtuelle Kennung an das Dienstanbietergerät senden. Die Vorgänge können eine erste Nachricht von dem Dienstanbietergerät, welche das Erstellen eines der virtuellen Kennung entsprechenden Datenbankdatensatzes anzeigt, durch die Verknüpfungsgenerierungskomponente empfangen.
- Diese und andere Aspekte und Implementierungen werden nachfolgend näher erläutert. Die vorstehenden Informationen und die folgende ausführliche Beschreibung beinhalten veranschaulichende Beispiele verschiedener Aspekte und Implementierungen und stellen einen Überblick oder einen Rahmen für das Verständnis des Wesens und Charakters der beanspruchten Aspekte und Implementierungen bereit. Die Zeichnungen bieten eine Veranschaulichung und ein weiteres Verständnis der verschiedenen Aspekte und Implementierungen und sind in diese Spezifikation einbezogen und stellen einen Teil derselben dar.
- Figurenliste
- Die begleitenden Zeichnungen sollen nicht maßstabsgetreu sein. Gleiche Bezugsnummern und Bezeichnungen in den verschiedenen Zeichnungen verweisen auf ähnliche Elemente. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
- bildet
1 ein System zum Optimieren des Verarbeitens sequenzabhängiger Vorgänge in einer sprachaktivierten Computernetzwerkumgebung ab; - bilden
2A-2C Darstellungen von Datenstrukturen ab, die von einem Datenverarbeitungssystem verwendet werden, um Informationen an ein Dienstanbietergerät zu senden. - bildet
3 ein Funktionsdiagramm eines Threads, einschließlich sequenzabhängiger Aktionen, ab; - bildet
4 ein Verfahren zum Aufrufen von Aktionen zum Herstellen von Kommunikationen zwischen einem Client-Computergerät und einem Dienstanbietergerät in einer sprachaktivierten, datenpaketbasierten Computernetzwerkumgebung ab; und - stellt
5 ein Blockdiagramm dar, das eine allgemeine Architektur für ein Computersystem veranschaulicht, das zum Implementieren von Elementen der hierin beschriebenen und veranschaulichten Systeme und Verfahren eingesetzt werden kann. - AUSFÜHRLICHE BESCHREIBUNG
- Nachfolgend finden sich ausführlichere Beschreibungen von verschiedenen Konzepten, die Verfahren, Vorrichtungen und Systeme zum Optimieren des Verarbeitens sequenzabhängiger Vorgänge in einer sprachaktivierten Computernetzwerkumgebung sowie Implementierungen derselben betreffen. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erläutert werden, können auf beliebige von zahlreichen Weisen implementiert werden.
- Systeme und Verfahren der vorliegenden Offenbarung beziehen sich im Allgemeinen auf ein Datenverarbeitungssystem, welches die Effizienz, Zuverlässigkeit und Betriebsfähigkeit von Datenpaketübertragungen zwischen einem Client-Computergerät und einem Dienstanbietergerät in einer sprachaktivierten Computernetzwerkumgebung verbessert. Das Datenverarbeitungssystem kann beispielsweise die Erstellung von dem Client-Computergerät zugeordneten Datensätze oder Konten in einer Datenbank des Dienstanbietergeräts ermöglichen, sodass das Dienstanbietergerät mit dem Client-Computergerät kommunizieren kann und diesem angeforderte Dienste bereitstellen kann. Die Erstellung von Datensätzen oder Konten zugunsten des Client-Computergeräts verbessert ebenfalls die Effizienz und senkt die Ressourcenauslastung durch Beseitigen der Notwendigkeit der Kommunikation zwischen dem Dienstanbietergerät und dem Client-Computergerät zwecks Erstellens eines Datensatzes oder eines Kontos vor dem Bereitstellen eines angeforderten Dienstes. Datenpakete oder andere den ausgewählten Vorgängen entsprechende protokolbasierte Signale können über ein Computernetzwerk zwischen mehreren Computergeräten geroutet werden. Das Datenverarbeitungssystem kann Benutzerbefehle oder Benutzeranfragen darstellende Audiosignale empfangen und spezifische Anfragen oder Schlüsselwörter identifizieren. Basierend auf den Anfragen oder Schlüsselwörtern kann das Datenverarbeitungssystem dem Client-Computergerät Inhaltselemente bereitstellen, die alternative Serviceoptionen darstellen. Das Datenverarbeitungssystem kann bestimmen, ob das Computergerät die alternative Serviceoption ausgewählt hat, und es kann ferner bestimmen, ob das mit der alternativen Serviceoption verbundene Dienstanbietergerät einen Datensatz oder ein Konto beinhaltet, die dem Client-Computergerät zugeordnet sind. Das Nichtvorhandensein eines Datensatzes oder eines Kontos kann das Serviceanbietergerät davon abhalten, mit dem Client-Computergerät zu kommunizieren und diesem die angeforderten Dienste bereitzustellen.
- Um die Effizienz, Zuverlässigkeit und Betriebsfähigkeit von Datenpaketübertragungen zwischen einem Client-Computergerät und einem Dienstanbietergerät in einer sprachaktivierten Computernetzwerkumgebung zu verbessern, können hierin beschriebene Systeme und Verfahren ein Datenverarbeitungssystem beinhalten, das, nach Feststellen des Nichtvorhandenseins eines dem Client-Computergerät zugeordneten Datensatzes oder Kontos bei dem Dienstanbietergerät, eine datenpaketbasierte Kommunikationssitzung zugunsten des Client-Computergeräts herstellen und das Dienstanbietergerät anweisen kann, ohne jegliche Intervention seitens des Client-Computergeräts ein Konto zu erstellen. Das Datenverarbeitungssystem kann das Client-Computergerät repräsentierende virtuelle Kennungen (oder virtuelle Token) erzeugen, die an das Dienstanbietergerät gesendet werden können, um Datensätze oder Konten zu generieren. Sobald der Datensatz oder das Konto für das Client-Computergerät erstellt worden ist, ist das Dienstanbietergerät in der Lage, sichere Kommunikationen mit dem Client-Computergerät herzustellen und die angeforderten Dienste bereitzustellen.
-
1 bildet ein exemplarisches System100 zum Optimieren des Verarbeitens sequenzabhängiger Vorgänge in einer sprachaktivierten, datenpaketbasierten (oder auf anderen Protokollen basierender) Computernetzwerkumgebung ab. Das System100 kann mindestens ein Datenverarbeitungssystem105 beinhalten. Das Datenverarbeitungssystem105 kann mindestens einen Server, der mindestens einen Prozessor aufweist, beinhalten. Das Datenverarbeitungssystem105 kann beispielsweise eine Vielzahl von Servern beinhalten, die sich in mindestens einem Rechenzentrum oder einer Serverfarm befinden. Das Datenverarbeitungssystem105 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 Datenverarbeitungssystem105 einen Thread bestimmen oder auswählen, der eine Vielzahl von sequenzabhängigen Vorgängen beinhaltet, und kann Inhaltselemente auswählen (und, wie hierin beschrieben, andere Aktionen initiieren). Die Inhaltselemente können eine oder mehrere Audiodateien beinhalten, welche, wenn sie gerendert werden, Audioausgabe oder akustische Wellen bereitstellen. Die Inhaltselemente können zusätzlich zu dem Audioinhalt weitere Inhalte beinhalten (z. B. Text-, Video- oder Bildinhalte). - Das Datenverarbeitungssystem
105 kann mehrere, logisch gruppierte Server beinhalten und verteilte Rechenprozesse ermöglichen. Die logische Gruppe von Servern kann als Rechenzentrum, Serverfarm oder 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 Datenverarbeitungssystem105 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 Server und Speichersysteme, sowie das Koppeln dieser mit verbesserten Systemmanagementwerkzeugen ermöglicht eine effizientere Verwendung von Server-Ressourcen, wodurch Strom- und Verarbeitungsanforderungen eingespart und die Bandbreitenauslastung reduziert werden. - Das Datenverarbeitungssystem
105 kann mindestens eine Komponente eines Prozessors für natürliche Sprache (NLP)110 , mindestens eine Schnittstelle115 , mindestens eine Verknüpfungsgenerierungskomponente120 , mindestens eine Inhaltsauswahlelementkomponente125 , mindestens eine Audiosignalerzeugerkomponente 130, mindestens eine Direktaktions-Programmierschnittstelle (API)135 , mindestens eine Sitzungshandhabungselementkomponente140 und mindestens einen Datenbehälter145 beinhalten. Die NLP-Komponente110 , die Schnittstelle115 , die Verknüpfungsgenerierungskomponente120 , die Inhaltsauswahlelementkomponente125 , die Audiosignalerzeugerkomponente130 , die Direktaktions-API135 und die Sitzungshandhabungselementkomponente140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, einen virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logik-Gerät, wie z. B. programmierbare Logikanordnungen, beinhalten, die konfiguriert sind, mit dem Datenbehälter145 und mit sonstigen Computergeräten (z. B. dem Client-Computergerät150 , dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbietergerät160 ) über das mindestens eine Computernetzwerk165 zu kommunizieren. Die Direktaktions-API135 kann eine spezifizierte Aktion ausführen, um ein Vorhaben eines Benutzers an dem Computergerät150 zu erfüllen, gemäß der Bestimmung durch das Datenverarbeitungssystem105 . Abhängig von der in ihren Eingaben spezifizierten Aktion, kann die Direktaktions-API135 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älter145 , suchen, wie z. B. den Namen eines Hausautomatisierungsdienstes, oder kann Audioausgaben zum Wiedergeben auf dem Client-Computergerät150 bereitstellen, um dem Endbenutzer Fragen, wie beispielsweise nach dem beabsichtigten Ziel eines angeforderten Taxis, zu stellen. Die Direktaktions-API135 kann erforderliche Parameter bestimmen und die Informationen in eine Aktions-Datenstruktur zusammenfassen, welche sodann an eine andere Komponente, wie beispielsweise die Inhaltsauswahlelementkomponente125 oder das Dienstanbieter-Computergerät160 , gesendet werden kann, um erfüllt zu werden. - 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 Netzwerk165 kann ein Anzeigenetzwerk, wie beispielsweise eine im Internet verfügbare Untergruppe von Informationsressourcen, beinhalten oder bilden, die mit einem Inhaltsplatzierungs- oder Suchmaschinenergebnissystem verknüpft sind, oder die geeignet sind, Drittanbieterinhaltselemente als Teil einer Inhaltselementplatzierungskampagne einzubeziehen. Das Netzwerk165 kann durch das Datenverarbeitungssystem105 verwendet werden, um auf Informationsressourcen, wie z. B. Webseiten, Internetpräsenzen, Domänennamen oder URL-Adressen zuzugreifen, die durch das Client-Computergerät150 präsentiert, ausgegeben, gerendert oder angezeigt werden können. Über das Netzwerk165 kann ein Benutzer des Client-Computergeräts150 beispielsweise auf Informationen oder Daten zugreifen, die durch das Inhaltsanbieter-Computergerät155 oder das Dienstanbietergerät160 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 Netzwerk165 kann eine Drahtlosverbindung, wie beispielsweise einen Infrarotkanal oder ein Satellitenfrequenzband, beinhalten. Die Topologie des Netzwerks165 kann eine Bus-, Stern- oder Ringnetzwerktopologie beinhalten. Das Netzwerk165 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ät155 und das Dienstanbietergerät160 können jeweils mindestens eine logische Vorrichtung, wie beispielsweise ein Computergerät mit einem Prozessor, beinhalten, um miteinander oder mit dem Datenverarbeitungssystem105 über das Netzwerk165 zu kommunizieren. Das Client-Computergerät150 , das Inhaltsanbieter-Computergerät155 und das Dienstanbietergerät160 können jeweils mindestens einen Server, Prozessor oder Speicher oder eine Vielzahl von in mindestens einem Rechenzentrum angeordneter Rechenressourcen oder Server beinhalten. Das Client-Computergerät150 , das Inhaltsanbieter-Computergerät155 und das Dienstanbietergerät160 können jeweils mindestens ein Computergerät, wie beispielsweise einen Desktop-Computer, ein Laptop, ein Tablet, einen persönlichen digitalen Assistenten, ein Smartphone, einen tragbaren Computer, einen Thin-Client-Computer, einen virtuellen Server oder ein anderes Computergerät, beinhalten. - Das Client-Computergerät
150 kann mindestens einen Sensor151 , mindestens einen Wandler152 , mindestens einen Audiotreiber153 und mindestens einen Lautsprecher 154 beinhalten. Der Sensor151 kann ein Mikrofon oder einen Audioeingabesensor beinhalten. Der Wandler152 kann die Audioeingabe in ein elektronisches Signal umwandeln. Der Audiotreiber153 kann ein Script oder Programm beinhalten, das durch einen oder mehrere Prozessoren des Client-Computergeräts150 ausgeführt wird, um den Sensor151 , den Wandler152 , den Audiotreiber153 oder andere Komponenten des Client-Computergeräts150 zwecks Verarbeitens der Audioeingaben oder Bereitstellens der Audioausgaben zu steuern. Der Lautsprecher154 kann das Audioausgabesignal übertragen. Das Computergerät150 kann eine Anzeige beinhalten oder auch nicht; beispielsweise kann das Computergerät begrenzte Arten von Benutzerschnittstellen, wie beispielsweise ein Mikrofon und einen Lautsprecher, beinhalten. In einigen Fällen kann die primäre Benutzerschnittstelle des Computergeräts150 ein Mikrofon und ein Lautsprecher sein. - Das Client-Computergerät
150 kann einem Endbenutzer zugeordnet sein, der Sprachabfragen als Audioeingabe in das Client-Computergerät150 (über den Sensor151 ) eingibt und Audioausgaben in Form einer computergenerierten Stimme empfängt, die von dem Datenverarbeitungssystem105 (oder dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbietergerät160 ) an das Client-Computergerät150 bereitgestellt werden kann, um von dem Lautsprecher154 ausgegeben zu werden. Die computergenerierte Stimme kann Aufzeichnungen von einer realen Person oder einer computergenerierten Sprache beinhalten. - Das Inhaltsanbieter-Computergerät
155 kann audiobasierte Inhaltselemente zwecks Anzeigens durch das Client-Computergerät150 als ein Audioausgabeinhaltselement bereitstellen. Das Inhaltselement kann ein Angebot für eine Ware oder eine Dienstleistung beinhalten, wie beispielsweise eine sprachbasierte Nachricht, die besagt: „Möchten Sie, dass ich für Sie ein Taxi bestelle?“ Beispielsweise kann das Inhaltsanbieter-Computergerät155 einen Speicher zum Speichern einer Reihe von Audioinhaltselementen, die in Reaktion auf eine sprachbasierte Abfrage bereitgestellt werden können, beinhalten. Das Inhaltsanbieter-Computergerät155 kann ebenfalls audiobasierte Inhaltselemente (oder andere Inhaltselemente) an das Datenverarbeitungssystem105 bereitstellen, wo diese im Datenbehälter145 gespeichert werden können. Das Datenverarbeitungssystem105 kann die Audioinhaltselemente auswählen und die Audioinhaltselemente an das Client-Computergerät 150 bereitstellen (oder das Inhaltsanbieter-Computergerät155 anweisen, diese bereitzustellen). Die audiobasierten Inhaltselemente können ausschließlich Audio sein oder mit Text-, Bild- oder Videodaten kombiniert sein. - Das Dienstanbietergerät
160 kann mindestens eine Komponente eines Prozessors für natürliche Sprache (NLP)161 und mindestens eine Dienstanbieterschnittstelle 162 beinhalten. Die Dienstanbieter-NLP-Komponente161 (oder andere Komponenten wie beispielsweise eine Direktaktions-API des Dienstanbietergeräts160 ) kann sich mit dem Client-Computergerät150 (über das Datenverarbeitungssystem105 oder das Datenverarbeitungssystem105 umgehend) verbinden, um eine sprach- oder audiobasierte hin und hergehende Konversation in Echtzeit (z. B. eine Sitzung) zwischen dem Client-Computergerät150 und dem Dienstanbietergerät160 herzustellen. Die Dienstanbieterschnittstelle162 kann beispielsweise Datennachrichten empfangen oder diese an die Direktaktions-API135 des Datenverarbeitungssystems105 bereitstellen. Das Dienstanbietergerät160 und das Inhaltsanbieter-Computergerät155 können derselben Entität zugeordnet sein. Beispielsweise kann das Dienstanbieter-Computergerät155 Inhalte für einen Fahrgemeinschaftsdienst erstellen, speichern oder bereitstellen, und das Dienstanbietergerät 160 kann eine Sitzung mit dem Client-Computergerät150 herstellen, um die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen, um den Endbenutzer des Client-Computergeräts150 abzuholen. Das Datenverarbeitungssystem105 kann über die Direktaktions-API135 , die NLP-Komponente110 oder andere Komponenten auch die Sitzung mit dem Client-Computergerät150 herstellen und hierbei das Dienstanbietergerät 160 sowohl einbeziehen als auch umgehen, um zum Beispiel die Bereitstellung eines Taxis oder Autos des Fahrgemeinschaftsdienstes zu veranlassen. - Das Datenbehälter
145 kann eine oder mehrere lokale oder verteilte Datenbanken sowie ein Datenbankverwaltungssystem beinhalten. Das Datenbehälter145 kann Computerdatenspeicher oder -arbeitsspeicher umfassen und neben anderen Daten ein oder mehrere Parameter146 , eine oder mehrere Kennungen147 , Inhaltsdaten148 oder Vorlagen149 speichern. Die Parameter146 , Kennungen147 und Vorlagen149 können Informationen, wie beispielsweise Regeln bezüglich einer sprachbasierten Sitzung zwischen dem Client-Computergerät150 und dem Datenverarbeitungssystem105 (oder dem Dienstanbietergerät160 ), beinhalten. Die Kennungen147 können insbesondere Daten beinhalten, die einer Identität des Client-Computergeräts150 oder einer Identität eines Benutzers des Client-Computergeräts150 zugeordnet sind. Die Kennungen147 können ebenfalls eine oder mehrere eindeutige Kennungen (hierin ebenfalls als virtuelle Kennungen oder virtuelle Token bezeichnet) beinhalten, die von dem Datenverarbeitungssystem105 erzeugt wurden und dem Client-Computergerät150 oder dem Benutzer des Client-Computergeräts150 zugeordnet sind. Die Inhaltsdaten148 können Inhaltselemente zur Audioausgabe oder verknüpfte Metadaten sowie eingegebene Audionachrichten, die Teil von einer oder mehreren Kommunikationssitzungen mit dem Client-Computergerät150 sein können, beinhalten. - Das Datenverarbeitungssystem
105 kann eine Anwendung, ein Script oder ein Programm beinhalten, die/das auf dem Client-Computergerät150 installiert ist, wie beispielsweise eine Anwendung zum Kommunizieren von Eingabeaudiosignalen an die Schnittstelle115 des Datenverarbeitungssystems105 und zum Betreiben von Komponenten des Client-Computergeräts150 zwecks Renderns von Ausgabeaudiosignalen. Das Datenverarbeitungssystem105 kann Datenpakete oder ein anderes Signal empfangen, das ein Audioeingabesignal beinhaltet oder identifiziert. Beispielsweise kann das Datenverarbeitungssystem105 die NLP-Komponente110 ausführen oder ausführen lassen, um das Audiosignal zu empfangen. Die NLP-Komponente110 kann das empfangene Audioeingabesignal in erkannten Text umwandeln, indem sie das Audioeingabesignal mit einem gespeicherten, repräsentativen Satz von Audiowellenformen vergleicht und diejenigen mit der größten Übereinstimmung auswählt. Die repräsentativen Wellenformen werden über eine große Menge von Benutzern erzeugt, und können mit Sprachproben von dem Benutzer erweitert werden. Nachdem das empfangene Audioeingabesignal in erkannten Text umgewandelt wurde, bringt die NLP-Komponente110 den Text mit Worten in Übereinstimmung, die beispielsweise mittels Schulung von Benutzern oder durch manuelle Beschreibung mit Aktionen oder Befehlen verknüpft sind, die das Datenverarbeitungssystem 105 bereitstellen kann. Das Audioeingabesignal kann durch den Sensor151 (z. B. ein Mikrofon) des Client-Computergeräts150 festgestellt werden. Über den Wandler152 , den Audiotreiber153 oder andere Komponenten kann das Client-Computergerät150 das Audioeingabesignal an das Datenverarbeitungssystem105 (z. B. über das Netzwerk165 ) bereitstellen, wo es (z. B. durch die Schnittstelle115 ) empfangen werden kann, und an die NLP-Komponente110 bereitgestellt, oder in dem Datenbehälter145 als Inhaltsdaten148 gespeichert werden kann. - Die NLP-Komponente
110 kann das Eingabeaudiosignal erhalten. Aus dem Eingabeaudiosignal kann die NLP-Komponente110 mindestens eine Anfrage oder mindestens ein der Anfrage entsprechendes Auslöserschlüsselwort identifizieren. Die Anfrage kann Absicht oder Gegenstand des Eingabeaudiosignals anzeigen. Das Auslösersschlüsselwort kann eine Aktionsart anzeigen, die voraussichtlich vorzunehmen ist. Die NLP-Komponente110 kann beispielsweise das Eingabeaudiosignal parsen, um mindestens eine Anfrage zu identifizieren, am Abend aus essen und ins Kino zu gehen. Das Auslöserschlüsselwort kann mindestens ein Wort, eine Phrase, einen Wortstamm oder ein Wortteil oder eine Ableitung beinhalten, das bzw. die eine vorzunehmende Aktion anzeigen. Zum Beispiel können ein oder mehrere aus dem Eingabeaudiosignal identifizierte Auslöserschlüsselwörter, wie beispielsweise „Fahrt“, Taxe“ oder „Taxi“ einen Transportbedarf anzeigen. In einem anderen Beispiel können ein oder mehrere aus dem Eingabeaudiosignal identifizierte Auslöserschlüsselwörter, wie beispielsweise „gehen“ oder „nach/zu/ins gehen“ ebenfalls einen Transportbedarf anzeigen. In diesem Beispiel drückt das Eingabeaudiosignal (oder die identifizierte Anfrage) nicht direkt eine Transportabsicht 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. - Basierend auf der Anfrage oder dem Auslöserschlüsselwort kann das Datenverarbeitungssystem
105 mindestens einen dem Eingabeaudiosignal zugeordneten Thread bestimmen. Der Thread kann eine Reihe sequenzabhängiger Vorgänge, beispielsweise eine Reihe von Aktionen, anzeigen. Der Thread kann beliebige zweier oder mehrerer Aktionen beinhalten, beispielsweise eine erste Aktion, eine zweite Aktion und eine dritte Aktion. Zum Beispiel kann das Eingabeaudiosignal „OK, ich möchte heute Abend essen gehen und dann einen Film sehen“ mindestens eine Anfrage beinhalten, die ein Interesse, an einem Abendessen und einer Filmaufführung teilzunehmen, und mindestens ein Auslöserschlüsselwort, z. B. „gehen“, anzeigt, welches einen Transportbedarf anzeigt. Das Datenverarbeitungssystem105 kann einen Thread mit mindestens drei Aktionen identifizieren, beispielsweise eine Abendessen-Aktion (erste Aktion), eine Kino-Aktion (zweite Aktion) und eine Heimtransport-Aktion (dritte Aktion). In diesem Beispiel nimmt das Datenverarbeitungssystem105 aus der Anfrage oder dem Auslöserschlüsselwort eine Vorhersage, Abschätzung oder anderweitige Bestimmung der drei Aktionen vor. Der Thread kann andere Aktionen, wie beispielsweise einen initialen Transport zu der Abendessen-Aktion, beinhalten. - Die Inhaltsauswahlelementkomponente
125 kann Anzeigen jeglicher der Aktionen des Threads erhalten. Zum Beispiel kann die Inhaltsauswahlelementkomponente 125 eine Anzeige der dritten (oder einer beliebigen anderen) Aktion, die durch das Datenverarbeitungssystem identifiziert wurde, empfangen. Die Inhaltsauswahlelementkomponente125 kann diese Informationen von dem Datenbehälter 145 erhalten, wo sie als Teil der Inhaltsdaten148 gespeichert sein können. Die Anzeige der dritten Aktion kann die Inhaltsauswahlelementkomponente125 über einen Transportbedarf von dem Standort des Kinos zu einem durch das Client-Computergerät150 bestimmten oder angezeigten Standort, wie beispielsweise eine Fahrt zu einem endgültigen Ziel, informieren. - Aus den von der Inhaltsauswahlelementkomponente
125 empfangenen Informationen kann die Inhaltsauswahlelementkomponente125 mindestens ein Inhaltselement identifizieren. Das Inhaltselement kann in Reaktion auf die dritte Aktion sein oder mit dieser im Zusammenhang stehen. In Reaktion auf die einen Transportbedarf anzeigende dritte Aktion kann das Inhaltselement zum Beispiel eine Audionachricht beinhalten, die Dienstleistungen eines Fahrgemeinschaftsunternehmens anbietet. Die Inhaltsauswahlelementkomponente125 kann das Datenbehälter145 abfragen, um das Inhaltselement, z. B. aus den Inhaltsdaten148 , auszuwählen oder anderweitig zu identifizieren. Die Inhaltsauswahlelementkomponente125 kann das Inhaltselement ebenfalls von dem Inhaltsanbieter-Computergerät155 auswählen. In Reaktion auf eine von dem Datenverarbeitungssystem105 empfangene Abfrage kann das Inhaltsanbieter-Computergerät 155 zum Beispiel ein Inhaltselement an das Datenverarbeitungssystem105 (oder einer Komponente dessen) zwecks letztendlicher Ausgabe durch das Client-Computergerät150 bereitstellen. Das Inhaltselement kann einem Fahrdienst zugeordnet sein, bei dem der Benutzer bereits angemeldet ist. Zum Beispiel kann das Inhaltselement dem bevorzugten Fahrdienst des Benutzers zugeordnet sein. - Die Inhaltsauswahlelementkomponente
125 kann zusätzliche Inhaltselemente auswählen, die mit der dritten Aktion in Zusammenhang stehen. Das Inhaltselement kann zum Beispiel eine Audionachricht beinhalten, die Dienstleistungen eines Fahrdienstes anbietet, der als Alternative zu dem bevorzugten Fahrdienst oder einem zuvor für das Client-Computergerät150 ausgewählten Fahrdienst angeboten werden kann. Der alternative Fahrdienst kann dem Benutzer basierend auf einem Vergleich mit einem oder mehreren Aspekten des durch den Benutzer ausgewählten Fahrdienstes angeboten werden. Wenn der von dem alternativen Fahrdienst angebotene Fahrpreis zum Beispiel niedriger als der des von dem Benutzer ausgewählten Fahrdienstes ist, kann die Inhaltsauswahlelementkomponente 125 dem Benutzer eine Option, einen kostengünstigeren alternativen Fahrdienst auszuwählen, präsentieren. Andere Aspekte des Fahrdienstes, wie beispielsweise Fahrtzeit, Fahrzeugtyp und Fahrerbewertungen, können ebenfalls einbezogen werden. In einigen Fällen kann die Inhaltsauswahlelementkomponente125 ein dem alternativen Fahrdienst zugeordnetes Inhaltselement auswählen und das Inhaltselement dem Benutzer des Client-Computergeräts 150 präsentieren, ohne irgendwelche Aspekte der zwei Fahrdienste zu vergleichen. - Wie zuvor erwähnt, kann die Inhaltsauswahlelementkomponente
125 zusätzlich zu dem Abfragen des Datenbehälters145 ebenfalls mit dem Inhaltsanbietergerät 155 kommunizieren, um ein oder mehrere Inhaltselemente zu identifizieren. Sobald sie eine Anzeige der dritten Aktion, die mit Transport verbunden ist, empfangen hat, kann die Inhaltsauswahlelementkomponente125 zum Beispiel mit dem Inhaltsanbietergerät155 kommunizieren, um zu bestimmen, ob beliebige alternative Fahrdienste verfügbar sind. In Reaktion hierauf kann die Inhaltsauswahlelementkomponente125 ein oder mehrere Inhaltselemente empfangen, die verfügbaren alternativen Fahrdiensten zugeordnet sind. In ihrer Kommunikation mit dem Inhaltsanbietergerät155 kann die Inhaltsauswahlelementkomponente125 ebenfalls Informationen über Aspekte des von dem Benutzer angeforderten Transports einbeziehen, um dem Inhaltsanbietergerät155 zu ermöglichen, ein geeignetes Inhaltselement bereitzustellen, das als Alternative zu dem dem Benutzer präsentierten Fahrdienst dienen kann. Zum Beispiel kann die Inhaltsauswahlelementkomponente125 Informationen, wie beispielsweise die Startadresse der Fahrt, die Zieladresse der Fahrt, die gewünschte Uhrzeit, die Zahl der Fahrgäste und die Fahrtkategorie (z. B. Economy oder Premium), an das Inhaltsanbietergerät155 bereitstellen. Das Inhaltsanbietergerät155 kann diese Informationen verwenden, um zu bestimmen, ob ein oder mehrere alternative Fahrdienste verfügbar sind, und, falls Verfügbarkeit vorliegt, ein oder mehrere verbundene Inhaltselemente an die Inhaltsauswahlelementkomponente125 senden. - Die Audiosignalerzeugerkomponente
130 kann ein Ausgabesignal erzeugen, oder dieses anderweitig erhalten, welches das in Reaktion auf die dritte Aktion ausgewählte Inhaltselement beinhaltet. Das Datenverarbeitungssystem105 kann zum Beispiel die Audiosignalerzeugerkomponente ausführen, um ein zwei oder mehreren Inhaltselementen entsprechendes Audiosignal zu generieren oder zu erzeugen, von denen eines ein Inhaltselement beinhalten kann, das beispielsweise dem alternativen Fahrdienst zugeordnet ist. Die Schnittstelle115 des Datenverarbeitungssystems105 kann ein oder mehrere Datenpakete, die das Ausgabeaudiosignal beinhalten, über das Computernetzwerk165 an das Client-Computergerät150 übertragen. Das Datenverarbeitungssystem105 kann zum Beispiel das Audioausgabesignal von dem Datenbehälter145 oder von der Audiosignalerzeugerkomponente130 an das Client-Computergerät150 bereitstellen. Mittels Datenpaketübertragungen kann das Datenverarbeitungssystem105 das Inhaltsanbieter-Computergerät155 oder das Dienstanbietergerät160 ebenfalls anweisen, das Ausgabeaudiosignal an das Client-Computergerät150 bereitzustellen. Das Ausgabeaudiosignal kann als ein oder mehrere Datenpakete (oder ein anderes Kommunikationsprotokoll) von dem Datenverarbeitungssystem105 (oder einem anderen Computergerät) erhalten, generiert, umgewandelt oder an das Client-Computergerät150 übertragen werden. - Die Inhaltsauswahlelementkomponente
125 kann das Inhaltselement für die dritte Aktion als Teil eines Echtzeit-Inhaltsauswahlprozesses auswählen. Zum Beispiel kann das Inhaltselement dem Client-Computergerät zur Übertragung als Audioausgabe in gesprochener Weise in unmittelbarer Reaktion auf das Eingabeaudiosignal bereitgestellt werden. Der Echtzeit-Inhaltsauswahlprozess zwecks Identifizierens des Inhaltselements und Bereitstellens des Inhaltselements an das Client-Computergerät150 kann innerhalb einer Minute oder weniger ab dem Zeitpunkt der Eingabe des Audiosignals erfolgen und als in Echtzeit erfolgend betrachtet werden. - Das Audioausgabesignal, das dem Inhaltselement entspricht, welches beispielsweise von der Audiosignalerzeugerkomponente
130 erhalten oder erzeugt wird und über die Schnittstelle115 und das Computernetzwerk165 an das Client-Computergerät150 übertragen wird, kann das Client-Computergerät150 veranlassen, den Audiotreiber153 auszuführen, um den Lautsprecher154 zwecks Erzeugens einer dem Ausgabeaudiosignal entsprechenden akustischen Welle zu betreiben. Die akustische Welle kann Wörter des Inhaltselements für die dritte Aktion oder dem Inhaltselement für die dritte Aktion entsprechende Wörter beinhalten. - Die akustische Welle kann von dem Client-Computergerät
150 ausgegeben werden. Die akustische Welle kann zum Beispiel die Audioausgabe „Möchten Sie XYZ-Fahrdienst auswählen?“ beinhalten, wobei „XYZ“ einen Namen eines bevorzugten Fahrdienstes darstellen kann. Beliebigen zusätzlichen Inhaltselementen zugeordnete akustische Wellen können ebenfalls von dem Client-Computergerät150 ausgegeben werden. Zum Beispiel kann die dem Inhaltselement für einen alternativen Fahrdienst zugeordnete akustische Welle die Audioausgabe „Möchten Sie einen alternativen Fahrdienst PQR, der 5 USD billiger ist als der XYZ Fahrdienst, in Betracht ziehen?“ beinhalten, wobei „PQR“ einen Namen oder eine Bezeichnung eines alternativen Fahrdienstes darstellen kann. - Das Datenverarbeitungssystem
105 kann eine ein Eingabeaudiosignal beinhaltende Antwort von dem Client-Computergerät150 empfangen. Zum Beispiel das Audioeingabesignal „OK, ich möchte PQR benutzen“ Aus diesen Informationen identifiziert die NLP-Komponente110 mindestens eine Anfrage oder mindestens ein Auslöserschlüsselwort. Die NPL-Komponente110 kann zum Beispiel eine Transportanfrage und ein Schlüsselwort „PQR“ identifizieren, welches anzeigt, dass der alternative Fahrdienst PQR angefordert wurde. - Das Datenverarbeitungssystem
105 kann die Verknüpfungsgenerierungskomponente120 benachrichtigen, eine Verbindung zwischen einem Dienstanbieter, der den von dem Benutzer ausgewählten alternativen Dienst bereitstellt, und dem Client-Computergerät150 herzustellen. Die Verknüpfungsgenerierungskomponente120 kann eine Herstellung einer Kommunikation zwischen dem Client-Computergerät150 und einem dem von dem Benutzer ausgewählten Dienst zugeordneten Dienstanbieter (wie beispielsweise dem Dienstanbietergerät160 ) verwalten. Unter Bezugnahme auf das zuvor erläuterte Beispiel kann die Verknüpfungsgenerierungskomponente120 eine Herstellung einer Kommunikationsverknüpfung zwischen dem Client-Computergerät150 und dem Dienstanbietergerät verwalten, das dem Fahrdienst „PQR“ zugeordnet ist, welcher durch die NPL-Komponente110 in einem Audiosignal, das von dem Client-Computergerät150 empfangen wurde, identifiziert wurde. - Weitere Dienstanbietergeräte, wie beispielsweise das Dienstanbietergerät
160 , stellen Dienste an Client-Computergeräte, wie beispielsweise das Client-Computergerät150 , basierend auf den Client-Computergeräten zugeordneten Identitäten, bereit. Diese Identitäten können die Form eines Benutzernamens, einer ID, einer Kontonummer oder anderer Parameter, die das Client-Computergerät150 eindeutig identifizieren können, annehmen. Die Dienstanbietergeräte160 können die verschiedenen Client-Computergeräten zugeordneten Identitäten, zusammen mit zusätzlichen Informationen wie beispielsweise Umwandlungsinformationen, lokaler Adresse, Benutzernamen, Kennwort oder Geräteadresse, in einer Client-Datenbank164 speichern. Die Dienstanbietergeräte können die Identitäten und die zusätzlichen Informationen verwenden, um Kommunikationen mit dem Client-Computergerät herzustellen und aufrechtzuerhalten sowie für buchhalterische und administrative Zwecke. - Die Verknüpfungsgenerierungskomponente
120 kann die Kommunikationen zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 ermöglichen. In einem Beispiel kann die Verknüpfungsgenerierungskomponente120 die Übertragung einer dem Client-Computergerät150 zugeordneten Identität an das Dienstanbietergerät160 verwalten, sodass das Dienstanbietergerät160 die Identität des Client-Computergeräts150 verifizieren kann, und, sobald die Identität verifiziert wurde, eine Kommunikation mit demselben herstellen. Die Verknüpfungsgenerierungskomponente120 kann eine Suche in dem Datenbehälter145 vornehmen oder dieses abfragen, um zu bestimmen, ob Kennungen existieren, die das Client-Computergerät150 bezüglich des ausgewählten Dienstes identifizieren. Zum Beispiel kann die Verknüpfungsgenerierungskomponente120 die Kennungen147 absuchen, um zu bestimmen, ob Kontoinformationen für das Client-Computergerät150 für den ausgewählten Dienst existieren. Die Kennungen147 können beispielsweise ein oder mehrere Benutzernamen oder Geräte-IDs beinhalten, die dem Client-Computergerät150 und den entsprechenden Diensten zugeordnet sind. Falls eine Kennung existiert, die das Client-Computergerät150 bezüglich des durch das Dienstanbietergerät160 bereitgestellten ausgewählten Dienstes identifiziert, kann die Verknüpfungsgenerierungskomponente120 die Kennung an das Dienstanbietergerät160 senden. - In manchen Fällen führt die Verknüpfungsgenerierungskomponente
120 eine Suche in einer Datenbank durch. In manchen Fällen kann die Verknüpfungsgenerierungskomponente120 die Kennungen erstellter oder aktiver Konten zwischenspeichern und einen Vergleich durchführen, um ein Nichtvorhandensein zu identifizieren. Indem es eine Zwischenspeicherung erstellter Kontokennungen vornimmt, braucht das Datenverarbeitungssystem möglicherweise keine Suche in der Datenbank des Dienstanbieters durchzuführen. Die Kontokennungen können vorab auf das Datenverarbeitungssystem geladen werden, sodass das Datenverarbeitungssystem die Bestimmung, ob das Gerät einem aktiven Konto zugeordnet ist, anhand eines einzigen Abrufs durchführen kann. Das Datenverarbeitungssystem kann die Kontokennungen (oder Gerätekennungen) basierend auf dem Standort des Client-Geräts laden. Wenn die Kontokennungen bereits auf das Datenverarbeitungssystem geladen sind, kann das Datenverarbeitungssystem die Bestimmung, ob das Gerät über ein Konto verfügt, anhand des Vergleichens des Client-Geräts mit den vorab geladenen aktiven Kontokennungen vornehmen. Das Datenverarbeitungssystem kann infolge des Nichtauffindens einer übereinstimmenden Kennung in dem vorab geladenen Satz aktiver Kennungen bestimmen, dass das Client-Gerät über kein Konto verfügt; zudem kann diese Bestimmung infolge des Nichtauffindens einer dem des Client-Geräts des Endbenutzers entsprechenden zugeordneten Client-Gerätekennung erfolgen. - Möglicherweise beinhalten die Kennungen
147 für die von dem Dienstanbietergerät160 bereitgestellte Dienstleistung keine dem Client-Computergerät150 zugeordnete Kennung. Falls beispielsweise der dem Client-Computergerät150 präsentierte alternative Dienst ein neuer Dienst ist, den der Benutzer niemals zuvor beansprucht hat, existiert möglicherweise keine dem Client-Computergerät150 zugeordnete Kennung für diesen Dienst in dem Datenbehälter145 . Obwohl das Dienstanbietergerät160 in einigen Beispielen über eine dem Client-Computergerät150 zugeordnete Kennung verfügen kann, wurde diese Kennung möglicherweise noch nicht in dem Datenbehälter145 gespeichert. In diesen Fällen kann die Verknüpfungsgenerierungskomponente120 mit dem Dienstanbietergerät160 kommunizieren, um das Vorhandensein einer dem Client-Computergerät150 zugeordneten Kennung in der Client-Datenbank164 zu bestimmen. Das Dienstanbietergerät160 kann mit der Client-Datenbank164 , welche Client-Informationen speichert, kommunizieren, um das Vorhandensein von dem Client-Computergerät150 zugeordneter Kennungen oder anderer Daten zu bestimmen. Alternativ hierzu kann die Verknüpfungsgenerierungskomponente120 ihrerseits mittels eines Such- oder Datenbankabfragevorgangs mit der Client-Datenbank164 kommunizieren, um das Vorhandensein von dem Client-Computergerät150 zugeordneter Kennungen zu bestimmen. - Sobald die dem Client-Computergerät
150 zugeordnete Kennung ausfindig gemacht wurde, kann die Verknüpfungsgenerierungskomponente120 die Kennung zugunsten des Client-Computergeräts150 an das Dienstanbietergerät160 senden. Die Verknüpfungsgenerierungskomponente120 kann ebenfalls Anweisungen an das Dienstanbietergerät160 senden, die Kennung zur Herstellung von Kommunikation mit dem Client-Computergerät150 zu verwenden. - In Fällen, in denen die Kennung beispielsweise weder in dem Datenbehälter 145 noch in der Client-Datenbank
164 vorhanden ist, ist das Dienstanbietergerät160 ggf. nicht in der Lage, eine Kommunikation mit dem Client-Computergerät herzustellen. In Fällen, in denen das Dienstanbietergerät160 in der Lage ist, mit dem Client-Computergerät 150 zu kommunizieren, kann das Nichtvorhandensein einer Kennung in sowohl dem Datenbehälter als auch der Client-Datenbank164 zusätzliche Kommunikation zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 , wie beispielsweise Abfragen und Antworten, erforderlich machen. Zum Beispiel kann das Dienstanbietergerät160 von dem Client-Computergerät150 die Erstellung eines Kontos verlangen, bevor der Dienst bereitgestellt werden kann. Die Erstellung eines Kontos kann zusätzliche Kommunikationen zwischen dem Client-Computergerät150 und dem Dienstanbietergerät160 erforderlich machen, beispielsweise zum Austausch von Benutzernamen, Kennwörtern, Umwandlungsinformationen, Authentifizierung und anderen Informationen, was zur Verwendung zusätzlicher Zeit und Ressourcen, beispielsweise Bandbreite, führt. In diesen Fällen kann die Verknüpfungsgenerierungskomponente120 die Herstellung dieser Kommunikation durch das Generieren eines Kontos zugunsten des Client-Computergeräts 150 ermöglichen. Die Verknüpfungsgenerierungskomponente kann zum Beispiel eine dem Client-Computergerät150 zugeordnete eindeutige virtuelle Kennung erzeugen. Die Verknüpfungsgenerierungskomponente120 kann die virtuelle Kennung über die Schnittstelle 115 an das Dienstanbietergerät160 senden. Die virtuelle Kennung kann unter Verwendung von Datenpaketen (zum Beispiel in einem Nutzdatenabschnitt der Datenpakete) mittels der Schnittstelle115 und über das Netzwerk165 an das Dienstanbietergerät160 kommuniziert werden. Die virtuelle Kennung kann von dem Dienstanbietergerät160 verwendet werden, um ein dem Client-Computergerät150 zugeordnetes Konto oder Datensatz zu erstellen und eine Kommunikation mit dem Client-Computergerät150 herzustellen. Auf diese Weise verbessert die Verknüpfungsgenerierungskomponente120 nicht nur die Zuverlässigkeit des Systems durch das Ermöglichen der Herstellung von Kommunikation zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 , sondern verbessert ebenfalls die Effizienz des Systems durch das Erstellen eines Kontos zugunsten des Client-Computergeräts 150, wodurch Zeit und Ressourcen eingespart werden, welche anderenfalls in Kommunikationen zwischen dem Dienstanbietergerät160 und dem Client-Computergerät 150 verwendet werden würden, um vor Bereitstellen der angeforderten Dienstleistung ein Konto zu erstellen. - Die virtuelle Kennung kann eine Kombination aus dem Client-Computergerät 150 zugeordneten Daten sein. Beispielsweise kann die virtuelle Kennung eines oder mehrere aus einer Geräte-ID (wie beispielsweise eine MAC-ID des Client-Computergeräts
150 ), einer Internetprotokoll (IP)-Adresse des Client-Computergeräts150 , einem Namen eines dem Client-Computergerät150 zugeordneten Benutzers, einer Telefonnummer des Benutzers und beliebiger anderer dem Client-Computergerät150 zugeordneter Daten, einschließlich Daten, die beliebigen das Client-Computergerät150 verwendender Benutzer zugeordnet sind, beinhalten. Die virtuelle Kennung kann durch das Verarbeiten der einen oder mehreren zuvor erwähnten Daten bestimmt werden. Die Verknüpfungsgenerierungskomponente120 kann zum Beispiel eine Hashfunktion zur Erzeugung der virtuellen Kennung verwenden, wobei eine Eingabe in die Hashfunktion mit einer oder mehreren der zuvor erwähnten dem Client-Computergerät150 zugeordneten Daten bereitgestellt werden kann. Die Verknüpfungsgenerierungskomponente120 kann ebenfalls eine kryptographische Funktion (wie beispielsweise AES, DES, RSA und ECC) verwenden, um die virtuelle Kennung zu erzeugen, wobei die Eingabe in die kryptographische Funktion ein oder mehrere der zuvor erwähnten dem Client-Computergerät150 zugeordnete Daten beinhalten kann. - Die Verknüpfungsgenerierungskomponente
120 kann als virtuelle Kennung ein dem Client-Computergerät150 zugeordnetes digitales Zertifikat oder einen diesem zugeordneten öffentlichen Schlüssel verwenden. In diesem Fall kann die virtuelle Kennung von dem Dienstanbietergerät nicht lediglich zum Authentifizieren des Client-Computergeräts 150, sondern ebenfalls dazu verwendet werden, um mit dem Client-Computergerät150 unter Verwendung einer Public-Key-Infrastruktur (PKI) sicher zu kommunizieren. - Die Verknüpfungsgenerierungskomponente
120 kann die virtuelle Kennung an das Dienstanbietergerät160 senden. Die virtuelle Kennung kann unter Verwendung von Datenpaketen (zum Beispiel in einem Nutzdatenabschnitt der Datenpakete) mittels der Schnittstelle115 und über das Netzwerk165 an das Dienstanbietergerät160 kommuniziert werden. Das Dienstanbietergerät160 kann die virtuelle Kennung verwenden, um einen der virtuellen Kennung zugeordneten Datenbankeintrag zu erstellen. Der Datenbankeintrag erlaubt dem Dienstanbietergerät160 , mindestens einen dem Client-Computergerät150 zugeordneten Datensatz zu erstellen, und ermöglicht dem Dienstanbietergerät160 , das Client-Computergerät150 zu identifizieren und dadurch mit diesem zu kommunizieren. Die Verknüpfungsgenerierungskomponente120 kann die virtuelle Kennung ebenfalls als eine der Kennungen147 in dem Datenbehälter145 speichern. Die Verknüpfungsgenerierungskomponente120 kann ebenfalls ein Inhaltselement oder eine Identität des Dienstanbietergeräts160 in Verbindung mit der virtuellen Kennung speichern. Die Verknüpfungsgenerierungskomponente120 kann zum Beispiel die Identität „PQR“ des von dem Benutzer ausgewählten alternativen Fahrdienstes in Verbindung mit der virtuellen Kennung oder einer eindeutigen Kennung des Dienstanbietergeräts160 speichern. Dies erlaubt der Verknüpfungsgenerierungskomponente120 , das Vorhandensein einer Kennung für das Client-Computergerät150 für den „PQR“-Fahrdienst zu bestimmen, falls das Client-Computergerät150 in der Zukunft erneut denselben Fahrdienst auswählt. - In einigen Beispielen kann die Verknüpfungsgenerierungskomponente
120 zusätzliche dem Client-Computergerät150 zugeordnete Daten senden, wenn sie die virtuelle Kennung an das Dienstanbietergerät160 sendet. Die Verknüpfungsgenerierungskomponente 120 kann zum Beispiel zusätzliche Informationen senden, welche die Herstellung einer Kommunikation zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 ermöglichen können. Die Verknüpfungsgenerierungskomponente120 kann zum Beispiel Informationen wie eine Wohnsitzadresse, einen Namen eines Benutzers und Umwandlungsinformationen, die dem Client-Computergerät150 zugeordnet sind, senden. Die zusätzlichen Informationen können zudem unter Verwendung von Datenpaketen (zum Beispiel in einem Nutzdatenabschnitt der Datenpakete) mittels der Schnittstelle115 und über das Netzwerk165 an das Dienstanbietergerät160 kommuniziert werden. Diese Informationen können dem Dienstanbietergerät160 erlauben, einen Datenbankeintrag mit Informationen zu erstellen, die ausreichend sein können, mindestens die aktuell angeforderte Dienstleistung bereitzustellen. Selbstverständlich kann die zur Bereitstellung der angeforderten Dienstleistung benötigte Mindestmenge an Informationen bezüglich des Client-Computergeräts150 basierend auf der Art der angeforderten Dienstleistung variieren. In diesen Fällen kann die Verknüpfungsgenerierungskomponente120 die Mindestdaten, welche von dem Dienstanbietergerät160 zum Bereitstellen von einer oder mehreren Dienstleistungen benötigt werden, in dem Datenbehälter145 speichern. - Die Verknüpfungsgenerierungskomponente
120 kann außerdem Informationen, wie beispielsweise eine Netzwerkadresse des Client-Computergeräts150 oder die MAC-Adresse des Client-Computergeräts, senden, sodass das Dienstanbietergerät160 eine Verbindung mit dem Client-Computergerät150 herstellen kann. Die Verknüpfungsgenerierungskomponente120 kann die virtuelle Kennung und die zusätzlichen Informationen in einer Datenstruktur formatieren, gemäß den Vorgaben des Dienstanbietergeräts160 für das Initiieren von Kommunikation oder einer Dienstleistungsanfrage. -
2A zeigt zum Beispiel eine erste Datenstruktur200 , die von der Verknüpfungsgenerierungskomponente120 verwendet werden kann, um Daten an das Dienstanbietergerät160 zu senden. Die erste Datenstruktur200 kann von der Verknüpfungsgenerierungskomponente120 insbesondere dazu verwendet werden, eine virtuelle Kennung, zusammen mit zusätzlichen Informationen, wie beispielsweise Profilinformationen des Client-Computergeräts150 , an das Dienstanbietergerät160 zu senden, welche von dem Dienstanbietergerät160 dazu verwendet werden, ein der virtuellen Kennung zugeordnetes Konto zu erstellen. Die Datenstruktur200 kann die Zuverlässigkeit und Effizienz der Datenübertragung zwischen dem Datenverarbeitungssystem105 und dem Dienstanbietergerät160 verbessern. Die erste Datenstruktur200 beinhaltet Felder, wie beispielsweise Kennung, Client-Computergerät-Kennung, Client-Computergerät-Adresse, Umwandlungsinformationen und Neues Konto. Das Feld Kennung kann die zuvor erläuterte von der Verknüpfungsgenerierungskomponente120 erzeugte Kennung beinhalten. Die Client-Computergerät-Kennung und die Client-Computergerät-Adresse können Daten beinhalten, die dem Dienstanbietergerät160 ermöglichen können, mit dem Client-Computergerät150 zu kommunizieren, und können eine MAC-Adresse, eine Netzwerkadresse oder eine andere Kennung des Client-Computergeräts150 beinhalten. Die Umwandlungsinformationen können Informationen beinhalten, die dem Dienstanbietergerät 160 ermöglichen können, dem Client-Computergerät150 die erbrachten Dienste in Rechnung zu stellen, und können Daten wie beispielsweise Kreditkarteninformationen, einen Code oder einen Link zu Online-Überweisungsdiensten beinhalten. Das Feld Neues Konto kann Anweisungen an das Dienstanbietergerät160 beinhalten, einen neuen Datensatz in der Client-Datenbank164 zu erstellen, welcher der in dem Feld Kennung beinhalteten virtuellen Kennung zugeordnet ist. In einigen Beispielen kann das Feld Neues Konto eine Binärmeldung (z. B. J/N oder 0/1) beinhalten, welche das Dienstanbietergerät160 dahingehend interpretieren kann, ob ein neuer, den Informationen in dem Feld Kennung zugeordenter, Datensatz zu erstellen ist, oder ob diese Erstellung unterbleiben soll. - Die Verknüpfungsgenerierungskomponente
120 kann zusätzliche Informationen an das Dienstanbietergerät160 senden, die dem Dienstanbietergerät160 ermöglichen können, eine Verbindung mit dem Client-Computergerät150 herzustellen oder diesem die angeforderte Dienstleistung bereitzustellen.2B zeigt eine zweite Datenstruktur202 , die von der Verknüpfungsgenerierungskomponente120 verwendet werden kann, um zusätzliche Daten, wie beispielsweise spezifische Informationen zu der Dienstleistung, an das Dienstanbietergerät160 zu senden. Die zweite Datenstruktur202 beinhaltet Felder wie beispielsweise Kennung, Inhaltselement oder Dienstleistung, Startadresse, Zieladresse, gewünschte Uhrzeit und Umwandlungsinformationen. Die in dem Feld Kennung enthaltenen Informationen können eine Kennung des Client-Computergeräts 150, die dem Dienstanbietergerät160 bekannt ist, oder eine, wie zuvor erläutert, durch die Verknüpfungsgenerierungskomponente120 erzeugte Kennung beinhalten. Das Feld Inhaltselement oder Dienstleistung kann die von dem Client-Computergerät150 angeforderte spezifische Dienstleistung beinhalten. Das bedeutet, dass das Feld Inhaltselement oder Dienstleistung einen Verweis auf das Inhaltselement, bezüglich dessen das Client-Computergerät150 eine Dienstleistung angefordert hat, beinhalten oder eine Bezeichnung der Dienstleistung beinhalten kann. Zum Beispiel kann das zuvor erläuterte dem PQR-Fahrdienst zugeordnete Inhaltselement einbezogen werden, welches dem Dienstanbietergerät anzeigen kann, dass die angeforderte Dienstleistung mit dem dem Client-Computergerät präsentierten alternativen Inhaltselement verbunden ist. Die Startadresse und die Zieladresse können die Wohnsitzadresse und den gewünschten Zielort der angeforderten Fahrdienstleistung beinhalten. Das Feld gewünschte Uhrzeit kann die von dem Client-Computergerät150 angeforderte Abholzeit beinhalten, und die Umwandlungsinformationen können Daten, wie beispielsweise Kreditkarteninformationen, einen Code oder einen Link zu Online-Überweisungsdiensten, beinhalten. - Die zusätzlichen Informationen können Informationen, mit Ausnahme personenbezogener Informationen, die dem Client-Computergerät
150 zugeordnet sind, beinhalten. Zum Beispiel kann die Verknüpfungsgenerierungskomponente120 von dem Client-Computergerät150 Daten, wie beispielsweise die GPS-Koordinaten des Client-Computergeräts150 , anfordern. In Fällen, in denen das Client-Computergerät150 ein Mobilgerät, wie beispielsweise ein Smartphone, ist, können die aktuellen GPS-Koordinaten des Client-Computergeräts150 an das Dienstanbietergerät160 gesendet werden, sodass das Dienstanbietergerät160 den Fahrdienst basierend auf dem gegenwärtigen Standort des Client-Computergeräts150 senden kann. Die Verknüpfungsgenerierungskomponente120 kann darüber hinaus andere Daten anfordern, wie beispielsweise Temperatur, Geräuschpegel und die Signalstärke der Funkverbindung, über die das Client-Computergerät150 gegenwärtig kommuniziert, und diese Daten ebenfalls an das Dienstanbietergerät160 senden.2C zeigt eine dritte Datenstruktur204 , die verwendet werden kann, um die obigen Informationen an das Dienstanbietergerät160 zu senden. - Die erste, zweite und dritte Datenstruktur
200 ,202 und204 können eine größere oder eine geringere Anzahl von Feldern, als die in2A -2C dargestellten, beinhalten. Das Datenverarbeitungssystem105 kann die Datenstrukturen in erweiterbarer Auszeichnungssprache (XML) definieren, um Informationen an das Dienstanbietergerät160 zu senden. Die mit der ersten, zweiten und dritten Datenstruktur200 ,202 und204 verbundenen Daten können unter Verwendung von Datenpaketen, zum Beispiel in einem Nutzdatenabschnitt der Datenpakete über das Netzwerk165 kommuniziert werden. - Das Dienstanbietergerät
160 kann die von der Verknüpfungsgenerierungskomponente120 bereitgestellte virtuelle Kennung und zusätzlichen Informationen (wie beispielsweise die in der ersten Datenstruktur200 bereitgestellten) nutzen und die Informationen zur Kommunikation mit dem Client-Computergerät150 verwenden, um zusätzliche Informationen zu erlangen, welche es ggf. zur ordnungsgemäßen Bereitstellung der angeforderten Dienstleistung benötigt. Das Dienstanbietergerät160 kann zum Beispiel die Dienstanbieter-NLP-Komponente161 verwenden, um Audiosignale zu erzeugen, die den Benutzer um weitere Informationen abfragen. Die abgefragten Informationen können Zieladresse, Abholadresse, gewünschte Uhrzeit und Umwandlungsinformationen beinhalten. Die die Antworten des Benutzers an dem Client-Computergerät150 repräsentierenden Audiosignale können von dem Dienstanbietergerät160 empfangen werden und durch die Dienstanbieter-NLP-Komponente 161 verarbeitet werden, um die gewünschten Informationen zu extrahieren. Das Dienstanbietergerät160 kann die extrahierten Informationen in Verbindung mit der Kennung des Client-Computergeräts150 in der Client-Datenbank164 speichern. - Das Dienstanbietergerät
160 kann das Datenverarbeitungssystem105 als Zwischenglied verwenden, um die Audiosignale zu erlangen. Das Dienstanbietergerät160 kann zum Beispiel Datenpakete, die zusätzlich zu einer Anfrage textbasierte Abfragen enthalten, senden, damit das Datenverarbeitungssystem105 die textbasierten Abfragen in Audiosignale umwandelt und die Audiosignale an das Client-Computergerät150 überträgt. Die NLP-Komponente110 des Datenverarbeitungssystems105 kann textbasierte Abfragen in Audiosignale umwandeln, welche an das Client-Computergerät150 übertragen werden können. Das Datenverarbeitungssystem105 kann zudem Audiosignale von dem Client-Computergerät150 empfangen, die Antworten auf die Abfragen beinhalten. Die NLP-Komponente110 kann Audiosignale in Text umwandeln und den umgewandelten Text an das Dienstanbietergerät160 übertragen. - Die Verknüpfungsgenerierungskomponente
120 kann das Dienstanbietergerät 160 anweisen, einen temporären Datenbankdatensatz oder ein Konto, der/das der virtuellen Kennung zugeordnet ist, zu erstellen. Der der virtuellen Kennung zugeordnete Datenbankdatensatz kann gelöscht werden, nachdem die von dem Client-Computergerät150 angeforderte Dienstleistung abgeschlossen ist. Die Verknüpfungsgenerierungskomponente 120 kann mit der virtuellen Kennung einen Zeitstempel oder eine Dauer bereitstellen. Der Zeitstempel oder die Dauer können anzeigen, dass die virtuelle Kennung nach der von dem Zeitstempel oder der Dauer abgeleiteten Zeit ungültig ist. Das Dienstanbietergerät160 kann den der virtuellen Kennung zugeordneten Datenbankdatensatz löschen, falls die virtuelle Kennung ungültig ist. - Die Verknüpfungsgenerierungskomponente
120 kann das Senden jeglicher Informationen über das Client-Computergerät150 oder einen dem Client-Computergerät150 zugeordneten Benutzer, welche den Datenschutz oder die Sicherheit beeinträchtigen könnten, unterlassen. Zum Beispiel kann die Verknüpfungsgenerierungskomponente120 die virtuelle Kennung an das Dienstanbietergerät160 senden, es jedoch unterlassen, jegliche Umwandlungsinformationen zu senden. Die Umwandlungsinformationen können in dem Datenverarbeitungssystem105 gespeichert werden und von dem Datenverarbeitungssystem 105 verwendet werden, um Umwandlungstransaktionen mit dem Dienstanbietergerät160 zugunsten des Client-Computergeräts150 durchzuführen. - Die Verknüpfungsgenerierungskomponente
120 kann mit dem Dienstanbietergerät160 oder der Client-Datenbank164 kommunizieren, um die in dem Datenbehälter145 gespeicherten Informationen mit den in der Client-Datenbank164 gespeicherten Daten zu synchronisieren. Zum Beispiel können Daten im Zusammenhang mit Konten oder Datensätzen, die dem Client-Computergerät150 zugeordnet sind, ausgetauscht werden, sodass das Datenbehälter145 oder die Client-Datenbank164 über aktualisierte Informationen verfügen. -
3 bildet eine Darstellung von Nachrichtenflüssen300 zwischen verschiedenen Einheiten des in1 gezeigten Systems100 ab. Insbesondere bildet3 , wie zuvor im Zusammenhang mit1 erläutert, Nachrichtenflüsse300 zwischen dem Datenverarbeitungssystem105 , dem Client-Computergerät150 und dem Dienstanbietergerät 160 ab. Die in3 abgebildeten Nachrichtenflüsse300 werden in der Weise durchgeführt, dass das Datenverarbeitungssystem105 (und insbesondere die Verknüpfungsgenerierungskomponente120 ) die Herstellung der Kommunikation zwischen dem Client-Computergerät150 und dem Dienstanbietergerät160 in Fällen ermöglichen kann, in denen das Nichtvorhandensein einer dem Client-Computergerät150 zugeordneten Kennung die Herstellung dieser Kommunikation verhindern könnte. Ferner werden die Nachrichtenflüsse300 durchgeführt, um die Zuverlässigkeit und Effizienz von Datenübertragung zwischen dem Datenverarbeitungssystem105 und dem Dienstanbietergerät 160 zu verbessern, und gleichzeitig den Ressourcenverbrauch (z. B. Bandbreite) durch Weitergeben von virtuellen Kennungen und das Vermeiden mehrerer Abfragen und Kommunikationen zwischen dem Dienstanbietergerät160 und dem Client-Computergerät 150 zwecks Ermöglichens der Bereitstellung einer angeforderten Dienstleistung durch das Dienstanbietergerät160 zu reduzieren. - Wie zuvor erläutert, kann das Datenverarbeitungssystem
105 eine Kommunikation C1 von dem Client-Computergerät150 empfangen, wobei die Kommunikation C1 ein Audiosignal beinhalten kann, das einen Sprachbefehl von einem dem Client-Computergerät150 zugeordneten Benutzer beinhaltet. Das Datenverarbeitungssystem 105, und insbesondere die NLP-Komponente110 , kann das Audiosignal verarbeiten und eine Anfrage und ein Schlüsselwort identifizieren. Wie zuvor erläutert, kann das Audiosignal beispielsweise eine Nachricht wie „OK, ich möchte heute Abend aus essen und anschließend ins Kino gehen.“ beinhalten. Das Datenverarbeitungssystem kann die Audiosignale verarbeiten und mindestens eine Anfrage feststellen, die ein Interesse anzeigt, an einem Abendessen und einer Filmaufführung teilzunehmen, und mindestens ein Auslöserschlüsselwort, z. B. „gehen“, welches einen Transportbedarf anzeigt. In Reaktion auf das Bestimmen, dass das Schlüsselwort mit Transport verbunden ist, kann die Inhaltsauswahlelementkomponente125 einen Fahrdienst auswählen, der als Alternative zu dem dem Client-Computergerät150 zugeordneten Standard- oder bevorzugten Fahrdienst angeboten werden kann. Das Datenverarbeitungssystem105 kann ein Audiosignal erzeugen, das eine Nachricht beinhaltet, die das Inhaltselement dem Benutzer präsentiert. Die Audiodatei kann zum Beispiel eine Nachricht wie „Möchten Sie einen alternativen Fahrdienst PQR, der 5 USD billiger als der XYZ Fahrdienst ist, in Betracht ziehen?“ beinhalten, wobei „PQR“ einen Namen oder eine Bezeichnung eines alternativen Fahrdienstes darstellen kann. Das Datenverarbeitungssystem105 sendet eine Kommunikation C2, welche, wie in3 dargestellt, diese dem Inhaltselement zugeordnete Audiodatei beinhaltet. - Das Client-Computergerät
150 kann in Reaktion auf die Kommunikation C2 eine Kommunikation C3 senden, wobei C3 ein Audiosignal beinhaltet, das eine Antwort von einem Benutzer darstellt. Zum Beispiel kann das Audiosignal eine Antwort wie die folgende beinhalten: „OK, ich möchte PQR in Anspruch nehmen“ Aus diesen Informationen identifiziert die NLP-Komponente110 (1 ) mindestens eine Anfrage oder mindestens ein Auslöserschlüsselwort. Die NPL-Komponente110 kann zum Beispiel eine Transportanfrage und ein Schlüsselwort „PQR“, welches anzeigt, dass der alternative Fahrdienst PQR angefordert wurde, identifizieren. - Sobald das Datenverarbeitungssystem
105 identifiziert, dass das Client-Computergerät150 das alternative Inhaltselement anfordert, bestimmt die Verknüpfungsgenerierungskomponente120 (1 ) das dem angeforderten Inhaltselement zugeordnete Dienstanbietergerät160 . Die Verknüpfungsgenerierungskomponente bestimmt, ob der Datenbehälter145 (1 ) dem angeforderten Inhaltselement oder dem Client-Computergerät150 zugeordnete Kennungen beinhaltet. Falls keine Kennungen gefunden werden, sendet die Verknüpfungsgenerierungskomponente120 eine Kommunikation C4 an das Dienstanbietergerät160 , um das Vorhandensein eines dem Client-Computergerät150 zugeordneten Datenbankdatensatzes zu bestimmen. Die Kommunikation C4 kann eine Identität des Client-Computergeräts150 oder eine Identität eines dem Client-Computergeräts 150 zugeordneten Benutzers beinhalten. Die Verknüpfungsgenerierungskomponente120 kann die Kommunikation C4 an das Dienstanbietergerät160 senden, ohne den Datenbehälter 145 abzufragen (1 ). - In Reaktion auf das Empfangen der Abfrage nach Datenbankdatensätzen, die mit der Client-Identität in der Kommunikation C4 verbunden sind, kann das Dienstanbietergerät
160 eine Kommunikation C5 an die Client-Datenbank164 senden, um zu bestimmen, ob ein mit der Client-Identität verbundener Datenbankdatensatz in der Client-Datenbank164 vorhanden ist. Falls die Client-Datenbank164 keine Datensätze beinhaltet, die mit der in Kommunikation C5 empfangenen Client-Identität verbunden sind, kann die Client-Datenbank164 eine Kommunikation C6 zurücksenden, welche anzeigt, dass keine derartigen Datensätze existieren. Das Dienstanbietergerät160 kann eine Kommunikation C7 an das Datenverarbeitungssystem105 senden, welche anzeigt, dass kein der in Kommunikation C4 enthaltenen Client-Identität zugeordneter Datenbankdatensatz in der Client-Datenbank164 vorhanden ist. Das Datenverarbeitungssystem105 kann die Client-Datenbank164 direkt mit einer KommunikationC4’ (Client-Identität) (in3 in gestrichelten Linien dargestellt) abfragen, um zu bestimmten, ob irgendwelche mit der Client-Identität verbundenen Datensätze in der Client-Datenbank164 vorhanden sind. Falls keine Datensätze gefunden werden, kann die Client-Datenbank164 eine Kommunikation C6' mit einer das Nichtvorhandensein der abgefragten Datensätze anzeigenden Null-Antwort zurücksenden. In einigen Fällen kann das Datenverarbeitungssystem das Nichtvorhandensein basierend auf einer Null-Antwort oder einer anderen Anzeige, einer Antwort, einem Zeichen, einem Symbol, einer Zeichenfolge, einem alphanumerischen Zeichen oder einem Wert, welche das Nichtvorhandensein anzeigen, bestimmen. - Das Dienstanbietergerät
160 ist ggf. nicht in der Lage, dem Client-Computergerät150 die angeforderte Dienstleistung bereitzustellen, da keine dem Client-Computergerät150 zugeordneten Datensätze in der Client-Datenbank164 vorhanden sind. Jedoch kann das Datenverarbeitungssystem105 das Risiko fehlender Kommunikation aufgrund fehlender Datenbankdatensätze mindern. Insbesondere erzeugt das Datenverarbeitungssystem105 eine dem Client-Computergerät150 zugeordnete virtuelle Kennung und sendet eine Kommunikation C8 an das Dienstanbietergerät160 , um einen der virtuellen Kennung zugeordneten Datenbankdatensatz in der Client-Datenbank164 zu erstellen. Wie zuvor erläutert, kann die virtuelle Kennung eine Kombination aus verschiedenen dem Client-Computergerät150 zugeordneten Daten sein. Zum Beispiel kann die virtuelle Kennung eine Hashfunktion aus einem oder mehrerer aus einer Geräte-ID (wie beispielsweise eine MAC-ID des Client-Computergeräts150 ), einer Internetprotokoll (IP)-Adresse des Client-Computergeräts150 , einem Namen eines dem Client-Computergerät150 zugeordneten Benutzers, einer Telefonnummer des Benutzers und beliebiger anderer dem Client-Computergerät150 zugeordneter Daten beinhalten. Die virtuelle Kennung kann ein digitales Zertifikat oder einen öffentlichen Schlüssel des Client-Computergeräts150 beinhalten. Die Kommunikation C8 kann außerdem zusätzliche dem Client-Computergerät 150 zugeordnete Informationen beinhalten, welche die Herstellung von Kommunikationen zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 ermöglichen können oder die Erbringung der angeforderten Dienstleistung durch das Dienstanbietergerät 160 ermöglichen können. Das Datenverarbeitungssystem105 kann die virtuelle Kennung und die zusätzlichen Informationen in einer Datenstruktur, wie beispielsweise der in den2A -2C dargestellten ersten, zweiten und dritten Datenstruktur200 ,202 und204 , formatiert senden. Die virtuelle Kennung und die zusätzlichen Informationen können unter Verwendung von Datenpaketen (zum Beispiel in einem Nutzdatenabschnitt der Datenpakete) mittels der Schnittstelle115 (1 ) und über das Netzwerk165 (1 ) an das Dienstanbietergerät160 (1 ) kommuniziert werden. - Sobald es die Kommunikation C8 empfangen hat, kann das Dienstanbietergerät
160 einen mindestens auf der virtuellen Kennung basierenden Datenbankdatensatz erstellen, indem es eine Kommunikation C9 an die Client-Datenbank 164 sendet. Die Kommunikation C9 kann ebenfalls die in der Kommunikation C8 empfangenen zusätzlichen Informationen beinhalten. Nach Erstellen des der virtuellen Kennung zugeordneten Datenbankdatensatzes kann die Client-Datenbank164 eine Kommunikation C10 an das Dienstanbietergerät160 senden, welche anzeigt, dass der Datenbankdatensatz erstellt wurde. Das Dienstanbietergerät160 kann eine Kommunikation C11 an das Datenverarbeitungssystem105 senden, welche anzeigt, dass der Datenbankdatensatz erfolgreich erstellt wurde. - Sobald der dem Client-Computergerät
150 zugeordnete Datensatz in der Client-Datenbank164 erstellt worden ist, kann das Dienstanbietergerät160 mit dem Client-Computergerät150 kommunizieren, um die in der Kommunikation C3 angeforderte Dienstleistung bereitzustellen. Zum Beispiel kann das Dienstanbietergerät160 eine Kommunikation C12 an das Client-Computergerät150 senden, um zu bestätigen, dass die Anfrage nach der alternativen Fahrt erfolgreich war, oder um von dem Client-Computergerät 150 zusätzliche Informationen im Zusammenhang mit der angeforderten Dienstleistung zu erlangen. - Wie zuvor erläutert, ermöglicht das Datenverarbeitungssystem
105 das Herstellen von Kommunikation zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 in Fällen des Fehlens eines mit dem Client-Computergerät150 verbundenen Datenbankdatensatzes. Dies verhindert das Eintreten einer Situation, in der die von dem Client-Computergerät getätigte Anfrage ansonsten verzögert werden würde. -
4 bildet ein Verfahren400 zum Aufrufen von Aktionen zum Abmildern der Kommunikationsverzögerung zwischen einem Client-Computergerät und einem Dienstanbietergerät in einer sprachaktivierten, datenpaketbasierten Computernetzwerkumgebung, wie beispielsweise System100 , ab. Das in4 abgebildete Verfahren400 erlaubt dem Datenverarbeitungssystem105 (z. B. über die Verknüpfungsgenerierungskomponente120 ) das Ermöglichen der Herstellung der Kommunikation zwischen dem Client-Computergerät150 und dem Dienstanbietergerät160 in Fällen, in denen das Nichtvorhandensein einer dem Client-Computergerät150 zugeordneten Kennung die Herstellung dieser Kommunikation verhindern könnte. Ferner verbessert das Verfahren400 die Zuverlässigkeit und Effizienz der Datenübertragung zwischen dem Datenverarbeitungssystem105 und dem Dienstanbietergerät160 und senkt gleichzeitig den Ressourcenverbrauch (z. B. Bandbreite) durch Weitergeben von virtuellen Kennungen und das Vermeiden mehrerer Abfragen und Kommunikationen zwischen dem Dienstanbietergerät160 und dem Client-Computergerät150 zwecks Ermöglichens der Bereitstellung einer angeforderten Dienstleistung durch das Dienstanbietergerät160 . - Das Verfahren
400 kann Datenpakete von einem Client-Computergerät empfangen (ACT405 ). Beispielsweise kann das Datenverarbeitungssystem105 die NLP-Komponente110 ausführen, starten oder aufrufen, um paket- oder andere protokollbasierte Übertragungen über das Netzwerk165 von dem Client-Computergerät150 zu empfangen. Die Datenpakete können ein von dem Sensor151 erkanntes Eingabeaudiosignal beinhalten oder diesem entsprechen, wie beispielsweise von einem Endbenutzer, der in ein Smartphone spricht: „OK, ich möchte heute Abend aus essen und anschließend ins Kino gehen.“ Ein anderes Beispiel dieses Verfahrensschrittes wurde zuvor im Zusammenhang mit3 erläutert, wobei die Kommunikation C1, die einen Sprachbefehl von einem dem Client-Computergerät150 zugeordneten Benutzer beinhaltet, von dem Datenverarbeitungssystem 105 empfangen wird. - Das Verfahren
400 kann mindestens eine Anfrage oder mindestens ein Auslöserschlüsselwort aus dem Eingabeaudiosignal (ACT410 ) identifizieren. Beispielsweise kann die NLP-Komponente110 das Eingabeaudiosignal parsen, um Anfragen zu identifizieren („Abendessen“ oder „Kino“) sowie die Schlüsselwörter „gehen“, „zu gehen“ oder „nach/zu/ins gehen“, die der Anfrage entsprechen oder sich auf diese beziehen. Das Datenverarbeitungssystem105 kann dem Schlüsselwort zugeordnete Aktionen, wie beispielsweise eine Aktion im Zusammenhang mit dem Bereitstellen von Transport an den Benutzer, bestimmen. - Das Verfahren
400 kann ein Inhaltselement, basierend auf dem durch das Datenverarbeitungssystem identifizierten Schlüsselwort (ACT415 ), auswählen. Zum Beispiel kann die Inhaltsauswahlelementkomponente125 basierend auf den identifizierten Anfragen und Schlüsselwörtern mindestens ein Inhaltselement auswählen. Das Datenverarbeitungssystem105 kann mindestens ein Audiosignal auswählen, das dem ausgewählten Inhaltselement zugeordnet ist. Zum Beispiel kann die Inhaltsauswahlelementkomponente125 ein einem alternativen Fahrgemeinschaftsdienst entsprechendes Audiosignal auswählen. Ein anderes Beispiel für das Auswählen eines Inhaltselements wurde zuvor im Zusammenhang mit3 erläutert, wobei das Datenverarbeitungssystem105 ein Ausgabeaudiosignal mit folgender Nachricht auswählt: „Möchten Sie einen alternativen Fahrdienst PQR, der 5 USD billiger als der XYZ Fahrdienst ist, in Betracht ziehen?“, wobei „PQR“ einen Namen oder eine Bezeichnung eines alternativen Fahrdienstes darstellen kann. Das Datenverarbeitungssystem105 sendet eine Kommunikation C2, welche, wie in3 dargestellt, diese dem Inhaltselement zugeordnete Audiodatei enthält. - Das Verfahren
400 beinhaltet das Bestimmen eines Nichtvorhandenseins eines dem Client-Computergerät150 zugeordneten Datenbankdatensatzes (ACT420 ). Zum Beispiel kann die Verknüpfungsgenerierungskomponente120 das Dienstanbietergerät160 abfragen (Kommunikation C4,3 ), um zu bestimmen, ob ein dem Client-Computergerät 150 zugeordneter Datenbankdatensatz in der Client-Datenbank164 des Dienstanbietergeräts 160 vorhanden ist. Alternativ hierzu kann das Datenverarbeitungssystem105 , wie in3 dargestellt, die Client-Datenbank164 direkt abfragen (Kommunikation C4',3 ), um das Vorhandensein von dem Client-Computergerät150 zugeordneter Datensätze zu bestimmen. Das Datenverarbeitungssystem105 kann zudem den Datenbehälter145 abfragen, um zu bestimmen, ob irgendwelche der Kennungen147 eine dem Client-Computergerät150 und dem angeforderten Inhaltselement zugeordnete Kennung beinhalten. Falls kein Datensatz für eine dem Client-Computergerät150 zugeordnete Kennung vorhanden ist, kann die Client-Datenbank164 eine NULL-Antwort (Kommunikation C6 und C6',3 ) zurücksenden, um dies anzuzeigen. - Das Verfahren
400 beinhaltet das Erzeugen einer virtuellen Kennung (ACT 425). Wie zuvor erläutert, kann die Verknüpfungsgenerierungskomponente120 eine dem Client-Computergerät150 zugeordnete virtuelle Kennung erzeugen. Die virtuelle Kennung kann eine eindeutige Kennung sein, die das Client-Computergerät150 identifiziert. Die virtuelle Kennung kann eine nach dem Zufallsprinzip erzeugte Zahl sein. Die virtuelle Kennung kann außerdem durch Anwenden einer Hashfunktion oder einer kryptographischen Funktion von dem Client-Computergerät150 zugeordneten Daten bestimmt werden. Ferner kann die virtuelle Kennung ein digitales Zertifikat oder einen öffentlichen Schlüssel beinhalten, die zur sicheren Kommunikation durch Verwendung eines PKI verwendet werden können. - Das Verfahren
400 beinhaltet zudem das Senden der virtuellen Kennung an das Dienstanbietergerät (ACT430 ). Wie zuvor im Zusammenhang mit1 -3 erläutert, kann die Verknüpfungsgenerierungskomponente120 die dem Client-Computergerät zugeordnete virtuelle Kennung an das Dienstanbietergerät160 senden (Kommunikation C8,3 ). Die virtuelle Kennung kann unter Verwendung von Datenpaketen (zum Beispiel in einem Nutzdatenabschnitt der Datenpakete) mittels der Schnittstelle115 und über das Netzwerk165 an das Dienstanbietergerät160 kommuniziert werden. Das Dienstanbietergerät 160 erstellt einen der virtuellen Kennung zugeordneten Datenbankdatensatz in der Client-Datenbank164 . Das Erstellen des Datensatzes in der Client-Datenbank164 kann das Erstellen eines Kontos für das Client-Computergerät150 beinhalten, um dem Dienstanbietergerät160 zu ermöglichen, dem Client-Computergerät150 die angeforderte Dienstleistung bereitzustellen. Die Verknüpfungsgenerierungskomponente120 kann die virtuelle Kennung ebenfalls als eine der Kennungen147 in dem Datenbehälter145 speichern. In einem Beispiel kann die Verknüpfungsgenerierungskomponente120 zusätzliche Informationen an das Dienstanbietergerät160 senden. Zum Beispiel kann die Verknüpfungsgenerierungskomponente120 dem Client-Computergerät150 zugeordnete Informationen senden. Ebenfalls kann die Verknüpfungsgenerierungskomponente120 Daten von einem oder mehreren Sensoren auf dem Client-Computergerät150 abfragen und die Daten zusammen mit der virtuellen Kennung senden. - Das Verfahren
400 beinhaltet das Empfangen einer Kommunikation der Erstellung eines Datensatzes (ACT435 ). Zum Beispiel empfängt das Datenverarbeitungssystem105 , wie in3 dargestellt, eine Kommunikation C11, die anzeigt, das ein Datensatz in der Client-Datenbank164 erstellt worden ist. Nach Empfangen der Datensatzerstellungskommunikation kann das Datenverarbeitungssystem105 das Empfangen zusätzlicher Anfragen von dem Client-Computergerät150 abwarten oder zusätzliche Daten von dem Dienstanbietergerät160 anfordern. -
5 zeigt ein Blockdiagramm eines exemplarischen Computersystems500 . Das Computersystem oder Computergerät500 kann das System100 oder dessen Komponenten, wie z. B. das Datenverarbeitungssystem105 , beinhalten oder verwendet werden, um diese zu implementieren. Das Datenverarbeitungssystem105 kann einen intelligenten persönlichen Assistenten oder einen sprachbasierten digitalen Assistenten beinhalten. Das Computersystem500 beinhaltet einen Bus505 oder eine andere Kommunikationskomponente zur Übertragung von Informationen sowie einen Prozessor510 oder eine Verarbeitungsschaltung, die mit dem Bus505 gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem500 kann außerdem einen oder mehrere Prozessoren510 oder Verarbeitungsschaltungen beinhalten, die mit dem Bus gekoppelt sind und der Verarbeitung von Informationen dienen. Das Computersystem500 beinhaltet ferner Hauptspeicher515 , wie z. B. Direktzugriffsspeicher (RAM) oder ein anderes dynamisches Speichergerät, das mit dem Bus505 gekoppelt ist, um Daten zu speichern, sowie Anweisungen, die vom Prozessor510 ausgeführt werden sollen. Der Hauptspeicher515 kann der Datenbehälter145 sein bzw. denselben beinhalten. Der Hauptspeicher515 kann bei Ausführung von Anweisungen durch den Prozessor510 ferner zum Speichern von Positionsdaten, temporären Variablen oder anderen mittelfristigen Informationen verwendet werden. Das Computersystem500 kann ferner einen Nur-Lese-Speicher (ROM)520 oder ein anderes statisches Speichergerät beinhalten, das mit dem Bus505 gekoppelt ist, um statische Informationen und Anweisungen für den Prozessor510 zu speichern. Ein Speichergerät525 , wie z. B. ein Solid-State-Gerät, eine magnetische oder optische Platte, kann mit dem Bus505 gekoppelt werden, um Informationen und Anweisungen dauerhaft zu speichern. Das Speichergerät525 kann den Datenbehälter145 beinhalten bzw. Teil desselben sein. - Das Computersystem
500 kann über den Bus505 mit einer Anzeige535 , wie z. B. einer Flüssigkristallanzeige (LCD) oder aktiven Matrixanzeige, gekoppelt sein, sodass sich einem Benutzer Informationen anzeigen lassen. Mit dem Bus505 kann ein Eingabegerät 530, wie beispielsweise eine Tastatur mit alphanumerischen und anderen Tasten, gekoppelt sein, damit sich ausgewählte Informationen und Befehle an den Prozessor510 übermitteln lassen. Das Eingabegerät530 kann eine Touchscreenanzeige535 beinhalten. Das Eingabegerät530 kann außerdem eine Cursorsteuerung, wie z. B. eine Maus, einen Trackball oder Pfeiltasten auf der Tastatur beinhalten, sodass sich Richtungsdaten und ausgewählte Befehle an den Prozessor510 übertragen und die Bewegung des Cursors auf der Anzeige535 steuern lassen. Die Anzeige535 kann beispielsweise ein Teil des Datenverarbeitungssystems 105, des Client-Computergeräts150 oder einer anderen Komponente von1 sein. - Die hierin beschriebenen Prozesse, Systeme und Verfahren können vom Computersystem
500 als Folge davon implementiert werden, dass der Prozessor510 einen im Hauptspeicher515 enthaltenen Anweisungssatz ausführt. Diese Anweisungen können von einem computerlesbaren Medium (wie z. B. Speichergerät525 ) in den Hauptspeicher515 gelesen werden. Die Ausführung des im Hauptspeicher515 enthaltenen Anweisungssatzes veranlasst das Computersystem500 , die hierin beschriebenen und dargestellten Prozesse auszuführen. Außerdem können in einer Multi-Prozessor-Anordnung ein oder mehrere Prozessoren dazu genutzt werden, die im Hauptspeicher515 enthaltenen Anweisungen auszuführen. Festverdrahtete 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
5 beschrieben worden ist, kann der Gegenstand, einschließlich der in dieser Spezifikation beschriebenen Vorgänge, in anderen Arten von digitalen elektronischen Schaltungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. - Für Situationen, in denen die hier erläuterten Systeme ggf. persönliche Informationen über Benutzer sammeln, oder persönliche Informationen nutzen, kann für die Benutzer eine Möglichkeit bereitgestellt werden, zu kontrollieren, ob Programme oder Funktionen, die persönliche Informationen (z. B. Informationen über das soziale Netzwerk eines Benutzers, soziale Handlungen oder Aktivitäten, eine Benutzerpräferenz oder den Standort eines Benutzers) sammeln, oder um zu kontrollieren, ob und/oder wie Inhalt von einem Inhaltsserver oder einem anderen Datenverarbeitungssystem empfangen wird, der für den Benutzer ggf. relevanter ist. Zusätzlich können gewisse Daten auf eine oder mehrere Weisen anonymisiert werden, bevor sie gespeichert oder verwendet werden, sodass personenbezogene Daten entfernt werden, wenn Parameter generiert werden. Eine Benutzeridentität kann beispielsweise anonymisiert werden, sodass keine persönlichen identifizierbaren Informationen für den Benutzer bestimmt werden können, oder ein geografischer Standort des Benutzers verallgemeinert werden kann, wobei Standortinformationen (wie beispielsweise Stadt, Postleitzahl oder Bundesland) entnommen werden, sodass ein bestimmter Standort eines Benutzers nicht festgestellt werden kann. Somit kann der Benutzer Kontrolle darüber haben, wie Informationen über ihn oder sie gesammelt und von einem Inhaltsserver verwendet werden.
- Der Gegenstand und die in dieser Spezifikation beschriebenen Vorgänge können in digitalen elektronischen Schaltkreisanordnungen oder in Computersoftware, Firmware oder Hardware, darunter auch in den in dieser Spezifikation offenbarten Strukturen und deren strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer derselben, implementiert werden. Der in dieser Beschreibung beschriebene Gegenstand kann als ein oder mehrere Computerprogramme implementiert werden, z. B. als eine oder mehrere Schaltungen von Computerprogrammanweisungen, die auf einem oder mehreren Computerspeichermedien kodiert sind, um von Datenverarbeitungsvorrichtungen ausgeführt zu werden bzw. den Betrieb derselben zu steuern. Alternativ oder ergänzend dazu können die Programmanweisungen in einem künstlich erzeugten sich ausbreitenden Signal, wie beispielsweise einem maschinell erzeugten elektrischen, optischen oder elektromagnetischen Signal, kodiert sein, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu kodieren, damit diese von einer Datenverarbeitungsvorrichtung ausgeführt werden. Ein Computerspeichermedium kann ein computerlesbares Speichergerät, ein computerlesbares Speichersubstrat, ein frei adressierbares oder serielles Zugriffsspeicher-Array oder -Gerät oder eine Kombination derselben sein bzw. darin enthalten sein. Obwohl ein Computerspeichermedium kein sich ausbreitendes Signal ist, kann ein Computerspeichermedium jedoch eine Quelle oder ein Ziel von Computerprogrammanweisungen sein, die in einem künstlich erzeugten sich ausbreiteten Signal kodiert sind. Das Computerspeichermedium kann zudem eine oder mehrere separate Komponenten oder Medien sein (z. B. mehrere CDs, Datenträger oder andere Speichergeräte bzw. darin 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 oder von anderen Quellen empfangen werden.
- Die Begriffe „Datenverarbeitungssystem“, „Computergerät, „Komponente“ oder „Datenverarbeitungsvorrichtung“ umfassen verschiedene Geräte, Vorrichtungen und Maschinen zur Verarbeitung von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Computers, eines oder mehrerer Systeme auf einem Chip oder mehrerer derselben oder Kombinationen der vorstehenden. Die Vorrichtung kann eine Spezial-Logikschaltung, wie z. B. eine FPGA (feldprogrammierbare Universalschaltung) oder eine ASIC (anwendungsspezifische integrierte Schaltung), beinhalten. Das Gerät kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm, wie z. B. Code, erzeugt, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, einen virtuellen Computer oder eine Kombination derselben, darstellt. Das Gerät und die Ausführungsumgebung können verschiedene Computermodell-Infrastrukturen, wie z. B. Webdienste, sowie verteilte Rechen- und räumlich verteilte Rechen-Infrastrukturen, realisieren. Beispielsweise kann die Direktaktions-API
135 , die Inhaltsauswahlelementkomponente125 , die Verknüpfungsgenerierungskomponente120 oder die NLP-Komponente110 und andere Komponenten des Datenverarbeitungssystems105 eine oder mehrere Datenverarbeitungsvorrichtungen, Systeme, Computergeräte oder Prozessoren beinhalten oder teilen. - Ein Computerprogramm (auch bezeichnet als ein 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 bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
- Die in dieser Spezifikation beschriebenen Prozesse und logischen Abläufe können von einem oder mehreren programmierbaren Prozessoren durchgeführt werden, die ein oder mehrere Computerprogramme (z. B. Komponenten des Datenverarbeitungssystems 105) ausführen, um durch Verarbeiten von Eingabedaten und Erzeugen von Ausgaben Vorgänge durchzuführen. Die Prozesse und Logikabläufe können zudem durch eine Spezial-Logikschaltung, 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 Clientcomputer beinhaltet, der eine grafische Benutzeroberfläche oder einen Webbrowser aufweist, durch den ein Benutzer mit einer in dieser Beschreibung beschriebenen Implementierung des Gegenstandes interagieren kann, oder eine Kombination aus einer oder mehreren jener Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden 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 System500 , 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 Netzwerk165 ). Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und die eine Client-Server-Beziehung zueinander aufweisen. In einigen Implementierungen sendet ein Server Daten (z. B. ein Inhaltselement darstellende Datenpakete) an ein Client-Gerät (z. B. zu Zwecken des Anzeigens von Daten und Empfangens von Benutzereingaben von einem Benutzer, der mit dem Client-Gerät interagiert). Durch das Client-Gerät generierte Daten (z. B. ein Ergebnis von Benutzerinteraktion) können von dem Client-Gerät an dem Server empfangen werden (z. B. durch das Datenverarbeitungssystem105 von dem Client-Computergerät150 oder dem Inhaltsanbieter-Computergerät155 oder dem Dienstanbietergerät160 empfangen werden). - 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 bei sämtlichen Implementierungen und die beschriebenen Programmkomponenten können in einem einzigen Hardware- oder Softwareprodukt enthalten sein. Die NLP-Komponente
110 , die Inhaltsauswahlelementkomponente125 oder die Verknüpfungsgenerierungskomponente 120 können beispielsweise eine einzelne Komponente, eine App oder ein Programm oder ein Logikgerät mit einer oder mehreren Verarbeitungsschaltungen oder Teil von einem oder mehreren Servern des Datenverarbeitungssystems105 sein. - Nachdem nunmehr einige veranschaulichende Implementierungen beschrieben wurden, ist es offensichtlich, dass das Vorstehende der Veranschaulichung und nicht als Einschränkung dienen soll, 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änkend betrachtet werden. Die Verwendung der Wörter „einschließlich“, „umfassend“, „aufweisend“, „enthaltend“, „einbeziehend“, „gekennzeichnet durch“, „dadurch gekennzeichnet, dass“ und Variationen derselben, soll hier bedeuten, dass die danach aufgelisteten Gegenstände, Äquivalente derselben und zusätzliche Gegenstände sowie alternative Implementierungen, die ausschließlich aus den danach aufgelisteten Gegenständen bestehen, mit umfasst sind. In einer Implementierung bestehen die hierin beschriebenen Systeme und Verfahren aus einem, aus jeder Kombination von mehr als einem oder aus allen der hierin beschriebenen Elemente, Wirkungsweisen oder Komponenten.
- Jegliche 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, während jegliche Bezugnahmen auf eine Implementierung oder ein Element oder eine Wirkungsweise beliebiger Art, auf die hierin in der Mehrzahl verwiesen wird, auch Implementierungen, einschließlich eines lediglich einzelnen Elements, umfassen können. Bezugnahmen auf die Singular- oder die Pluralform sind nicht gedacht, die vorliegend offenbarten Systeme und Verfahren, deren Komponenten, Wirkungsweisen oder Elemente auf einzelne oder mehrfache Konfigurationen einzuschränken. Bezugnahmen auf eine Wirkungsweise oder ein Element jeglicher Art, auf Basis von Informationen, Wirkungsweisen oder Elementen einer beliebigen Art können Implementierungen beinhalten, deren Wirkungsweise oder deren Element zumindest teilweise auf Informationen, Wirkungsweisen oder Elementen jeglicher Art basiert.
- Jegliche der hierin offenbarten Implementierungen können mit beliebigen anderen Implementierungen oder Ausführungsformen kombiniert werden, wobei die Bezugnahmen auf „eine Implementierung“, „einige Implementierungen“, „die eine Implementierung“ oder dergleichen einander nicht zwangsläufig ausschließen und angeben sollen, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die im Zusammenhang mit der Implementierung beschrieben wird, in mindestens einer Implementierung oder Ausführungsform enthalten sein kann. Derartige Begriffe in der hierin verwendeten Form beziehen sich nicht notwendigerweise auf dieselbe Implementierung. Jede Implementierung kann einschließlich oder ausschließlich und auf jede Weise, die mit den hierin offenbarten Aspekten und Implementierungen im Einklang steht, mit jeder anderen Implementierung kombiniert werden.
- Verweise auf „oder“ können als einschließend ausgelegt werden, sodass alle Begriffe, die mithilfe von „oder“ beschrieben werden, einen beliebigen einzelnen, mehr als einen oder alle beschriebenen Begriffe angeben können. Eine Bezugnahme auf „mindestens eines von ‚A‘ und ‚B‘“ kann beispielsweise nur ‚A‘, nur ‚B‘ sowie sowohl ‚A‘ und ‚B‘ beinhalten. Diese Bezugnahmen, die in Verbindung mit „umfassend“ oder anderer offener Terminologie verwendet werden, können zusätzliche Elemente einbeziehen.
- Wenn technische Merkmale in den Zeichnungen, der ausführlichen Beschreibung oder einem beliebigen Anspruch von Bezugszeichen gefolgt werden, wurden die Bezugszeichen eingebunden, um die Verständlichkeit der Zeichnungen, ausführlichen Beschreibung oder Ansprüche zu erhöhen. Dementsprechend haben weder jene Bezugszeichen noch deren Abwesenheit eine einschränkende Wirkung auf den Umfang der Anspruchselemente.
- Die vorhergehenden Implementierungen werden eher als anschaulich denn als einschränkend für die hierin beschriebenen Systeme und Verfahren betrachtet. Der Geltungsbereich der hierin beschriebenen Systeme und Verfahren wird daher eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben, wobei Änderungen, welche innerhalb der Bedeutungen und des Bereichs der Äquivalenz der Ansprüche fallen, daher hierin eingeschlossen sind.
- Folgendes wird beansprucht:
- ZITATE ENTHALTEN IN DER BESCHREIBUNG
- Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
- Zitierte Patentliteratur
-
- US 15/395674 [0001]
Claims (20)
- System zum Bereitstellen von kennungsabhängiger Vorgangsverarbeitung von paketbasierter Datenkommunikation zwischen einem Client-Computergerät und einem Dienstanbietergerät, 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 Eingabeaudiosignal umfassen, das von einem Sensor eines eine Gerätekennung aufweisenden Client-Computergeräts erkannt wird; Parsen des Eingabeaudiosignals durch die Prozessorkomponente für natürliche Sprache, um eine Anfrage und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren; eine Inhaltsauswahlelementkomponente, die von dem Datenverarbeitungssystem ausgeführt wird, um das durch den Prozessor für natürliche Sprache identifizierte Auslöserschlüsselwort zu empfangen und basierend auf dem Auslöserschlüsselwort ein Inhaltselement über einen Echtzeit-Inhaltsauswahlprozess auszuwählen; eine Verknüpfungsgenerierungskomponente, um: eine Suche nach einer Gerätekennung des Client-Computergeräts in einer Datenbank durchzuführen, in der Kontokennungen gespeichert sind, welche für ein dem Inhaltselement entsprechendes Dienstanbietergerät erstellt wurden; ein Nichtvorhandenseins der Gerätekennung des Client-Computergeräts in der Datenbank basierend auf einem in Reaktion auf die Suche empfangenen Null-Befehls zu bestimmen; eine virtuelle Kennung für das Client-Gerät zu erzeugen und die virtuelle Kennung mit der Gerätekennung zu verknüpfen; und Datenpakete, die die virtuelle Kennung in einem Nutzdatenabschnitt tragen, an das Dienstanbietergerät zu routen, um das Dienstanbietergerät zu veranlassen, ein Konto für das Client-Computergerät basierend auf der virtuellen Kennung zu erstellen; und Empfangen durch das Datenverarbeitungssystem einer Anzeige von dem Dienstanbietergerät, dass das Dienstanbietergerät das Konto unter Verwendung der virtuellen Kennung erstellt hat und einen Vorgang mit dem Client-Computergerät durchgeführt hat.
- System nach
Anspruch 1 , umfassend: Senden, durch die Verknüpfungsgenerierungskomponente, von Client-Computergerät-Informationen an das Dienstanbietergerät, wobei sich die Client-Computergerät-Informationen von der Gerätekennung unterscheiden. - System nach
Anspruch 2 , umfassend: Kommunizieren der Verknüpfungsgenerierungskomponente mit dem Client-Computergerät, um Client-Computergerät-Informationen zu erhalten. - System nach
Anspruch 2 , umfassend: Kommunizieren der Verknüpfungsgenerierungskomponente mit dem Client-Computergerät, um Client-Computergerät-Informationen basierend auf Daten von einem oder mehreren in dem Client-Computergerät enthaltenen Sensoren zu erhalten. - System nach
Anspruch 2 , umfassend: Erzeugen, durch die Verknüpfungsgenerierungskomponente, einer die Client-Computergerät-Informationen beinhaltenden Datenstruktur und Routen der Datenpakete, die in dem Nutzdatenabschnitt die Datenstruktur tragen. - System nach
Anspruch 1 , umfassend: Senden, durch die Verknüpfungsgenerierungskomponente, einer zeitbasierten Gültigkeitsinformation der virtuellen Kennung. - System nach
Anspruch 6 , umfassend: Anweisen, durch die Verknüpfungsgenerierungskomponente, des Dienstanbietergeräts, das Konto für das Client-Computergerät in Reaktion auf das Ungültigwerden der virtuellen Kennung zu löschen. - System nach
Anspruch 1 , wobei die Suche von dem Dienstanbietergerät durchgeführt wird. - System nach
Anspruch 1 , umfassend: Durchführen der Suche durch die Verknüpfungsgenerierungskomponente. - System nach
Anspruch 1 , umfassend: Erzeugen der virtuellen Kennung durch die Verknüpfungsgenerierungskomponente unter Verwendung mindestens einer aus einer Hashfunktion und einer kryptographischen Funktion. - System nach
Anspruch 1 , umfassend: Erzeugen der ein digitales Zertifikat beinhaltenden virtuellen Kennung durch die Verknüpfungsgenerierungskomponente. - Verfahren zum Aufrufen von Aktionen für kennungsabhängige Vorgangsverarbeitung von paketbasierter Datenkommunikation zwischen einem Client-Computergerät und einem Dienstanbietergerät unter Verwendung eines Datenverarbeitungssystems, umfassend: Empfangen, durch eine von dem Datenverarbeitungssystem ausgeführte Prozessorkomponente für natürliche Sprache, eines einem Sprachbefehl entsprechenden Audiosignals von dem Client-Computergerät; Verarbeiten des Audiosignals durch die Prozessorkomponente für natürliche Sprache, um eine Anfrage nach einem Dienst und ein der Anfrage entsprechendes Auslöserschlüsselwort zu identifizieren; Auswählen, durch eine von dem Datenverarbeitungssystem ausgeführte Inhaltsauswahlelementkomponente und basierend auf dem Schlüsselwort, eines dem mit dem Datenverarbeitungssystem kommunikativ gekoppelten Dienstanbietergeräts entsprechenden Inhaltselements; Bestimmen, durch eine durch das Datenverarbeitungssystem ausgeführte Verknüpfungsgenerierungskomponente, des Nichtvorhandenseins eines Datenbank Datensatzes, der einer dem Client-Computergerät zugeordneten Client-Computergerät-Kennung entspricht, in einer dem Dienstanbietergerät zugeordneten Datenbank; Erzeugen, durch die Verknüpfungsgenerierungskomponente und in Reaktion auf das Bestimmen des Nichtvorhandenseins, einer dem Client-Computergerät zugeordneten virtuellen Kennung, wobei sich die virtuelle Kennung von der Client-Computergerät-Kennung unterscheidet; Senden, durch die Verknüpfungsgenerierungskomponente, der virtuellen Kennung an das Dienstanbietergerät; und Empfangen, durch die Verknüpfungsgenerierungskomponente, einer ersten Nachricht von dem Dienstanbietergerät, welche das Erstellen eines der virtuellen Kennung entsprechenden Datenbankdatensatzes anzeigt.
- Verfahren nach
Anspruch 12 , ferner umfassend: Senden, durch die Verknüpfungsgenerierungskomponente und in Reaktion auf das Bestimmen des Nichtvorhandenseins, von Client-Computergerät-Informationen an das Dienstanbietergerät, wobei sich die Client-Computergerät-Informationen von der Client-Computergerät-Kennung unterscheiden. - Verfahren nach
Anspruch 13 , umfassend: Kommunizieren, durch die Verknüpfungsgenerierungskomponente, mit dem Client-Computergerät, um Client-Computergerät-Informationen zu erhalten, wobei Senden von Client-Computergerät-Informationen an das Dienstanbietergerät das Senden der von dem Client-Computergerät erhaltenen Client-Computergerät-Informationen umfasst. - Verfahren nach
Anspruch 13 , umfassend: Kommunizieren, durch die Verknüpfungsgenerierungskomponente, mit dem Client-Computergerät, um Client-Computergerät-Informationen basierend auf Daten von einem oder mehreren in dem Client-Computergerät enthaltenen Sensoren zu erhalten. - Verfahren nach
Anspruch 13 , umfassend: Erzeugen, durch die Verknüpfungsgenerierungskomponente, einer die Client-Computergerät-Informationen beinhaltenden Datenstruktur, wobei Senden, durch die Verknüpfungsgenerierungskomponente, der Client-Computergerät-Informationen an das Dienstanbietergerät das Senden der Datenstruktur an das Dienstanbietergerät beinhaltet. - Verfahren nach
Anspruch 13 , umfassend: Senden, durch die Verknüpfungsgenerierungskomponente, von Anweisungen an das Dienstanbietergerät, den der virtuellen Kennung entsprechenden Datenbankdatensatz zu erstellen. - Verfahren nach
Anspruch 17 , wobei Senden, durch die Verknüpfungsgenerierungskomponente, von Anweisungen an das Dienstanbietergerät, den der virtuellen Kennung entsprechenden Datenbankdatensatz zu erstellen, das Senden von zeitbasierten Gültigkeitsinformationen der virtuellen Kennung umfasst. - Verfahren nach
Anspruch 18 , umfassend: Senden, durch die Verknüpfungsgenerierungskomponente und in Reaktion auf eine Bestimmung, dass die virtuelle Kennung nicht mehr gültig ist, von Anweisungen an das Dienstanbietergerät, den der virtuellen Kennung entsprechenden Datenbankdatensatz zu löschen. - Verfahren nach
Anspruch 12 , umfassend: Erzeugen der dem Client-Computergerät zugeordneten virtuellen Kennung unter Verwendung mindestens einer aus einer Hashfunktion und einer kryptographischen Funktion.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/395,674 | 2016-12-30 | ||
US15/395,674 US10437928B2 (en) | 2016-12-30 | 2016-12-30 | Device identifier dependent operation processing of packet based data communication |
PCT/US2017/049738 WO2018125301A1 (en) | 2016-12-30 | 2017-08-31 | Device identifier dependent operation processing of packet based data communication |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112017000169T5 true DE112017000169T5 (de) | 2018-08-23 |
Family
ID=59923553
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE212017000055.4U Active DE212017000055U1 (de) | 2016-12-30 | 2017-08-31 | Gerätekennungsabhängige Vorgangsverarbeitung von paketbasierter Datenkommunikation |
DE112017000169.2T Pending DE112017000169T5 (de) | 2016-12-30 | 2017-08-31 | Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE212017000055.4U Active DE212017000055U1 (de) | 2016-12-30 | 2017-08-31 | Gerätekennungsabhängige Vorgangsverarbeitung von paketbasierter Datenkommunikation |
Country Status (8)
Country | Link |
---|---|
US (3) | US10437928B2 (de) |
EP (3) | EP4090052A1 (de) |
JP (2) | JP6559802B2 (de) |
KR (2) | KR102029277B1 (de) |
CN (2) | CN108521858B (de) |
DE (2) | DE212017000055U1 (de) |
GB (2) | GB2602598B (de) |
WO (1) | WO2018125301A1 (de) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10199051B2 (en) | 2013-02-07 | 2019-02-05 | Apple Inc. | Voice trigger for a digital assistant |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
JP6442642B2 (ja) * | 2016-03-07 | 2018-12-19 | 株式会社日立製作所 | 計算機システムを管理する管理システム及び管理方法 |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179549B1 (en) * | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US11343868B2 (en) * | 2017-06-06 | 2022-05-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for establishing a connection between a neutral host network and one or more virtual radio access networks |
CN114491226A (zh) * | 2017-06-13 | 2022-05-13 | 谷歌有限责任公司 | 建立与非注册资源的基于音频的网络会话 |
US11153244B1 (en) * | 2017-08-03 | 2021-10-19 | United Services Automobile Association (Usaa) | Digital conversations |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
CN111356999B (zh) * | 2018-10-22 | 2023-10-03 | 谷歌有限责任公司 | 经由音频信号识别网络源 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11538482B2 (en) | 2019-04-25 | 2022-12-27 | Lg Electronics Inc. | Intelligent voice enable device searching method and apparatus thereof |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
CN111865558A (zh) * | 2019-05-19 | 2020-10-30 | 北京骑胜科技有限公司 | 服务数据处理方法、装置、电子设备及存储介质 |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
CN112995333B (zh) * | 2021-04-02 | 2023-05-23 | 深圳市大富网络技术有限公司 | 一种远程文件激活方法、系统及相关装置 |
CN115022342B (zh) * | 2022-05-31 | 2023-12-05 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN115086046B (zh) * | 2022-06-20 | 2024-01-12 | 支付宝(杭州)信息技术有限公司 | 智能交互的安全部署方法和系统 |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2317709A (en) * | 1941-12-10 | 1943-04-27 | Westinghouse Electric & Mfg Co | Refrigeration apparatus |
FI2405U1 (fi) * | 1995-12-20 | 1996-04-23 | Finland Telecom Oy | Järjestelmä erityishinnoiteltujen puheluiden muodostamiseksi televerkossa |
US6513069B1 (en) * | 1996-03-08 | 2003-01-28 | Actv, Inc. | Enhanced video programming system and method for providing a distributed community network |
CN1294812A (zh) * | 1996-11-18 | 2001-05-09 | Mci全球通迅公司 | 一种通信系统体系结构 |
EP1023799B1 (de) * | 1997-10-16 | 2002-07-17 | Thomson Licensing S.A. | Verfahren zum setzen von prioritäten für daten in bidirektionellem rundfunk |
EP0981246A4 (de) | 1998-03-16 | 2001-05-30 | Seiko Epson Corp | Maschine und system zum drucken von photographischen bildern,komputerlesbaresspeichermedium mit gespeichertem druckprogramm für photographischen bildern |
US6275806B1 (en) | 1999-08-31 | 2001-08-14 | Andersen Consulting, Llp | System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters |
US6684249B1 (en) | 2000-05-26 | 2004-01-27 | Sonicbox, Inc. | Method and system for adding advertisements over streaming audio based upon a user profile over a world wide area network of computers |
US6857007B1 (en) | 2000-08-30 | 2005-02-15 | Bloomfield Enterprises, Llc | Personal digital assistant facilitated communication system |
KR100464755B1 (ko) * | 2002-05-25 | 2005-01-06 | 주식회사 파수닷컴 | 이메일 주소와 하드웨어 정보를 이용한 사용자 인증방법 |
US7853255B2 (en) | 2004-04-16 | 2010-12-14 | Broadcom Corporation | Digital personal assistance via a broadband access gateway |
US8195133B2 (en) | 2005-09-14 | 2012-06-05 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
KR101370889B1 (ko) * | 2005-12-28 | 2014-03-10 | 엘지전자 주식회사 | 디지털 방송 시스템 및 처리 방법 |
CN1956459A (zh) * | 2005-10-27 | 2007-05-02 | 日电(中国)有限公司 | 虚拟用户标识符系统和方法 |
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 |
BRMU8702846U2 (pt) | 2006-02-10 | 2010-06-15 | Spinvox Ltd | sistema de mensagem de voz em escala de massa, independente de usuário, independente de dispositivo |
US8102812B2 (en) * | 2006-03-21 | 2012-01-24 | Motorola Mobility, Inc. | Methods and apparatus for data packet transmission on a network |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US20080096507A1 (en) * | 2006-10-24 | 2008-04-24 | Esa Erola | System, apparatus and method for creating service accounts and configuring devices for use therewith |
JP2008226148A (ja) | 2007-03-15 | 2008-09-25 | Ricoh Co Ltd | 認証システム、中継サーバ、認証方法、およびプログラム |
JP2009048446A (ja) * | 2007-08-21 | 2009-03-05 | Nippon Telegr & Teleph Corp <Ntt> | 要求サービス提案装置、システム、方法、及びプログラム |
US8145561B1 (en) | 2009-01-05 | 2012-03-27 | Sprint Communications Company L.P. | Phone usage pattern as credit card fraud detection trigger |
FR2942091A1 (fr) * | 2009-02-10 | 2010-08-13 | Alcatel Lucent | Communication multimedia dans un environnement virtuel |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
EP2317709B1 (de) | 2009-10-28 | 2012-02-29 | Research In Motion Limited | Automatische Benutzerauthentifizierung und -identifizierung für mobile Sofortnachrichtenanwendung |
US20110166992A1 (en) * | 2010-01-06 | 2011-07-07 | Firethorn Holdings, Llc | System and method for creating and managing a stored value account associated with a client unique identifier |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8375208B2 (en) * | 2010-05-20 | 2013-02-12 | Verizon Patent And Licensing Inc. | Method and apparatus for providing content aggregation in support of virtual channels |
US20120036075A1 (en) * | 2010-08-09 | 2012-02-09 | Microsoft Corporation | Determining mobile account to apply marketplace charges |
US8607054B2 (en) * | 2010-10-15 | 2013-12-10 | Microsoft Corporation | Remote access to hosted virtual machines by enterprise users |
US10142687B2 (en) * | 2010-11-07 | 2018-11-27 | Symphony Advanced Media, Inc. | Audience content exposure monitoring apparatuses, methods and systems |
US20120210276A1 (en) * | 2011-02-11 | 2012-08-16 | Sony Network Entertainment International Llc | System and method to store a service or content list for easy access on a second display |
WO2013001573A1 (ja) * | 2011-06-29 | 2013-01-03 | パイオニア株式会社 | アカウント管理システム、アカウント管理システムの制御方法およびプログラム |
US8959082B2 (en) * | 2011-10-31 | 2015-02-17 | Elwha Llc | Context-sensitive query enrichment |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9280973B1 (en) * | 2012-06-25 | 2016-03-08 | Amazon Technologies, Inc. | Navigating content utilizing speech-based user-selectable elements |
US9170834B2 (en) * | 2012-10-31 | 2015-10-27 | Google Inc. | Metadata-based virtual machine configuration |
CN103021403A (zh) * | 2012-12-31 | 2013-04-03 | 威盛电子股份有限公司 | 基于语音识别的选择方法及其移动终端装置及信息系统 |
US10199051B2 (en) | 2013-02-07 | 2019-02-05 | Apple Inc. | Voice trigger for a digital assistant |
EP2824891A1 (de) * | 2013-07-12 | 2015-01-14 | Twinlife SAS | Verteiltes programmierbares Verbindungsverfahren zur Herstellung von Peer-to-Peer-Interaktionen |
US9838536B2 (en) * | 2013-09-30 | 2017-12-05 | Elwha, Llc | Mobile device sharing facilitation methods and systems |
JP6071847B2 (ja) | 2013-11-06 | 2017-02-01 | 株式会社東芝 | 認証システム、方法及びプログラム |
JP6111186B2 (ja) | 2013-12-03 | 2017-04-05 | 日本電信電話株式会社 | 分散情報連携システムとそのデータ操作方法及びプログラム |
US20170092278A1 (en) | 2015-09-30 | 2017-03-30 | Apple Inc. | Speaker recognition |
US9928840B2 (en) | 2015-10-16 | 2018-03-27 | Google Llc | Hotword recognition |
US9747926B2 (en) | 2015-10-16 | 2017-08-29 | Google Inc. | Hotword recognition |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
-
2016
- 2016-12-30 US US15/395,674 patent/US10437928B2/en active Active
-
2017
- 2017-08-31 GB GB2204190.9A patent/GB2602598B/en active Active
- 2017-08-31 CN CN201780001350.1A patent/CN108521858B/zh active Active
- 2017-08-31 DE DE212017000055.4U patent/DE212017000055U1/de active Active
- 2017-08-31 EP EP22183428.6A patent/EP4090052A1/de active Pending
- 2017-08-31 KR KR1020177031463A patent/KR102029277B1/ko active IP Right Grant
- 2017-08-31 JP JP2017556889A patent/JP6559802B2/ja active Active
- 2017-08-31 WO PCT/US2017/049738 patent/WO2018125301A1/en active Application Filing
- 2017-08-31 EP EP17771621.4A patent/EP3360311B1/de active Active
- 2017-08-31 CN CN202110073402.4A patent/CN112883412A/zh active Pending
- 2017-08-31 DE DE112017000169.2T patent/DE112017000169T5/de active Pending
- 2017-08-31 KR KR1020197028588A patent/KR102161681B1/ko active IP Right Grant
- 2017-08-31 GB GB1803235.9A patent/GB2564506B/en active Active
- 2017-08-31 EP EP20180386.3A patent/EP3739850B1/de active Active
-
2019
- 2019-07-17 JP JP2019131863A patent/JP6776411B2/ja active Active
- 2019-09-05 US US16/561,997 patent/US11334713B2/en active Active
-
2022
- 2022-05-09 US US17/739,412 patent/US20220335214A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20180091708A (ko) | 2018-08-16 |
GB2602598B (en) | 2022-12-21 |
JP6776411B2 (ja) | 2020-10-28 |
GB202204190D0 (en) | 2022-05-11 |
WO2018125301A1 (en) | 2018-07-05 |
EP3360311A1 (de) | 2018-08-15 |
US11334713B2 (en) | 2022-05-17 |
US20180189258A1 (en) | 2018-07-05 |
DE212017000055U1 (de) | 2018-10-01 |
GB2564506A (en) | 2019-01-16 |
EP3739850B1 (de) | 2022-11-02 |
EP4090052A1 (de) | 2022-11-16 |
EP3360311B1 (de) | 2020-06-17 |
CN108521858A (zh) | 2018-09-11 |
JP6559802B2 (ja) | 2019-08-14 |
KR102029277B1 (ko) | 2019-10-07 |
CN112883412A (zh) | 2021-06-01 |
JP2019197582A (ja) | 2019-11-14 |
CN108521858B (zh) | 2021-02-05 |
US20190392033A1 (en) | 2019-12-26 |
GB201803235D0 (en) | 2018-04-11 |
US10437928B2 (en) | 2019-10-08 |
US20220335214A1 (en) | 2022-10-20 |
GB2564506B (en) | 2022-05-11 |
KR20190114023A (ko) | 2019-10-08 |
KR102161681B1 (ko) | 2020-10-05 |
JP2019506642A (ja) | 2019-03-07 |
GB2602598A (en) | 2022-07-06 |
EP3739850A1 (de) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112017000169T5 (de) | Gerätekennungsabhängige vorgangsverarbeitung von paketbasierter datenkommunikation | |
DE112017000202T5 (de) | Datenstruktur-Pooling von sprachaktivierten Datenpaketen | |
DE112017000122T5 (de) | Natürliche Sprachverarbeitung für den Sitzungsaufbau mit Serviceprovidern | |
DE112017000141T5 (de) | Selektives sensorabfragen | |
DE112017000139T5 (de) | Modulation von paketierten Audiosignalen | |
DE112017000092T5 (de) | Sequenzabhängige vorgangsverarbeitung von paketbasierten datennachrichtenübertragungen | |
DE212017000053U1 (de) | Sequenzabhängige Datennachrichtenkonsolidierung in einer sprachaktivierten Computernetzwerkumgebung | |
DE212017000294U1 (de) | Authentifizierung von paketierten Audiosignalen | |
DE112017000131T5 (de) | Rückmeldungssteuerung für Datenübertragungen | |
DE102017131378A1 (de) | Modifikation einer audiobasierten Computerprogrammausgabe | |
DE202015009254U1 (de) | Automatisch erzeugende ausführungssequenzen für workflows | |
DE112017000142T5 (de) | Multimodale übertragung von paketierten daten | |
DE212017000068U1 (de) | Einrichten von audio-basierten Netzwerksitzungen mit nicht registrierten Ressourcen | |
DE102017131382A1 (de) | Ausgleichen von Modifikationen einer audiobasierten Computerprogrammausgabe | |
DE102017131383A1 (de) | Ausgleichen von Modifikationen einer audiobasierten Computerprogrammausgabe | |
DE102017131381A1 (de) | Validieren der Modifikation einer audiobasierten Computerprogrammausgabe | |
DE102017121780B4 (de) | Hierarchische Annotation von Dialogakten | |
DE112015004704T5 (de) | Identifizieren von Lernsituationen für die Kontextsuche |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KASTEL, STEFAN, DIPL.-PHYS.UNIV., DE Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KILBURN & STRODE LLP, GB Representative=s name: KILBURN & STRODE LLP, NL |
|
R082 | Change of representative |
Representative=s name: KILBURN & STRODE LLP, NL |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication |