IP Library › Granted Patent US 10,365,620
Granted Patent B1
US 10,365,620 · App. 14/788,327 · Granted Jul 30, 2019

Interoperability of secondary-device hubs

Inventors: Eric Peter Raeber (Redwood City, CA); Robert Franklin Ebert (Mountian View, CA); Adam Barry Fineberg (Saratoga, CA); Mark Sander Urbanus (San Jose, CA); Miroslav Ristic (San Jose, CA); Maxim Spivak (San Jose, CA)
Assignee: Amazon Technologies, Inc.
G05B15/02H04L12/2803H04W4/80
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,365,620
App. No.
14/788,327
Granted
Jul 30, 2019
Kind
B1
Abstract

Traditional home-automation systems utilize a single hub for controlling secondary devices within a home. The techniques described herein, meanwhile, utilize multiple hubs within the environment and/or located remotely from the environment. For instance, an environment may include multiple electronic devices, each configured to control one or more secondary devices within the environment. In addition, a remote service may be configured to control one or more secondary devices within the environment. As such, each controlling device stores and executes an instance of a control engine, rather than relying on a single instance of a control engine located at a single controlling hub.

Claims (86)

1. An electronic device comprising:

one or more processors;

memory; and

a control engine, stored in the memory and executable on the one or more processors to cause the one or more processors to perform acts comprising:

detecting a presence of a secondary device in an environment of the electronic device;

storing, in the memory, a first indication indicating that the electronic device is responsible for controlling the secondary device;

sending, to at least an additional electronic device residing in the environment and executing an additional instance of the control engine, a second indication indicating that the electronic device is responsible for controlling the secondary device;

receiving a request to place the secondary device in a first state;

sending, via a wireless protocol, a request to the secondary device to place the secondary device in the first state according to the request;

receiving, from the secondary device and via the wireless protocol, a third indication indicating that the secondary device is in the first state;

storing, in the memory, a fourth indication indicating that the secondary device is in the first state;

determining that the additional electronic device has subscribed to receive state-update information for the secondary device;

sending, to at least the additional electronic device, a fifth indication indicating that the secondary device is in the first state;

receiving an additional request to place the secondary device in a second state;

receiving a rule to associate with the secondary device, the rule specifying an operation to perform when a condition is met;

determining that the condition is met; and

performing the operation.

2. The electronic device as recited in claim 1 , the acts further comprising:

receiving a sixth indication from the additional electronic device indicating that the additional electronic device is responsible for controlling an additional secondary device;

storing, in the memory, a seventh indication indicating that the additional electronic device is responsible for controlling the additional secondary device;

receiving a request to place the additional secondary device in a third state;

determining that the additional electronic device is responsible for controlling the additional secondary device;

sending, to the additional electronic device, the request to place the additional secondary device in the third state;

receiving, from the additional electronic device, an eighth indication indicating the additional secondary device is in the third state; and

storing, in the memory, a ninth indication indicating that the additional secondary device is in the third state.

3. The electronic device as recited in claim 1 , wherein:

the sending the second indication indicating that the electronic device is responsible for controlling the secondary device further comprises sending the second indication indicating that the electronic device is responsible for controlling the secondary device to one or more servers that are remote from the environment and that also execute an additional instance of the control engine; and

the sending the fifth indication indicating that the secondary device is in the first state further comprises sending the fifth indication to the one or more servers.

4. The electronic device as recited in claim 1 , further comprising a microphone, and wherein the receiving the request to place the secondary device in the first state comprises:

receiving an audio signal generated by the microphone; and

performing speech-recognition on the audio signal to identify the request to place the secondary device in the first state.

5. The electronic device as recited in claim 1 , the acts further comprising, prior to storing the first indication indicating that the electronic device is responsible for controlling the secondary device:

determining that the secondary device communicates via the wireless protocol, the electronic device also configured to communicate via the wireless protocol and the additional electronic device not configured to communicate via the wireless protocol.

6. A method implemented at least in part by a first electronic device within an environment, the method comprising:

sending, to at least a second electronic device within the environment, a first message indicating that the first electronic device is responsible for controlling a first secondary device within the environment, the first secondary device and the first electronic device configured to communicate over a first protocol;

receiving, from the second electronic device, a second message indicating that the second electronic device is responsible for controlling a second secondary device within the environment, the second secondary device and the second electronic device configured to communicate over a second protocol;

sending, to the first secondary device and via the first protocol, a request to place the first secondary device in a first state;

sending, to at least the second electronic device, a third message indicating that the first secondary device is in the first state;

receiving an additional request to place the first secondary device in a second state;

receiving a rule to associate with the first secondary device, the rule specifying an operation to perform when a condition is met;

