# US 10,320,902 B2 · Detecting asymmetric awareness in peer-to-peer protocol

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

- Number: US 10,320,902 B2
- Document ID: US10320902B2
- Status: Granted
- Kind: B2
- Application number: 15/661,785
- Filed: 2017-07-27
- Published: 2018-03-01
- Granted: 2019-06-11
- Earliest claimed: 2016-08-31
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Lawrie Kurian; Anand Rajagopalan; Saravanan Balasubramaniyan; Tashbeeb Haque
- Web page: https://patentgrep.com/patent/US10320902B2

## CPC

- H04L 67/1068: {Discovery involving direct consultation or announcement among potential requesting and potential source peers}
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W 40/244: {using a network of reference devices, e.g. beaconing}
- H04W 76/14: Direct-mode setup
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In some embodiments, one or more wireless stations operate to configure direct communication with neighboring mobile stations, e.g., direct communication between the wireless stations without utilizing an intermediate access point. Embodiments of the disclosure relate to techniques for devices (e.g., NAN devices and/or AWDL devices) to detect asymmetric awareness amongst peers.

## Claims

### Claim 1

A wireless station, comprising:
at least one antenna;
at least one radio in communication with the at least one antenna and configured to perform communications via a Wi-Fi interface; and
at least one processor in communication with to the at least one radio;
wherein the at least one processor is configured to cause the wireless station to:
transmit a first beacon to neighboring wireless stations, wherein the first beacon includes first information identifying the wireless station, wherein the first information includes at least an indication of a medium access control (MAC) address of the wireless station;
receive a second beacon from a first neighboring wireless station, wherein the second beacon includes second information, wherein the second information includes at least an indication of a MAC address of the first neighboring wireless station;
receive a third beacon from a second neighboring wireless station, wherein the third beacon includes third information, where the third information includes at least an indication of a MAC address of the second neighboring wireless station;
determine that the second information further includes at least the first information and that the third information does not include at least the first information, wherein the determinations indicates that the first neighboring wireless station is within reception range of the wireless station and that the second neighboring wireless station is not within reception range of the wireless station, thereby confirming symmetric discovery between the wireless station and the first neighboring wireless station and asymmetric discovery between the wireless station and the second neighboring wireless station;
initiate, based at least in part on the confirmation of symmetric discovery, a peer-to-peer data communication session with the first neighboring wireless station; and
determine to not initiate, base at least in part on the confirmation of asymmetric discovery, a peer-to-peer data communication session with the second neighboring wireless station.

### Claim 2 (depends on 1)

The wireless station of claim 1,
wherein to determine that the second beacon includes the first information, the at least one processor is further configured to cause the wireless station to search an attribute of the second beacon for the first information.

### Claim 3 (depends on 1)

The wireless station of claim 1,
wherein the first beacon comprises a Bloom filter attribute comprising the first information.

### Claim 4 (depends on 1)

The wireless station of claim 1,
wherein the first information comprises a Bloom filter associated with the identity of the wireless station.

### Claim 5 (depends on 4)

The wireless station of claim 4,
wherein the identity comprises the medium access control (MAC) address of the wireless station.

### Claim 6 (depends on 4)

The wireless station of claim 4,
wherein the identity comprises a hash function of the medium access control (MAC) address of the wireless station.

### Claim 7 (depends on 1)

The wireless station of claim 1,
wherein the at least one processor is further configured to cause the wireless station to:
update, in response to receiving the second beacon, a Bloom filter based, at least in part, on the medium access control (MAC) address of the first neighboring wireless station; and
include the updated Bloom filter in subsequent beacons transmitted to neighboring wireless stations, including the first neighboring wireless station.

### Claim 8 (depends on 7)

The wireless station of claim 7,
wherein the MAC address is included in a Bloom filter attribute included in the second beacon.

### Claim 9

An apparatus, comprising:
a memory; and
at least one processor in communication with the memory, wherein the at least one processor is configured to:
transmit a first beacon, wherein the first beacon includes a first identifier associated with the apparatus, wherein the first identifier includes at least an indication of a medium access control (MAC) address associated with the apparatus;
receive a second beacon from a first neighboring wireless station, wherein the second beacon includes a second identifier associated with the first neighboring wireless station wherein the second identifier includes at least an indication of a MAC address of the first neighboring wireless station;
receive a third beacon from a second neighboring wireless station, wherein the third beacon includes a third identifier associated with the second neighboring wireless station, wherein the third identifier includes at least an indication of a MAC address of the second neighboring wireless station;
determine that the second beacon further includes at least the first identifier and that the third beacon does not include at least the first identifier, wherein the determinations indicates that the first neighboring wireless station is within reception range of the apparatus and that the second neighboring wireless station is not within reception range of the apparatus, thereby confirming symmetric discovery between the apparatus and the first neighboring wireless station and asymmetric discovery between the apparatus and the second neighboring wireless station;
update, in response to receiving the second beacon, a Bloom filter based, at least in part, on the second identifier;
include the updated Bloom filter in subsequent beacons transmitted to neighboring wireless stations, including the first neighboring wireless station; and
determine to initiate, based at least in part on the confirmation of symmetric discovery, a peer-to-peer data communication session with the first neighboring wireless station and to not initiate, based at least in part on the confirmation of asymmetric discovery, a peer-to-peer data communication session with the second neighboring wireless station.

