Digital assistant services based on device capabilities
First Claim
1. A method for providing a digital assistant service, comprising:
- at a first electronic device with one or more processors and memory;
receiving, from a first user, a first speech input representing a user request;
obtaining capability data associated with a plurality of electronic devices capable of being communicatively coupled to the first electronic device;
in accordance with obtaining the capability data;
obtaining, based on the first speech input, a plurality of steps for responding to the user request; and
identifying, from the plurality of electronic devices capable of being communicatively coupled to the first electronic device;
a second electronic device for performing a portion of the plurality of steps for responding to the user request, wherein performing a first step of the portion of the plurality of steps requires performing a second step that alters a state of the second electronic device prior to performing the first step; and
one or more additional electronic devices for performing the remaining steps of the plurality of steps for responding to the user request;
determining whether performing each step of the plurality of steps would alter a state of a respective electronic device, including determining that performing the second step would alter the state of the second electronic device;
in response to determining that performing the second step would alter the state of the second electronic device;
providing a first speech output to the first user regarding performing the first step by the second electronic device;
receiving a second speech input from the first user;
in response to receiving the second speech input, determining that the second electronic device is to perform the first step; and
causing the second electronic device and the one or more additional electronic devices to perform the respective steps in response to the user request, wherein the respective steps performed by the second electronic device and the one or more additional electronic devices are different steps.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and processes for operating an intelligent automated assistant to provide extension of digital assistant services are provided. An example method includes, at an electronic device having one or more processors, receiving, from a first user, a first speech input representing a user request. The method further includes obtaining an identity of the first user; and in accordance with the user identity, providing a representation of the user request to at least one of a second electronic device or a third electronic device. The method further includes receiving, based on a determination of whether the second electronic device or the third electronic device, or both, is to provide the response to the first electronic device, the response to the user request from the second electronic device or the third electronic device. The method further includes providing a representation of the response to the first user.
2680 Citations
45 Claims
-
1. A method for providing a digital assistant service, comprising:
at a first electronic device with one or more processors and memory; receiving, from a first user, a first speech input representing a user request; obtaining capability data associated with a plurality of electronic devices capable of being communicatively coupled to the first electronic device; in accordance with obtaining the capability data; obtaining, based on the first speech input, a plurality of steps for responding to the user request; and identifying, from the plurality of electronic devices capable of being communicatively coupled to the first electronic device; a second electronic device for performing a portion of the plurality of steps for responding to the user request, wherein performing a first step of the portion of the plurality of steps requires performing a second step that alters a state of the second electronic device prior to performing the first step; and one or more additional electronic devices for performing the remaining steps of the plurality of steps for responding to the user request; determining whether performing each step of the plurality of steps would alter a state of a respective electronic device, including determining that performing the second step would alter the state of the second electronic device; in response to determining that performing the second step would alter the state of the second electronic device; providing a first speech output to the first user regarding performing the first step by the second electronic device; receiving a second speech input from the first user; in response to receiving the second speech input, determining that the second electronic device is to perform the first step; and causing the second electronic device and the one or more additional electronic devices to perform the respective steps in response to the user request, wherein the respective steps performed by the second electronic device and the one or more additional electronic devices are different steps. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A non-transitory computer-readable storage medium comprising one or more programs for execution by one or more processors of a first electronic device, the one or more programs including instructions which, when executed by the one or more processors, cause the first electronic device to perform:
-
receiving, from a first user, a first speech input representing a user request, obtaining capability data associated with a plurality of electronic devices capable of being communicatively coupled to the first electronic device; in accordance with obtaining the capability data; obtaining, based on the first speech input, a plurality of steps for responding to the user request; and identifying, from the plurality of electronic devices capable of being communicatively coupled to the first electronic device; a second electronic device for performing a portion of the plurality of steps for responding to the user request, wherein performing a first step of the portion of the plurality of steps requires performing a second step that alters a state of the second electronic device prior to performing the first step; and one or more additional electronic devices for performing the remaining steps of the plurality of steps for responding to the user request; determining whether performing each step of the plurality of steps would alter a state of a respective electronic device, including determining that performing the second step would alter the state of the second electronic device; in response to determining that performing the second step would alter the state of the second electronic device; providing a first speech output to the first user regarding performing the first step by the second electronic device; receiving a second speech input from the first user; in response to receiving the second speech input, determining that the second electronic device is to perform the first step; and causing the second electronic device and the one or more additional electronic devices to perform the respective steps in response to the user request, wherein the respective steps performed by the second electronic device and the one or more additional electronic devices are different steps. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A first electronic device, comprising:
-
one or more processors; memory; and one or more programs stored in memory, the one or more programs including instructions for; receiving, from a first user, a first speech input representing a user request; obtaining capability data associated with a plurality of electronic devices capable of being communicatively coupled to the first electronic device; in accordance with obtaining the capability data; obtaining, based on the first speech input, a plurality of steps for responding to the user request; and identifying, from the plurality of electronic devices capable of being communicatively coupled to the first electronic device; a second electronic device for performing a portion of the plurality of steps for responding to the user request, wherein performing a first step of the portion of the plurality of steps requires performing a second step that alters a state of the second electronic device prior to performing the first step; and one or more additional electronic devices for performing the remaining steps of the plurality of steps for responding to the user request; determining whether performing each step of the plurality of steps would alter a state of a respective electronic device, including determining that performing the second step would alter the state of the second electronic device; in response to determining that performing the second step would alter the state of the second electronic device; providing a first speech output to the first user regarding performing the first step by the second electronic device; receiving a second speech input from the first user; and in response to receiving the second speech input, determining that the second electronic device is to perform the first step; causing the second electronic device and the one or more additional electronic devices to perform the respective steps in response to the user request, wherein the respective steps performed by the second electronic device and the one or more additional electronic devices are different steps. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification