IP Library Granted Patent US 11,805,401
Granted Patent B2
US 11,805,401 · App. 17/483,742 · Granted Oct 31, 2023

Dynamic controller selection for a local area network

Inventors: Avinash Reddy Singireddy (Sunnyvale, CA); Anjali S. Sandesara (Sunnyvale, CA); Sergey Chemishkian (San Jose, CA); Yilok L. Wong (Mountain View, CA); Bob Bradley (San Jose, CA); Michael Giles (San Jose, CA)
Assignee: Apple Inc.
H04W8/005
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,805,401
App. No.
17/483,742
Granted
Oct 31, 2023
Kind
B2
Abstract

A device implementing dynamic controller selection may include a processor configured to generate a connectivity graph based on a scan for accessory devices, the connectivity graph including a connectivity metric value for a discovered accessory device. The processor may be configured to broadcast the connectivity graph and receive another connectivity graph broadcasted by another electronic device that includes another connectivity metric value for the accessory device. The processor may be configured to receive a request to provide an instruction to the accessory device and determine which of the electronic devices will provide the instruction based on the connectivity metric values. The processor may be further configured to, when the electronic device is determined, provide the instruction for transmission to the accessory device, and when the other electronic device is determined, provide, for transmission to the other electronic device, the instruction to be provided to the accessory device.

Claims (54)

1. A method, comprising:

receiving, by an electronic device of a local area network, a user request to provide an instruction to an accessory device;

determining, by the electronic device, a connectivity metric value with respect to the accessory device;

broadcasting, by the electronic device, a request for another connectivity metric value with respect to the accessory device, the request comprising an indication of the instruction to be provided to the accessory device;

receiving, by the electronic device and responsive to the broadcasting, a response from another electronic device of the local area network, the response comprising the other connectivity metric value with respect to the accessory device;

determining, by the electronic device, whether the electronic device or the other electronic device will provide the instruction to the accessory device based at least in part on the connectivity metric and the other connectivity metric;

when the electronic device determines that the electronic device will provide the instruction to the accessory device, providing, by the electronic device, the instruction for transmission to the accessory device; and

when the electronic device determines that the other electronic device will provide the instruction to the accessory device, foregoing, by the electronic device, the providing of the instruction for transmission to the accessory device.

2. The method of claim 1 , wherein the electronic device and the other electronic device are registered with a same user account at a service provider.

3. The method of claim 1 , wherein the connectivity metric is determined based at least in part on a link metric with respect to a link between the electronic device and the accessory device and one or more operational characteristics of the electronic device.

4. The method of claim 3 , wherein the one or more operational characteristics of the electronic device comprise at least one of a processing resource availability of the electronic device and a communication resource availability of the electronic device.

5. The method of claim 1 , wherein the connectivity metric value and the other connectivity metric value are the same, and determining, by the electronic device, whether the electronic device or the other electronic device will provide the instruction to the accessory device based at least in part on the connectivity metric and the other connectivity metric comprises:

determining whether the electronic device or the other electronic device will provide the instruction to the accessory device based at least in part on a hash value determined by the electronic device and another hash value provided by the other electronic device in conjunction with the connectivity metric value.

6. The method of claim 1 , wherein the accessory device is configured to communicate exclusively via peer-to-peer communications.

7. The method of claim 1 , further comprising:

when the electronic device determines that the electronic device will provide the instruction to the accessory device, receiving, responsive to providing the instruction for transmission to the electronic device, a response from the accessory device, the response indicating a status of the accessory device with respect to the instruction.

8. The method of claim 7 , further comprising:

when the electronic device determines that the other electronic device will provide the instruction to the accessory device, receiving, from the other electronic device, the status of the accessory device with respect to the instruction.

9. The method of claim 1 , further comprising:

receiving, by the electronic device and responsive to the broadcasting, another response from an additional electronic device of the local area network, the other response comprising an additional connectivity metric value with respect to the accessory device; and

determining, by the electronic device, whether the electronic device, the other electronic device, or the additional electronic device will provide the instruction to the accessory device based at least in part on the connectivity metric and the other connectivity metric; and