### Claim 10 (depends on 9)

The apparatus of claim 9,
wherein to determine that the second beacon includes the first identifier, the at least one processor is further configured to search an attribute of the second beacon for the first identifier.

### Claim 11 (depends on 9)

The apparatus of claim 9,
wherein the at least one processor is further configured to:
receive a fourth beacon from a third neighboring wireless station, wherein the fourth beacon includes a fourth identifier associated with the third neighboring wireless station;
determine that the fourth beacon includes the first identifier; and
update, in response to receiving the fourth beacon, the updated Bloom filter based, at least in part, on the fourth identifier, thereby generating a new Bloom filter; and
include the new Bloom filter in subsequent beacons transmitted to neighboring wireless stations, including the first and third neighboring wireless stations.

### Claim 12 (depends on 9)

The apparatus of claim 9,
wherein the MAC address associated with the apparatus is included in a Bloom filter.

### Claim 13 (depends on 9)

The apparatus of claim 9,
wherein the first identifier comprises a hash function of the medium access control (MAC) address associated with the apparatus.

### Claim 14

A non-transitory computer readable memory medium storing program instructions executable by a processor of a wireless station to:
transmit a first beacon to neighboring wireless stations, wherein the first beacon includes first information identifying the wireless station, wherein the first information includes at least an indication of a medium access control (MAC) address of the wireless station;
receive a second beacon from a first neighboring wireless station, wherein the second beacon includes the first information identifying the wireless station and second information identifying the neighboring wireless station, wherein the second information includes at least an indication of a MAC address of the first neighboring wireless station;
receive a third beacon from a second neighboring wireless station, wherein the third beacon includes third information, where the third information includes at least an indication of a MAC address of the second neighboring wireless station;
determine, based at least in part on the second beacon including the first information and the third beacon not including the first information, that the first neighboring wireless station is within reception range of the wireless station and that the second neighboring wireless station is not within reception range of the wireless station, thereby confirming symmetric discovery between the wireless station and the first neighboring wireless station and asymmetric discovery between the wireless station and the second neighboring wireless station;
update a Bloom filter with the second information;
transmit a second beacon to the neighboring wireless station, wherein the second beacon includes the updated Bloom filter; and
determine to initiate, based at least in part on confirmation of symmetric discovery, a peer-to-peer data communication session with the neighboring wireless station and to not initiate, based at least in part on the confirmation of asymmetric discovery, a peer-to-peer data communication session with the second neighboring wireless station.

### Claim 15 (depends on 14)

The non-transitory computer readable memory medium of claim 14,
wherein the program instructions are further executable to:
search an attribute of the first beacon for the first information.

### Claim 16 (depends on 14)

The non-transitory computer readable memory medium of claim 14,
wherein the first information and the second information are included in a Bloom filter attribute of the first beacon.

### Claim 17 (depends on 16)

The non-transitory computer readable memory medium of claim 16,
wherein the first information comprises a first hash of the medium access control (MAC) address associated with the wireless station;
wherein the second information comprises a second hash of the MAC address associated with the first neighboring wireless station.

### Claim 18 (depends on 14)

The non-transitory computer readable memory medium of claim 14,
wherein the MAC address associated with the wireless station is included in a Bloom filter.

### Claim 19 (depends on 14)

The non-transitory computer readable memory medium of claim 14,
wherein the program instructions are further executable to:
receive a fourth beacon from a third neighboring wireless station, wherein the fourth beacon includes fourth information, wherein the fourth information includes at least an indication of a MAC address of the third neighboring wireless station;
determine that the fourth beacon includes the first information; and
update, in response to receiving the fourth beacon, the updated Bloom filter based, at least in part, on the fourth information, thereby generating a new Bloom filter; and
include the new Bloom filter in subsequent beacons transmitted to neighboring wireless stations, including the first and third neighboring wireless stations.

### Claim 20 (depends on 1)

The wireless station of claim 1,
wherein the at least one processor is further configured to:
receive a fourth beacon from a third neighboring wireless station, wherein the fourth beacon includes fourth information, wherein the fourth information includes at least an indication of a MAC address of the third neighboring wireless station;
determine that the fourth beacon includes the first information; and
update, in response to receiving the fourth beacon, a Bloom filter based, at least in part, on the fourth information, thereby generating a new Bloom filter; and
include the new Bloom filter in subsequent beacons transmitted to neighboring wireless stations, including the first and third neighboring wireless stations.
