IP Library › Granted Patent US 12,567,410
Granted Patent B2
US 12,567,410 · App. 18/217,938 · Granted Mar 3, 2026

Platform selection for performing requested actions in audio-based computing environments

Inventors: Chad Ward (Mountain View, CA); Bogdan Caprita (Mountain View, CA); Yilei Wang (Sunnyvale, CA)
Assignee: GOOGLE LLC
G10L15/22G06F9/4843G10L15/1822G10L2015/223
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 12,567,410
App. No.
18/217,938
Granted
Mar 3, 2026
Kind
B2
Abstract

Systems and methods of selecting digital platforms for execution of voice-based commands are provided. The system receives an application that performs an action associated with a service via digital platforms. The system debugs the application to validate parameters of the action on at least two platforms of the digital platforms. The system receives data packets comprising an input audio signal detected by a sensor of a client device, and parses the input audio signal to identify the action and the service. The system selects a first platform from the digital platforms to perform the action. The system initiates, responsive to selection of the first platform, an interactive data exchange to populate parameters of an action data structure corresponding to the action. The system executes the action via the selected platform using the action data structure.

Claims (50)

1 . A method implemented by one or more processors, the method comprising:

receiving, by a data processing system, a query from a client device;

identifying, by the data processing system and based on the query, an action and a type of service corresponding to the action;

selecting, by the data processing system, based on a policy and at least one of the query or historical execution information, a first platform of a plurality of digital platforms corresponding to the type of service to perform the action;

identifying, by the data processing system, responsive to selection of the first platform, parameters corresponding to the action; and

causing, by the data processing system, the action to be executed via the first platform using the parameters corresponding to the action.

2 . The method according to claim 1 , wherein identifying the parameters corresponding to the action comprises initiating, by the data processing system, an interactive data exchange to identify the parameters corresponding to the action.

3 . The method according to claim 1 , wherein causing the action to be executed via the first platform using the parameters corresponding to the action comprises invoking an application programming interface corresponding to the first platform, using the parameters corresponding to the action.

4 . The method according to claim 1 , wherein the plurality of digital platforms includes at least a first platform for a first service of the type of service and a second platform for a second service of the type of service.

5 . The method according to claim 1 , wherein the plurality of digital platforms includes at least one of a web-based application platform for a service of the type of service, a mobile application platform for the service of the type of service, and a conversational platform for the service of the type of service.

6 . The method according to claim 1 , further comprising:

identifying, for the action, first markup information indicating first parameters for the first platform of the plurality of digital platforms;

identifying, for the action, second markup information indicating second parameters for a second platform of the plurality of digital platforms;

determining, based on a comparison of the first markup information and the second markup information, a conflict between the first parameters and the second parameters; and

providing, to a service provider device, an indication of the conflict.

7 . The method according to claim 1 , further comprising:

identifying, for the action, first markup information indicating first parameters for the first platform of the plurality of digital platforms, and second markup information indicating second parameters for a second platform of the plurality of digital platforms;

determining a conflict between the first parameters and the second parameters based on a comparison; and

transmitting a prompt to a service provider device to resolve the conflict.

8 . The method according to claim 7 , wherein the first platform is a web-based application platform and the second platform is a conversational platform for a service of the type of service, the method further comprising:

determining that fewer parameters are configured for the conversational platform compared to the web-based application platform.

9 . The method according to claim 1 , further comprising:

identifying a conflict within the parameters corresponding to the action on at least two of the plurality of digital platforms; and

automatically resolving the conflict based on at least one policy stored by the data processing system.

10 . The method according to claim 1 , further comprising:

identifying, for the action, first markup information indicating first parameters for the first platform of the plurality of digital platforms, and second markup information indicating second parameters for a second platform of the plurality of digital platforms;

determining an inconsistency between the first parameters and the second parameters based on a comparison;

retrieving, responsive to determination of the inconsistency, a resolution policy for a service provider device; and

resolving the inconsistency based on the resolution policy.

11 . The method according to claim 1 , further comprising selecting the first platform of the plurality of digital platforms based on a ranking policy.

12 . A computer program product comprising one or more non-transitory computer-readable storage media having program instructions collectively stored on the one or more non-transitory computer-readable storage media, the program instructions executable to:

receive, by a data processing system, a query from a client device;

identify, by the data processing system and based on the query, an action and a type of service corresponding to the action;

select, by the data processing system, based on a policy and at least one of the query or historical execution information, a first platform of a plurality of digital platforms corresponding to the type of service to perform the action;

identify, by the data processing system, responsive to selection of the first platform, parameters corresponding to the action; and

