IP Library › Granted Patent US 11,402,984
Granted Patent B2
US 11,402,984 · App. 16/951,967 · Granted Aug 2, 2022

Proximity-based controls on a second device

Inventors: Matthew Sharifi (Kilchberg, CH); Victor Carbune (Zurich, CH)
Assignee: Google LLC
G06F3/04847G06F3/0482G06F3/167H04B17/318H04W4/023
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,402,984
App. No.
16/951,967
Filed
Nov 18, 2020
Granted
Aug 2, 2022
Kind
B2
Examiner
KIM, SANG H
Art Unit
2176
USPC
715/728
Abstract

A method includes obtaining proximity information for each of a plurality of assistant-enabled devices within an environment of a user device. Each assistant-enabled device is controllable by an assistant application to perform a respective set of available actions associated with the assistant-enabled device. For each assistant-enabled device, the method also includes determining a proximity score based on the proximity information indicating a proximity estimation of the corresponding assistant-enabled device relative to the user device. The method further includes generating, using the proximity scores determined for the assistant-enabled devices, a ranked list of candidate assistant-enabled devices, and for each corresponding assistant-enabled device in the ranked list, displaying, in a graphical user interface (GUI), a respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device.

Claims (76)

1. A method comprising:

obtaining, by data processing hardware of a user device, proximity information for each of a plurality of assistant-enabled devices within an environment of the user device, each assistant-enabled device of the plurality of assistant-enabled devices controllable by an assistant application to perform a respective set of available actions associated with the assistant-enabled device;

for each assistant-enabled device of the plurality of assistant-enabled devices, determining, by the data processing hardware, a proximity score based on the proximity information obtained for the corresponding assistant-enabled device, the proximity score indicating a proximity estimation of the corresponding assistant-enabled device relative to the user device in the environment;

generating, by the data processing hardware, using the plurality of proximity scores determined for the plurality of assistant-enabled devices, a ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices; and

for each of one or more corresponding assistant-enabled devices in the ranked list of candidate assistant-enabled devices, displaying, by the data processing hardware, in a graphical user interface (GUI) displayed on a screen in communication with the data processing hardware, the candidate assistant-enabled device and a respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device, wherein the respective set of controls displayed in the GUI for a highest ranked one of the assistant-enabled devices in the ranked list of candidate assistant-enabled devices is displayed more prominently than the respective set of controls displayed in the GUI for at least another one of the assistant-enabled devices in the ranked list of candidate assistant-enabled devices.

2. The method of claim 1 , further comprising:

receiving, at the data processing hardware, a user request from a user of the user device requesting to launch the assistant application for execution on the data processing hardware,

wherein obtaining the proximity information for each of the plurality of assistant-enabled devices occurs during execution of the assistant application on the data processing hardware.

3. The method of claim 2 , wherein receiving the user request comprises one of:

receiving, in the GUI displayed on the screen, a user input indication indicating selection of a graphical element representing the assistant application;

receiving a speech input from the user, the speech input comprising an invocation command to launch the assistant application for execution on the data processing hardware; or

detecting a predefined movement/pose of the user device configured to launch the assistant application for execution on the data processing hardware.

4. The method of claim 1 , wherein obtaining the proximity information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device comprises:

receiving, at a sensor of the user device, a wireless communication signal transmitted from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the proximity information for the at least one assistant-enabled device based on a signal strength of the wireless communication signal received at the sensor of the user device.

5. The method of claim 1 , further comprising obtaining, by the data processing hardware, directionality information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device by:

receiving, at each sensor in an array of sensors of the user device, a wireless communication signal transmitted from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the directionality information for the at least one assistant-enabled device based on a respective signal strength of the wireless communication signal received at each sensor in the array of sensors of the user device relative to the respective signal strengths of the wireless communication signal received at the other sensors in the array of sensors of the user device,

wherein determining the proximity score for the at least one assistant-enabled device is further based on the directionality information for the at least one assistant-enabled device.

6. The method of claim 1 , wherein obtaining the proximity information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device comprises:

