IP Library › Granted Patent US 11,410,648
Granted Patent B2
US 11,410,648 · App. 16/609,491 · Granted Aug 9, 2022

Multiple digital assistant coordination in vehicular environments

Inventors: Haris Ramic (San Francisco, CA); Vikram Aggarwal (Palo Alto, CA); Moises Morgenstern Gali (San Francisco, CA); Brandon Stuut (Palo Alto, CA)
Assignee: GOOGLE LLC
G10L15/22G06F9/44505G06F9/44536G06F9/452G10L15/1822G10L15/30G10L2015/088G10L2015/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 11,410,648
App. No.
16/609,491
Granted
Aug 9, 2022
Kind
B2
Abstract

The present disclosure is generally related to a data processing system to selectively invoke applications for execution. A data processing system can receive an input audio signal and can parse the input audio signal to identify a command. The data processing system can identify a first functionality of a first digital assistant application hosted on the data processing system in the vehicle and a second functionality of a second digital assistant application accessible via a client device. The data processing system can determine that one of the first functionality or the second functionality supports the command. The data processing system can select one of the first digital assistant application or the second digital assistant application based on the determination. The data processing system invoke one of the first digital assistant application or the second digital assistant application based on the selection.

Claims (69)

1. A system to selectively invoke applications for execution in a vehicular environment, comprising:

a natural language processor component executed by a data processing system of a vehicle configured to receive, via an interface, an input audio signal and to parse the input audio signal to identify a request and a command corresponding to the request;

a configuration tracker executed by the data processing system configured to identify a first functionality of a first digital assistant application hosted on the data processing system in the vehicle and a second functionality of a second digital assistant application accessible via a client device communicatively coupled to the data processing system;

a performance evaluator executed by the data processing system configured to determine a quality score of the second digital assistant application based on at least one of a feedback indicator via the client device, a rating score from an application distribution platform, and an automated test evaluation; and

an application selector executed by the data processing system configured to:

determine that one of the first functionality or the second functionality supports the command corresponding to the request;

select, based on the quality score, one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on the determination that one of the first functionality or the second functionality supports the command; and

invoke one of the first digital assistant application or the second digital assistant application selected based on the determination that one of the first functionality or the second functionality supports the command.

2. The system of claim 1 , wherein the configuration tracker is further configured to:

identify the first functionality of the first digital assistant application, the first functionality including at least one of an application profile of the first digital assistant application, a version number of the first digital assistant application, connectivity of the data processing system with a network, a plurality of functions supported by the first digital assistant application, and a plurality of peripheral devices connected to the data processing system; and

identify the second functionality of the second digital assistant application, the second functionality including at least one of an application profile of the second digital assistant application, a version number of the second digital assistant application, connectivity of the client device with the network, connectivity of the client device with the data processing system in the vehicle, a plurality of functions supported by the second digital assistant application, and a plurality of peripheral devices interfaced with the client device in the vehicle.

3. The system of claim 1 , wherein the application selector is further configured to select one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on an input via a vehicle input interface.

4. The system of claim 1 further comprising:

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

the application selector is further configured to select one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on the trigger keyword.

5. The system of claim 1 further comprising:

the natural language processor component configured to determine that the command corresponding to the request identified from the input audio signal corresponds to a vehicle functionality; and

the application selector is further configured to select one of the first digital assistant application hosted on the data processing system, responsive to the determination that the command corresponds to the vehicle functionality.

6. The system of claim 1 further comprising:

a database of the data processing system configured to store application data from the second digital assistant application of the client device communicatively coupled to the data processing system, the application for use by the first digital assistant application.

7. The system of claim 1 , wherein the application selector is further configured to:

determine that a third functionality of a second client device and one of the first functionality or the second functionality supports the command corresponding to the request; and

invoke one of the first digital assistant application or the second digital assistant application to execute the command using application data from the second client device.

8. The system of claim 1 , wherein the application selector is further configured to invoke the second digital assistant application accessible via the client device by assigning control of input controls of the vehicle from the data processing system to the client device.

9. The system of claim 1 , wherein the application selector is further configured to set the first digital assistant application as a default application and the second digital assistant application as a secondary application.

10. A method of selectively invoking applications for execution, comprising:

receiving, by a natural language processor component executed by a data processing system of a vehicle, via an interface, an input audio signal;

parsing, by the natural language processor component, the input audio signal to identify a request and a command corresponding to the request;

identifying, by a configuration tracker executed by the data processing system, a first functionality of a first digital assistant application hosted on the data processing system in the vehicle and a second functionality of a second digital assistant application accessible via a client device communicatively coupled to the data processing system;