cause, by the data processing system, the action to be executed via the first platform using the parameters corresponding to the action.

13 . The computer program product according to claim 12 , wherein identifying the parameters corresponding to the action comprises initiating, by the data processing system, an interactive data exchange to identify the parameters corresponding to the action.

14 . The computer program product according to claim 12 , wherein causing the action to be executed via the first platform using the parameters corresponding to the action comprises invoking an application programming interface corresponding to the first platform, using the parameters corresponding to the action.

15 . The computer program product according to claim 12 , wherein the plurality of digital platforms includes at least a first platform for a first service of the type of service and a second platform for a second service of the type of service.

16 . The computer program product according to claim 12 , wherein the plurality of digital platforms includes at least one of a web-based application platform for a service of the type of service, a mobile application platform for the service of the type of service, and a conversational platform for the service of the type of service.

17 . A system comprising:

a processor, a computer-readable memory, one or more computer-readable storage media, and program instructions collectively stored on the one or more computer-readable storage media, the program instructions executable to:

receive, by a data processing system, a query from a client device;

identify, by the data processing system and based on the query, an action and a type of service corresponding to the action;

select, by the data processing system, based on a policy and at least one of the query or historical execution information, a first platform of a plurality of digital platforms corresponding to the type of service to perform the action;

identify, by the data processing system, responsive to selection of the first platform, parameters corresponding to the action; and

cause, by the data processing system, the action to be executed via the first platform using the parameters corresponding to the action.

18 . The system according to claim 17 , wherein identifying the parameters corresponding to the action comprises initiating, by the data processing system, an interactive data exchange to identify the parameters corresponding to the action.

19 . The system according to claim 17 , wherein causing the action to be executed via the first platform using the parameters corresponding to the action comprises invoking an application programming interface corresponding to the first platform, using the parameters corresponding to the action.

20 . The system according to claim 17 , wherein the plurality of digital platforms includes at least a first platform for a first service of the type of service and a second platform for a second service of the type of service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: WARD, CHAD; CAPRITA, BOGDAN; WANG, YILEI
To: GOOGLE LLC
Reel/Frame 064378/0433 →
Continuity (4)
Continuation 17461411 · Aug 30, 2021
Continuation 16466248
Provisional Application 62668207 · May 7, 2018
Related Publication 20230352017A1 · Nov 2, 2023
References Cited (25)
US 11107470B2 · Ward · 2021 [cited by examiner]
US 20020133571A1 · Jacob · 2002 [cited by applicant]
US 20110093567A1 · Jeon · 2011 [cited by examiner]
US 20140081633A1 · Badaskar · 2014 [cited by applicant]
US 20150186110A1 · Kannan · 2015 [cited by applicant]
US 20160350101A1 · Gelfenbeyn · 2016 [cited by examiner]
US 20170046753A1 · Deupree, IV · 2017 [cited by applicant]
US 20170178626A1 · Gruber et al. · 2017 [cited by applicant]
US 20180039478A1 · Sung et al. · 2018 [cited by applicant]
US 20180113857A1 · Mora López · 2018 [cited by applicant]
US 20210390956A1 · Ward et al. · 2021 [cited by applicant]
EP 3312722 · 2018 [cited by applicant]
FR 2858154 · 2005 [cited by applicant]
WO 0237470 · 2002 [cited by applicant]
WO 2013155619 · 2013 [cited by applicant]
WO 2016111881 · 2016 [cited by applicant]
WO 2018067403 · 2018 [cited by applicant]
China National Intellectual Property Administration; Notice of Allowance issued in Application No. 201980002144.1; 4 pages; dated May 9, 2023. [cited by applicant]
European Patent Office; Summons to attend oral proceedings issued in Application No. 19728789.9; 12 pages; dated Jan. 25, 2023. [cited by applicant]
China National Intellectual Property Administration; Notification of First Office Action issued in Application No. 201980002144.1; 16 pages; dated Nov. 28, 2022. [cited by applicant]
European Patent Office; Communication Pursuant to Article 94(3) EPC issued in Application No. 19728789.9; 10 pages; dated Jul. 13, 2021. [cited by applicant]
Foreign Search Report on PCT/US2019/030809 dated Jul. 19, 2019. 354 pages. [cited by applicant]
European Patent Office, Communication issued in Application No. 24163356.9; 15 pages. [cited by applicant]
European Patent Office; Result of Consultation issued in Application No. 19728789.9; 7 pages; dated Sep. 20, 2023. [cited by applicant]
European Patent Office; Intention to Grant issued in Application No. 19728789.9; 63 pages; dated Oct. 23, 2023. [cited by applicant]