Adaptive Neighbor Aware Networking (NAN) Data Interface

JP2024507106A5Active Publication Date: 2025-01-24QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023547513
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-02-11
Filing Date
2022-02-09
Publication Date
2025-01-24
Estimated Expiration
2042-02-09

AI Technical Summary

Technical Problem

NAN devices in Neighborhood Aware Networking (NAN) consume significant power due to idle listening during periods when no data transmission or reception is occurring, as they must remain active according to the NDL schedule even if not communicating.

Method used

The NDL schedule is dynamically adjusted based on measured congestion and throughput during NAN slots, reducing the number of active slots when idle to optimize power consumption.

Benefits of technology

This approach reduces power consumption by aligning the number of active NAN slots with data communication needs, thereby optimizing power usage and adapting to varying throughput and latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present disclosure provides methods, devices and systems for reducing power consumption in a Neighbor Aware Networking (NAN) device. Some implementations relate more specifically to dynamically adjusting a NAN device link (NDL) schedule to reduce idle duration of a NAN data interface (NDI). The NDL schedule identifies the number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication between NAN devices. In some aspects, the NAN device may measure congestion on a wireless channel during each NAN slot period within the DW interval and dynamically update the NDL schedule based on the measured congestion. In some other aspects, the NAN device may measure throughput on the NDL during each NAN slot period within the DW interval and dynamically update the NDL schedule based on the measured throughput.
Need to check novelty before this filing date? Find Prior Art

Description

Claiming priority

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This patent application claims priority to Indian Provisional Patent Application No. 202121005858, entitled "ADAPTIVE NEIGHBOR AWARENESS NETWORKING (NAN) DATA INTERFACE," filed on February 11, 2021, which is assigned to the assignee of the present application. The disclosure of the prior application is deemed to be a part of this patent application and is incorporated by reference into this patent application. [Technical field]

[0002] The present disclosure relates generally to wireless communications, and more particularly to adaptively configuring a neighbor awareness networking (NAN) data interface (NDI) to be used for wireless communications. [Background technology]

[0003]

[0003] Neighborhood Aware Networking (NAN) is a wireless communication technology that utilizes wireless communication protocols defined by the IEEE 802.11 family of standards to support the formation of peer-to-peer (P2P) networks (also referred to as "NAN clusters") between wireless communication devices. Unlike infrastructure networks (such as wireless local area networks (WLANs)), which rely on intermediate nodes (such as access points (APs)) to manage communication between client devices, NAN-enabled devices (also referred to as "NAN devices") can directly discover and communicate with other NAN devices that participate in a NAN cluster. As a result, NAN devices can discover and join NAN clusters based on, for example, physical context and individual preferences to provide a more personalized user experience.

[0004]

[0004] A NAN cluster may be formed by two or more NAN devices synchronized with a common discovery window (DW) schedule. During each DW period, NAN devices participating in a NAN cluster may advertise or request various services. NAN devices sharing a common application may establish a data connection through a NAN device link (NDL). The NDL includes a set of common resource blocks (CRBs) that may be used for data communication between a pair of NAN devices. Each NDL is associated with a respective NDL schedule that indicates the times when the CRBs are available for use by the NAN devices. A pair of NAN devices may establish a NAN data path (NDP) to communicate through the NDL. The NDP is a data connection between a pair of NAN data interfaces (NDIs), each belonging to a respective NAN device.

[0005]

[0005] NAN devices participating in the NDP must be available for data communication during the time period indicated by the NDL schedule. More specifically, the NDIs of the NAN devices must remain active for the indicated duration even if they are not transmitting or receiving data. For example, when the NDIs are not transmitting or receiving data, they are actively listening for incoming data on the NDL. As a result, NAN devices may idle (neither transmitting nor receiving data) on the NDL and consume a significant amount of power. Summary of the Invention

[0006]

[0006] The systems, methods, and devices of the present disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

[0007]

[0007] One innovative aspect of the subject matter described in this disclosure may be implemented as a method of wireless communication. The method may be performed by a wireless communication device and includes: establishing a Neighbor Aware Networking (NAN) device link (NDL) with a Neighbor Aware Networking (NAN) device over a wireless channel; negotiating an NDL schedule with the NAN device indicating a number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication with the NAN device; and measuring congestion on the wireless channel during each of a number of NAN slots within the DW interval, where the congestion measured during each NAN slot is an amount of time (T) that the wireless channel is busy during the respective NAN slot. busy ), and dynamically updating the NDL schedule based on congestion measured during multiple NAN slot periods.

[0008] In some implementations, the method may further include measuring a throughput on the NDL during each of a plurality of NAN slots, where the throughput measured during each NAN slot period is determined by an amount of time (T load ), and the dynamic update of the NDL schedule is further based on throughput measured during a plurality of NAN slot periods. In some embodiments, the dynamic update of the NDL schedule is associated with T busy and T load The method may include adjusting a number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on the covariance of the NDLs.

[0009] In some embodiments, the adjustment of the number of NAN slots is busy and T loadIn some other aspects, adjusting the number of NAN slots may include increasing the number of NAN slots based on the covariance of T being negative. busy and T load In some implementations, the congestion and throughput measured during each of the multiple NAN slots may include reducing the number of NAN slots based on the covariance of T being positive and the average idle duration of the NDL being greater than a threshold. idle ), where the idle duration of the NDL is T idle is equal to the average of

[0010] In some other implementations, the dynamic update of the NDL schedule is busy and T load In some implementations, the number of NAN slots may be obtained from a look-up table (LUT) that stores a plurality of values ​​associated with the joint estimation metric and information indicating a respective number of NAN slots associated with each of the plurality of values.

[0011] In some implementations, the dynamic update of the NDL schedule is load In some embodiments, the adjustment of the periodicity of the NAN slots may include adjusting the periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on the standard deviation of T load T load In some other aspects, adjusting the periodicity of the NAN slots may include increasing the periodicity of the NAN slots based on the period being less than or equal to a standard deviation of T load T load The method may include reducing the periodicity of the NAN slots based on the NAN being greater than a standard deviation of the NAN slots.

[0012] In some implementations, the method may further include listening for incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule. In some aspects, dynamically updating the NDL schedule may include adjusting a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule.

[0013] Another innovative aspect of the subject matter described in this disclosure may be implemented in a wireless communication device. In some implementations, the wireless communication device may include at least one modem, at least one processor communicatively coupled to the at least one modem, and at least one memory communicatively coupled to the at least one processor and storing processor-readable code. In some implementations, execution of the processor-readable code by the at least one processor causes the wireless communication device to perform operations including: establishing an NDL with a NAN device over a wireless channel; negotiating an NDL schedule with the NAN device indicating a number of NAN slots per DW interval during which an NDL is available for data communication with the NAN device; measuring congestion on the wireless channel during each of a plurality of NAN slots within the DW interval; and dynamically updating the NDL schedule based on the congestion measured during the plurality of NAN slots, where the congestion measured during each NAN slot period is associated with an amount of time that the wireless channel is busy during the respective NAN slot period.

[0014] Another innovative aspect of the subject matter described in this disclosure may be implemented as a method of wireless communication. The method may be performed by a wireless communication device and includes: establishing an NDL with a NAN device over a wireless channel; negotiating with the NAN device an NDL schedule indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device; measuring throughput on the NDL during each of a number of NAN slots within the DW interval; where the measured throughput during each NAN slot period is determined based on an amount of time (T) that the wireless communication device communicates with the NAN device over the NDL during the respective NAN slot period. load and dynamically updating the NDL schedule based on a throughput measured during a number of NAN slot periods associated with the NDL.

[0015] In some implementations, the method includes measuring congestion on a wireless channel associated with an NDL during each of a plurality of NAN slots, where the congestion measured during each NAN slot is a function of an amount of time that the wireless channel is busy during the respective NAN slot (T busy ), and the dynamic update of the NDL schedule may further include being further based on throughput measured during a plurality of NAN slot periods. In some aspects, the update of the NDL schedule is busy and T load The method may include adjusting a number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on the covariance of the NDLs.

[0016] In some embodiments, the adjustment of the number of NAN slots is busy and T load In some other embodiments, adjusting the number of NAN slots may include increasing the number of NAN slots based on the covariance of T being negative. busy and T loadIn some implementations, the congestion and throughput measured during each of the multiple NAN slots may include reducing the number of NAN slots based on the covariance of T being positive and the average idle duration of the NDL being greater than a threshold. idle ), where the average idle duration of the NDL is T idle is equal to the average of

[0017] In some other implementations, the dynamic update of the NDL schedule is busy and T load and obtaining a number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on a joint estimation metric associated with the NAN device. In some implementations, the number of NAN slots may be obtained from a LUT that stores a plurality of values ​​associated with the joint estimation metric and information indicative of a respective number of NAN slots associated with each of the plurality of values.

[0018] In some implementations, the dynamic update of the NDL schedule is load In some embodiments, the adjustment of the periodicity of the NAN slots may include adjusting the periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on the standard deviation of T load T load In some other aspects, adjusting the periodicity of the NAN slots may include increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of T load T load The method may include reducing the periodicity of the NAN slots based on the NAN being greater than a standard deviation of the NAN slots.

[0019] In some implementations, the method may further include listening for incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule. In some aspects, dynamically updating the NDL schedule may include adjusting a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule.

[0020] Another innovative aspect of the subject matter described in this disclosure may be implemented in a wireless communication device. In some implementations, the wireless communication device may include at least one modem, at least one processor communicatively coupled to the at least one modem, and at least one memory communicatively coupled to the at least one processor storing the processor-readable code. In some implementations, execution of the processor-readable code by the at least one processor causes the wireless communication device to: establish an NDL with a NAN device over a wireless channel; negotiate with the NAN device an NDL schedule indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device; measure throughput on the NDL during each of a plurality of NAN slots within the DW interval; where the throughput measured during each NAN slot period is an amount of time (T load and dynamically updating the NDL schedule based on a throughput measured during a number of NAN slot periods associated with the NDL.

[0020]

[0021] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. Please note that the relative dimensions of the following figures may not be drawn to scale. [Brief description of the drawings]

[0021] [Figure 1]

[0022] 1 is an illustration of an exemplary wireless communications network. [Figure 2A]

[0023] 1 illustrates an example protocol data unit (PDU) that may be used for communication between an access point (AP) and one or more wireless stations (STAs). [Figure 2B]

[0024] FIG. 2B illustrates example fields in the PDU of FIG. 2A. [Diagram 3]

[0025] 1 is a block diagram of an example wireless communication device. [Figure 4A]

[0026] 1 is a block diagram of an example AP. [Figure 4B]

[0027] 1 is a block diagram of an exemplary STA. [Diagram 5]

[0028] 1 is an illustration of another exemplary wireless communications network. [Figure 6]

[0029] 1 is a timing diagram illustrating an example Neighbor Aware Networking (NAN) Device Link (NDL) schedule. [Figure 7]

[0030] 4 is a sequence diagram illustrating exemplary message exchanges between NAN devices according to some implementations. [Figure 8]

[0031] 1 is a timing diagram illustrating example operations for dynamically adjusting an NDL schedule, according to some implementations. [Figure 9]

[0032] 4 is a timing diagram illustrating another example operation for dynamically adjusting an NDL schedule, according to some implementations. [Figure 10]

[0033] 4 is a timing diagram illustrating another example operation for dynamically adjusting an NDL schedule, according to some implementations. [Figure 11]

[0034] 1 is a flowchart illustrating an example process for wireless communication supporting an adaptive NAN Data Interface (NDI), according to some implementations. [Figure 12]

[0035] 1 is a flowchart illustrating an example process for wireless communication supporting adaptive NDI, according to some implementations. [Figure 13]

[0036] 1 is a block diagram of an example wireless communication device according to some implementations. [Figure 14]

[0037] 1 is a block diagram of an example wireless communication device according to some implementations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022]

