IP Library Granted Patent US 10,437,928
Granted Patent B2
US 10,437,928 · App. 15/395,674 · Granted Oct 8, 2019

Device identifier dependent operation processing of packet based data communication

Inventors: Gaurav Bhaya (Sunnyvale, CA); Robert Stets (Mountain View, CA)
Assignee: GOOGLE LLC
G06F17/2705G06F21/6254G10L17/22H04L67/327G10L15/26
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,437,928
App. No.
15/395,674
Granted
Oct 8, 2019
Kind
B2
Abstract

Identifier dependent operation processing of packet based data communication is provided. A natural language processor component can parse an input audio signal to identify a request and a trigger keyword. A content selector component can select, based on the request or trigger keyword, a content item. A link generation component can determine whether the client computing device has an account or a record in a database associated with the service provider device. In the absence of the record or account, the link generation device generates and sends a virtual identifier to the service provider device with instructions to generate an account in the database using the virtual identifier. Once the account is created, the service provider device can communicate with the client computing device.

Claims (59)

1. A system to provide identifier dependent operation processing of packet based data communication between a client computing device and a service provider device, comprising:

a natural language processor component executed by a data processing system to receive, via an interface of the data processing system, data packets comprising a first input audio signal detected by a sensor of a client computing device having a device identifier;

the natural language processor component to parse the first input audio signal to identify a first request and a first trigger keyword corresponding to the first request;

a content selector component executed by the data processing system to receive the first trigger keyword identified by the natural language processor component and to select, based on the first trigger keyword, a plurality of content items via a real-time content selection process;

an audio signal generator component executed by the data processing system to generate an output audio signal including information of the plurality of content items;

an interface executed by the data processing system to transmit data packets comprising the output audio signal to the client computing device;

the natural language processor component to receive data packets comprising a second input audio signal detected by the sensor of the client computing device, and to parse the second input audio signal to identify a second request or a second trigger keyword indicating a selection of a content item from the plurality of content items;

a link generation component to:

perform a lookup of a device identifier of the client computing device in a database storing account identifiers established for a service provider device corresponding to the content item;

determine an absence of the device identifier of the client computing device in the database based on a null command received in response to the lookup;

generate, a virtual identifier for the client computing device and link the virtual identifier to the device identifier; and

route data packets that carry, in a payload section, the virtual identifier to the service provider device to cause the service provider device to establish an account for the client computing device based on the virtual identifier; and

the data processing system to receive, from the service provider device, an indication that the service provider device established the account using the virtual identifier, and performed an operation with the client computing device.

2. The system of claim 1 , comprising:

the link generation component to send client computing device information to the service provider device, wherein the client computing device information is distinct from the device identifier.

3. The system of claim 2 , comprising:

the link generation component to communicate with the client computing device to obtain client computing device information.

4. The system of claim 2 , comprising:

the link generation component to communicate with the client computing device to obtain client computing device information based on data from one or more sensors included in the client computing device.

5. The system of claim 2 , comprising:

the link generation component to generate a data structure including the client computing device information, and to route the data packets that carry, in the payload section, the data structure.

6. The system of claim 1 , comprising:

the link generation component to send a time based validity information of the virtual identifier.

7. The system of claim 6 , comprising:

the link generation component to instruct the service provider device to delete the account for the client computing device responsive to invalidation of the virtual identifier.

8. The system of claim 1 , wherein the lookup is carried out by the service provider device.

9. The system of claim 1 , comprising:

the link generation component to carry out the lookup.

10. The system of claim 1 , comprising:

the link generation component to generate the virtual identifier using at least one of a hash function and a cryptographic function.

11. The system of claim 1 , comprising:

the link generation component to generate the virtual identifier including a digital certificate.

12. A method to invoke actions for identifier dependent operation processing of packet based data communication between a client computing device and a service provider device using a data processing system, comprising:

receiving, by a natural language processor component executed by the data processing system, from the client computing device, a first audio signal corresponding to a first voice command;

processing, by the natural language processor component, the first audio signal to identify a first request for a service and a first trigger keyword corresponding to the first request;

selecting, by a content selector component executed by the data processing system, based on the first trigger keyword, a plurality of content items;

generating, by an audio signal generator component executed by the data processing system, an output audio signal including information of the plurality of content items;

transmitting, by an interface executed by the data processing system, data packets comprising the output audio signal to the client computing device;

receiving, by the natural language processor component, from the client computing device, a second audio signal;

processing, by the natural language processor component, the second audio signal to identify a second request or a second trigger keyword indicating a selection of a content item from the plurality of content items;

determining, by a link generation component executed by the data processing system, an absence of a database record corresponding to a client computing device identifier associated with the client computing device in a database associated with the service provider device corresponding to the content item;

generating, by the link generation component responsive to determining the absence, a virtual identifier associated with the client computing device, the virtual identifier being distinct from the client computing device identifier;

sending, by the link generation component, the virtual identifier to the service provider device; and

receiving, by the link generation component, a first message from the service provider device indicating establishment of a database record corresponding to the virtual identifier.

13. The method of claim 12 , further comprising:

sending, by the link generation component responsive to determining the absence, client computing device information to the service provider device, wherein the client computing device information is distinct from the client computing device identifier.

14. The method of claim 13 , comprising:

communicating, by the link generation component, with the client computing device to obtain client computing device information, wherein sending client computing device information to the service provider device comprises sending the client computing device information obtained from the client computing device.

15. The method of claim 13 , comprising:

communicating, by the link generation component, with the client computing device to obtain client computing device information based on data from one or more sensors included in the client computing device.

16. The method of claim 13 , comprising:

generating, by the link generation component, a data structure including the client computing device information, wherein sending, by the link generation component, the client computing device information to the service provider device comprises sending the data structure to the service provider device.

17. The method of claim 13 , comprising:

sending, by the link generation component, instructions to the service provider device to create the database record corresponding to the virtual identifier.

18. The method of claim 17 , wherein sending, by the link generation component, instructions to the service provider device to create the database record corresponding to the virtual identifier comprises sending time based validity information of the virtual identifier.

19. The method of claim 18 , comprising:

sending, by the link generation component, responsive to a determination that the virtual identifier is no longer valid, instructions to the service provider device to delete the database record corresponding to the virtual identifier.

20. The method of claim 12 , comprising:

generating, the virtual identifier associated with the client computing device using at least one of a hash function and a cryptographic function.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2017
From: BHAYA, GAURAV; STETS, ROBERT JAMES, JR
To: GOOGLE INC.
Reel/Frame 041125/0202 →
Continuity (1)
Related Publication 20180189258A1 · Jul 5, 2018
Cited By (27)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,301,635 US 12,333,404 US 12,361,943 US 12,367,879 US 12,379,770 US 12,386,434 US 12,386,491 US 12,431,128 US 12,477,470 US 12,556,890 US 12,608,171 US 12,613,730 US 12,619,452 US 12,626,702