receiving, at the user device, an audible or inaudible signal output from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the proximity information for the at least one assistant-enabled device based on an energy and/or frequency of the audible or inaudible signal output from the at least one assistant-enabled device.

7. The method of claim 1 , further comprising:

receiving, at the data processing hardware, from each assistant-enabled device of the plurality of assistant-enabled devices, the respective set of available actions associated with the corresponding assistant-enabled device; and

for each corresponding assistant-enabled device in the ranked list of candidate assistant-enabled devices, determining, by the data processing hardware, the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device.

8. The method of claim 7 , wherein at least one available action in the respective set of available actions received from at least one assistant-enabled device of the plurality of assistant-enabled devices comprises a suggested action for the corresponding assistant-enabled device to perform based on a current context.

9. The method of claim 7 , further comprising:

receiving, at the data processing hardware, from at least one assistant-enabled device of the plurality of assistant-enabled devices, device state information associated with the corresponding assistant-enabled device,

wherein determining the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device is further based on the device state information associated with the corresponding assistant-enabled device.

10. The method of claim 1 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises ordering the assistant-enabled devices from the assistant-enabled device having the closest proximity relative to the user device to the assistant-enabled device having the furthest proximity relative to the user device.

11. The method of claim 1 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises discarding any assistant-enabled devices from the ranked list of candidate assistant-enabled devices that include proximity scores indicating proximity estimations that satisfy a maximum distance threshold.

12. The method of claim 1 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises discarding any assistant-enabled devices from the ranked list of candidate assistant-enabled devices that include proximity scores indicating proximity estimations that satisfy a minimum distance threshold.

13. The method of claim 1 , further comprising:

receiving, at the data processing hardware, from at least one assistant-enabled device of the plurality of assistant-enabled devices, device state information associated with the at least one assistant-enabled device; and

after generating the ranked list of candidate assistant-enabled devices, re-ranking, by the data processing hardware, using the device state information associated with the at least one assistant-enabled device, the candidate assistant-enabled devices in the ranked list of candidate assistant-enabled devices,

wherein displaying the candidate assistant-enabled device and the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device is based on the re-ranking of the candidate assistant-enabled devices in the ranked list of candidate assistant-enabled devices.

14. The method of claim 1 , wherein the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises the assistant-enabled devices selected from the plurality of assistant-enabled devices having the N-highest proximity scores among the plurality of proximity scores determined for the plurality of assistant-enabled devices.

15. A user device comprising:

data processing hardware; and

memory hardware in communication with the data processing hardware and storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:

obtaining proximity information for each of a plurality of assistant-enabled devices within an environment of the user device, each assistant-enabled device of the plurality of assistant-enabled devices controllable by an assistant application to perform a respective set of available actions associated with the assistant-enabled device;

for each assistant-enabled device of the plurality of assistant-enabled devices, determining a proximity score based on the proximity information obtained for the corresponding assistant-enabled device, the proximity score indicating a proximity estimation of the corresponding assistant-enabled device relative to the user device in the environment;

generating, using the plurality of proximity scores determined for the plurality of assistant-enabled devices, a ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices; and

for each of one or more corresponding assistant-enabled devices in the ranked list of candidate assistant-enabled devices, displaying, in a graphical user interface (GUI) displayed on a screen in communication with the data processing hardware, the candidate assistant-enabled device and a respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device, wherein the respective set of controls displayed in the GUI for a highest ranked one of the assistant-enabled devices in the ranked list of candidate assistant-enabled devices is displayed more prominently than the respective set of controls displayed in the GUI for at least another one of the assistant-enabled devices in the ranked list of candidate assistant-enabled devices.

16. The user device of claim 15 , wherein the operations further comprise:

receiving a user request from a user of the user device requesting to launch the assistant application,

wherein obtaining the proximity information for each of the plurality of assistant-enabled devices occurs during execution of the assistant application.

17. The user device of claim 16 , wherein receiving the user request comprises one of:

receiving, in the GUI displayed on the screen, a user input indication indicating selection of a graphical element representing the assistant application;