[0038] Like reference numbers and designations in the various drawings indicate like elements.

[0023]

[0039] The following description is directed to certain implementations for the purpose of describing the innovative aspects of the present disclosure. However, those skilled in the art will readily recognize that the teachings herein can be applied in many different ways. The described implementations can be implemented in any device, system, or network capable of transmitting and receiving radio frequency (RF) signals according to one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, the IEEE 802.15 standard, the Bluetooth standard as defined by the Bluetooth Special Interest Group (SIG), or the Long Term Evolution (LTE), 3G, 4G, or 5G (New Radio (NR)) standards promulgated by the Third Generation Partnership Project (3GPP), among others. The described implementations may be implemented in any device, system or network capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), Single User (SU) Multiple Input Multiple Output (MIMO), and Multi-User (MU) MIMO. The described implementations may also be implemented using other wireless communications protocols or RF signals suitable for use in one or more of a Wireless Personal Area Network (WPAN), a Wireless Local Area Network (WLAN), a Wireless Wide Area Network (WWAN), or an Internet of Things (IOT) network.

[0024]

[0040] Various aspects relate generally to reducing power consumption in a Neighbor Aware Networking (NAN) device, and more particularly to dynamically adjusting a NAN device link (NDL) schedule to reduce idle durations of a NAN data interface (NDI). The NDL schedule identifies a number of NAN slots (representing blocks of time) per discovery window (DW) interval during which the NDL is available for data communication between NAN devices. In some aspects, the NAN device may measure congestion on the wireless channel during each NAN slot period within the DW interval and dynamically update the NDL schedule based on the measured congestion. For example, the congestion measured during each NAN slot period may be determined by the amount of time (T busy ) in the DW interval. In some other aspects, the NAN device may measure throughput on the NDL during each NAN slot period within the DW interval and dynamically update the NDL schedule based on the measured throughput. For example, the throughput measured during each NAN slot period may be related to the amount of time (T load ) In some embodiments, the NAN device may be associated with T busy and T load The NDL schedule may be dynamically updated based on a combination of busy and T load If T is relatively low and has a positive covariance, the NAN device may reduce the number of NAN slots per DW interval in which the NDL may be used for future data communications. busy and T load A joint estimation metric (C2) may be calculated based on the above, and the number of NAN slots may be determined for each DW interval based on the value of C2.

[0025]

[0041] Particular implementations of the subject matter described in this disclosure may be implemented to achieve one or more of the following potential advantages: This implementation allows NAN devices to adapt the power consumption of their NDI to the throughput and latency of data transmitted and received by the NDI. For example, if a NAN device determines that an NDI is idle (active but not transmitting or receiving data) for a relatively long period of time, the NAN device may reduce the number of NAN slots available for data communication (per DW interval). By reducing the number of available NAN slots, the idle duration of each NDI may also be reduced, thereby optimizing the power consumption of the NAN device. Aspects of the present disclosure recognize that in some cases, low data throughput may be caused by high levels of noise, interference, or wireless communication between other devices on the wireless medium (collectively referred to as "congestion"). T busy and T load The covariance of T, or any other joint metric, indicates whether fluctuations in data throughput can be linked to fluctuations in congestion. busy and T load By dynamically updating the NDL schedule based on, a NAN device can more accurately align the number of available NAN slots to the throughput and latency of data communication over the NDL.

[0026]

[0042] FIG. 1 illustrates a block diagram of an exemplary wireless communication network 100. According to some aspects, the wireless communication network 100 may be an example of a wireless local area network (WLAN), such as a Wi-Fi network (and will be referred to hereinafter as WLAN 100). For example, the WLAN 100 may be a network implementing at least one of the IEEE 802.11 family of wireless communication protocol standards (such as those defined by the IEEE 802.11-2016 specification or amendments thereof, including, but not limited to, 802.11ah, 802.11ad, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). The WLAN 100 may include multiple wireless communication devices, such as an access point (AP) 102 and multiple stations (STAs) 104. Although only one AP 102 is shown, the WLAN 100 may also include multiple APs 102.

[0027]

[0043] Each of the STAs 104 may be referred to as a mobile station (MS), mobile device, mobile handset, wireless handset, access terminal (AT), user equipment (UE), subscriber station (SS), or subscriber unit, among other possibilities. The STAs 104 may represent a variety of devices, such as a mobile phone, a personal digital assistant (PDA), other handheld device, a netbook, a notebook computer, a tablet computer, a laptop computer, a display device (e.g., a television, a computer monitor, a navigation system, among others), a music or other audio or stereo device, a remote control device ("remote control"), a printer, a kitchen or other appliance, a key fob (e.g., a passive keyless entry and start (PKES) system), and the like, among other possibilities.

[0028]

[0044] A single AP 102 and an associated set of STAs 104 may be referred to as a basic service set (BSS), which is managed by each AP 102. FIG. 1 additionally illustrates an example coverage area 108 of the AP 102, which may represent a basic service area (BSA) of the WLAN 100. The BSS may be identified to a user by a service set identifier (SSID) and to other devices by a basic service set identifier (BSSID), which may be a medium access control (MAC) address of the AP 102. The AP 102 periodically broadcasts a beacon frame ("beacon") containing the BSSID to allow any STAs 104 within wireless range of the AP 102 to "associate" or reassociate with the AP 102 to establish a respective communication link 106 (hereinafter also referred to as a "Wi-Fi link") or to maintain a communication link 106 with the AP 102. For example, the beacon may include an identification of the primary channel used by each AP 102 and a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. The APs 102 may provide various STAs 104 in the WLAN with access to external networks via respective communication links 106.

[0029]

[0045] In some cases, the STAs 104 may form a network without the AP 102 or other equipment other than the STAs 104 themselves. One example of such a network is an ad-hoc network (or wireless ad-hoc network). An ad-hoc network may alternatively be referred to as a mesh network or a peer-to-peer (P2P) network. In some cases, the ad-hoc network may be implemented within a larger wireless network, such as the WLAN 100. In such an implementation, the STAs 104 may be able to communicate with each other through the AP 102 using the communication link 106, while the STAs 104 may also communicate with each other directly via the direct wireless link 110. Additionally, two STAs 104 may communicate via the direct communication link 110 regardless of whether both STAs 104 are associated with and served by the same AP 102. In such an ad-hoc system, one or more of the STAs 104 may assume the role filled by the AP 102 in the BSS. Such a STA 104 may be referred to as a Group Owner (GO) and coordinate transmissions within the ad-hoc network. Examples of direct wireless links 110 include Wi-Fi direct connections, connections established by using a Wi-Fi Tunneled Direct Link Setup (TDLS), and other P2P group connections.

[0030]

[0046] The AP 102 and the STAs 104 may function and communicate (via their respective communication links 106) according to the IEEE 802.11 family of wireless communication protocol standards (such as those defined by the IEEE 802.11-2016 specification or amendments thereto, including, but not limited to, 802.11ah, 802.11ad, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). These standards define WLAN radio and baseband protocols for the physical (PHY) layer and medium access control (MAC) layer. The AP 102 and the STAs 104 transmit and receive wireless communications (hereinafter also referred to as "Wi-Fi communications") to and from each other in the form of Physical Layer Convergence Protocol (PLCP) Protocol Data Units (PPDUs). The AP 102 and the STAs 104 in the WLAN 100 may transmit PPDUs over an unlicensed spectrum, which may be a portion of a spectrum including frequency bands traditionally used by Wi-Fi technology, such as the 2.4 GHz, 5 GHz, 60 GHz, 3.6 GHz, and 700 MHz bands. Some implementations of the AP 102 and the STAs 104 described herein may also communicate over other frequency bands, such as the 6 GHz band, which may support both licensed and unlicensed communications. The AP 102 and the STAs 104 may also be configured to communicate over other frequency bands, such as a shared licensed frequency band, where multiple operators may have licenses to operate in the same or overlapping frequency bands.

[0031]

[0047] Access to the shared wireless medium is generally managed by a distributed coordination function (DCF). In DCF, there is generally no central master device that allocates time and frequency resources of the shared wireless medium. Instead, before a wireless communication device, such as the AP 102 or the STA 104, is allowed to transmit data, the wireless communication device must wait for a certain time and then contend for access to the wireless medium. In some implementations, the wireless communication device may be configured to implement DCF through the use of a carrier sense multiple access (CSMA / CA) technique with collision avoidance (CA) and timing intervals. Before transmitting data, the wireless communication device may perform a clear channel assessment (CCA) and determine that a suitable wireless channel is idle. CCA includes both physical (PHY-level) carrier sensing and virtual (MAC-level) carrier sensing. Physical carrier sensing is accomplished through measurements of the received signal strength of valid frames, which are then compared to a threshold to determine whether the channel is busy. For example, if the received signal strength of a detected preamble exceeds a threshold, the medium is deemed busy. Physical carrier sensing also includes energy detection. Energy detection involves measuring the total energy received by the wireless communication device, regardless of whether the received signal represents a valid frame. If the detected total energy exceeds a threshold, the medium is deemed busy. Virtual carrier sensing is achieved through the use of a network allocation vector (NAV), an indicator of the time when the medium may next be idle. The NAV is reset each time a valid frame not addressed to the wireless communication device is received.The NAV effectively serves as the duration that must elapse before a wireless communication device can contend for access, even in the absence of a detected symbol or when the detected energy is below an associated threshold.

[0032]

[0048] Some APs and STAs may be configured to implement spatial reuse techniques. For example, APs and STAs configured to communicate using IEEE 802.11ax or 802.11be may be configured with a BSS color. APs associated with different BSSs may be associated with different BSS colors. If an AP or STA detects a wireless packet from another wireless communication device while contending for access, the AP or STA may apply different contention parameters based on whether the wireless packet was transmitted by or to another wireless communication device in its BSS, or from a wireless communication device from an overlapping BSS (OBSS), as determined by a BSS color indicator in the preamble of the wireless packet. For example, if the BSS color associated with the wireless packet is the same as the BSS color of the AP or STA, the AP or STA may use a first received signal strength indication (RSSI) detection threshold when performing CCA on the wireless channel. However, if the BSS color associated with the wireless packet is different from the BSS color of the AP or STA, the AP or STA may use a second RSSI detection threshold when performing CCA on the wireless channel instead of using the first RSSI detection threshold, where the second RSSI detection threshold is greater than the first RSSI detection threshold. In this way, the requirement to win contention is relaxed when the interfering transmission is associated with an OBSS.

[0033]

[0049] 2A illustrates an exemplary protocol data unit (PDU) 200 usable for wireless communication between an AP 102 and one or more STAs 104. For example, the PDU 200 may be configured as a PPDU. As illustrated, the PDU 200 includes a PHY preamble 202 and a PHY payload 204. For example, the preamble 202 may include a legacy portion, which itself includes a legacy short training field (L-STF) 206, which may consist of two BPSK symbols, a legacy long training field (L-LTF) 208, which may consist of two BPSK symbols, and a legacy signal field (L-SIG) 210, which may consist of two BPSK symbols. The legacy portion of the preamble 202 may be configured in accordance with the IEEE 802.11a wireless communication protocol standard. The preamble 202 may also include a non-legacy portion including one or more non-legacy fields 212 that are compliant with an IEEE wireless communication protocol such as IEEE 802.11ac, 802.11ax, 802.11be, or a later wireless communication protocol.

[0034]

