Techniques for electing a leader device in a network of user devices
AssigneeApple Inc.
InventorsJeremy A. Wyld, John J. Iarocci, Jared S. Grubb
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for selecting a leader device from a cluster of user devices. In one example, a user device determines a series of metrics specifying capabilities of the user device. The user device can obtain a number of user identifiers (UIDs) from other user devices in the cluster providing respective series of metrics specifying capabilities of the other user devices in the cluster. The user device can select a leader device based on a comparison of metrics for each user device as provided in the UIDs for the user devices. The user device can then notify the other user devices in the cluster of the selected leader device.
Claims20
A method performed by a user device for determining a leader device for a cluster of user devices, the method comprising:
- establishing, by the user device, a connection with a cluster of other user devices in a network environment;
- determining, by the user device, a series of metrics relating to capabilities of the user device, the series of metrics including at least:
- an ephemeral metric estimating a likelihood that the user device will maintain the connection with the cluster for over a threshold amount of time;
- generating, by the user device, a user identifier (UID) for the user device, the UID providing the series of metrics for the user device;
- receiving, by the user device, respective other UIDs from each user device of the cluster of other user devices;
- and
- comparing, by the user device, the UID of the user device and each of the respective other UIDs from each user device of the cluster of other user devices to determine the leader device of the cluster of user devices.
A non-transitory computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a processor of a user device, cause the processor to perform operations comprising:
- establishing, by the user device, connection with a cluster of other user devices in a network;
- determining, by the user device, a series of metrics relating to capabilities of the user device, the series of metrics including at least an ephemeral metric that identifies a likelihood that the user device will maintain the connection with the cluster for over a threshold amount of time;
- generating, by the user device, a user identifier (UID) for the user device, the UID including the series of metrics;
- receiving, by the user device, respective other UIDs from each of the other user devices in the network;
- comparing, by the user device, the UID of the user device and each of the respective other UIDs from each of the other user devices;
- and
- determining, by the user device, a leader of the cluster based at least in part on the comparison.
A user device included in a cluster of user devices that is configured to determine a leader device of the cluster of user devices, the user device comprising:
- a memory configured to store computer-executable instructions;
- and
- a processor configured to connect to the memory and execute the computer-executable instructions to at least:
- establish a connection with a cluster of other user devices in a network environment;
- determine a series of metrics relating to the user device, the series of metrics including at least an ephemeral metric that identifies a likelihood that the user device will maintain the connection with the cluster for over a threshold amount of time;
- generate a user identifier (UID) for the user device, the UID comprising an ordered tuple of the series of metrics;
- receive respective other UIDs from each user device of the cluster of other user devices;
- and
- compare the UID of the user device and each of the respective other UIDs from each user device of the cluster of other user devices to determine the leader device of the cluster of user devices.
Dependencies are inferred from the claim text.