US 11,989,229 B2
Coordination of overlapping processing of audio queries
Bo Wang, San Jose, CA (US); Smita Rai, Saratoga, CA (US); Max Ohlendorf, Mountain View, CA (US); Venkat Kotla, Cupertino, CA (US); Chad Yoshikawa, Menlo Park, CA (US); Abhinav Taneja, Cupertino, CA (US); Amit Agarwal, Sunnyvale, CA (US); Chris Ramsdale, Palo Alto, CA (US); and Chris Turkstra, San Jose, CA (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Appl. No. 16/341,763
Filed by Google LLC, Mountain View, CA (US)
PCT Filed Apr. 8, 2019, PCT No. PCT/US2019/026321
§ 371(c)(1), (2) Date Apr. 12, 2019,
PCT Pub. No. WO2019/212697, PCT Pub. Date Nov. 7, 2019.
Claims priority of provisional application 62/666,681, filed on May 3, 2018.
Prior Publication US 2021/0334306 A1, Oct. 28, 2021
Int. Cl. G06F 16/63 (2019.01); G06F 16/632 (2019.01); G06F 16/638 (2019.01); G06F 21/62 (2013.01)
CPC G06F 16/634 (2019.01) [G06F 16/638 (2019.01); G06F 21/6218 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system to coordinate overlapping processing of audio queries, comprising:
a data processing system comprising at least one processor and memory to:
receive, via an interface, one or more data packets corresponding to an audio signal detected by a sensor of a computing device;
generate a query based on the audio signal received via the one or more data packets;
transmit the query to a plurality of digital assistant components, including transmitting the query, using an application programming interface, to a first digital assistant component that executes on a remote server and that is administered by a first entity, and transmitting the query to a second digital assistant component that executes on the computing device and that is administered by a second entity, wherein the first entity is different from the second entity;
receive a first response to the query from the first digital assistant component of the plurality of digital assistant components;
receive a second response to the query from the second digital assistant component of the plurality of digital assistant components, wherein the first digital assistant component is authorized to access a database the second digital assistant component is prohibited from accessing, and wherein the first digital assistant component and the second digital assistant component are configured to process the query at least partially in parallel;
determine, based on a ranking decision function and a domain to which the query belongs, to select the second response from the second digital assistant component instead of the first response from the first digital assistant component, wherein determining to select the second response comprises:
determining the first digital assistant component is a preferred digital assistant;
determining that the first response from the first digital assistant component is flagged as a fallback response;
overriding, responsive to the determination that the first response from the first digital assistant component is flagged as the fallback response, the first digital assistant component;
selecting the second response from the second digital assistant component; and
maintaining the first digital assistant component as the preferred digital assistant; and
provide, responsive to the selection, the second response from the second digital assistant component to the computing device.