[0050] The L-STF 206 generally enables the receiving device to perform automatic gain control (AGC) and coarse timing and frequency estimation. The L-LTF 208 generally enables the receiving device to perform fine timing and frequency estimation as well as an initial estimate of the wireless channel. The L-SIG 210 generally enables the receiving device to determine the duration of a PDU and to use the determined duration to avoid transmitting on the PDU. For example, the L-STF 206, the L-LTF 208 and the L-SIG 210 may be modulated according to a binary phase shift keying (BPSK) modulation scheme. The payload 204 may be modulated according to a BPSK modulation scheme, a quadrature BPSK (Q-BPSK) modulation scheme, a quadrature amplitude modulation (QAM) modulation scheme, or another suitable modulation scheme. The payload 204 may include a PLCP service data unit (PSDU) that includes a data field (DATA) 214, which may in turn carry higher layer data, for example, in the form of a medium access control (MAC) protocol data unit (MPDU) or an aggregated MPDU (A-MPDU).

[0035]

[0051] 2B illustrates an example L-SIG 210 in the PDU 200 of FIG. 2A. The L-SIG 210 includes a data rate field 222, reserved bits 224, a length field 226, parity bits 228, and a tail field 230. The data rate field 222 indicates a data rate (note that the data rate indicated in the data rate field 222 may not be the actual data rate of the data carried in the payload 204). The length field 226 indicates the length of the packet, e.g., in symbols or bytes. The parity bits 228 may be used to detect bit errors. The tail field 230 includes tail bits that may be used by a receiving device to terminate the operation of a decoder (e.g., a Viterbi decoder). The receiving device may use the data rate and length indicated in the data rate field 222 and length field 226 to determine the duration of the packet, e.g., in microseconds (μs) or other time units.

[0036]

[0052] 3 shows a block diagram of an example wireless communication device 300. In some implementations, the wireless communication device 300 may be an example of a device for use in a STA, such as one of the STAs 104 described with reference to FIG. 1. In some implementations, the wireless communication device 300 may be an example of a device for use in an AP, such as the AP 102 described with reference to FIG. 1. The wireless communication device 300 is capable of transmitting (or outputting for transmission) and receiving wireless communications (e.g., in the form of wireless packets). For example, a wireless communication device may be configured to transmit and receive packets in the form of Physical Layer Convergence Protocol (PLCP) Protocol Data Units (PPDUs) and Medium Access Control (MAC) Protocol Data Units (MPDUs) in accordance with IEEE 802.11 wireless communication protocol standards, such as those defined by the IEEE 802.11-2016 specification or amendments thereof, including, but not limited to, 802.11ah, 802.11ad, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be.

[0037]

[0053] The wireless communication device 300 may be or may include one or more modems 302, e.g., a chip, system-on-chip (SoC), chipset, package, or device including a Wi-Fi (IEEE 802.11 compliant) modem. In some implementations, the one or more modems 302 (collectively "modems 302") additionally include a WWAN modem (e.g., a 3GPP 4G LTE or 5G compliant modem). In some implementations, the wireless communication device 300 also includes one or more radios 304 (collectively "radios 304"). In some implementations, the wireless communication device 300 further includes one or more processors, processing blocks, or processing elements 306 (collectively "processors 306") and one or more memory blocks or elements 308 (collectively "memory 308").

[0038]

[0054] The modem 302 may include an intelligent hardware block or device, such as an application specific integrated circuit (ASIC), among other possibilities. The modem 302 is generally configured to implement a PHY layer. For example, the modem 302 is configured to modulate packets and output the modulated packets to the radio 304 for transmission over a wireless medium. The modem 302 is similarly configured to obtain modulated packets received by the radio 304 and demodulate the packets to provide demodulated packets. In addition to the modulator and demodulator, the modem 302 may further include digital signal processing (DSP) circuitry, an automatic gain control (AGC), a coder, a decoder, a multiplexer, and a demultiplexer. For example, while in a transmit mode, data obtained from the processor 306 is provided to a coder, which encodes the data to provide encoded bits. The coded bits are then mapped to points in a modulation constellation (using a selected modulation and coding scheme (MCS)) to provide modulated symbols. The modulated symbols are then divided into the number of spatial streams N SS or the number of space-time streams, N STS The modulated symbols in each spatial or space-time stream may then be multiplexed and transformed via an Inverse Fast Fourier Transform (IFFT) block, followed by being provided to DSP circuitry for Tx windowing and filtering. The digital signal may then be provided to a digital-to-analog converter (DAC). The resulting analog signal is then provided to a frequency upconverter and ultimately to the radio 304. In implementations involving beamforming, the modulated symbols in each spatial stream are precoded via a steering matrix prior to their provision to the IFFT block.

[0039]

[0055] While in the receive mode, the digital signal received from the radio 304 is provided to the DSP circuitry, which is configured to acquire the received signal, e.g., by detecting the presence of the signal and estimating an initial timing and frequency offset. The DSP circuitry is further configured to digitally condition the digital signal, e.g., using channel (narrowband) filtering, analog impairment conditioning (such as correcting for I / Q imbalance), and applying a digital gain, to ultimately obtain a narrowband signal. The output of the DSP circuitry may then be provided to an AGC, which is configured to use information extracted from the digital signal, e.g., in one or more received training fields, to determine an appropriate gain. The output of the DSP circuitry is also coupled to a demodulator, which is configured to extract modulated symbols from the signal and, e.g., calculate a log-likelihood ratio (LLR) for each bit position of each subcarrier in each spatial stream. The demodulator may be coupled to a decoder, which may be configured to process the LLR to provide decoded bits. The decoded bits from all of the spatial streams are then provided to a demultiplexer for demultiplexing. The demultiplexed bits may then be descrambled and provided to the MAC layer (processor 306) for processing, evaluation or interpretation.

[0040]

[0056] The radio 304 generally includes at least one radio frequency (RF) transmitter (or “transmitter chain”) and at least one RF receiver (or “receiver chain”), which may be combined into one or more transceivers. For example, the RF transmitter and receiver may include various DSP circuitry, including at least one power amplifier (PA) and at least one low noise amplifier (LNA), respectively. The RF transmitter and receiver may in turn be coupled to one or more antennas. For example, in some implementations, the wireless communication device 300 may include or be coupled to multiple transmit antennas (each having a corresponding transmit chain) and multiple receive antennas (each having a corresponding receive chain). Symbols output from the modem 302 are provided to the radio 304, which then transmits the symbols via the coupled antenna. Similarly, symbols received via the antennas are obtained by the radio 304, which then provides the symbols to the modem 302.

[0041]

[0057] The processor 306 may include an intelligent hardware block or device, such as a processing core, processing block, central processing unit (CPU), microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic device (PLD), such as field programmable gate array (FPGA), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The processor 306 processes information received through the radio 304 and modem 302, and processes information to be output through the modem 302 and radio 304 for transmission over a wireless medium. For example, the processor 306 may implement a control plane and MAC layer configured to perform various operations related to the generation and transmission of MPDUs, frames, or packets. The MAC layer is configured to perform or facilitate frame coding and decoding, spatial multiplexing, space-time block coding (STBC), beamforming, and OFDMA resource allocation, among other operations or techniques. In some implementations, the processor 306 may generally control the modem 302 to cause the modem to perform the various operations described above.

[0042]

[0058] The memory 308 may include a tangible storage medium, such as a random access memory (RAM) or a read only memory (ROM), or a combination thereof. The memory 308 may also store non-transitory processor or computer executable software (SW) code including instructions, which when executed by the processor 306, cause the processor to perform various operations described herein for wireless communication, including generating, transmitting, receiving and interpreting MPDUs, frames or packets. For example, various functions of the components disclosed herein, or various blocks or steps of the methods, operations, processes or algorithms disclosed herein, may be implemented as one or more modules of one or more computer programs.

[0043]

[0059] FIG. 4A illustrates a block diagram of an exemplary AP 402. For example, the AP 402 may be an exemplary implementation of the AP 102 described with reference to FIG. 1. The AP 402 includes a wireless communication device (WCD) 410 (although the AP 402 itself may also be generally referred to as a wireless communication device as used herein). For example, the wireless communication device 410 may be an exemplary implementation of the wireless communication device 300 described with reference to FIG. 3. The AP 402 also includes a plurality of antennas 420 coupled to the wireless communication device 410 for transmitting and receiving wireless communications. In some implementations, the AP 402 additionally includes an application processor 430 coupled to the wireless communication device 410 and a memory 440 coupled to the application processor 430. The AP 402 further includes at least one external network interface 450 that enables the AP 402 to communicate with a core network or a backhaul network to gain access to an external network, including the Internet. For example, the external network interface 450 may include one or both of a wired (e.g., Ethernet) network interface and a wireless network interface (such as a WWAN interface). Certain of the aforementioned components may communicate directly or indirectly with other of the components over at least one bus. The AP 402 further includes a housing that encloses the wireless communication device 410, the application processor 430, the memory 440, and at least a portion of the antenna 420 and the external network interface 450.

[0044]

[0060] FIG. 4B illustrates a block diagram of an exemplary STA 404. For example, the STA 404 may be an exemplary implementation of the STA 104 described with reference to FIG. 1. The STA 404 includes a wireless communication device 415 (although the STA 404 itself may also be generally referred to as a wireless communication device as used herein). For example, the wireless communication device 415 may be an exemplary implementation of the wireless communication device 300 described with reference to FIG. 3. The STA 404 also includes one or more antennas 425 coupled to the wireless communication device 415 for transmitting and receiving wireless communications. The STA 404 additionally includes an application processor 435 coupled to the wireless communication device 415 and a memory 445 coupled to the application processor 435. In some implementations, the STA 404 further includes a user interface (UI) 455 (such as a touch screen or keypad) and a display 465, which may be integrated into the UI 455 to form a touch screen display. In some implementations, the STA 404 may further include one or more sensors 475, such as one or more inertial sensors, accelerometers, temperature sensors, pressure sensors, or altitude sensors. Certain of the aforementioned components may communicate directly or indirectly with other of the components over at least one bus. The STA 404 further includes a housing that encloses the wireless communication device 415, the application processor 435, the memory 445, and at least a portion of the antenna 425, the UI 455, and the display 465.

[0045]

[0061] 5 illustrates a diagram of another example wireless communication network 500. According to some aspects, the wireless communication network 500 may be an example of a WLAN. For example, the wireless network 500 may be a network implementing at least one of the IEEE 802.11 family of standards. The wireless network 500 may include a number of STAs 504. As mentioned above, each of the STAs 504 may also be referred to as a mobile station (MS), a mobile device, a mobile handset, a wireless handset, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other examples. The STAs 504 may represent a variety of devices, such as, among other examples, a mobile phone, a personal digital assistant (PDA), other handheld device, a netbook, a notebook computer, a tablet computer, a laptop computer, a display device (e.g., a television, a computer monitor, a navigation system, among others), a music or other audio or stereo device, a remote control device (a "remote control"), a printer, a kitchen or other appliance, a key fob (e.g., a passive keyless entry and start (PKES) system), and the like.

[0046]

[0062] The wireless network 500 is an example of a peer-to-peer (P2P) network, an ad-hoc network, or a mesh network. The STAs 504 can communicate directly with each other over the P2P wireless links 510 (without the use of an intermediate AP). In some implementations, the wireless network 500 is an example of a Neighbor Aware Networking (NAN) network. A NAN network operates according to the Wi-Fi Alliance (WFA) Neighbor Aware Networking (also referred to as NAN) standard specification. NAN-compliant STAs 504 (hereinafter also referred to simply as "NAN devices 504") send and receive NAN communications to each other (e.g., in the form of Wi-Fi packets including frames that comply with IEEE 802.11 wireless communications protocol standards, such as those defined by the IEEE 802.11-2016 specification or amendments thereto, including, but not limited to, 802.11ay, 802.11ax, 802.11az, 802.11ba and 802.11be) over a wireless P2P link 510 (hereinafter also referred to as a "NAN link") using a data packet routing protocol, such as a Hybrid Wireless Mesh Protocol (HWMP), for path selection.

