# US 10,455,401 B2 · Neighbor awareness networking datapath—reciprocation and coexistence

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

- Number: US 10,455,401 B2
- Document ID: US10455401B2
- Status: Granted
- Kind: B2
- Application number: 15/051,640
- Filed: 2016-02-23
- Published: 2016-08-25
- Granted: 2019-10-22
- Earliest claimed: 2015-02-24
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Yong Liu; Christiaan A. Hartman; Daniel R. Borges; Peter N. Heerboth; Lawrie Kurian; Su Khiong Yong; Anand Rajagopalan; Saravanan Balasubramaniyan; Tashbeeb Haque; Andreas Wolf; Guoqing Li; Lilach Zukerman
- Web page: https://patentgrep.com/patent/US10455401B2

## CPC

- H04W 8/005: {Discovery of network devices, e.g. terminals}
- H04L 12/189: {in combination with wireless systems (selective distribution or broadcast in wireless communication networks H04W4/06)}
- 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 4/08: User group management
- H04W 4/80: Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
- H04W 76/14: Direct-mode setup
- H04W 72/30: Resource management for broadcast services
- H04W 74/002: {Transmission of channel access control information}
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In one set of embodiments, one or more wireless stations operate to configure Neighbor Awareness Networking (NAN)—direct communication with neighboring wireless stations, i.e., direct communication between the wireless stations without utilizing an intermediate access point. Embodiments of the disclosure relate to reciprocating service between two or more wireless stations. The reciprocating service embodiments described herein provide a mechanism through which devices can participate in a same service instant.

## Claims

### Claim 1

A wireless station, comprising:
at least one antenna;
at least one radio configured to perform Wi-Fi communication with a Wi-Fi access point;
at least one processor coupled to the at least one radio, wherein the wireless station is configured to perform voice and/or data communications;
wherein the at least one processor is configured to cause the wireless station to:
transmit, during a discovery window, a first broadcast message with a multicast address to one or more neighboring wireless stations, wherein the first broadcast message indicates availability of a service instance and a corresponding service window schedule, wherein the multicast address is derived from a hash of a name of the service instance, and wherein the first broadcast message initiates a service group in which service group participants can establish unicast and multicast sessions;
receive, during a first service window of the corresponding service window schedule, a second broadcast message with the multicast address from at least a first neighboring wireless station of the one or more neighboring wireless stations, wherein the second broadcast message indicates that the first neighboring wireless station is participating in the service group;
transmit, during a subsequent service window of the corresponding service window schedule and responsive to the second broadcast message, multicast data to at least the first neighboring wireless station;
transmit, during a service window of the corresponding service window schedule, a first message to the first neighboring wireless station, wherein the first message requests further communications with the first neighboring wireless station outside the corresponding service window schedule; and
transmit, outside the corresponding service window schedule, a second message to the first neighboring wireless station.

### Claim 2 (depends on 1)

The wireless station of claim 1,
wherein the at least one processor is further configured to cause the wireless station to:
transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to a subset of the one or more neighboring wireless stations, wherein the third broadcast message comprises a schedule of broadcast transmissions outside of the corresponding service window schedule, and wherein the subset of the one or more neighboring wireless stations includes neighboring wireless stations participating in the service group.

### Claim 3 (depends on 1)

The wireless station of claim 1,
wherein the at least one processor is further configured to cause the wireless station to:
transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to neighboring wireless stations participating in the service instance, wherein the third broadcast message comprises a schedule of broadcast transmissions outside of the corresponding service window schedule for a subset of the neighboring wireless stations participating in the service instance.

### Claim 4 (depends on 3)

The wireless station of claim 3,
wherein the schedule of broadcast transmissions is defined by one or more of a time parameter and a channel parameter.

### Claim 5 (depends on 1)

The wireless station of claim 1,
wherein the multicast address is a basic service set identification address.

### Claim 6 (depends on 1)

The wireless station of claim 1,
wherein a service window defined by one or more of a time parameter and a channel parameter.

### Claim 7 (depends on 1)

The wireless station of claim 1,
wherein, during the corresponding service window schedule, the wireless station is further configured to:
transmit one or more service management frames;
announce pending data;
check pending data;
schedule a unicast transmission window; or
adjust a schedule of a multicast transmission window.

### Claim 8 (depends on 1)

The wireless station of claim 1,
wherein the service group comprises a reciprocating service group.

### Claim 9 (depends on 1)

The wireless station of claim 1,
wherein the corresponding service window schedule is derived from service instance information.

### Claim 10

