# US 9,521,635 B1 · Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,635 B1
- Document ID: US9521635B1
- Status: Granted
- Kind: B1
- Application number: 14/281,693
- Filed: 2014-05-19
- Granted: 2016-12-13
- Earliest claimed: 2013-05-21
- Assignees: Marvell International Ltd.
- Applicants: Marvell International Ltd.
- Inventors: Paul A. Lambert
- Web page: https://patentgrep.com/patent/US9521635B1

## CPC

- H04W 56/001: {Synchronization between nodes}
- H04W 40/244: {using a network of reference devices, e.g. beaconing}
- H04W 48/16: Discovering, processing access restriction or access information
- H04W 56/00: Synchronisation arrangements
- H04W 56/002: {Mutual synchronization}
- H04W 76/11: Allocation or use of connection identifiers
- H04W 56/0015: {one node acting as a reference for the others}
- H04W 56/0025: {synchronizing potentially movable access points}
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The present disclosure describes methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system. A wireless data communication system includes multiple wireless transceiver devices and certain functionality, such as the transmitting of a beacon used to synchronize the wireless transceiver devices, is distributed among the wireless transceiver devices. Each wireless transceiver device generates a device rank for a given time for itself as well as one or more other wireless transceiver devices in a deterministic and fair manner. Each wireless transceiver device determines the same device ranks for the wireless transceiver devices, and each wireless transceiver device selects the wireless transceiver device having a highest device rank at any given time as the wireless transceiver device that is to perform the functionality at that given time.

## Claims

### Claim 1

A method implemented in a first wireless transceiver device of multiple wireless transceiver devices in a wireless data communication system, the method comprising:
obtaining a synchronization value for the wireless data communication system, the synchronization value comprising a value used to facilitate keeping the multiple wireless transceiver devices synchronized;
generating, for each of the multiple wireless transceiver devices and based on the synchronization value, a device rank for the wireless transceiver device for a given time in a deterministic and fair manner that results in each of the multiple wireless transceiver devices having a highest device rank within a threshold amount of the same number of times over a given time range; and
selecting, based on the generated device ranks, whether the first wireless transceiver device is to perform shared functionality at the given time, the performance of the shared functionality being distributed among the multiple wireless transceiver devices.

### Claim 2 (depends on 1)

The method of claim 1, wherein the shared functionality comprises transmitting a beacon in a Wi-Fi network at particular intervals.

### Claim 3 (depends on 2)

The method of claim 2, wherein the given time comprises a next time at which the beacon is to be transmitted, and wherein the method further comprises:
determining, based on the generated device ranks, that the first wireless transceiver device is not to transmit the beacon at the next time; and
sleeping, in response to determining that the first wireless transceiver device is not to transmit the beacon at the next time, through the next time.

### Claim 4 (depends on 1)

The method of claim 1, further comprising the first wireless transceiver device performing the shared functionality at the given time in response to the first wireless transceiver device having the highest device rank for the given time.

### Claim 5 (depends on 1)

The method of claim 1, wherein generating a device rank comprises generating the device rank further based on an identifier of the first wireless transceiver device.

### Claim 6 (depends on 5)

The method of claim 5, wherein:
the identifier of the first wireless transceiver device comprises a media access control address of the first wireless transceiver device; and
generating a device rank comprises generating as the device rank a hash value based on both (i) the media access control of the first wireless transceiver device, and (ii) a result of exclusive OR′ing the synchronization value with a mask value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the wireless data communication system comprises a Wi-Fi network, and wherein the synchronization value comprises a Timing Synchronization Function value.

### Claim 8 (depends on 1)

The method of claim 1, wherein the synchronization value comprises a current date and time maintained by the wireless transceiver devices.

### Claim 9 (depends on 1)

The method of claim 1, wherein the synchronization value comprises a counter value that increments by known amounts at known intervals.

### Claim 10

A first wireless transceiver device of multiple wireless transceiver devices in a wireless data communication system, the first wireless transceiver device comprising:
a microprocessor; and
one or more computer-readable media storing computer-executable instructions that, when executed by the microprocessor, implement a deterministic fair selector to:
obtain a synchronization value for the wireless data communication system, the synchronization value comprising a value used to facilitate keeping the multiple wireless transceiver devices synchronized;
generate, for each of the multiple wireless transceiver devices and based on the synchronization value, a device rank for the wireless transceiver device for a given time in a deterministic and fair manner that results in each of the multiple wireless transceiver devices having a highest device rank within a threshold amount of the same number of times over a given time range; and
select, based on the generated device ranks, whether the first wireless transceiver device is to perform shared functionality at the given time, the performance of the shared functionality being distributed among the multiple wireless transceiver devices.

### Claim 11 (depends on 10)

The wireless transceiver device of claim 10, wherein the shared functionality comprises transmitting a beacon in a Wi-Fi network at particular intervals.

### Claim 12 (depends on 11)

The wireless transceiver device of claim 11, wherein the given time comprises a next time at which the beacon is to be transmitted, and wherein the deterministic fair selector is further to:
determine, based on the generated device ranks, that the first wireless transceiver device is not to transmit the beacon at the next time; and
sleep, in response to determining that the first wireless transceiver device is not to transmit the beacon at the next time, through the next time.

### Claim 13 (depends on 10)

The wireless transceiver device of claim 10, the first wireless transceiver device performing the shared functionality at the given time in response to the first wireless transceiver device having the highest device rank for the given time.

### Claim 14 (depends on 10)

The wireless transceiver device of claim 10, wherein to generate a device rank is to generate the device rank further based on an identifier of the first wireless transceiver device.

### Claim 15 (depends on 14)

The wireless transceiver device of claim 14, wherein:
the identifier of the first wireless transceiver device comprises a media access control address of the first wireless transceiver device; and
to generate a device rank is to generate as the device rank a hash value based on both (i) the media access control of the first wireless transceiver device, and (ii) a result of exclusive OR′ing the synchronization value with a mask value.

### Claim 16

A non-transitory computer-readable memory device comprising computer-executable instructions that, when executed, implement a system in a first wireless transceiver device of multiple wireless transceiver devices in a wireless data communication system to:
obtain a synchronization value for the wireless data communication system, the synchronization value comprising a value used to facilitate keeping the multiple wireless transceiver devices synchronized;
generate, for each of the multiple wireless transceiver devices and based on the synchronization value, a device rank for the wireless transceiver device for a given time in a deterministic and fair manner that results in each of the multiple wireless transceiver devices having a highest device rank within a threshold amount of the same number of times over a given time range; and
select, based on the generated device ranks, whether the first wireless transceiver device is to perform shared functionality at the given time, the performance of the shared functionality being distributed among the multiple wireless transceiver devices.

### Claim 17 (depends on 16)

The non-transitory computer-readable memory device of claim 16, wherein the shared functionality comprises transmitting a beacon in a Wi-Fi network at particular intervals.

### Claim 18 (depends on 17)

The non-transitory computer-readable memory device of claim 17, wherein the given time comprises a next time at which the beacon is to be transmitted, and wherein the system is further to:
determine, based on the generated device ranks, that the first wireless transceiver device is not to transmit the beacon at the next time; and
sleep, in response to determining that the first wireless transceiver device is not to transmit the beacon at the next time, through the next time.

### Claim 19 (depends on 16)

The non-transitory computer-readable memory device of claim 16, the first wireless transceiver device performing the shared functionality at the given time in response to the first wireless transceiver device having the highest device rank for the given time.

### Claim 20 (depends on 16)

The non-transitory computer-readable memory device of claim 16, wherein to generate a device rank is to generate the device rank further based on an identifier of the first wireless transceiver device.