[0047]

[0063] A NAN network generally refers to a collection of NAN devices that share a common set of NAN parameters, including the time period between successive discovery windows (DWs), the duration of the discovery window, the NAN beacon interval, and the NAN discovery channel. A NAN ID is an identifier that signifies a particular set of NAN parameters for use within a NAN network. A NAN network is dynamically self-organized and self-configured. NAN devices 504 in a network automatically establish ad-hoc networks with other NAN devices 504 so that network connectivity can be maintained. Each NAN device 504 is configured to relay data for the NAN network so that various NAN devices 504 can cooperate in distributing data within the network. As a result, a message can be transmitted from a source NAN device to a destination NAN device by propagating along a path and hopping from one NAN device to the next until the destination is reached.

[0048]

[0064] Each NAN device 504 is configured to transmit two types of beacons: NAN discovery beacons and NAN synchronization beacons. When a NAN device 504 is turned on or otherwise enabled for NAN functionality, the NAN device periodically transmits a NAN discovery beacon (e.g., every 100 time units (TUs), every 128 TUs, or another suitable period) and a NAN synchronization beacon (e.g., every 512 TUs or another suitable period). A discovery beacon is a management frame transmitted between DWs used to facilitate discovery of a NAN cluster. A NAN cluster is a collection of NAN devices in a NAN network that are synchronized with the same clock and DW schedule using a time synchronization function (TSF). To join a NAN cluster, a NAN device 504 passively scans for discovery beacons from other NAN devices. When two NAN devices 504 come within each other's transmission range, they will discover each other based on such discovery beacons. The respective master preference values ​​determine which of the NAN devices 504 will become the master device. If a NAN cluster is not discovered, the NAN device 504 may initiate a new NAN cluster. If the NAN device 504 initiates a NAN cluster, the NAN device 504 assumes the role of master and broadcasts a discovery beacon. Additionally, a NAN device may choose to join more than one NAN cluster in a NAN network.

[0049]

[0065] The NAN devices 504 in a NAN cluster are synchronized with a particular DW schedule, i.e., the time and channel on which the NAN devices converge. The interval between consecutive DWs (512 TUs) is referred to as a "DW interval." Each DW interval is further sub-divided into multiple (32) "NAN slots" of equal duration (16 TUs). For example, a DW may coincide with the first NAN slot (or the first 16 TUs) of a respective DW interval. At the beginning of each DW, one or more NAN devices 504 may transmit a NAN synchronization beacon, which is a management frame used to synchronize the timing of NAN devices in a NAN cluster with the timing of a master device. The NAN devices 504 may then directly transmit multicast or unicast NAN service discovery frames to other NAN devices within the service discovery threshold and in the same NAN cluster during a discovery window period. The service discovery frames indicate the services supported by each NAN device 504.

[0050]

[0066] In some cases, the NAN devices 504 may exchange service discovery frames to verify whether both devices support ranging operations. The NAN devices 504 may perform such ranging operations ("ranging") during the DW period. Ranging may involve an exchange of fine timing measurement (FTM) frames (such as those defined in IEEE 802.11-REVmc). For example, a first NAN device 504 may send a unicast FTM request to multiple peer NAN devices 504. The peer NAN device 504 may then send a response to the first NAN device 504. The first NAN device 504 may then exchange FTM frames with each of the peer NAN devices 504. The first NAN device 504 may then determine the range between itself and each of the peer devices 504 based on the FTM frames and transmit a range indication to each of the peer NAN devices 504. For example, the range indication may include a distance value or an indication as to whether the peer NAN device 504 is within a service discovery threshold (e.g., 3 meters (m)) of the first NAN device 504. NAN links between NAN devices in the same NAN cluster may persist for multiple discovery windows as long as the NAN devices remain within each other's service discovery thresholds and are synchronized to the anchor master of the NAN cluster.

[0051]

[0067] Some NAN devices 504 may also be configured for wireless communication with other networks, such as a Wi-Fi WLAN or a wireless (e.g., cellular) wide area network (WWAN), which in turn may provide access to external networks, including the Internet. For example, the NAN device 504 may be configured to associate and communicate with an AP or base station 502 of a WLAN or WWAN network over a Wi-Fi or cellular link 506, respectively. In such cases, the NAN device 504 may include software-enabled access point (SoftAP) functionality that allows the STA to operate as a Wi-Fi hotspot to provide other NAN devices 504 with access to external networks over the associated WLAN or WWAN backhaul. Such NAN devices 504 (referred to as NAN concurrent devices) are capable of operating in both a NAN network and another type of wireless network, such as a Wi-Fi BSS. In some such implementations, the NAN device 504 may advertise its ability to provide such access point services to other NAN devices 504 in a service discovery frame.

[0052]

[0068] There are two general NAN service discovery messages: publish messages and subscribe messages. In general, publishing is a mechanism for an application on a NAN device to make available selected information about the capabilities and services of the NAN device to other NAN devices, while subscribing is a mechanism for an application on a NAN device to collect selected types of information about the capabilities and services of other NAN devices. A NAN device may generate and send a subclass message when it requests other NAN devices operating in the same NAN cluster to provide a particular service. For example, in an active subscriber mode, a subscribing function running in the NAN device may send a NAN service discovery frame to actively seek the availability of a particular service. A publishing function running in a publishing NAN device capable of providing the requested service may send a publish message to reply to the subscribing NAN device, for example, in response to meeting the criteria specified in the subscribe message. The publish message may include a range parameter indicating a service discovery threshold, which represents the maximum distance at which the subscribing NAN device itself can utilize the services of the publishing NAN device. The NAN may also use publish messages in a unilateral manner, for example, a publishing NAN device may generate and send publish messages to make its own services discoverable to other NAN devices operating in the same NAN cluster. In a passive subscriber mode, the subscribe function does not initiate the forwarding of any subscribe messages; rather, the subscribe function looks for matches in received publish messages to determine the availability of a desired service.

[0053]

[0069] NAN devices that share a common application may establish a data connection over a NAN device link (NDL). The NDL includes a set of common resource blocks (CRBs) that may be used for data communication between a pair of NAN devices. Each NDL is associated with a respective NDL schedule, which indicates the times when the CRBs are available for use by the NAN devices. For example, an NDL schedule may identify a set of NAN slots per DW interval during which the NDL is available. A pair of NAN devices may establish a NAN data path (NDP) to communicate over the NDL. An NDP is a data connection between a pair of NAN data interfaces (NDIs), each belonging to a respective NAN device. Once an NDP is established, each NAN device participating in the NDP must be available for data communication during the time period indicated by the NDL schedule. For example, if the NDL schedule associated with the NDP indicates that the first four NAN slots of a DW interval may be used for data communication between a pair of NAN devices, then each of the NAN devices must be available to transmit or receive data on the NDL during the first four NAN slots of each DW interval.

[0054]

[0070] As described above, NAN devices participating in the NDP must be available for data communication during the time period indicated by the NDL schedule. More specifically, the NDIs of the NAN devices must remain active for the indicated duration even if they are not transmitting or receiving data. For example, when the NDIs are not transmitting or receiving data, they are actively listening for incoming data on the NDL. As a result, the NAN devices may idle on the NDL and consume a significant amount of power.

[0055]

[0071] Various aspects relate generally to reducing power consumption in NAN devices, and more particularly to dynamically adjusting an NDL schedule to reduce idle durations of an NDI. In some aspects, a NAN device may measure congestion on a wireless channel during each NAN slot period within a DW interval, and may dynamically update an NDL schedule based on the measured congestion. For example, the measured congestion during each NAN slot period may be calculated based on the amount of time (T busy ) in the DW interval. In some other aspects, the NAN device may measure the throughput on the NDL during each NAN slot period within the DW interval and dynamically update the NDL schedule based on the measured throughput. For example, the measured throughput during each NAN slot period may be associated with the amount of time (T load ) In some embodiments, the NAN device may be associated with T busy and T load The NDL schedule may be dynamically updated based on a combination of busy and T load If T is relatively low and has a positive covariance, the NAN device may reduce the number of NAN slots per DW interval in which the NDL may be used for future data communications. busy and T load A joint estimation metric (C2) may be calculated based on the above, and the number of NAN slots may be determined for each DW interval based on the value of C2.

[0056]

[0072] Particular implementations of the subject matter described in this disclosure may be implemented to achieve one or more of the following potential advantages: This implementation allows NAN devices to adapt the power consumption of their NDI to the throughput and latency of data transmitted and received by the NDI. For example, if a NAN device determines that an NDI is idle (active but not transmitting or receiving data) for a relatively long period of time, the NAN device may reduce the number of NAN slots available for data communication (per DW interval). By reducing the number of available NAN slots, the idle duration of each NDI may also be reduced, thereby optimizing the power consumption of the NAN device. Aspects of the present disclosure recognize that in some cases, low data throughput may be caused by high levels of noise, interference, or wireless communication between other devices on the wireless medium (collectively referred to as "congestion"). T busy and T load The covariance of T, or any other joint metric, indicates whether fluctuations in data throughput can be linked to fluctuations in congestion. busy and T load By dynamically updating the NDL schedule based on, a NAN device can more accurately align the number of available NAN slots to the throughput and latency of data communication over the NDL.

[0057]

[0073] FIG. 6 shows a timing diagram 600 depicting an exemplary NDL schedule. The NDL schedule indicates a set of NAN slots within a DW interval (512 TU) during which the NDL may be used for data communication between a pair of NAN devices. The exemplary NDL schedule of FIG. 6 spans all 32 NAN slots (slots 0-31) of a DW interval. Thus, each NAN device associated with an NDL must be available to transmit or receive data communications (on the NDL) for the duration of each DW interval for which the NDL schedule is in effect. Specifically, the NDI used to transmit and receive data communications between NAN devices must remain active during the duration of each of the 32 NAN slots.

[0058]

[0074] In the example of FIG. 6, the NAN devices exchange data communications only during the first 12 NAN slots (slots 0-11) of the DW interval and idle the NDL for the remaining 20 NAN slots (slots 12-31). Because the NAN device's NDI must remain active (e.g., by actively listening for incoming data) during slots 12-31, the NAN device may continue to consume a significant amount of power even when the NDL is idle. Aspects of the present disclosure recognize that a NAN device may reduce its idle power consumption by reducing the number of NAN slots (referred to herein as "active NAN slots") in which its NDI(s) must remain active. For example, referring to FIG. 6, each NAN device associated with an NDL may significantly reduce (or eliminate) its idle power consumption by limiting its active NAN slots to the first 12 NAN slots (slots 0-11) of the DW interval.

[0059]

[0075] In some implementations, a NAN device may dynamically update its NDL schedule based on the throughput or latency of data communication on the NDL. More specifically, a NAN device may align the number of active NAN slots to the amount of data exchanged within a DW interval. In some aspects, a NAN device may determine an average throughput of data communication for each DW interval and adjust the number of active NAN slots for each DW interval based on the average throughput. For example, a NAN device may monitor the amount of data the NAN device transmits and receives on the NDL during each DW interval and calculate the number of NAN slots required to communicate that amount of data. If the number of active NAN slots currently allocated by the NDL schedule exceeds the number of required NAN slots (by a threshold amount), the NAN device may reduce the number of active NAN slots in one or more subsequent DW intervals.

[0060]

