IP Library Granted Patent US 10,580,409
Granted Patent B2
US 10,580,409 · App. 16/207,901 · Granted Mar 3, 2020

Application integration with a digital assistant

Inventors: Robert A. Walker, II (San Francisco, CA); Brandon J. Newendorp (San Francisco, CA); Rohit Dasari (San Francisco, CA); Richard D. Giuli (Arroyo Grande, CA); Thomas R. Gruber (Cupertino, CA); Carey E. Radebaugh (Los Gatos, CA); Ashish Garg (Bellevue, WA); Vineet Khosla (Cupertino, CA); Jonathan H. Russell (San Francisco, CA); Corey Peterson (Cupertino, CA)
Assignee: Apple Inc.
G10L15/22G10L13/02G10L15/1815G06F17/279G10L15/063G10L15/30G10L2015/223G10L2015/228
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,580,409
App. No.
16/207,901
Granted
Mar 3, 2020
Kind
B2
Abstract

Systems and processes for application integration with a digital assistant are provided. In accordance with one example, a method includes, at an electronic device having one or more processors and memory, receiving a natural-language user input; identifying, with the one or more processors, an intent object of a set of intent objects and a parameter associated with the intent, where the intent object and the parameter are derived from the natural-language user input. The method further includes identifying a software application associated with the intent object of the set of intent objects; and providing the intent object and the parameter to the software application.

Claims (58)

1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of a first electronic device, cause the first electronic device to:

receive a natural-language user input, wherein the natural-language user input is indicative of an intent object of a set of intent objects;

provide the natural-language user input to a second electronic device;

receive, in response to a determination by the second electronic device that a software application associated with the intent object is not located on the first electronic device, an indication of the determination from the second electronic device;

responsive to the indication, obtain a list of applications associated with the intent object;

display, with a touch-sensitive display of the first electronic device, the list of applications associated with the intent object in a user interface;

receive a user input indicative of a selection of an application of the list of applications; and

provide the intent object of the set of intent objects to the application, wherein providing the intent object includes downloading and/or installing the application such that the first electronic device may access the software application locally, or wherein providing the intent object includes remotely accessing the application.

2. The non-transitory computer-readable storage medium according to claim 1 , wherein the one or more programs further include instructions which when executed by one or more processors of the first electronic device, cause the first electronic device to:

identify the intent object of the set of intent objects.

3. The non-transitory computer-readable storage medium according to claim 1 ; wherein the one or more programs further include instructions which when executed by one or more processors of the first electronic device, cause the first electronic device to:

identify a parameter associated with the intent object of the set of intent objects; and

provide the parameter to the application.

4. The non-transitory computer-readable storage medium according to claim 3 , wherein the one or more programs further include instructions which when executed by one or more processors of the first electronic device, cause the first electronic device to:

receive a response from the application, wherein the response is indicative of whether the parameter is valid.

5. The non-transitory computer-readable storage medium according to claim 1 , wherein the one or more programs further include instructions which when executed by one or more processors of the first electronic device, cause the first electronic device to:

cause the application to perform a task associated with the intent object; and

after providing the intent object to the application, receive, from the application, a result response associated with the intent object.

6. A first electronic device, comprising:

one or more processors;

a memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

receiving a natural-language user input, wherein the natural-language user input is indicative of an intent object of a set of intent objects;

providing the natural-language user input to a second electronic device;

receiving, in response to a determination by the second electronic device that a software application associated with the intent object is not located on the first electronic device, an indication of the determination from the second electronic device;

responsive to the indication, obtaining a list of applications associated with the intent object;

displaying, with a touch-sensitive display of the first electronic device, the list of applications associated with the intent object in a user interface;

receiving a user input indicative of a selection of an application of the list of applications; and

providing the intent object of the set of intent objects to the application, wherein providing the intent object includes downloading and/or installing the application such that the first electronic device may access the software application locally, or wherein providing the intent object includes remotely accessing the application.

7. The first electronic device according to claim 6 , wherein the one or more programs further include instructions for:

identifying the intent object of the set of intent objects.

8. The first electronic device according to claim 6 , wherein the one or more programs further include instructions for:

identifying a parameter associated with the intent object of the set of intent objects; and

providing the parameter to the application.

9. The first electronic device according to claim 6 , wherein the one or more programs further include instructions for:

receiving a response from the application, wherein the response is indicative of whether the parameter is valid.

10. The first electronic device according to claim 6 , wherein the one or more programs further include instructions for:

causing the application to perform a task associated with the intent object; and

after providing the intent object to the application, receiving, from the application, a result response associated with the intent object.

11. A method, comprising:

at a first electronic device having one or more processors:

receiving a natural-language user input, wherein the natural-language user input is indicative of an intent object of a set of intent objects;

providing the natural-language user input to a second electronic device;

receiving, in response to a determination by the second electronic device that a software application associated with the intent object is not located on the first electronic device, an indication of the determination from the second electronic device;

responsive to the indication, obtaining a list of applications associated with the intent object;

displaying, with a touch-sensitive display of the first electronic device, the list of applications associated with the intent object in a user interface;

receiving a user input indicative of a selection of an application of the list of applications; and

providing the intent object of the set of intent objects to the application, wherein providing the intent object includes downloading and/or installing the application such that the first electronic device may access the software application locally, or wherein providing the intent object includes remotely accessing the application.

12. The method of claim 11 , further comprising:

identifying the intent object of the set of intent objects.

13. The method of claim 11 , further comprising:

identifying a parameter associated with the intent object of the set of intent objects; and

providing the parameter to the application.

14. The method of claim 11 , further comprising:

receiving a response from the application, wherein the response is indicative of whether the parameter is valid.

15. The method of claim 11 , further comprising:

causing the application to perform a task associated with the intent object; and

after providing the intent object to the application, receiving, from the application, a result response associated with the intent object.

Continuity (3)
Continuation 15269728 · Sep 19, 2016
Provisional Application 62348929 · Jun 11, 2016
Related Publication 20190103112A1 · Apr 4, 2019
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,203 US 12,293,763 US 12,293,764 US 12,301,635 US 12,333,404 US 12,361,943 US 12,367,879 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