determining, by an application selector executed by the data processing system, that one of the first functionality or the second functionality supports the command corresponding to the request;

determining, by the application selector, that a third functionality of a second client device and one of the first functionality or the second functionality supports the command corresponding to the request;

selecting, by the application selector, one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on the determination that one of the first functionality or the second functionality supports the command; and

invoking, by the application selector, one of the first digital assistant application or the second digital assistant application to execute the command using application data from the second client device.

11. The method of claim 10 further comprising:

identifying, by the configuration tracker, the first functionality of the first digital assistant application, the first functionality including at least one of an application profile of the first digital assistant application, a version number of the first digital assistant application, connectivity of the data processing system with a network, a plurality of functions supported by the first digital assistant application, and a plurality of peripheral devices connected to the data processing system; and

identifying, by the configuration tracker, the second functionality of the second digital assistant application, the second functionality including at least one of an application profile of the second digital assistant application, a version number of the second digital assistant application, connectivity of the client device with the network, connectivity of the client device with the data processing system in the vehicle, a plurality of functions supported by the second digital assistant application, and a plurality of peripheral devices interfaced with the client device in the vehicle.

12. The method of claim 10 further comprising:

selecting, by the application selector, one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on an input via a vehicle input interface.

13. The method of claim 10 further comprising:

parsing, by the natural language processor component, the input audio signal to identify a trigger keyword in the request; and

selecting, by the application selector, one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on the trigger keyword.

14. The method of claim 10 further comprising:

determining, by the natural language processor component, that the command corresponding to the request identified from the input audio signal corresponds to a vehicle functionality; and

selecting, by the application selector, one of the first digital assistant application hosted on the data processing system, responsive to the determination that the command corresponds to the vehicle functionality.

15. The method of claim 10 further comprising:

storing, by the data processing system, on a database of the data processing system, application data from the second digital assistant application of the client device communicatively coupled to the data processing system, the application for use by the first digital assistant application.

16. The method of claim 10 further comprising:

invoking, by the application selector, the second digital assistant application accessible via the client device by assigning control of input controls of the vehicle from the data processing system to the client device.

17. The method of claim 10 , comprising:

determining, by a performance evaluator executed by the data processing system, a quality score of the second digital assistant application based on at least one of a feedback indicator via the client device, a rating score from an application distribution platform, and an automated test evaluation; and

selecting, by the application selector, one of the first digital assistant application hosted on the data processing system or the second digital assistant application accessible via the client device based on the quality score.

18. The method of claim 10 further comprising:

setting, by the application selector, the first digital assistant application as a default application and the second digital assistant application as a secondary application.

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

receiving, via an interface of a vehicle computing device of a vehicle, an input audio signal;

parsing the input audio signal to identify a request and a command corresponding to the request;

identifying a first functionality of a first digital assistant application accessible via the vehicle computing device and a second functionality of a second digital assistant application accessible via a client device communicatively coupled to the vehicle computing device;

setting the first digital assistant application as a default application and the second digital assistant application as a secondary application;

determining that one of the first functionality or the second functionality supports the command corresponding to the request;

selecting, based on the determination that one of the first functionality or the second functionality supports the command, one of the first digital assistant application accessible via the vehicle computing device or the second digital assistant application accessible via the client device; and

invoking, based on the selection of one of the first digital assistant application accessible via the vehicle computing device or the second digital assistant application accessible via the client device, the first digital assistant application or the second digital assistant application selected.

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

receiving, via an interface of a vehicle computing device of a vehicle, an input audio signal;

parsing the input audio signal to identify a request and a command corresponding to the request;

identifying a first functionality of a first digital assistant application accessible via the vehicle computing device and a second functionality of a second digital assistant application accessible via a client device communicatively coupled to the vehicle computing device;

determining that one of the first functionality or the second functionality supports the command corresponding to the request;

selecting, based on the determination that one of the first functionality or the second functionality supports the command, one of the first digital assistant application accessible via the vehicle computing device or the second digital assistant application accessible via the client device; and

invoking, based on the selection of the second digital assistant application accessible via the client device over the first digital assistant application accessible via the vehicle computing device or, the second digital assistant application selected,

wherein invoking the second digital assistant application accessible via the client device comprises assigning control of input controls of the vehicle from the data processing system to the client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: RAMIC, HARIS; AGGARWAL, VIKRAM; GALI, MOISES MORGENSTERN; STUUT, BRANDON
To: GOOGLE LLC
Reel/Frame 051115/0828 →
Continuity (1)
Related Publication 20200202853A1 · Jun 25, 2020
Cited By (1)
US 12,315,510