[0076] Aspects of the present disclosure further recognize that congestion on the wireless medium (such as noise, interference, or wireless communications between other devices) may affect the throughput of data communications on the NDL. Specifically, high levels of congestion may prevent a NAN device from capturing the wireless medium or otherwise transmitting data on the NDL. Thus, in some cases, low data throughput on the NDL may be due to high levels of congestion on the wireless medium. In such cases, reducing the number of active NAN slots may further reduce the throughput of data communications on the NDL, which may lead to stalling or disconnection of data transmission between pairs of NAN devices.

[0061]

[0077] In some implementations, the NAN device may determine how to update the NDL schedule based on congestion on the wireless medium. More specifically, the NAN device may leverage knowledge of congestion to better align the number of active NAN slots to the amount of data exchanged within a DW interval. In some aspects, the NAN device may determine the average throughput and congestion on the wireless medium for each DW interval and adjust the number of active NAN slots for each DW interval based on the average throughput and congestion. For example, the NAN device may perform a clear channel assessment (CCA) on the wireless medium and determine the duration during each DW interval that the wireless medium is busy (indicating congestion exceeds a threshold level). In some implementations, the NAN device may further compare the fluctuation in the measured throughput to the fluctuation in the measured congestion. For example, if an increase (or decrease) in throughput coincides with an increase (or decrease) in congestion, the NAN device may determine that the throughput of data communication on the NDL is not limited by congestion on the wireless medium. In some other implementations, the NAN device may consider the measured throughput and the measured congestion as a joint metric. For example, the joint metric may indicate the percentage of time that a NAN slot is occupied (or idle).

[0062]