when the electronic device determines that the additional electronic device will provide the instruction to the accessory device, foregoing, by the electronic device, the providing of the instruction to the accessory device.

10. An electronic device comprising:

a memory; and

at least one processor configured to:

scan for one or more proximate accessory devices;

generate a connectivity graph based at least in part on the scan, the connectivity graph comprising a connectivity metric value for at least one proximate accessory device discovered via the scan;

broadcast the connectivity graph;

receive another connectivity graph broadcasted by another electronic device, the other connectivity graph comprising another connectivity metric value for the at least one proximate accessory device;

receive a request to provide an instruction to the at least one proximate accessory device;

determine whether the electronic device or the other electronic device will provide the instruction for transmission to the at least one proximate accessory device based at least in part on the connectivity metric value of the connectivity graph and the other connectivity metric value of the other connectivity graph;

when the electronic device is determined to provide the instruction, provide the instruction for transmission to the accessory device; and

when the other electronic device is determined to provide the instruction to the accessory device, provide, for transmission to the other electronic device, the instruction to be provided to the accessory device.

11. The electronic device of claim 10 , wherein the electronic device and the other electronic device are associated with a local area network.

12. The electronic device of claim 11 , wherein the request is received from an additional electronic device that is external to the local area network.

13. The electronic device of claim 12 , wherein the electronic device, the other electronic device and the additional electronic device are registered with a same user account at a service provider.

14. The electronic device of claim 10 , wherein the accessory device comprises a connected home device and the instruction comprises an instruction to activate at least a portion of the connected home device.

15. The electronic device of claim 10 , wherein the at least one processor is configured to perform the scan, the generate, and the broadcast periodically.

16. The electronic device of claim 10 , wherein the connectivity graph further comprises positioning information for the at least one proximate accessory device.

17. The electronic device of claim 10 , wherein the at least one processor is further configured to:

receive a second connectivity graph broadcasted by the other electronic device, the second connectivity graph comprising a second connectivity metric value for the at least one proximate accessory device; and

replace the other connectivity graph with the second connectivity graph.

18. A non-transitory machine readable-medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, by an electronic device of a local area network comprising a plurality of electronic devices, a request to provide an instruction to an accessory device, wherein the plurality of electronic devices includes the electronic device;

selecting, by the electronic device and based at least in part on a connectivity graph for the local area network, one of the plurality of electronic devices to provide the instruction for transmission to the accessory device, the connectivity graph comprising connectivity metric values with respect to the accessory device and the plurality of electronic devices of the local area network;

when the selected one of the plurality of electronic devices comprises the electronic device, providing, by the electronic device, the instruction for transmission to the accessory device; and

when the selected one of the plurality of electronic devices comprises another electronic device, providing, by the electronic device, the instruction for transmission to the other electronic device.

19. The non-transitory machine readable-medium of claim 18 , wherein the operations further comprise:

periodically determining and broadcasting, by the electronic device, a connectivity metric value with respect to a link between the electronic device and the accessory device; and

periodically receiving, by the electronic device and from the other electronic device, another connectivity metric value with respect to another link between the other electronic device and the accessory device; and

maintaining the connectivity graph based at least in part on the periodically determined connectivity metric value and the periodically received other connectivity metric value.

20. The non-transitory machine readable-medium of claim 18 , wherein the operations further comprise:

when the selected one of the plurality of electronic devices comprises the electronic device, receiving, from the accessory device and responsive to the instruction, a status of the accessory device with respect to the instruction; and

when the selected one of the plurality of electronic devices comprises the other electronic device, receiving, from the other electronic device, the status of the accessory device with respect to the instruction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: SINGIREDDY, AVINASH REDDY; SANDESARA, ANJALI S.; CHEMISHKIAN, SERGEY; WONG, YILOK L.; BRADLEY, BOB; GILES, MICHAEL
To: APPLE INC.
Reel/Frame 058944/0140 →
Continuity (2)
Provisional Application 63082435 · Sep 23, 2020
Related Publication 20220095091A1 · Mar 24, 2022
Cited By (1)
US 12,245,327