determining that the condition is met; and

performing the operation.

7. The method as recited in claim 6 , wherein the first secondary device comprises a light, a television, an audio system, a lock, a garage door opener, a washing machine, a dryer, a dishwasher, a coffee maker, a refrigerator, a door, or automated window shades.

8. The method as recited in claim 6 , wherein the first electronic device includes a microphone, and further comprising:

generating, by the microphone, an audio signal representative of sound captured within the environment; and

at least one of: (i) performing speech recognition on the audio signal to identify the request to place the first secondary device in the first state, or (ii) sending the audio signal to a remote service for performing speech recognition on the audio signal to identify the request to place the first secondary device in the first state.

9. The method as recited in claim 6 , wherein the first electronic device includes a camera, and further comprising:

generating, by the camera, at least one image of the environment; and

at least one of: (i) identifying a user gesture from the at least one image, the user gesture representing the request to place the first secondary device in the first state, or (ii) sending the at least one image to a remote service for identifying the user gesture from the at least one image.

10. The method as recited in claim 6 , further comprising, prior to sending the request to place the first secondary device in the first state, receiving the request to place the first secondary device in the first state from a third electronic device operated by a user.

11. The method as recited in claim 6 , further comprising:

determining that the condition associated with the rule has been satisfied; and

executing the rule.

12. The method as recited in claim 11 , further comprising detecting a presence of a mobile device associated with a user, the condition comprising the mobile device associated with the user being within the environment.

13. The method as recited in claim 6 , further comprising:

detecting a presence of the first secondary device within the environment;

determining that the first electronic device and the first secondary device are configured to communicate via the first protocol; and

storing an indication in a memory of the first electronic device that the first electronic device is responsible for controlling the first secondary device.

14. The method as recited in claim 6 , wherein the sending of the first message further comprises sending the first message to one or more servers that are remote from the environment, the first message indicating that the first electronic device is responsible for controlling the first secondary device.

15. One or more computing devices, comprising:

one or more processors;

memory; and

a control engine, stored in the memory and executable on the one or more processors to cause the one or more processors to perform acts comprising:

receiving, from a first electronic device residing within an environment that is remote from the one or more computing devices, a first message indicating that the first electronic device is responsible for controlling a first secondary device within the environment, the first secondary device and the first electronic device being configured to communicate via a first protocol;

storing a first indication indicating that the first electronic device is responsible for controlling the first secondary device;

receiving, from a second electronic device in the environment, a second message indicating that the second electronic device is responsible for controlling a second secondary device within the environment, the second secondary device and the second electronic device being configured to communicate via a second protocol;

storing a second indication indicating that the second electronic device is responsible for controlling the second secondary device;

receiving, from the first electronic device, a third message indicating that the first secondary device is in a first state;

storing a third indication indicating that the first secondary device is in the first state;

receiving, from the first electronic device, a fourth message indicating that the first secondary device is in a second state; and

determining a rule to associate with the first secondary device, the rule specifying an operation to perform when a condition is met.

16. The one or more computing devices as recited in claim 15 , the acts further comprising:

receiving a request to place the second secondary device in a third state;

determining that the second electronic device is responsible for controlling the second secondary device; and

sending the request to place the second secondary device in the third state to the second electronic device.

17. The one or more computing devices as recited in claim 15 , the acts further comprising:

receiving a request to place a third secondary device within the environment in a third state;

determining that the one or more computing devices are responsible for controlling the third secondary device; and

sending the request to place the third secondary device in the third state to the third secondary device.

18. The one or more computing devices as recited in claim 15 , the acts further comprising:

determining that the condition associated with the rule has been satisfied; and

executing the rule, the executing of the rule including sending a request to a third secondary device within the environment to place the third secondary device in a third state.

19. The one or more computing devices as recited in claim 18 , the acts further comprising determining that a mobile device associated with a user is within the environment, the condition comprising the mobile device associated with the user being within the environment.

20. The one or more computing devices as recited in claim 15 , the acts further comprising:

receiving, from a third electronic device residing within the environment, a fifth message indicating that the third electronic device is responsible for controlling the first secondary device, the first secondary device and the third electronic device being configured to communicate via the first protocol, the third electronic device claiming ownership of the first secondary device after the first secondary device disconnecting from the first electronic device; and

storing a fourth indication indicating that the third electronic device is responsible for controlling the first secondary device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2017
From: RAEBER, ERIC PETER; EBERT, ROBERT FRANKLIN; FINEBERG, ADAM BARRY; URBANUS, MARK SANDER; RISTIC, MIROSLAV; SPIVAK, MAXIM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 042384/0070 →
Cited By (3)
US 12,368,780 US 12,428,285 US 12,698,196