[0078] In some implementations, the NAN device may determine the throughput and congestion on the wireless medium for each NAN slot of the DW interval. For example, with reference to FIG. 6, the NAN device may monitor the throughput and congestion on the wireless medium during each of the 32 NAN slots (slots 0-31). In some aspects, the NAN device may determine the amount of time that the wireless medium is busy (T busy ) and the amount of time that the NDL is used for data communication between NAN devices (T load ) can be determined. As mentioned above, T busycan be determined by performing CCA on the wireless medium, and T load may be determined by measuring the amount of data communicated over the NDL between NAN devices. In some aspects, the NAN devices may determine for each NAN slot the amount of time that the wireless medium is idle (T idle In some embodiments, T idle is T busy , T load , and the duration of each NAN slot (T slot ) can be calculated as a function of

[0063]

number

[0064]

[0079] The NAN device stores T in an array of 32 entries. busy and T load where each entry stores the value of a respective tuple (T busy , T load In some embodiments, the NAN device stores T idle At the end of each DW interval, the NAN device may also store the value of T busy The average value of

[0065]

number

[0066] And, T load The average value of

[0067]

number

[0068] In some implementations, the NAN device may also calculate T based on the 32 entries stored in the array. load Variance of (Var(Tload )) and T busy and T load Covariance of (cov(T busy , T load In some embodiments, the following formula may be calculated:

[0069]

number

[0070] ,

[0071]

number

[0072] , Var(T load ), and cov(T busy , T load The value of may be conveyed over a number (N) of DW intervals.

[0073]

number

[0074] and

[0075]

number

[0076] is the average idle duration of NDL (based on the above equation)

[0077]

number

[0078] It will be appreciated that aspects of the present disclosure may be used to calculate cov(T busy , T load ) is affected by congestion on the wireless medium, Var(T load ) can indicate whether it is relevant. For example, cov(T busy , T load) is a positive value, the NAN device may determine that the measured throughput is not tied to medium congestion. busy , T load ) is a negative value, the NAN device may determine that the measured throughput is associated with medium congestion.

[0079]

[0080] In some implementations, the NAN device:

[0080]

number

[0081] ,

[0082]

number

[0083] , Var(T load ), and cov(T busy , T load ), the number of active NAN slots to be included in the updated NDL schedule may be determined based on the value of cov(T busy , T load ) is a positive value,

[0084]

number

[0085] If cov(T busy , T load ) is a positive value,

[0086]

number

[0087] If R is greater than the threshold duration, the NAN device may reduce the number of active NAN slots for the subsequent DW interval. In some aspects, the reduced number of active slots (R) is

[0088]

number

[0089] and T slot may be calculated as a function of

[0090]

number

[0091] However, Δ S represents the number of "overflow" slots. For example, overflow slots may provide a buffer to support variations in data throughput per DW interval. Thus, in some implementations, Δ S is Var(T load ) can be determined based on cov(T busy , T load If Δ(n) is a negative value (indicating that throughput is limited by congestion on the wireless medium), the NAN device may increase the number of active NAN slots. In some aspects, the NAN device may increase the number of active NAN slots by 2*Δ(n) S Only the number of slots may be increased.

[0092] In some other implementations, the NAN device is associated with a DW interval.

[0093]

number

[0094] and

[0095]

number

[0096] At the end of each DW interval, a joint estimation metric (C2) may be calculated based on the values ​​of

[0097]

number

[0098] where α and β are the joint estimation metric C2.

[0099]

number

[0100] and

[0101]

number

[0102] C2 is a scalar quantity that may be configured to weight the contributions of the NAN slots, respectively. As described above, the joint estimation metric C2 may indicate the percentage of time that a NAN slot is occupied during a DW interval. Thus, a lower value of C2 may indicate a greater opportunity for power savings. In some implementations, the NAN device may determine the number of active NAN slots to be included in the updated NDL schedule based on the value of C2. For example, a lower value of C2 may be associated with a smaller number of active NAN slots, and a higher value of C2 may be associated with a larger number of active NAN slots. In some aspects, the value of C2 is determined based on the number of combined estimation metrics.

[0103]

number

[0104] , which may be averaged (linearly or non-linearly) over some number (N) of DW intervals to produce

[0105]

number

[0106] The value of may represent a moving average of C2 values ​​obtained over multiple DW intervals. In some implementations, the NAN device may

[0107]

number

[0108] ) value of C2 (or

[0109]

number

[0110] ) and the range of values ​​for each C2 (or

[0111]

number

[0112] ) value and the associated number of active NAN slots.

[0113]

[0082] Figure 7 shows a sequence diagram 700 depicting an example message exchange between NAN devices 710 and 720 according to some implementations. Each of the NAN devices 710 and 720 may be one of the example STAs 104 or 404 of Figures 1 and 4, respectively, or any one of the NAN devices 504 of Figure 5. In some implementations, the NAN devices 710 and 720 may belong to the same NAN cluster and may be synchronized to the same DW.

[0114]

[0083] The first NAN device 710 may set up an NDP with the second NAN device 720. For example, the first NAN device 710 acting as an NDP initiator may select a first NDI for the NDP and send a data path request NAN action frame (NAF) indicating a request to set up the NDP to the second NAN device 720. If an NDL has not yet been established between the NAN devices 710 and 720, the data path request NAF may also include scheduling information indicating a proposed NDL schedule. The second NAN device 720 acting as an NDP responder may accept the NDP setup request from the first NAN device 710 and select a second NDI for the NDP. The second NAN device 720 may send a data path response NAF indicating acceptance of the NDP to the first NAN device 710. If an NDL has not yet been established between the NAN devices 710 and 720, the data path response NAF may also include scheduling information indicating the proposed NDL schedule or acceptance of the counter-proposal. After negotiating the NDL schedule, the NAN devices 710 and 720 may successfully establish an NDL over the wireless channel 730.

[0115] In the example of FIG. 7, the NDP lasts for at least a certain number (N) of DW intervals 730(1)-730(N). During the first DW interval 730(1), the NAN devices 710 and 720 may transmit and receive data communications on the NDL during the NAN slot periods identified by the negotiated NDL schedule. Specifically, the first and second NDIs of each NAN device 710 and 720 must remain active for the duration of the NAN slots identified by the NDL schedule. In some implementations, the first NAN device 710 may measure throughput and congestion on the wireless channel 730 during each NAN slot period of the first DW interval 730(1). For example, referring to FIG. 6, the first NAN device 710 may measure a value Tbusy and T load 7, the measurements are shown as being made by the first NAN device 710. However, in an actual implementation, the throughput and congestion may be measured by the first NAN device 710, the second NAN device 720, or a combination thereof.

[0116] At the end of the first DW interval 730(1), the first NAN device 710 records the T busy and T load Based on the value of

[0117]

number

[0118] and

[0119]

number

[0120] In some implementations, the first NAN device 710 may calculate values ​​of Var(T load ) and cov(T busy , T load ) and

[0121]

number

[0122] ,

[0123]

number

[0124] , Var(T load ), and cov(T busy , Tload ) may be dynamically updated based on the value of cov(T busy , T load ) is positive or negative, and

[0125]

number

[0126] is greater than a threshold duration, the first NAN device 710 may determine whether to increase, decrease, or maintain the number of active NAN slots. In some other implementations, the first NAN device 710 may calculate a joint estimation metric C2 (such as that described with reference to FIG. 6) and dynamically update the NDL schedule based on the value of C2. For example, as further described with reference to FIG. 6, the first NAN device 710 may compare the value of C2 to the LUT to determine the number of active NAN slots. If the first NAN device 710 determines to increase or decrease the number of active NAN slots (such as that shown in FIG. 7), the NAN device 710 may transmit updated scheduling information to the second NAN device 720 to identify NAN slots to be added to or removed from the NDL schedule. The updated scheduling information may be transmitted within a NAN beacon frame, a schedule update notification NAF, or any other unicast or broadcast NAN management frame.

[0127]

[0086] The first NAN device 710 may begin implementing an updated NDL schedule during the second DW interval 730(2). Upon receiving the updated scheduling information from the first NAN device, the second NAN device 720 may also implement an updated NDL schedule during the second DW interval 730(2). In some aspects, each of the first and second NAN devices 710 and 720 may implement an updated NDL schedule starting from the next NAN slot immediately after transmitting or receiving the updated scheduling information. In some implementations, the process described above may be repeated for a number (N) of DW intervals. For example, the first NAN device 710 may measure throughput and congestion on the wireless channel 730 and continue to dynamically update the NDL schedule during each of the remaining DW intervals 730(2)-730(N). In this manner, the NAN devices 710 and 720 may dynamically adapt the number of active NAN slots per DW interval to the throughput of data communications on the NDL, thereby reducing the idle duration of their respective NDIs. By reducing the idle duration of the NDIs, aspects of the present disclosure may reduce or optimize the power consumption of the NAN devices 710 and 720.

[0128]

[0087] Figure 8 shows a timing diagram 800 depicting an example operation for dynamically adjusting an NDL schedule according to some implementations. The NDL schedule is shared by a pair of NAN devices (NDs) 802 and 804. More specifically, the NDL schedule indicates a set of NAN slots having DW intervals during which the NDL may be used for data communication between the NAN devices 802 and 804. In the example of Figure 8, the NDL schedule is implemented for at least two DW intervals 810 and 820. The first DW interval 810 spans a duration from time t0 to t1, and the second DW interval 820 spans a duration from time t1 to t2.

[0129]

[0088] During the first DW interval 810, the NDL schedule is shown to span all 32 NAN slots. Thus, each of the NAN devices 802 and 804 must be available to transmit or receive data communications (on the NDL) for the duration of the first DW interval 810. Specifically, the NDI used to transmit and receive data communications between the NAN devices 802 and 804 must remain active during each of the 32 NAN slots. In some implementations, the first NAN device 802 may measure throughput and congestion on the wireless medium during each NAN slot of the first DW interval 810. For example, with reference to FIG. 6, the first NAN device 802 may measure a value T busy and T load At the end of the first DW interval 810, the first NAN device 802 may determine a respective set of T busy and T load Based on the value of

[0130]

number

[0131] and

[0132]

number

[0133] In some implementations, the first NAN device 802 may calculate a value of T busy and T load Based on the value of Var(T load ) and cov(T busy , T loadIn some other implementations, the first NAN device 802 may calculate a joint estimation metric C2 (such as that described with reference to FIG. 6). In some implementations, the first NAN device 802 may calculate

[0134]

number

[0135] ,

[0136]

number

[0137] , Var(T load ), cov(T busy , T load ), or the value of C2, the NDL schedule may be dynamically updated.

[0138] In the example of FIG. 8, the first NAN device 802 may decide at time t1 to reduce the number of active NAN slots. Specifically, the NAN device 802 may decide to reduce the number of active NAN slots for only ¼ of the entire duration of the first DW interval 810 (

[0139]

number

[0140] ), data may be transmitted and received on the NDL. For example, as shown in FIG. 8, the data communication may span the duration of NAN slots 13 to 20 of the first DW interval 810. As a result, the NAN device 802 may reduce the number of active NAN slots from 32 slots to 12 slots (R=8+4, where Δ S8, the NDL schedule update message may be transmitted during the first active NAN slot (slot 13) of the second DW interval 820. In some aspects, the 12 active NAN slots may substantially correspond to NAN slots (such as NAN slots 13-24) in which data communication between the NAN devices 802 and 804 has occurred or is expected to occur. The first NAN device 802 may transmit an NDL schedule update message during the second DW interval 820 to indicate an updated NDL schedule to the second NAN device 804. The NDL schedule update message may be a NAN beacon frame, a schedule update notification NAF, or any other unicast or broadcast NAN management frame capable of conveying an updated availability schedule of the first NAN device 802. In the example of FIG. 8, the NDL schedule update message is transmitted during the first active NAN slot (slot 13) of the second DW interval 820. However, in an actual implementation, the NDL schedule update message may be transmitted during any of the available NAN slots.

[0141] As a result of the update, the NDL schedule is shown to span only NAN slots 13 through 24 of the second DW window 820. In the example of FIG. 8, the active NAN slots 21-24 are not included in the overflow NAN slots (Δ S= 4). However, in an actual implementation, any number of overflow NAN slots may be distributed before or after the active NAN slots (such as NAN slots 13-20) in which data communication between the NAN devices 802 and 804 is expected to occur. Thus, each of the NAN devices 802 and 804 must be available to transmit or receive data communication (on the NDL) for the duration of the active NAN slots 13-24. More specifically, the NDI used to transmit and receive data communication between the NAN devices 802 and 804 may be in an inactive or power saving state during the first 12 NAN slots of the second DW interval 820 and the last 8 NAN slots of the DW interval 820. In some implementations, the first NAN device 802 may continue to measure throughput and congestion on the wireless medium during each NAN slot period of the second DW interval 820. For example, the first NAN device 802 may calculate a value T busy and T load At the end of the second DW interval 820, the first NAN device 802 may determine a respective set of T busy and T load Based on the value of

[0142]

number

[0143] ,

[0144]

number

[0145] , Var(T load ), cov(T busy , T load ), or a value of C2. In some implementations, the first NAN device 802 may calculate

[0146]

number

[0147] ,

[0148]

number

[0149] , Var(T load ), cov(T busy , T load ), or the value of C2.

[0150] Aspects of the present disclosure recognize that data communication between NAN devices 802 and 804 may not be isolated to any single portion of a DW interval (such as that shown in FIG. 8). Rather, in some cases, a NAN device may transmit data at a low but constant data rate (such as in periodic bursts) throughout the duration of a DW interval. In some implementations, a NAN device may periodically distribute active NAN slots over the duration of a DW interval, for example, to accommodate low but constant rate data communication. In some aspects, a NAN device may transmit data at a low but constant rate (such as in periodic bursts) throughout the duration of a DW interval. load Standard deviation of (σ load ), the periodicity of the active NAN slots may be determined based on T load is σ load If T is greater than 1, the NAN device may group multiple active NAN slots together (e.g., as shown in FIG. 8). load is σ loadIf n=4, then the NAN device may sub-divide the DW interval into a number (n) of sub-intervals. For example, if n=4, then each sub-interval may span a duration of 8 NAN slots. The number (D) of active NAN slots to be included in each sub-interval may be determined as a function of the number of sub-intervals (n) and the total number (R) of active NAN slots allocated for the DW interval.

[0151]

number

[0152]

[0092] Figure 9 shows a timing diagram 900 depicting another example operation for dynamically adjusting an NDL schedule, according to some implementations. The NDL schedule is shared by a pair of NAN devices (NDs) 902 and 904. More specifically, the NDL schedule indicates a set of NAN slots along with DW intervals during which the NDL may be used for data communication between the NAN devices 902 and 904. In the example of Figure 9, the NDL schedule is implemented for at least two DW intervals 910 and 920. The first DW interval 910 spans a duration from time t0 to t1, and the second DW interval 920 spans a duration from time t1 to t2.

[0153]

[0093] During the first DW interval 910, the NDL schedule is shown to span all 32 NAN slots. Thus, each of the NAN devices 902 and 904 must be available to transmit or receive data communications (on the NDL) for the duration of the first DW interval 910. Specifically, the NDI used to transmit and receive data communications between the NAN devices 902 and 904 must remain active during each of the 32 NAN slots. In some implementations, the first NAN device 902 may measure throughput and congestion on the wireless medium during each NAN slot of the first DW interval 910. For example, with reference to FIG. 6, the first NAN device 902 may measure a value T busy and T load At the end of the first DW interval 910, the first NAN device 902 may determine a respective set of T busy and T load Based on the value of

[0154]

number

[0155] and

[0156]

number

[0157] In some implementations, the first NAN device 902 may calculate a value of T busy and T load Based on the value of Var(T load ) and cov(T busy , T loadIn some other implementations, the first NAN device 902 may calculate a joint estimation metric C2 (such as that described with reference to FIG. 6). In some implementations, the first NAN device 902 may further calculate

[0158]

number

[0159] ,

[0160]

number

[0161] , Var(T load ), cov(T busy , T load ), or the value of C2, the NDL schedule may be dynamically updated.

[0162] In the example of FIG. 9, the first NAN device 902 may decide at time t1 to reduce the number of active NAN slots. Specifically, the NAN device 902 may decide to reduce the number of active NAN slots for only ¼ of the entire duration of the first DW interval 910 (

[0163]

number

[0164] ), data may be transmitted and received on the NDL. For example, as shown in FIG. 9, data may be transmitted in periodic bursts (corresponding to NAN slots 1, 2, 9, 10, 17, 18, 25, and 26) during the duration of the first DW interval 910, where each burst of data spans the duration of two NAN slots. As a result, the NAN device 902 may reduce the number of active NAN slots from 32 slots to 12 slots (R=8+4, where Δ S9, the 12 active NAN slots may be subdivided into four adjacent groups (each containing three NAN slots), corresponding to NAN slots 1-3, 9-11, 17-19, and 25-27. Because data communication spans the duration of a DW interval, the NAN device 902 may distribute the active NAN slots in a periodic manner over the duration of the second DW interval 920, e.g., to coincide with NAN slots in which data communication between the NAN devices 902 and 904 has occurred or is expected to occur. For example, as shown in FIG. 9, the 12 active NAN slots may be subdivided into four adjacent groups (each containing three NAN slots), corresponding to NAN slots 1-3, 9-11, 17-19, and 25-27.

[0165]

[0095] The first NAN device 902 may transmit an NDL schedule update message during the second DW interval 920 to indicate an updated NDL schedule to the second NAN device 904. The NDL schedule update message may be a NAN beacon frame, a schedule update notification NAF, or any other unicast or broadcast NAN management frame capable of conveying an updated availability schedule of the first NAN device 902, and may be transmitted during any of the 32 NAN slots in the second DW interval 920. As a result of the update, each of the NDIs used to transmit and receive data communications between the NAN devices 902 and 904 may be in an inactive or power saving state during 20 of the NAN slots of the second DW interval 920. In some implementations, the first NAN device 902 may continue to measure throughput and congestion on the wireless medium during each NAN slot of the second DW interval 920. For example, at the end of the second DW interval 920, the first NAN device 902

[0166]

number

[0167] ,

[0168]

number

[0169] , Var(T load ), cov(T busy , T load ), or the NDL schedule may be further updated based on the updated value of C2.

[0170]

[0096] An aspect of the present disclosure is busy and T load It is further recognized that while T may provide a fairly accurate prediction of future data communications on the NDL, the actual throughput of data communications may vary significantly between DW intervals. In some implementations, the NAN device may test the accuracy of its prediction by selectively probing one or more NAN slots for incoming data. For example, the NAN device may busy and T load Regardless of the value of , additional NAN slots (referred to herein as "probed NAN slots") may be activated during a given DW interval. If the NAN device receives incoming data during one or more of the probed NAN slots, the existing NDL schedule may not be optimized for data communication over the NDL. In some aspects, the NAN device may further update the NDL schedule based on the amount of data received during the probed NAN slot period. For example, if the data received during the probed NAN slot period exceeds a threshold amount, the NAN device may increase the number of active NAN slots in one or more subsequent DW intervals.

[0171]

[0097] Figure 10 shows a timing diagram 1000 depicting another example operation for dynamically adjusting an NDL schedule according to some implementations. The NDL schedule is shared by a pair of NAN devices (NDs) 1002 and 1004. More specifically, the NDL schedule indicates a set of NAN slots along with DW intervals during which the NDL may be used for data communication between the NAN devices 1002 and 1004. In the example of Figure 10, the NDL schedule is implemented for at least two DW intervals 1010 and 1020. The first DW interval 1010 spans a duration from time t0 to t1, and the second DW interval 1020 spans a duration from time t1 to t2.

[0172]

[0098] During the first DW interval 1010, the NDL schedule is shown to span only the first 12 NAN slots. Thus, the NDI used to transmit and receive data communications between the NAN devices 1002 and 1004 may be in an inactive or power saving state during the last 20 NAN slots of the first DW interval 1010. Because the last 20 NAN slots are not available for data communications over the NDL, the first NAN device 1002 does not know whether the second NAN device 1004 has data to transmit during any of these NAN slots. In some implementations, the first NAN device 1002 may survey the last 20 NAN slots of the second DW interval 1020 for incoming data from the second NAN device 1004. For example, the first NAN device 1002 may send an NDL schedule update message to the second NAN device 1004 indicating that the updated NDL schedule should span all 32 NAN slots. The NDL schedule update message may be a NAN beacon frame, a schedule update notification NAF, or any other unicast or broadcast NAN management frame capable of conveying the updated availability schedule of the first NAN device 1002.

[0173]

[0099] As a result of the update, each of the NDIs used to transmit and receive data communications between the NAN devices 1002 and 1004 may remain active during all 32 NAN slots of the second DW interval 1020. As a result, the first NAN device 1002 may listen for incoming data from the second NAN device 1004 during the last 20 NAN slots of the second DW interval 1020. At the end of the second DW interval 1020 (at time t2), the first NAN device 1002 may determine whether to further update the NDL schedule or return to the existing NDL schedule. For example, if the first NAN device 1002 does not receive any incoming data during any of the last 20 NAN slots, the first NAN device 1002 may send another NDL schedule update message (not shown for simplicity) to the second NAN device 1004 indicating a request to return to the existing NDL schedule. On the other hand, if the first NAN device 1002 receives incoming data during one or more of the last 20 NAN slots (such as those shown in FIG. 10), the first NAN device 1002 may send another NDL schedule update message (not shown for simplicity) to the second NAN device 1004 indicating further updates to the NDL schedule. For example, the updated NDL schedule may include one or more additional active NAN slots that are not currently active in the existing NDL schedule.

[0174] 11 shows a flowchart illustrating an example process 1100 for wireless communication supporting adaptive NDI, according to some implementations. In some implementations, the process 1100 may be performed by a wireless communication device operating as or within a network node, such as one of the STAs 404 or 504 described above with reference to FIG. 4B and FIG. 5, respectively.

[0175] In some implementations, process 1100 begins at block 1102 by establishing an NDL on a wireless channel with a NAN device. At block 1104, process 1100 proceeds to negotiate an NDL schedule with the NAN device indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device. At block 1106, process 1100 proceeds to measure congestion on the wireless channel during each of a number of NAN slots within the DW interval, where the congestion measured during each NAN slot period is determined based on the amount of time the wireless channel is busy during the respective NAN slot period (T busy ) In some implementations, congestion may be measured based on a CCA mechanism. At block 1108, process 1100 proceeds to dynamically update the NDL schedule based on the congestion measured during the multiple NAN slot periods. In some implementations, dynamically updating the NDL schedule may include transmitting a NAN management frame to the NAN device carrying information indicating the updated NDL schedule.

[0176] In some implementations, the throughput may also be measured on the NDL during each of a number of NAN slots, where the throughput measured during each NAN slot is determined based on the amount of time that the wireless communication device communicates with the NAN device over the NDL during the respective NAN slot (T load In some implementations, the dynamic update of the NDL schedule is busy and T load The method may include adjusting the number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on the covariance of the NDLs.

[0177] In some implementations, the adjustment of the number of NAN slots is busy and T loadIn some other implementations, adjusting the number of NAN slots may include increasing the number of NAN slots based on the covariance of T busy and T load In some implementations, the congestion and throughput measured during each of the multiple NAN slots may include reducing the number of NAN slots based on the covariance of T being positive and the average idle duration of the NDL being greater than a threshold. idle ), where the average idle duration of the NDL is T idle is equal to the average of

[0178] In some other implementations, the dynamic update of the NDL schedule is busy and T load and obtaining a number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on the joint estimation metric associated with the NDL. In some implementations, the number of NAN slots may be obtained from a LUT that stores a plurality of values ​​associated with the joint estimation metric and information indicative of a respective number of NAN slots associated with each of the plurality of values.

[0179] In some implementations, the dynamic update of the NDL schedule is load In some embodiments, the adjustment of the periodicity of the NAN slots may include adjusting the periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on the standard deviation of T load T load In some other aspects, adjusting the periodicity of the NAN slots may include increasing the periodicity of the NAN slots based on the period being less than or equal to a standard deviation of T load T load The method may include reducing the periodicity of the NAN slots based on the NAN being greater than a standard deviation of the NAN slots.

[0180] In some implementations, the wireless communication device may further listen for incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule. In some aspects, the dynamic updating of the NDL schedule may include adjusting the number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule.

[0181] 12 shows a flowchart illustrating an example process 1200 for wireless communication supporting adaptive NDI, according to some implementations. In some implementations, the process 1200 may be performed by a wireless communication device operating as or within a network node, such as one of the STAs 404 or 504 described above with reference to FIG. 4B and FIG. 5, respectively.

[0182] In some implementations, process 1200 begins at block 1202 by establishing an NDL over a wireless channel with a NAN device. At block 1204, process 1200 proceeds to negotiate an NDL schedule with the NAN device indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device. At block 1206, process 1200 proceeds to measure throughput on the NDL during each of a number of NAN slots within the DW interval, where the throughput measured during each NAN slot period is determined based on the amount of time (T) that the wireless communication device communicates with the NAN device over the NDL during the respective NAN slot period. load) In some implementations, the throughput may be measured based on an amount of data transmitted and received on the NDL. At block 1208, the process 1200 proceeds to dynamically updating the NDL schedule based on the congestion measured during the multiple NAN slot periods. In some implementations, dynamically updating the NDL schedule may include transmitting a NAN management frame to the NAN device carrying information indicating the updated NDL schedule.

[0183] In some implementations, congestion may also be measured on the wireless channel associated with the NDL during each of a number of NAN slots, where the congestion measured during each NAN slot is the amount of time that the wireless channel is busy during the respective NAN slot (T busy In some implementations, updates to the NDL schedule are associated with T busy and T load The method may include adjusting the number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on the covariance of the NDLs.

[0184] In some implementations, the adjustment of the number of NAN slots is busy and T load In some other implementations, adjusting the number of NAN slots may include increasing the number of NAN slots based on the covariance of T busy and T load In some implementations, the congestion and throughput measured during each of the multiple NAN slots may include reducing the number of NAN slots based on the covariance of T being positive and the average idle duration of the NDL being greater than a threshold. idle ), where the average idle duration of the NDL is T idle is equal to the average of

[0185] In some other implementations, the dynamic update of the NDL schedule is busy and T load and obtaining a number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on the joint estimation metric associated with the NDL. In some implementations, the number of NAN slots may be obtained from a LUT that stores a plurality of values ​​associated with the joint estimation metric and information indicative of a respective number of NAN slots associated with each of the plurality of values.

[0186] In some implementations, the dynamic update of the NDL schedule is load In some embodiments, the adjustment of the periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device may include adjusting the periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on the standard deviation of T load T load In some other aspects, adjusting the periodicity of the NAN slots may include increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of T load T load The method may include reducing the periodicity of the NAN slots based on the NAN being greater than the standard deviation of

[0187] In some implementations, the wireless communication device may listen for incoming data from the NAN device during one or more slot periods not indicated by the NDL schedule. In some aspects, dynamically updating the NDL schedule may include adjusting the number of NAN slots per DW interval that the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule.

[0188]

[0114] Figure 13 shows a block diagram of an example wireless communication device 1300 according to some implementations. In some implementations, the wireless communication device 1300 is configured to perform the process 1100 described above with reference to Figure 11. The wireless communication device 1300 may be an example implementation of the wireless communication device 300 described above with reference to Figure 3. For example, the wireless communication device 1300 may be a chip, SoC, chipset, package or device including at least one processor and at least one modem (e.g., a Wi-Fi (IEEE 802.11) modem or a cellular modem).

[0189] The wireless communication device 1300 includes a receiving component 1310, a communications manager 1320, and a transmitting component 1330. The communications manager 1320 further includes an NDP setup component 1322, an NDL schedule negotiation component 1324, a congestion measurement component 1326, and an NDL schedule update component 1328. One or more portions of the components 1322-1328 may be implemented at least partially in hardware or firmware. In some implementations, at least some of the components 1322-1328 are implemented at least partially as software stored in a memory (such as the memory 308). For example, one or more portions of the components 1322-1328 may be implemented as non-transitory instructions (or "code") executable by a processor (such as the processor 306) to perform the functions or operations of the respective components.

[0190]

[0116] The receiving component 1310 is configured to receive an RX signal from a NAN device. The transmitting component 1330 is configured to transmit a TX signal to the NAN device. The communication manager 1320 is configured to control or manage communication with the NAN device. In some implementations, the NDL setup component 1322 may establish a Neighbor Aware Networking (NAN) device link (NDL) over a wireless channel with the NAN device, the NDL schedule negotiation component 1324 may negotiate with the NAN device an NDL schedule indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device, and the congestion measurement component 1326 may measure congestion on the wireless channel during each of a number of NAN slots within the DW interval, and the congestion measured during each NAN slot period may be measured as an amount of time that the wireless channel is busy during the respective NAN slot period (T busy ), and the NDL schedule update component 1328 may dynamically update the NDL schedule based on congestion measured during multiple NAN slot periods.

[0191]

[0117] Figure 14 shows a block diagram of an example wireless communication device 1400 according to some implementations. In some implementations, the wireless communication device 1400 is configured to perform the process 1200 described above with reference to Figure 12. The wireless communication device 1400 may be an example implementation of the wireless communication device 300 described above with reference to Figure 3. For example, the wireless communication device 1400 may be a chip, SoC, chipset, package or device including at least one processor and at least one modem (e.g., a Wi-Fi (IEEE 802.11) modem or a cellular modem).

[0192] The wireless communication device 1400 includes a receiving component 1410, a communications manager 1420, and a transmitting component 1430. The communications manager 1420 further includes an NDP setup component 1422, an NDL schedule negotiation component 1424, a throughput measurement component 1426, and an NDL schedule update component 1428. One or more portions of the components 1422-1428 may be implemented at least partially in hardware or firmware. In some implementations, at least some of the components 1422-1428 are implemented at least partially as software stored in a memory (such as the memory 308). For example, one or more portions of the components 1422-1428 may be implemented as non-transitory instructions (or "code") executable by a processor (such as the processor 306) to perform the functions or operations of the respective components.

[0193]

[0119] The receiving component 1410 is configured to receive an RX signal from a NAN device. The transmitting component 1430 is configured to transmit a TX signal to the NAN device. The communication manager 1420 is configured to control or manage communication with the NAN device. In some implementations, the NDL setup component 1422 may establish a Neighbor Aware Networking (NAN) device link (NDL) over a wireless channel with the NAN device, the NDL schedule negotiation component 1424 may negotiate with the NAN device an NDL schedule indicating a number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device, and the throughput measurement component 1426 may measure the throughput on the NDL during each of a number of NAN slots within the DW interval, where the throughput measured during each NAN slot period is determined based on the amount of time (T) that the wireless communication device communicates with the NAN device over the NDL during the respective NAN slot period. load), and the NDL schedule update component 1428 may dynamically update the NDL schedule based on the throughput measured during multiple NAN slot periods.

[0194]

[0120] As used herein, a phrase referring to "at least one" of a list of items or "one or more of" a list of items refers to any combination of those items, including single members. For example, "at least one of a, b, or c" is intended to cover the possibilities of a only, b only, c only, a combination of a and b, a combination of a and c, a combination of b and c, and a combination of a, b, and c.

[0195]

[0121] The various example components, logic, logical blocks, modules, circuits, operations and algorithmic processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, firmware, software, or combinations of hardware, firmware or software, including the structures disclosed herein and their structural equivalents. The compatibility of hardware, firmware and software is generally described in terms of functionality and is illustrated in the various example components, blocks, modules, circuits and processes described above. Whether such functionality is implemented in hardware, firmware or software depends on the particular application and design constraints imposed on the overall system.

[0196]

[0122] Implementation examples are described in the following numbered clauses.

[0197] 1. A method for wireless communication by a wireless communication device, comprising: establishing a Neighbor Aware Networking (NAN) device link (NDL) over a wireless channel with a NAN device; negotiating with the NAN device an NDL schedule indicating a number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication with the NAN device; measuring congestion on the wireless channel during each of a number of NAN slots within a DW interval, the congestion measured during each NAN slot being an amount of time that the wireless channel is busy during the respective NAN slot (T busy ) dynamically updating the NDL schedule based on the congestion measured during the plurality of NAN slots; A method comprising:

[0198] 2. measuring a throughput on the NDL during each of the plurality of NAN slots, the throughput measured during each NAN slot being a function of an amount of time (T load ), and the dynamic update of the NDL schedule is further based on the throughput measured during the plurality of NAN slot periods. 2. The method of claim 1, further comprising:

[0199] 3. The dynamic update of the NDL schedule comprises: T busy and T load and adjusting the number of NAN slots per DW interval available to the NDL for data communication with the NAN device based on the covariance of any of the methods described in clauses 1 or 2, including

[0200] 4. The adjustment of the number of NAN slots T busy and T load increasing the number of NAN slots based on the covariance of Any of the methods set out in clauses 1 to 3, including:

[0201] 5. The adjustment of the number of NAN slots T busy and T load and reducing the number of NAN slots based on the covariance of the NDL being a positive value and the average idle duration of the NDL being greater than a threshold. Any of the methods set out in clauses 1 to 4, including:

[0202] 6. The congestion and throughput measured during each of the plurality of NAN slots are calculated based on the amount of time that the wireless channel is idle during the respective NAN slot (T idle ), and the average idle duration of the NDL is T idle any of the methods set forth in clauses 1 to 5,

[0203] 7. The dynamic update of the NDL schedule comprises: T load adjusting a periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a standard deviation of any of the methods set out in clauses 1 to 6, including

[0204] 8. The adjustment of the periodicity of the NAN slots comprises: T load T load increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of the methods of clause 7, including

[0205] 9. The adjustment of the periodicity of the NAN slots comprises: T load T load reducing the periodicity of the NAN slots based on the standard deviation being greater than the standard deviation of the methods of clause 8, including

[0206] 10. The dynamic update of the NDL schedule comprises: T busy and T load obtaining the number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a joint estimation metric associated with the Any of the methods set out in clauses 1 to 9, including:

[0207] 11. Any of the methods of clauses 1-10, wherein the number of NAN slots is obtained from a look-up table (LUT) that stores a plurality of values ​​associated with the joint estimation metric and information indicating a respective number of NAN slots associated with each of the plurality of values.

[0208] 12. Listening for incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule. Any of the methods of clauses 1 to 11, further comprising:

[0209] 13. The dynamic update of the NDL schedule comprises: adjusting the number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during the one or more NAN slot periods not indicated by the NDL schedule. any of the methods set out in clauses 1 to 12, including

[0210] 14. A wireless communication device, comprising: At least one modem; at least one processor communicatively coupled to the at least one modem; and at least one memory communicatively coupled to the at least one processor and storing processor-readable code, the processor-readable code being configured, when executed by the at least one processor in conjunction with the at least one modem, to perform any one or more of the methods of clauses 1-13.

[0211] 15. A method for wireless communication by a wireless communication device, comprising: establishing a Neighbor Aware Networking (NAN) Device Link (NDL) with a NAN device; negotiating with the NAN device an NDL schedule indicating a number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication with the NAN device; measuring a throughput on the NDL during each of a plurality of NAN slots within a DW interval, and the throughput measured during each NAN slot period is determined based on an amount of time (T load ) dynamically updating the NDL schedule based on the throughput measured during the plurality of NAN slots; A method comprising:

[0212] 16. Measuring congestion on a wireless channel associated with the NDL during each of the plurality of NAN slots, the congestion measured during each NAN slot being an amount of time that the wireless channel is busy during the respective NAN slot (T busy ), and the dynamic update of the NDL schedule is further based on the throughput measured during the plurality of NAN slot periods. The method of clause 15 further includes:

[0213] 17. The dynamic update of the NDL schedule comprises: T busy and T load adjusting the number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a covariance of any of the methods described in clauses 15 or 16, including

[0214] 18. The adjustment of the number of NAN slots T busy and T load increasing the number of NAN slots based on the covariance of The methods of clause 17, including:

[0215] 19. The adjustment of the number of NAN slots T busy and T load and reducing the number of NAN slots based on the covariance of the NDL being a positive value and the average idle duration of the NDL being greater than a threshold. the methods of clause 18, including

[0216] 20. The congestion and throughput measured during each of the plurality of NAN slots are calculated based on the amount of time that the wireless channel is idle during the respective NAN slot (T idle ), and the average idle duration of the NDL is T idle any of the methods set forth in clauses 15 to 19.

[0217] 21. The dynamic update of the NDL schedule comprises: T load adjusting a periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a standard deviation of Any of the methods set out in clauses 15 to 20, including

[0218] 22. The adjustment of the periodicity of the NAN slots comprises: Tload T load increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of The methods of clause 21, including:

[0219] 23. The adjustment of the periodicity of the NAN slots comprises: T load T load reducing the periodicity of the NAN slots based on the standard deviation being greater than the standard deviation of The methods of clause 22, including:

[0220] 24. The dynamic update of the NDL schedule comprises: T busy and T load obtaining the number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a joint estimation metric associated with the any of the methods set out in clauses 15 to 23, including

[0221] 25. Any of the methods of clauses 15-24, wherein the number of NAN slots is obtained from a look-up table (LUT) that stores a plurality of values ​​associated with the joint estimation metric and information indicating a respective number of NAN slots associated with each of the plurality of values.

[0222] 26. Listening for incoming data from the NAN device during one or more NAN slot periods not indicated by the NDL schedule. Any of the methods of clauses 15 to 25, further including:

[0223] 27. The dynamic update of the NDL schedule comprises: adjusting the number of NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on detecting incoming data from the NAN device during the one or more NAN slot periods not indicated by the NDL schedule. any of the methods set out in clauses 15 to 26, including

[0224] 28. A wireless communication device, comprising: At least one modem; at least one processor communicatively coupled to the at least one modem; and at least one memory communicatively coupled to the at least one processor and storing processor readable code, the processor readable code being configured, when executed by the at least one processor in conjunction with the at least one modem, to perform any one or more of the methods of clauses 15 to 27.

[0225]

[0123] Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Therefore, the claims are not intended to be limited to the implementations shown herein, but should be accorded the widest scope consistent with this disclosure, the principles and novel features disclosed herein.

[0226]

[0124] Additionally, various features described herein in the context of separate implementations may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented separately in multiple implementations or in any suitable subcombination. Thus, although features may be described above as acting in a particular combination, and may even initially be claimed as such, one or more features from the claimed combination may in some cases be deleted from the combination, and the claimed combination may be directed to a subcombination, or a variation of the subcombination.

[0227]

[0125] Similarly, although operations are depicted in the figures in a particular order, this should not be understood as requiring such operations to be performed in the particular order or sequential order depicted, or that all illustrated operations be performed, to achieve a desired result. Additionally, the figures may generally depict one or more exemplary processes in the form of a flow chart or diagram. However, other operations not depicted may be incorporated into the generally illustrated exemplary process. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the illustrated operations. In some circumstances, multitasking and parallel processing may be advantageous. Additionally, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products.

Claims

1. 1. A method for wireless communication by a wireless communication device, comprising: establishing a Neighbor Aware Networking (NAN) device link (NDL) over a wireless channel with a NAN device; negotiating an NDL schedule with the NAN device indicating a number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication with the NAN device; measuring congestion on the wireless channel during each of a number of NAN slots within a DW interval, and the congestion measured during each NAN slot is determined by an amount of time that the wireless channel is busy during the respective NAN slot (T busy ) dynamically updating the NDL schedule based on the congestion measured during the plurality of NAN slots; measuring a throughput on the NDL during each of the plurality of NAN slots, the throughput measured during each NAN slot being associated with an amount of time (T load ) that the wireless communication device communicates with the NAN device over the NDL during the respective NAN slot, and the dynamic updating of the NDL schedule is further based on the throughput measured during the plurality of NAN slots. A method comprising:

2. The dynamic update of the NDL schedule comprises: T busy and T load adjusting the number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on a covariance of The method of claim 1 , comprising:

3. The adjustment of the number of NAN slots comprises: T busy and T load increasing the number of NAN slots based on the covariance of 3. The method of claim 2, comprising: The adjustment of the number of NAN slots comprises: reducing the number of NAN slots based on the covariance of T busy and T load being positive and the average idle duration of the NDL being greater than a threshold; Equipped with 3. The method of claim 2, wherein the congestion and the throughput measured during each of the plurality of NAN slots are indicative of an amount of time (T idle ) that the wireless channel is idle during the respective NAN slot, and the average idle duration of the NDL is equal to an average value of T idle .

4. The dynamic update of the NDL schedule comprises: T load adjusting a periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a standard deviation of The method of claim 2 comprising:

5. The adjustment of the periodicity of the NAN slots comprises: T load T load increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of 5. The method of claim 4, comprising: The adjustment of the periodicity of the NAN slots comprises: reducing the periodicity of the NAN slots based on T load being greater than the standard deviation of T load ; The method of claim 4 comprising:

6. The dynamic update of the NDL schedule comprises: T busy and T load obtaining the number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on a joint estimation metric associated with the and wherein preferably the number of NAN slots is obtained from a look-up table (LUT) storing a plurality of values ​​associated with the joint estimation metric and information indicative of a respective number of NAN slots associated with each of the plurality of values.

7. 1. A wireless communication device, comprising: At least one modem; at least one processor communicatively coupled to the at least one modem; 7. A wireless communication device comprising: at least one memory communicatively coupled to the at least one processor and storing processor readable code, the processor readable code being configured, when executed by the at least one processor in conjunction with the at least one modem, to implement the method of any one of claims 1 to 6.

8. 1. A method for wireless communication by a wireless communication device, comprising: Establishing a Neighbor Aware Networking (NAN) Device Link (NDL) with a NAN device; negotiating an NDL schedule with the NAN device indicating a number of NAN slots per discovery window (DW) interval during which the NDL is available for data communication with the NAN device; measuring a throughput on the NDL during each of a plurality of NAN slots within a DW interval, and the throughput measured during each NAN slot is determined based on an amount of time (T load ) dynamically updating the NDL schedule based on the throughput measured during the plurality of NAN slots; measuring congestion on a wireless channel associated with the NDL during each of the plurality of NAN slots, the congestion measured during each NAN slot being associated with an amount of time (T busy ) that the wireless channel is busy during the respective NAN slot, and the dynamic updating of the NDL schedule is further based on the throughput measured during the plurality of NAN slots. A method comprising:

9. The dynamic update of the NDL schedule comprises: T busy and T load adjusting the number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on a covariance of The method of claim 8 comprising:

10. The adjustment of the number of NAN slots comprises: T busy and T load increasing the number of NAN slots based on the covariance of 10. The method of claim 9, comprising: The adjustment of the number of NAN slots comprises: reducing the number of NAN slots based on the covariance of T busy and T load being positive and the average idle duration of the NDL being greater than a threshold; and wherein the congestion and the throughput measured during each of the plurality of NAN slots are indicative of an amount of time (T idle ) that the wireless channel is idle during the respective NAN slot, and the average idle duration of the NDL is equal to an average value of T idle .

11. The dynamic update of the NDL schedule comprises: T load adjusting a periodicity of the NAN slots per DW interval during which the NDL is available for data communication with the NAN device based on a standard deviation of The method of claim 8 comprising:

12. The adjustment of the periodicity of the NAN slots comprises: T load T load increasing the periodicity of the NAN slots based on the period being less than or equal to the standard deviation of 12. The method of claim 11 , comprising: The adjustment of the periodicity of the NAN slots comprises: reducing the periodicity of the NAN slots based on T load being greater than the standard deviation of T load ; The method of claim 11 , comprising:

13. The dynamic update of the NDL schedule comprises: T busy and T load obtaining the number of NAN slots per DW interval in which the NDL is available for data communication with the NAN device based on a joint estimation metric associated with the and wherein preferably the number of NAN slots is obtained from a look-up table (LUT) storing a plurality of values ​​associated with the joint estimation metric and information indicative of a respective number of NAN slots associated with each of the plurality of values.

14. 1. A wireless communication device, comprising: At least one modem; at least one processor communicatively coupled to the at least one modem; 14. A wireless communication device comprising: at least one memory communicatively coupled to the at least one processor and storing processor readable code, the processor readable code being configured, when executed by the at least one processor in conjunction with the at least one modem, to implement the method of any one of claims 8 to 13.

15. A computer program comprising instructions which, when executed by a computer, cause the computer to perform a method according to any one of claims 1 to 6 or 8 to 13.