Selecting an automated assistant as the primary automated assistant for a device based on determined affinity scores for candidate automated assistants
Implementations related to selecting a primary automated assistant for a given automated assistant device that is connected to one or more other automated assistant devices in an ecosystem of connected devices. An affinity score is generated for each of a plurality of candidate automated assistants that are capable of executing on the automated assistant device. The affinity score of a given automated assistant for an automated assistant device is indicative of suitability of the automated assistant for the automated assistant device. One of the candidate automated assistants is selected as the primary automated assistant for the device. The primary automated assistant is prioritized when resources of the automated assistant device are allocated to automated assistants executing on the automated assistant device.
1 . A computer implemented method, comprising:
identifying an automated assistant device, wherein a plurality of automated assistants are executing on the automated assistant device utilizing resources of the automated assistant device, and wherein the automated assistant device is part of an ecosystem of connected devices;
for each of the plurality of automated assistants executing on the automated assistant device, determining a corresponding affinity measure, wherein the corresponding affinity measure for a given automated assistant is indicative of suitability of the given automated assistant to fulfill requests of a user, and wherein the corresponding affinity measure for the given automated assistant is based on capabilities of the automated assistant device to execute the given automated assistant;
selecting, based on the corresponding affinity measures, a primary automated assistant from the plurality of automated assistants executing on the automated assistant device; and
prioritizing the primary automated assistant when allocating resources of the automated assistant device and in lieu of an alternate automated assistant of the plurality of automated assistants executing on the automated assistant device.
2 . The method of claim 1 , wherein determining each of the corresponding affinity measures is based, at least in part, on a descriptor of the automated assistant device.
3 . The method of claim 1 , wherein determining each of the corresponding affinity measures is based, at least in part, on a location of the automated assistant device.
4 . The method of claim 1 , wherein determining each of the corresponding affinity measures is based, at least in part, on location of one or more other connected devices.
5 . The method of claim 1 , wherein determining each of the corresponding affinity measures is based, at least in part, on resource requirements of the given automated assistant.
6 . The method of claim 1 , wherein determining each of the corresponding affinity measures is based, at least in part, on previous requests of the user that were processed by one or more automated assistants, of the plurality of automated assistants executing on the automated assistant device.
7 . The method of claim 1 , wherein determining the corresponding affinity measure of the given automated assistant is based, at least in part, on a number of requests previously processed by the given automated assistant.
8 . The method of claim 1 , wherein selecting the primary automated assistant includes:
selecting, as the primary automated assistant, an automated assistant with the corresponding affinity measure that is highest amongst all of the corresponding affinity measures.
9 . The method of claim 1 , wherein selecting the primary automated assistant includes:
determining that an automated assistant with a highest affinity score is a primary automated assistant of one of the connected devices; and
selecting, as the primary automated assistant, the automated assistant with a next highest affinity score as the primary assistant of the automated assistant device.
10 . The method of claim 1 , wherein prioritizing the primary automated assistant includes:
determining that the primary automated assistant and a second automated assistant executing on the automated assistant device require a portion of memory space of the automated assistant device; and
authorizing the primary automated assistant to utilize the portion of memory space in lieu of authorizing the second automated assistant to utilize the portion of memory space.
11 . The method of claim 1 , wherein prioritizing the primary automated assistant includes:
determining that the primary automated assistant and a second automated assistant executing on the automated assistant device require usage of a hardware component of the automated assistant device; and
authorizing the primary automated assistant to utilize the hardware component in lieu of authorizing the second automated assistant to utilize the hardware component.
12 . The method of claim 11 , wherein the hardware component is a digital signal processor.
13 . 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:
identify an automated assistant device, wherein a plurality of automated assistants are executing on the automated assistant device utilizing resources of the automated assistant device, and wherein the automated assistant device is part of an ecosystem of connected devices;
for each of the plurality of automated assistants executing on the automated assistant device, determine a corresponding affinity measure, wherein the corresponding affinity measure for a given automated assistant is indicative of suitability of the given automated assistant to fulfill requests of a user, and wherein the corresponding affinity measure for the given automated assistant is based on capabilities of the automated assistant device to execute the given automated assistant;
select, based on the corresponding affinity measures, a primary automated assistant from the plurality of automated assistants executing on the automated assistant device; and
prioritize the primary automated assistant when allocating resources of the automated assistant device and in lieu of an alternate automated assistant of the plurality of automated assistants executing on the automated assistant device.
14 . The system of claim 13 , wherein determining each of the corresponding affinity measures is based, at least in part, on a descriptor of the automated assistant device.
15 . The system of claim 13 , wherein determining each of the corresponding affinity measures is based, at least in part, on a location of the automated assistant device.
16 . The system of claim 13 , wherein determining each of the corresponding affinity measures is based, at least in part, on location of one or more other connected devices.
17 . The system of claim 13 , wherein determining each of the corresponding affinity measures is based, at least in part, on resource requirements of the given automated assistant.
18 . The system of claim 13 , wherein determining each of the corresponding affinity measures is based, at least in part, on previous requests of the user that were processed by one or more automated assistants, of the plurality of automated assistants executing on the automated assistant device.
19 . The system of claim 13 , wherein determining the corresponding affinity measure of the given automated assistant is based, at least in part, on a number of requests previously processed by the given automated assistant.
20 . The system of claim 13 , wherein selecting the primary automated assistant includes:
selecting, as the primary automated assistant, an automated assistant with the corresponding affinity measure that is highest amongst all of the corresponding affinity measures.