IP Library Granted Patent US 11,625,402
Granted Patent B2
US 11,625,402 · App. 16/915,231 · Granted Apr 11, 2023

Data structure pooling of voice activated data packets

Inventors: Gaurav Bhaya (Sunnyvale, CA); Robert Stets (Mountain View, CA)
Assignee: GOOGLE LLC
G06F16/2455G06F16/2428G10L15/1822G10L15/22G10L15/30G10L2015/088
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 11,625,402
App. No.
16/915,231
Granted
Apr 11, 2023
Kind
B2
Abstract

Systems and methods of voice activated thread management in a voice activated data packet based environment are provided. A natural language processor (“NLP”) component can receive and parse data packets comprising a first input audio signal to identify a first request and a first trigger keyword. A direct action application programming interface (“API”) can generate a first action data structure with a parameter defining a first action. The NLP component can receive and parse a second input audio signal to identify a second request and a second trigger keyword, and can generate a second action data structure with a parameter defining a second action. A pooling component can generate the first and second action data structures into a pooled data structure, and can transmit the pooled data structure to a service provider computing device to cause it device to perform an operation defined by the pooled data structure.

Claims (66)

1. A system to consolidate actions in a voice-based computing environment, comprising:

a data processing system comprising one or more processors to:

receive, from a first client computing device, a first request to perform a first action;

receive, from a second client computing device, a second request to perform a second action;

generate, based on the first request, a first action data structure with a parameter corresponding to the first action;

generate, based on the second request, a second action data structure with a parameter corresponding to the second action, wherein a pooling component:

determines, based on one or more of the first request, the second request, the first action, and the second action, to pool the first action data structure with the second action data structure;

generates a pooled data structure that consolidates the first action data structure and the second action data structure; and

provides the pooled data structure to cause a service provider computing device to perform an operation defined by the pooled data structure and corresponding to the first action and the second action.

2. The system of claim 1 , comprising the data processing system to:

receive, from the first client computing device, data packets comprising an input audio signal;

parse the input audio signal to identify the first request and one or more keywords; and

determine the first action based on the one or more keywords.

3. The system of claim 1 , wherein the data processing system or the pooling component is further configured to:

determine, based on a comparison of the first action with the second action, a level of overlap between the first action data structure and the second action data structure; and

determine, based on the level of overlap, to pool the first action data structure with the second action data structure.

4. The system of claim 1 , comprising:

the data processing system to determine to pool the first action data structure with the second action data structure based on the first request and the second request.

5. The system of claim 1 , comprising:

the data processing system to determine to pool the first action data structure with the second action data structure based on the parameter corresponding to the first action and the parameter corresponding to the second action.

6. The system of claim 1 , wherein the data processing system or the pooling component is further configured to:

receive, from the first client computing device, data packets comprising a first input audio signal;

parse the first input audio signal to identify the first request for the first action;

receive, from the second client computing device, data packets comprising a second input audio signal;

parse the second input audio signal to identify the second request for the second action; and

determine, based on the first input audio signal and the second input audio signal, to pool the first action data structure with the second action data structure.

7. The system of claim 1 , wherein the data processing system executes the pooling component.

8. The system of claim 1 , wherein the service provider computing device executes the pooling component.

9. The system of claim 1 , comprising the pooling component to:

bypass execution of the first action data structure and the second action data structure responsive to generation of the pooled data structure.

10. The system of claim 1 , comprising the data processing system to:

select, via a content selection process and based on the pooled data structure, a content item provided by a third-party content provider; and

provide the content item to at least one of the first client computing device or the second client computing device.

11. The system of claim 1 , comprising the data processing system to:

provide, to the second client computing device, a content item selected based on a content selection process; and

receive, from the second client computing device, the second request responsive to the content item.

12. The system of claim 1 , wherein the parameter defining the first action and the parameter defining the second action each indicate location data or each identify common subject matter.

13. The system of claim 1 , wherein the data processing system comprises or interfaces with a voice activated assistant.

14. A method of consolidating actions in a voice-based computing environment, comprising:

receiving, from a data processing system comprising one or more processors, from a first client computing device, a first request to perform a first action;

receiving, by the data processing system from a second client computing device, a second request to perform a second action;

generating, by the data processing system based on the first request, a first action data structure with a parameter corresponding to the first action;

generating, by the data processing system based on the second request, a second action data structure with a parameter corresponding to the second action, wherein a pooling component:

determines, based on one or more of the first request, the second request, the first action, and the second action, to pool the first action data structure with the second action data structure;

generates a pooled data structure that consolidates the first action data structure and the second action data structure; and

provides the pooled data structure to cause a service provider computing device to perform an operation defined by the pooled data structure and corresponding to the first action and the second action.

15. The method of claim 14 , comprising:

receiving, by the data processing system from the first client computing device, data packets comprising an input audio signal;

parsing, by the data processing system, the input audio signal to identify the first request and one or more keywords; and

determining, by the data processing system, the first action based on the one or more keywords.

16. The method of claim 14 , comprising:

determining, by the pooling component, based on a comparison of the first action with the second action, a level of overlap between the first action data structure and the second action data structure; and

determining, by the pooling component, based on the level of overlap, to pool the first action data structure with the second action data structure.

17. The method of claim 14 , comprising:

determining, by the data processing system, to pool the first action data structure with the second action data structure based on the first request and the second request.

18. The method of claim 14 , comprising:

determining, by the data processing system, to pool the first action data structure with the second action data structure based on the parameter corresponding to the first action and the parameter corresponding to the second action.

19. The method of claim 14 , comprising:

receiving, from the first client computing device, data packets comprising a first input audio signal;

parsing the first input audio signal to identify the first request for the first action;

receiving, from the second client computing device, data packets comprising a second input audio signal;

parsing the second input audio signal to identify the second request for the second action; and

determining, based on the first input audio signal and the second input audio signal, to pool the first action data structure with the second action data structure.

20. The method of claim 14 , comprising:

providing, by the data processing system to the second client computing device, a content item selected based on a content selection process; and

receiving, by the data processing system from the second client computing device, the second request responsive to the content item.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: BHAYA, GAURAV
To: GOOGLE LLC
Reel/Frame 053075/0765 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: STETS, ROBERT
To: GOOGLE LLC
Reel/Frame 053075/0782 →
Continuity (4)
Continuation 16546623 · Aug 21, 2019
Continuation 16018750 · Jun 26, 2018
Continuation 15395707 · Dec 30, 2016
Related Publication 20200327121A1 · Oct 15, 2020