receiving a speech input from the user, the speech input comprising an invocation command to launch the assistant application; or

detecting a predefined movement/pose of the user device configured to launch the assistant application.

18. The user device of claim 15 , wherein obtaining the proximity information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device comprises:

receiving, at a sensor of the user device, a wireless communication signal transmitted from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the proximity information for the at least one assistant-enabled device based on a signal strength of the wireless communication signal received at the sensor of the user device.

19. The user device of claim 15 , wherein the operations further comprise obtaining directionality information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device by:

receiving, at each sensor in an array of sensors of the user device, a wireless communication signal transmitted from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the directionality information for the at least one assistant-enabled device based on a respective signal strength of the wireless communication signal received at each sensor in the array of sensors of the user device relative to the respective signal strengths of the wireless communication signal received at the other sensors in the array of sensors of the user device,

wherein determining the proximity score for the at least one assistant-enabled device is further based on the directionality information for the at least one assistant-enabled device.

20. The user device of claim 15 , wherein obtaining the proximity information for at least one assistant-enabled device of the plurality of assistant-enabled devices within the environment of the user device comprises:

receiving an audible or inaudible signal output from the at least one assistant-enabled device of the plurality of assistant-enabled devices; and

determining the proximity information for the at least one assistant-enabled device based on an energy and/or frequency of the audible or inaudible signal output from the at least one assistant-enabled device.

21. The user device of claim 15 , wherein the operations further comprise:

receiving from each assistant-enabled device of the plurality of assistant-enabled devices, the respective set of available actions associated with the corresponding assistant-enabled device; and

for each corresponding assistant-enabled device in the ranked list of candidate assistant-enabled devices, determining the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device.

22. The user device of claim 21 , wherein at least one available action in the respective set of available actions received from at least one assistant-enabled device of the plurality of assistant-enabled devices comprises a suggested action for the corresponding assistant-enabled device to perform based on a current context.

23. The user device of claim 21 , wherein the operations further comprise:

receiving from at least one assistant-enabled device of the plurality of assistant-enabled devices, device state information associated with the corresponding assistant-enabled device,

wherein determining the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device is further based on the device state information associated with the corresponding assistant-enabled device.

24. The user device of claim 15 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises ordering the assistant-enabled devices from the assistant-enabled device having the closest proximity relative to the user device to the assistant-enabled device having the furthest proximity relative to the user device.

25. The user device of claim 15 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises discarding any assistant-enabled devices from the ranked list of candidate assistant-enabled devices that include proximity scores indicating proximity estimations that satisfy a maximum distance threshold.

26. The user device of claim 15 , wherein generating the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises discarding any assistant-enabled devices from the ranked list of candidate assistant-enabled devices that include proximity scores indicating proximity estimations that satisfy a minimum distance threshold.

27. The user device of claim 15 , wherein the operations further comprise:

receiving from at least one assistant-enabled device of the plurality of assistant-enabled devices, device state information associated with the at least one assistant-enabled device; and

after generating the ranked list of candidate assistant-enabled devices, re-ranking, using the device state information associated with the at least one assistant-enabled device, the candidate assistant-enabled devices in the ranked list of candidate assistant-enabled devices,

wherein displaying the candidate assistant-enabled device and the respective set of controls for performing the respective set of actions associated with the corresponding assistant-enabled device is based on the re-ranking of the candidate assistant-enabled devices in the ranked list of candidate assistant-enabled devices.

28. The user device of claim 15 , wherein the ranked list of candidate assistant-enabled devices from the plurality of assistant-enabled devices comprises the assistant-enabled devices selected from the plurality of assistant-enabled devices having the N-highest proximity scores among the plurality of proximity scores determined for the plurality of assistant-enabled devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: SHARIFI, MATTHEW; CARBUNE, VICTOR
To: GOOGLE LLC
Reel/Frame 054414/0266 →
Continuity (1)
Related Publication 20220155946A1 · May 19, 2022
Cited By (1)
US 12,250,091