An apparatus, comprising:
at least one non-transitory memory medium; and
at least one processor coupled to the at least one non-transitory memory medium, wherein the at least one processor is configured to:
generate instructions to transmit, during a discovery window, a first broadcast message with a multicast address to one or more neighboring wireless stations, wherein the first broadcast message indicates availability of a service instance and a corresponding service window schedule, wherein the multicast address is derived from a hash of a name of the service instance, and wherein the first broadcast message initiates a service group in which service group participants can establish unicast and multicast sessions;
receive, during a first service window of the corresponding service window schedule, a second broadcast message with the multicast address from at least a first neighboring wireless station of the one or more neighboring wireless stations, wherein the second broadcast message indicates that the first neighboring wireless station is participating in the service group;
generate instructions to announce, during a subsequent service window of the corresponding service window schedule, pending data for at least the first neighboring wireless station;
generate instructions to transmit, during a service window of the corresponding service window schedule, a first message to the first neighboring wireless station, wherein the first message requests further communications with the first neighboring wireless station outside the corresponding service window schedule; and
generate instructions to transmit a second message to the first neighboring wireless station outside of the corresponding service window schedule.

### Claim 11 (depends on 10)

The apparatus of claim 10,
wherein the at least one processor is further configured to:
generate instructions to transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to a subset of the one or more neighboring wireless stations, wherein the third broadcast message comprises a schedule of broadcast transmissions outside of the corresponding service window schedule, and wherein the subset of the one or more neighboring wireless stations includes neighboring wireless stations participating in the service instance.

### Claim 12 (depends on 10)

The apparatus of claim 10,
wherein the at least one processor is further configured to:
generate instructions to transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to neighboring wireless stations participating in the service instance, wherein the third broadcast message comprises a schedule of broadcast transmissions outside the corresponding service window schedule for a subset of the neighboring wireless stations participating in the service instance.

### Claim 13 (depends on 12)

The apparatus of claim 12,
wherein the schedule of broadcast transmissions is defined by one or more of a time parameter and a channel parameter.

### Claim 14 (depends on 10)

The apparatus of claim 10,
wherein the service window is defined by one or more of a time parameter and a channel parameter.

### Claim 15 (depends on 10)

The apparatus of claim 10,
wherein the service group comprises a reciprocating service group.

### Claim 16 (depends on 10)

The apparatus of claim 10,
wherein the corresponding service window schedule is derived from service instance information.

### Claim 17

A non-transitory computer readable memory medium storing program instructions executable by processing circuitry to cause a wireless station to:
generate instructions to transmit, during a discovery window, a first broadcast message with a multicast address to one or more neighboring wireless stations, wherein the first broadcast message indicates availability of a service instance and a corresponding service window schedule, wherein the multicast address is derived from a hash of a name of the service instance, and wherein the first broadcast message initiates a service group in which service group participants can establish unicast and multicast sessions;
receive, during a first service window of the corresponding service window schedule, a second broadcast message with the multicast address from at least a first neighboring wireless station of the one or more neighboring wireless stations, wherein the second broadcast message indicates that the first neighboring wireless station is participating in the service group;
generate instructions to transmit, during a subsequent service window of the corresponding service window schedule, unicast data to the first neighboring wireless station;
generate instructions to transmit, during a service window of the corresponding service window schedule, a first message to the first neighboring wireless station, wherein the first message requests further communications with the first neighboring wireless station outside the corresponding service window schedule; and
generate instructions to transmit a second message to the first neighboring wireless station outside of the corresponding service window schedule.

### Claim 18 (depends on 17)

The non-transitory computer readable memory medium of claim 17,
wherein the program instructions are further executable by processing circuitry to cause the wireless station to:
generate instructions to transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to neighboring wireless stations participating in the service instance, wherein the third broadcast message comprises a schedule of broadcast transmissions outside the corresponding service window schedule for a subset of the neighboring wireless stations participating in the service instance.

### Claim 19 (depends on 17)

The non-transitory computer readable memory medium of claim 17,
wherein the program instructions are further executable by processing circuitry to cause the wireless station to:
generate instructions to transmit, during a service window of the corresponding service window schedule, a third broadcast message with the multicast address to neighboring wireless stations participating in the service instance, wherein the third broadcast message comprises a schedule of broadcast transmissions outside the corresponding service window schedule for a subset of the neighboring wireless stations participating in the service instance.

### Claim 20 (depends on 17)

The non-transitory computer readable memory medium of claim 17,
wherein the corresponding service window schedule is derived from service instance information.
