US-20260127125-A1 - TECHNIQUES FOR LOAD BALANCING WITH A HUB DEVICE AND MULTIPLE ENDPOINTS
Abstract
Techniques are disclosed for managing the connection assignments of a plurality of accessory devices to one or more hub devices. In one example, a user device acting as a leader device receives an assignment request from an accessory device. The user device may obtain information corresponding to hub attributes from the one or more hub devices. The user device may also obtain accessory traits from the accessory device. The user device can compare the accessory traits with the hub attributes to determine a connection score for each hub device. The user device can then assign the accessory device to the hub device with the highest connection score.
Inventors
- Jared S. Grubb
- Robert M. Stewart
- Gabriel Sanchez
- Zaka U. REHMAN ASHRAF
- David J. CHANDLER
Assignees
- APPLE INC.
Dates
- Publication Date
- 20260507
- Application Date
- 20251104
Claims (14)
- 1 . A method, comprising: by a first device: detecting a request to transfer hub device leadership from a second device; in response to detecting the request to transfer hub device leadership from the first device: in accordance with a determination that a first set of one or more criteria is satisfied, transferring, to a third device separate from the first device and the second device, hub device leadership; and in accordance with a determination that a second set of one or more criteria is satisfied, transferring, to a fourth device separate from the first device, the second device, and the third device, hub device leadership.
- 2 . The method of claim 1 , wherein the second device is the first device.
- 3 . The method of claim 1 , wherein the second device is separate from the first device.
- 4 . The method of claim 3 , wherein the first device is a server device.
- 5 . The method of claim 1 , wherein the first device is a user device.
- 6 . The method of claim 1 , wherein: the first set of one or more criteria includes a criterion that is satisfied when the third device has a processing capacity; and the second set of one or more criteria includes a criterion that is satisfied when the fourth device has the processing capacity.
- 7 . The method of claim 1 , wherein the second device is present within an environment, and wherein the first set of one or more criteria includes a criterion that is satisfied based on (1) a number of hub devices within the environment and (2) a number of accessory devices with the environment.
- 8 . The method of claim 1 , wherein: the first device is present within an environment; the first set of one or more criteria includes a criterion that is satisfied when the third device is a resident device of the environment; and the second set of one or more criteria includes a criterion that is satisfied when the fourth device is a resident device of the environment.
- 9 . The method of claim 1 , wherein the request to transfer hub device leadership from the second device is received from the second device.
- 11 . The method of claim 1 , wherein the first device includes one or more input devices, wherein the request to transfer hub device leadership from the second device is detected via the one or more input devices.
- 12 . The method of claim 1 , further comprising: in conjunction with transferring hub device leadership to the third device, transmitting, to the third device, information associated with (1) a set of one or more hub devices and (2) a set of one or more accessory devices; and in conjunction with transferring hub device leadership to the fourth device, transmitting, to the fourth device, information associated with (1) the set of one or more hub devices and (2) the set of one or more accessory devices.
- 13 . The method of claim 1 , further comprising: in conjunction with transferring hub device leadership to the third device, transmitting, to the third device, an instruction to accept leadership duties for (1) a set of one or more hub devices and (2) a set of one or more accessory devices; in conjunction with transferring hub device leadership to the fourth device, transmitting, to the fourth device, an instruction to accept leadership duties for (1) the set of one or more hub devices and (2) the set of one or more accessory devices.
- 14 . A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions of an application for: detecting a request to transfer hub device leadership from a second device; in response to detecting the request to transfer hub device leadership from the first device: in accordance with a determination that a first set of one or more criteria is satisfied, transferring, to a third device separate from the first device and the second device, hub device leadership; and in accordance with a determination that a second set of one or more criteria is satisfied, transferring, to a fourth device separate from the first device, the second device, and the third device, hub device leadership.
- 15 . A computer system, comprising: one or more processors; and memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions of an application for: detecting a request to transfer hub device leadership from a second device; in response to detecting the request to transfer hub device leadership from the first device: in accordance with a determination that a first set of one or more criteria is satisfied, transferring, to a third device separate from the first device and the second device, hub device leadership; and in accordance with a determination that a second set of one or more criteria is satisfied, transferring, to a fourth device separate from the first device, the second device, and the third device, hub device leadership.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 18/583,468, entitled “TECHNIQUES FOR LOAD BALANCING WITH A HUB DEVICE AND MULTIPLE ENDPOINTS,” filed Feb. 12, 2024, and of U.S. patent application Ser. No. 17/718,984, entitled “TECHNIQUES FOR LOAD BALANCING WITH A HUB DEVICE AND MULTIPLE ENDPOINTS,” filed Apr. 12, 2022, which is now U.S. Pat. No. 11,914,537, which claims priority to U.S. Provisional Application Ser. No. 63/175,478, entitled “TECHNIQUES FOR LOAD BALANCING WITH A HUB DEVICE AND MULTIPLE ENDPOINTS,” filed Apr. 15, 2021. The content of these applications are hereby incorporated by reference in their entirety. BACKGROUND Techniques exist for multiple devices in a home environment to communicate among the multiple devices. For example, a user can interact with a device that provides a digital assistant program. This device, via the digital assistant, can communicate with other devices to perform requests from the user, including controlling smart accessory devices such as light switches, speakers, and thermostats. However, controlling smart device functionality has continued challenges. A collection of accessory devices may require a leader device to manage the associations between the accessory devices and a collection of hub devices. Accessory devices and hub devices can have many different features and capabilities. Accessory devices may also be produced by various manufacturers. However, various challenges exist with managing these accessory devices. BRIEF SUMMARY Embodiments of the present disclosure can provide methods, systems, and computer-readable media for providing load balancing management between accessory devices and hub devices. In some examples, a user device can act as a leader device to assign accessory devices to hub devices and provide information corresponding to the assignments. According to one embodiment, a method may be executed by a computer system within a home environment. The computer system can be a user device such as a smartphone, a tablet, a smart television (TV) media streaming device, a smart hub speaker, or the like. The user device may receive an assignment request from an accessory device present within the home environment. The user device can then select a hub device within the home environment to connect to the accessory device. The selection can be based on a determination of which hub device is the best hub device to connect to the accessory. In some embodiments, the user device can receive information from the accessory device identifying accessory traits that correspond to features or functionality of the accessory. The user device can also receive information from one or more hub devices within the home environment. The hub information can correspond to attributes of each hub, including each hub's features and capabilities. The hub information can also include a number of accessory connection slots available at the hub devices. The user device may then score the hub devices by comparing the accessory traits with the hub attributes to obtain a score corresponding to the suitability of the hubs to connect with the accessory device. The score can then be multiplied by the number of available accessory slots at each hub to obtain a final connection score. The hub with the highest connection score can be assigned to the accessory. In another embodiment, a hub device can update its available connection slots due to changes at the hub device, including increased processing load at the hub device. The updated slots may result in a currently assigned accessory being dropped from the hub device. The dropped accessory can then request a new assignment from the leader device. In another embodiment, a user device acting as a leader device can receive information that it is no longer suitable to act as the leader device. This information can be a determination made by the user device based upon its own current attributes, including that the user device is experiencing a higher processing load and can no longer effectively manage hub devices. The user device can transmit a request to a server device to select another user device to act as the leader device. The server device can then select a second user device to be the leader device. The server device can then instruct the second user device to assume management control over the hub devices and accessory devices. The first user device can then transmit current hub information and accessory assignment information to the second user device. In some embodiments, a user device acting as a leader device can obtain information about the current processing capabilities of a first hub device. This information can indicate that the first hub device is not able to respond to an accessory assigned to the first hub device within a threshold amount of time. The user device can then obtain hub information from other hub devices and compare that hub information to the