SELECTION OF A MASTER IN A PEER-TO-PEER NETWORK ENVIRONMENT
A system, apparatus and method for selecting master devices in a peer-to-peer communication environment. Devices select a master to facilitate their synchronization, and rendezvous according to a schedule of availability windows broadcast by the master as part of periodic synchronization frames. Devices capable of serving as master advertise their selection metrics, which are converted into a master preference value by a selection algorithm applied uniformly by all devices in the environment. Individual devices may identify the best local master and synchronize to it, yielding a cluster of synchronized peers. Clusters may then be synchronized to masters at further range. Individual devices conserve power by being automatically synchronized instead of having to individually discover other devices and services, and can power off their radios without sacrificing discoverability. Synchronization and peer-to-peer communication as provided herein coexists with other device demands, such as Bluetooth® operations, infrastructure-based communications and so on.
1 . Apparatus for selecting one or more master devices among multiple peer devices within a peer-to-peer communication environment, the apparatus comprising:
a processor;
a communication module for communicating wirelessly;
selection metrics reflecting a suitability of the apparatus to be the master device;
first logic executable by the processor to select a master device; and
second logic executable by the processor to transmit synchronization frames towards the multiple peer devices if the apparatus is selected as a master device.
2 . The apparatus of claim 1 , wherein the first logic is further executable to compare the selection metrics with selection metrics of the multiple peer devices.
3 . The apparatus of claim 1 , wherein the first logic is further executable to:
identify a first master within a first range of the apparatus; and
identify a second master within a second range of the apparatus.
4 . The apparatus of claim 1 wherein a synchronization frame transmitted by the apparatus reflects the selection metrics.
5 . The apparatus of claim 1 , wherein a synchronization frame transmitted by the apparatus identifies an availability window during which the multiple peer devices rendezvous on a specified communication channel at a specified time.
6 . A method of selecting a master among multiple communication devices, the method comprising, at a first communication device:
applying a predetermined algorithm to one or more selection metrics of the first communication device to yield a first master preference of the first communication device;
comparing the first master preference of the first communication device to a second master preference of a second communication device of the multiple communication devices; and
transmitting periodic synchronization frames toward the multiple communication devices if the first master preference of the first communication device is greater than the second master preference of the second communication device.
7 . The method of claim 6 , further comprising, prior to said comparing the first master preference:
for each of multiple ranges from the first communication device:
identifying a subset of the multiple communication devices positioned within the range; and
determining which communication device among the subset of the multiple communication device has the highest master preference.
8 . The method of claim 6 , further comprising:
if the first master preference of the first communication device is less than the second master preference of the second communication device, refraining from transmitting periodic synchronization frames.
9 . The method of claim 6 , further comprising:
if the first master preference of the first communication device is less than the second master preference of the second communication device, transmitting the periodic synchronization frames if a number of devices detected transmitting synchronization frames is less than a threshold.
10 . The method of claim 6 , further comprising, prior to comparing the first master preference of the first communication device:
receiving synchronization frames transmitted by at least one other communication device, including the second communication device.
11 . The method of claim 10 , wherein a synchronization frame transmitted by the second communication device comprises at least one of:
a set of selection metrics of the second communication device; and
the second master preference of the second communication device.
12 . The method of claim 10 , further comprising:
using data from the received synchronization frames to assemble a list of potential masters.
13 . The method of claim 6 , further comprising after transmitting the periodic synchronization frames:
receiving a synchronization frame transmitted by a new device among the multiple communication devices;
determining that a new master preference of the new device is greater than the first master preference of the first communication device; and
ceasing the transmitting of period synchronization frames.
14 . The method of claim 6 , wherein the one or more selection metrics of the first device comprise a measure of power available to the first device.
15 . A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform a method of selecting a master among multiple communication devices, the method comprising, at a first communication device:
applying a predetermined algorithm to one or more selection metrics of the first communication device to yield a first master preference of the first communication device;
comparing the first master preference of the first communication device to a second master preference of a second communication device of the multiple communication devices; and
transmitting periodic synchronization frames toward the multiple communication devices if the first master preference of the first communication device is greater than the second master preference of the second communication device.
16 . A method of selecting masters among multiple communication devices, the method comprising at each device:
transmitting periodic synchronization frames configured to indicate to other communication devices a master preference value of the device;
receiving periodic synchronization frames transmitted by other devices in the multiple communication devices;
ceasing the transmission of periodic synchronization frames if:
the periodic synchronization frames received from other communication devices indicate that a threshold number of the other communication devices have higher master preference values than the device;
wherein a master is a communication device that does not cease transmission of periodic synchronization frames.
17 . A network of communication devices, comprising:
a top master having a higher master preference value than other communication devices in range of the top master, wherein the top master transmits periodic synchronization frames indicating the top master's master preference value;
for each of N strata (N≧1), one or more masters having master preference values lower than the top master's master preference; and
selection code executed by each communication device in the network of communication devices and configured to convert one or more selection metrics of the device into a master preference value for the device.
18 . The network of claim 17 , wherein the one or more selection metrics of the given device include a measure of power available to the given device
19 . The network of claim 18 , wherein the one or more selection metrics of the given device further include at least one of:
a rate of power consumption of the given device;
a frequency band usable by the given device;
a load of a processor of the given device;
a communication range of the given device; and
a type of the given device.