Delay-based contention

By using media idle time counters and backoff counters in wireless access points and stations, combined with monitoring and selection of multiple contention slots, the problem of low transmission efficiency during contention based on delay is solved, and efficient transmission of low-latency data is achieved.

CN120226394APending Publication Date: 2025-06-27MAXLINEAR INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380080209.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-20
Filing Date
2023-09-20
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In the prior art, when dealing with delay-based contention, it is difficult to effectively improve the transmission efficiency of wireless access points and stations, especially in low-latency data transmission.

Method used

By using the media idle time counter and backoff counter, the media idle time is monitored and the value of the backoff counter is determined, and when the backoff counter is less than or equal to the media idle time counter, the push frame is transmitted. In addition, multiple contention time slots are identified and transmission time slots are selected based on the background contention timer.

Benefits of technology

Improves the transmission efficiency of low-latency data, reduces contention time, and enhances support for latency-sensitive network traffic, such as video traffic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120226394A_ABST
    Figure CN120226394A_ABST
Patent Text Reader

Abstract

A wireless access point for delay-based contention may include a processing device and a transceiver. The processing device may be configured to monitor a media idle time using a media idle time counter, where the media idle time is measured from a last transition that transitions from a clear channel assessment (CCA) busy indication to a CCA idle indication. The processing device may be configured to identify a frame at the head of a contention queue. The processing device may be configured to determine a backoff counter when the frame reaches the contention queue header. The processing device may be configured to push the frame for transmission when the backoff counter is less than or equal to the media idle time counter. The transceiver may be configured to transmit the frame.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Applications

[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 376,325, filed Sep. 20, 2022, the disclosure of which is incorporated herein by reference in its entirety. Technical Field

[0003] Examples discussed in this disclosure relate to latency-based contention and, in particular, to latency-based contention of wireless access points and stations. Background Art

[0004] Unless otherwise indicated herein, the materials described herein are not prior art to the claims in this application and are not admitted to be prior art merely by virtue of their inclusion in this section.

[0005] Communications can be configured to occur in multiple frequency bands, including the 2.4 GHz, 5 GHz, 6 GHz, and 60 GHz bands. Communications can be used for various use cases, including connecting laptops, printers, smartphones, and other devices. Communications can also be used for vehicle communications.

[0006] The subject matter claimed in this disclosure is not limited to examples that solve any disadvantages or operate only in environments such as those described above. Instead, this background is provided only to illustrate an example technical field in which some examples described in this disclosure may be practiced. Summary of the Invention

[0007] A wireless access point for latency-based contention can include a processing device and a transceiver. The processing device can be configured to monitor media idle time using a media idle time counter, where the media idle time can be measured from a last transition that transitions from a clear channel assessment (CCA) busy indication to a CCA idle indication. The processing device can be configured to identify a frame at the head of a contention queue. The processing device can be configured to determine a backoff counter when the frame reaches the head of the contention queue. The processing device can be configured to push the frame for transmission when the backoff counter is less than or equal to the media idle time counter. The transceiver can be configured to transmit the frame.

[0008] A wireless access point for delay-based contention may include a processing device and a transceiver. The processing device may be configured to identify a first contention time slot, which includes one or more first contention parameters and one or more first bandwidths, wherein a first backoff contention timer may be used to monitor a first backoff contention for the first contention time slot. The processing device may be configured to identify a second contention time slot, which includes one or more second contention parameters and one or more second bandwidths, wherein a second backoff contention timer may be used to monitor a second backoff contention for the second contention time slot. The processing device may be configured to identify a frame at the head of a contention queue. The processing device may be configured to select a transmission time slot from the first contention time slot and the second contention time slot based on the first backoff contention timer and the second backoff contention timer. The transceiver may be configured to use the transmission time slot to transmit the frame.

[0009] A station (STA) for delay-based contention may include a processing device and a transceiver. The processing device may be configured to monitor a media idle time using a media idle time counter, wherein the media idle time may be measured from a last transition from a clear channel assessment (CCA) busy indication to a CCA idle indication. The processing device may be configured to identify a frame at the head of a contention queue. The processing device may be configured to determine a back-off counter when the frame reaches the head of the contention queue. The processing device may be configured to push the frame for transmission when the back-off counter is less than or equal to the media idle time counter. The transceiver may be configured to transmit the frame.

[0010] The objectives and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims.

[0011] The foregoing summary and the following detailed description are given as examples and are explanatory, and are not restrictive of the claimed invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Example embodiments will be described and explained with reference to the features and details of the accompanying drawings, in which:

[0013] Figure 1 An example of idle-based contention described according to at least one embodiment of the present disclosure is shown.

[0014] Figure 2 An example of idle-based contention selected according to multiple transmission links and / or frequency bands and / or bandwidths described according to at least one embodiment of the present disclosure is shown.

[0015] Figure 3 Shows an example of continuous backhaul contention described according to at least one embodiment of the present disclosure.

[0016] Figure 4 Shows another example of backhaul contention described according to at least one embodiment of the present disclosure.

[0017] Figure 5 Shows an example process flow of a wireless access point for delay-based contention described according to at least one embodiment of the present disclosure.

[0018] Figure 6 Shows an example process flow of a wireless access point for delay-based contention described according to at least one embodiment of the present disclosure.

[0019] Figure 7 Shows an example process flow of a station (STA) for delay-based contention described according to at least one embodiment of the present disclosure.

[0020] Figure 8 Shows an example communication system configured for access point interference reduction.

[0021] Figure 9 Shows an illustration of an example form of a machine, a computing device, in which a set of instructions can be executed to cause the machine to perform any one or more of the methods discussed herein. Detailed Description

[0022] Home, office, stadium, and outdoor networks, also known as wireless local area networks (WLANs), can be established using devices such as wireless access points (WAPs). A WAP can include a router. A WAP can wirelessly couple multiple devices in a local network, such as wireless stations, e.g., computers, printers, TVs, digital video (DVD) players, security cameras, and smoke detectors to each other and to a cable or subscriber line through which the Internet, video, and TV programs can be delivered to the local network. A WAP can implement the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard (e.g., IEEE 802.11-2020 and subsequent revisions), which can be a contention-based standard for handling communication for sharing a wireless communication medium among multiple contending devices over a selected one of multiple communication channels. The frequency range of each communication channel can be specified in a respective one of the IEEE 802.11 protocols being implemented (e.g., "a", "b", "g", "n", "ac", "ad", "ax", "ay", "be"). Communication can follow a hub and spoke model, where the WAP is at the hub and the spokes correspond to wireless links to each "client" device or station (STA) using the WLAN.

[0023] 7 / 802.11be can include some functions to address latency-sensitive network traffic, including video traffic such as augmented reality (AR) and / or virtual reality (VR) traffic. Additionally, some flexibility can be provided for the transmission links using Wi-Fi 7 / 802.11be.

[0024] In some cases, for a baseband integrated circuit transmit (BBIC TX) data path, operations can be configured to occur sequentially in a series of operations. For example, an initial operation can include one or more of the following: (i) preparing data for transmission (which can be a software-based operation), (ii) pushing the data for transmission (which can be a combination of software and hardware operations), (iii) performing contention to access network resources (which can be a hardware operation), and (iv) transmitting the data (which can be a hardware operation).

[0025] When preparing to transmit data (e.g., a software-based operation), contention for accessing network resources can be determined. In these and other embodiments, by monitoring the media idle time, the contention time can be reduced and / or a link with enhanced latency can be selected for transmission. Such media monitoring and / or early contention can occur based on contention procedures and / or criteria (e.g., can be compatible with one or more of Federal Communications Commission (FCC) standards, European Union Radio Equipment Directive (EU RED) certifications, etc.).

[0026] For low-latency data (e.g., streaming video, augmented reality frames, virtual reality frames, other high-priority data, etc.), low-latency contention can be used to enhance the communication of such low-latency data by monitoring the media idle time and / or using multiple contention time slots.

[0027] Monitoring the media idle time can enhance the communication of low-latency data. A device for latency-based contention (e.g., a WAP or STA) can include a processing device and a transceiver. The processing device can be configured to monitor the media idle time using a media idle time counter, where the media idle time can be measured from the last transition, which is a transition from a clear channel assessment (CCA) busy indication to a CCA idle indication. The processing device can be configured to identify a frame at the head of a contention queue and determine a backoff counter when the frame reaches the head of the contention queue. The processing device can be configured to push the frame for transmission when the backoff counter is less than or equal to the media idle time counter. The transceiver can be configured to transmit the frame.

[0028] Using multiple contention time slots can enhance the communication of low-latency data. A device for latency-based contention (e.g., a WAP or STA) can include a processing device and a transceiver. The processing device can be configured to identify a first contention time slot that includes one or more first contention parameters and one or more first bandwidths, where a first backoff contention timer can be used to monitor a first backoff contention for the first contention time slot. The processing device can be configured to identify a second contention time slot that includes one or more second contention parameters and one or more second bandwidths, where a second backoff contention timer can be used to monitor a second backoff contention for the second contention time slot. The processing device can be configured to identify a frame at the head of a contention queue and select a transmission time slot from the first contention time slot and the second contention time slot based on the first backoff contention timer and the second backoff contention timer. The transceiver can be configured to use the transmission time slot to transmit the frame.

[0029] Embodiments of the present disclosure will be explained with reference to the accompanying drawings.

[0030] Figure 1 Shows an example timing diagram 100 of delay-based contention (e.g., can be idle-based contention) according to one or more embodiments of the present disclosure. A device (e.g., a wireless access point (WAP) or a station (STA)) can be configured for delay-based contention. The device can include a processing device and a transceiver. As Figure 1 shown, the processing device can be configured to monitor the media idle time using a media idle time counter (e.g., media_idle_time[bw]). The media idle time counter can be used to measure the media idle time from the last transition (e.g., point B 112), which is the transition from the clear channel assessment (CCA) busy indication 104 of the channel to the CCA idle indication 102. For example, at point B 112, the transition from the CCA busy indication 104 to the CCA idle indication 102 can be the last transition (e.g., when there is no transition from the CCA busy indication 104 to the CCA idle indication 102, this transition is later in time on the channel).

[0031] Figure 1 The passage of time is shown from left to right using various timelines (e.g., CCA idle indication 102 timeline, CCA busy indication 104 timeline, media_idle_time[bw] indication 106 timeline, and backoff indication 108 timeline).

[0032] The CCA idle indication 102 timeline and the CCA busy indication 104 timeline can indicate when the CCA is idle or busy for, for example, a specific channel. The media idle time [bw] indication 106 timeline can be a media idle time counter, which can be used for a specific bandwidth (e.g., 20 MHz, 40 MHz, 80 MHz, 160 MHz, 320 MHz, 640 MHz, 1280 MHz, or any other suitable bandwidth used in WLAN communication). The backoff indication 108 timeline can indicate when the backoff is active or inactive. The media idle time (e.g., media_idle_time[bw]) can be monitored based on one or more of the link, frequency range, bandwidth, frequency band, frequency subband, channel, continuous CCA frequency portion, etc.

[0033] The CCA idle indication 102 and the CCA busy indication 104 can be set to active and / or inactive. When the CCA idle indication 102 is set to active, the CCA idle indication 102 can indicate that the channel associated with the CCA idle indication 102 is idle (or the CCA busy indication 104 can indicate that the channel associated with the CCA busy indication 104 is not busy). When the CCA idle indication 102 is set to inactive, the CCA idle indication 102 can indicate that the channel associated with the CCA idle indication 102 is not idle (or the CCA busy indication 104 can indicate that the channel associated with the CCA busy indication 104 is busy).

[0034] For example, before point A 110 on the timeline of the CCA idle indication 102, the CCA idle indication 102 can be active, which can indicate that the channel associated with the CCA idle indication 102 is not busy. As shown in the figure, at point A 110, the CCA can transition from idle to busy (e.g., transmitting data). Between point A 110 and point B 112 on the timeline of the CCA idle indication 102, the CCA idle indication 102 can be inactive (as shown by the dashed timeline), which can indicate that the channel associated with the CCA idle indication 102 is busy. At point B 112, the CCA can transition back to idle and remain idle. After point B 112 on the timeline of the CCA idle indication 102, the CCA idle indication 102 can be active, which can indicate that the channel associated with the CCA idle indication 102 is not busy.

[0035] Alternatively or additionally, before point A 110 on the timeline of the CCA busy indication 104, the CCA busy indication 104 can be inactive (as shown by the dashed line), which can indicate that the channel associated with the CCA busy indication 104 is not busy. Between point A 110 and point B 112 on the timeline of the CCA busy indication 104, the CCA busy indication 104 can be active (as shown by the solid line), which can indicate that the channel associated with the CCA busy indication 104 is busy. After point B 112 on the timeline of the CCA busy indication 104, the CCA busy indication 104 can be inactive, which can indicate that the channel associated with the CCA busy indication 104 is not busy.

[0036] A media idle time counter (e.g., media idle time [bw] indication 106) can be used. The WLAN Media Access Controller (WMAC) can track the value of the media idle time counter (e.g., media_idle_time [bw]) since the last transition from CCA busy to CCA idle. When the CCA idle indication 102 transitions to the CCA busy indication 104, the media idle time counter can be set to 0. The media idle time counter can be frozen at 0 until the CCA busy indication 104 transitions to the CCA idle indication 102.

[0037] In Figure 1 the example, when the CCA idle indication 102 is inactive and the CCA busy indication 104 is active, media_idle_time [bw] can be reset to 0 at point A 110. During the time when the CCA idle indication 102 is inactive and the CCA busy indication 104 is active, media_idle_time [bw] can be frozen at 0 between point A 110 and point B 112. After point B 112, when the CCA idle indication 102 is active and the CCA busy indication 104 is inactive, media_idle_time [bw] can count up from 0 to track the value of the media idle time since the last transition from CCA busy to CCA idle.

[0038] When a frame reaches the head of the contention queue, the WMAC can determine a backoff counter (e.g., which can be provided by the backoff indication 108). The processing device can be configured to identify the frame at the head of the contention queue. The contention queue can be any suitable contention data structure that helps in the ordering of one or more frames, for example. The processing device can be configured to determine the backoff counter when the frame reaches the head of the contention queue. The backoff indication 108 can be used to track the backoff counter. The backoff indication 108 can be configured to count down from a backoff limit (e.g., the total amount of time for backoff) to 0 to provide the backoff counter (which can be calculated as the value obtained by counting down from the backoff limit using the backoff indication 108). When the backoff counter is less than or equal to the media idle time counter (e.g., media_idle_time [bw]), the frame can be pushed for transmission (e.g., using the WMAC). The transceiver can be configured to transmit the frame.

[0039] The backoff counter can be determined based on one or more of an arbitration inter-frame spacing (AIFS) or a random backoff counter between zero and a contention window (CW). Using AIFS to determine the backoff counter can facilitate prioritization of the backoff counter. For example, for low-latency media types that can use a fast response time, the backoff counter can be calculated lower compared to high-latency media types, in order to transmit the low-latency media type at a faster rate. For high-latency media types that may allow a slower response time, the backoff counter can be calculated higher when compared to low-latency media types, to facilitate transmission of the high-latency media type at the allowed slower rate.

[0040] At point C 114, as shown in operation 116, a frame (e.g., a data frame) can be pushed for transmission. The processing device can be configured to observe the value of the media idle time counter (e.g., media_idle_time[bw]) to verify that the media idle time counter (e.g., media_idle_time[bw]) is greater than the backoff counter (e.g., which can be provided by backoff indication 108). When the media idle time counter (e.g., media_idle_time[bw]) is greater than the backoff counter, the frame (e.g., the data frame) for transmission can be sent. That is, the backoff counter can be used to prevent transmission of a frame (e.g., a data frame) until the backoff counter is less than the media idle time counter.

[0041] Alternatively or additionally, by monitoring how long the channel has been idle (e.g., by using a media idle time counter such as media_idle_time[bw]), when a frame reaches the head of the contention queue, a comparison between the media idle time counter and the backoff counter (e.g., which can be provided by backoff indication 108) can be calculated. When the frame (e.g., the data frame) reaches the head of the contention queue and is pushed for transmission without delay (or before the observed backoff counter has fully elapsed), the backoff counter can be retrospectively determined by comparing the media idle time counter and the backoff counter without delay (or before the observed backoff limit has fully elapsed). That is, the frame (e.g., the data frame) can be pushed for transmission at point C 114 after backoff B 118 instead of waiting for backoff C 120.

[0042] At Figure 1In the example shown, the backoff counter is not measured starting from the time observed since the frame reached the head of the contention queue (e.g., from point C to the end of backoff C 120), but is measured in time backward from point C 114 to point B 112. The value of the media idle time counter (media_idle_time[bw]) can be compared with the backoff counter (e.g., provided by backoff indication 108), and this value can occur before the frame (e.g., data frame) reaches the head of the contention queue. When the frame (e.g., data frame) reaches the head of the contention queue, comparing the backoff counter (e.g., provided by backoff indication 108) with the media idle time counter can allow the frame (e.g., data frame) to be pushed for transmission without delay (or before the backoff limit measured relative to the frame reaching the head of the contention queue has elapsed).

[0043] Figure 2 An example of delay-based contention 200 (e.g., idle-based contention) is shown, which is based on: (i) various transmit links, and / or (ii) various frequency bands and / or sub-bands and / or channels and / or sub-channels, and / or (iii) various frequency band width selections, and / or (iv) various continuous CCAs, (v) various punctured TXs, (vi) various numbers of users, (vii) various physical layer modes, (viii) and / or the like.

[0044] The processing device (e.g., WMAC) can monitor the idle time based on one or more of the following: per link, per band, per sub-band, per channel, per sub-channel, per bandwidth selection, per consecutive CCA, per frequency range, per punctured TX, per number of users, per physical mode, etc. The processing device (e.g., WMAC) can monitor the media idle time based on the uncturing indicated by the dynamic sub-band CCA. As shown at point A202, the processing device (e.g., WMAC) can monitor the media idle time of each part of the consecutive CCA 210 (e.g., media_idle_time_20MHz 212; media_idle_time_x MHz 214; media_idle_time_320MHz 216) or the media idle time of each part of the CCA for the punctured transmission (Tx), e.g., the per 20MHz CCA220 for the punctured Tx (e.g., media_idle_time_puncturing_4_80MHz 222; media_idle_time_puncturing_x_80MHz224; media_idle_time_puncturing_7_160MHz 226).

[0045] The processing device (e.g., WMAC) can be configured to select a transmission mode from the plurality of transmission modes based on the idle time of one or more of the plurality of transmission modes. At point B 204, one or more of the per link, per band, per sub-band, per channel, per sub-channel, per bandwidth selection, per consecutive CCA, per frequency range, or per punctured TX monitoring of the media idle time (e.g., media_idle_time) can be provided to the processing device (e.g., WMAC). The processing device can monitor the selected idle time (e.g., the longest idle time) and can select between various modes based on which idle time is the longest (e.g., using max 230 which can be implemented using a comparator). For example, when selecting from various modes, the provided punctured bandwidth (BW) has the longest available idle time, or when selecting from various modes, the provided consecutive channel band has the longest idle time. The processing device (e.g., max 230) can identify that particular mode as the next transmission mode. Alternatively or additionally, the processing device (e.g., WMAC) can change the modality to the most ready mode to reduce the contention time.

[0046] The processing device (e.g., WMAC) may be configured to select a physical layer protocol data unit (PPDU) BW mode based on one or more of a CCA indication, a link indication, the number of users, a physical layer (PHY) mode, an allowed BW channel, or an allowed BW sub-channel. Alternatively or additionally, the processing device (e.g., WMAC) may be configured to select a puncturing mode based on one or more of a CCA indication, a link indication, the number of users, a PHY mode, an allowed BW channel, an allowed BW sub-channel, etc.

[0047] At point C 206, various contentions may be performed according to the selected modality type. For example, when the media idle time (e.g., media_idle_time 232 available for the selected mode) is greater than or equal to the backoff counter (e.g., full_backoff) that can be calculated in operation 240, the transmission start 252 operation may indicate that the execution of the Tx 260 operation can be promoted without delay. Alternatively or additionally, the CCA indication 234 and / or the link indication 236 may be used in the PPDU BW mode and / or puncturing mode selection 242. One or more of multiple users (e.g., N users 244), a PHY mode 246, or an allowed frequency band, sub-band, channel, sub-channel, bandwidth, etc. (e.g., allowed BW and sub-channel 248) that can be monitored and / or considered by the WMAC may be used to determine the PPDU BW mode and / or puncturing mode selection. Based on one or more of the duration of the idle time, which BW and / or puncturing is available, and / or which BW and / or puncturing has the longest idle time, the provided BW and / or puncturing mode 250 may be selected and / or provided to the execution of the Tx 260 operation for transmission.

[0048] At point D 208, the transmission (e.g., execution of the Tx 260 operation) occurs via one or more of a selected link, a selected frequency band, a selected sub-band, a selected channel, a selected sub-channel, a selected bandwidth selection, a selected continuous CCA, a selected frequency range, a selected puncturing Tx, a selected number of users, a selected physical mode, etc.

[0049] Alternatively or additionally, the processing device (e.g., WMAC) may use a per-band marker in a digital media adapter (DMA) chain, which may be used for ready-to-send (RTS) band signaling. For example, instead of using the RTS field of the DMA chain, the media idle time (e.g., media_idle_time) may be monitored and transmitted to the processing device (e.g., WMAC).

[0050] Alternatively or additionally, as Figure 3As described in, the processing device (e.g., WMAC) can be configured to select a transmission time slot from multiple contention time slots based on the background contention of multiple contention time slots, and use the transmission time slot to push the frame for transmission.

[0051] Figure 3 An example of continuous background contention 300 is shown. The processing device can be configured to identify a first contention time slot (e.g., contention time slot 1 310), which can include one or more first contention parameters and one or more first bandwidths. A first background contention timer can be used to monitor the first background contention (e.g., background contention 312, background contention 314, background contention 316, background contention 318) for the first contention time slot (e.g., contention time slot 1 310).

[0052] The processing device can be configured to identify a second contention time slot (e.g., contention time slot 2 320), which can include one or more second contention parameters and one or more second bandwidths. A second background contention timer can be used to monitor the second background contention (e.g., background contention 322, background contention 324, background contention 326, background contention 328) for the second contention time slot (e.g., contention time slot 2 320). The processing device can be configured to identify the frame at the head of the contention queue. The processing device can be configured to select a transmission time slot from the first contention time slot (e.g., contention time slot 1 320) and the second contention time slot (e.g., contention time slot 2 320) based on the first background contention timer and the second background contention timer. The transceiver can be configured to transmit the frame using the transmission time slot (e.g., the transmission time slot selected from contention time slot 1 320 or contention time slot 2 320).

[0053] One or more of the first contention parameter or the second contention parameter can include one or more of the following: (i) CCA indication of the bandwidth, (ii) number of arbitration inter-frame spaces (AIFS), (iii) minimum contention window (CWMIN), (iv) maximum contention window (CWMAX), etc. The time slot (e.g., contention time slot 1 310, contention time slot 2 320, etc.) can correspond to a given part of the frequency band, and the background contention can be based on the one or more contention parameters. Alternatively or additionally, the one or more time slots (e.g., contention time slot 1 310, contention time slot 2 320, etc.) can operate on the same part of the frequency band, but can have different contention parameters used in the background contention (e.g., it can change the duration of the backoff limit).

[0054] For example, the processing device (which can be a WMAC) can be configured to perform contention for one or more time slots (e.g., contention time slot 1 310 or contention time slot 2 320) in the background. InFigure 3 In the figure, as time progresses from left to right, the CCA can transition between CCA idle 306 and CCA busy 308, as shown by the solid and dashed lines. Meanwhile, background contention can be performed for multiple time slots (e.g., contention time slot 1 310 or contention time slot 2 320). When a frame reaches the head of the contention queue, the processing device (e.g., WMAC) can attach the frame to the background contention for a given time slot. For example, at point A 302, the frame can be pushed into the background contention 326 of contention time slot 2 320. In the worst case, the contention time may be the same as that provided by a process without using multiple contention time slots. In general, compared to the contention time provided by a process without using multiple contention time slots, the contention time may be shorter in duration.

[0055] When the CCA transitions from idle to busy (e.g., from CCA idle 306 to CCA busy 308, as shown in the CCA busy region 330, from the solid line of CCA idle 306 to the dashed line of CCA idle 306 and from the dashed line of CCA busy 308 to the solid line of CCA busy 308), as shown in operation 350, at the start of the CCA busy region 330, the backoff counter can be frozen. Alternatively or additionally, when the CCA transitions back from CCA busy 308 to CCA idle 306, at the end of the CCA busy region 330, the backoff counter can be resumed, as shown in operation 360. When the background contention timer reaches zero, the medium can be used for transmission.

[0056] For example, at point A 302, the frame can be pushed for transmission, and contention time slot 2 320 can be configured to facilitate the transmission of the frame. During the CCA busy region 340, the frame can be pushed into the background contention 326 of contention time slot 2 320. The backoff counter can be frozen at the start of the CCA busy region 340, and the backoff counter can be resumed at the end of the CCA busy region 340. The background contention 326 of contention time slot 2 320 can be completed at point B 304 (e.g., the background contention timer of background contention 326 can expire at point B 304). The attached time slot (e.g., contention time slot 2 320) can win the contention against other contention time slots (e.g., contention time slot 310) and can start the transmission of the frame.

[0057] Although Figure 3Is shown as having two contention time slots (e.g., contention time slot 1 310 and contention time slot 2 320), but any suitable number of contention time slots can be used. A processing device (e.g., WMAC) can be configured to identify the nth contention time slot, which includes one or more nth contention parameters and one or more nth bandwidths, where the nth backoff timer can be used to monitor the nth backoff contention of the nth contention time slot. The processing device (e.g., WMAC) can be configured to select a transmission time slot from n contention time slots based on n backoff timers. The number of contention time slots can be n (e.g., it can be any integer greater than or equal to 1, and a processing device such as WMAC can be used to implement it).

[0058] Figure 4 An example block diagram 400 of backoff contention is shown, where a transmission frame can be allocated to more than one contention time slot (e.g., as a primary time slot, secondary time slot, etc.).

[0059] A processing device (e.g., WMAC) can be configured to select a transmission time slot based on a first priority (e.g., selected from primary time slot 412, secondary time slot 414, etc.) of a first contention time slot (e.g., selected from contention time slot 1 430 or contention time slot 2 440) and a second priority (e.g., selected from primary time slot 422, secondary time slot 424, etc.) of a second contention time slot (e.g., selected from contention time slot 1 430 or contention time slot 2 440). One or more of the first priority, the second priority, etc. can be based on one or more of queue priority, frame priority, data priority, etc. Selecting a transmission time slot based on one or more priorities of one or more contention time slots can be used for high-priority data (e.g., data with low latency), such as streaming video, augmented reality frames, virtual reality frames, other high-priority data, etc. The contention time slots can be configured based on one or more contention parameters, which can include one or more of the following: CCA indication of the frequency band, AIFS number, CWMIN, CWMAX, etc. The contention time slots may be affected by backoff contention (e.g., contention time slot 1 430 may be affected by backoff contention 450, and contention time slot 2 440 may be affected by backoff contentions 460, 470).

[0060] When one or more of the first priority or the second priority are based on queue priority, a pending transmission from the first queue (e.g., a pending TX from queue #1 410) can use: (i) the second contention time slot (e.g., contention time slot 2 440) as the primary time slot 412 for data transmission, and (ii) the first contention time slot (e.g., contention time slot 1 430) as the secondary time slot 414 for data transmission. Alternatively or additionally, a pending transmission from the second queue (e.g., a pending TX from queue #2 420) can use: (i) the first contention time slot (e.g., contention time slot 1 430) as the primary time slot 422 for data transmission, and (ii) the second contention time slot (e.g., contention time slot 2 440) as the secondary time slot 424 for data transmission.

[0061] Alternatively or additionally, the first priority, the second priority, etc. can be based on frame priority. For example, a first frame can be associated with a first contention time slot and a second contention time slot, with the first contention time slot as the primary time slot for data transmission and the second contention time slot as the secondary time slot for data transmission. A second frame can be associated with a first contention time slot and a second contention time slot, with the second contention time slot as the primary time slot for data transmission and the first contention time slot as the secondary time slot for data transmission.

[0062] Alternatively or additionally, the first priority, the second priority, etc. can be based on data priority. For example, a first data can be associated with a first contention time slot and a second contention time slot, with the first contention time slot as the primary time slot for data transmission and the second contention time slot as the secondary time slot for data transmission. A second data can be associated with a first contention time slot and a second contention time slot, with the second contention time slot as the primary time slot for data transmission and the first contention time slot as the secondary time slot for data transmission.

[0063] The secondary time slots can be used for transmissions in various scenarios (e.g., such as when the secondary time slots are not attached to other transmission frames that are the primary transmission time slots). By providing the use of additional time slots (e.g., second, third, fourth, etc.), each additional time slot having selected contention parameters, data prioritization and / or transmission can be customized in a more robust manner when compared to transmissions that do not use the additional time slots. For example, if there is no higher-priority data to transmit (e.g., when the data does not include one or more of streaming video, augmented reality frames, virtual reality frames, other high-priority data, etc.), then lower-priority data (e.g., data that may not use low latency but may use high latency) can be transmitted in the secondary time slots (e.g., secondary channels). When both higher-priority data and lower-priority data are pushed for transmission and the same contention time slots are used for both the higher-priority data and the lower-priority data simultaneously, then the secondary time slot (e.g., secondary channel) may not be used for the transmission of the lower-priority data until the higher-priority data has been transmitted in the secondary time slot (e.g., secondary channel).

[0064] The frame can be pushed for transmission in the WAP. Alternatively or additionally, the frame can be pushed for transmission in the STA. The STA can be configured for contention based on latency. The STA can include a processing device configured to use a media idle time counter to monitor the media idle time. The media idle time can be measured from the last transition, which is a transition from a CCA busy indication to a CCA idle indication. The processing device can be configured to perform one or more of the following operations: identify the frame at the head of the contention queue; determine a backoff counter when the frame reaches the head of the contention queue; or push the frame for transmission when the backoff counter is less than or equal to the media idle time counter. The STA can include a transceiver configured to transmit the frame.

[0065] The STA can be configured to have functions similar to those provided for the WAP. The processing device at the STA can be configured to determine the backoff counter based on AIFS or by putting one or more in a random backoff counter between zero and CW. The processing device at the STA can be configured to set the media idle time counter to zero when the CCA idle indication transitions to a CCA busy indication; and / or freeze the media idle time counter at zero until the CCA busy indication transitions to a CCA idle indication. The processing device at the STA can be configured to monitor the media idle time based on one or more of a link, frequency range, bandwidth, band, frequency subband, channel, or contiguous CCA frequency portion. The processing device at the STA can be configured to monitor the media idle time based on puncturing of the dynamic subband CCA indication.

[0066] The processing device at the STA can be configured to select a transmission mode from the multiple transmission modes based on one or more transmission mode idle times of the multiple transmission modes. The processing device at the STA can be configured to select a PPDU BW mode based on one or more of a CCA indication, a link indication, the number of users, a PHY mode, an allowed BW channel, or an allowed BW sub-channel, or to select a puncturing mode based on one or more of a CCA indication, a link indication, the number of users, a PHY mode, an allowed BW channel, or an allowed BW sub-channel.

[0067] The STA can be configured to function in multiple contention slots. The processing device at the STA can be configured to select a transmission slot from the multiple contention slots based on the background contention of the multiple contention slots, and use the transmission slot to push the frame for transmission.

[0068] The STA can be configured to (e.g., using a processing device such as WMAC) identify a first contention slot that includes one or more first contention parameters and one or more first bandwidths, where a first background contention timer can be used to monitor the first background contention for the first contention slot. The STA can be configured to (e.g., using a processing device such as WMAC) identify a second contention slot that includes one or more second contention parameters and one or more second bandwidths, where a second background contention timer can be used to monitor the second background contention for the second contention slot. The STA can be configured (e.g., using a processing device such as WMAC) to identify a frame at the head of the contention queue. The STA can be configured to (e.g., using a processing device such as WMAC) select a transmission slot from the first contention slot and the second contention slot based on the first background contention timer and the second background contention timer. The transceiver at the STA can be configured to use the transmission slot to transmit the frame.

[0069] For the STA, one or more of the first contention parameters or the second contention parameters can include one or more of the following: a CCA indication of the frequency band, the number of AIFS, CWMIN, CWMAX, etc.

[0070] The STA can be configured to (e.g., using a processing device such as WMAC) identify an nth contention slot that includes one or more nth contention parameters and one or more nth bandwidths, where an nth background contention timer can be used to monitor the nth background contention for the nth contention slot. The STA can be configured to (e.g., using a processing device such as WMAC) select a transmission slot from the n contention slots based on n background contention timers, where n can be the number of contention slots.

[0071] The STA can be configured (e.g., using a processing device such as a WMAC) to select the transmission time slot based on the first priority of the first contention time slot and the second priority of the second contention time slot. One or more of the first priority or the second priority can be based on one or more of queue priority, frame priority, or data priority.

[0072] Figure 5 A process flow of an example method 500 for delay-based contention is shown, according to at least one example described in the present disclosure. Method 500 can be arranged according to at least one example described in the present disclosure.

[0073] Method 500 can be executed by processing logic that includes hardware (circuits, dedicated logic, etc.), software (e.g., software running on a computer system or a dedicated machine), or a combination of both, and the processing logic can be included in Figure 9 a processing device (e.g., processor 902), included in Figure 8 a communication system 800 or included in another device, a combination of devices, or a system.

[0074] Method 500 can begin at block 505, where the processing logic can monitor the medium idle time using a medium idle time counter, where the medium idle time is measured from the last transition, which is a transition from a CCA busy indication to a CCA idle indication.

[0075] At block 510, the processing logic can identify the frame located at the head of the contention queue.

[0076] At block 515, when the frame reaches the head of the contention queue, the processing logic can determine the backoff counter.

[0077] At block 520, when the backoff counter is less than or equal to the medium idle time counter, the processing logic can push the frame for transmission.

[0078] Modifications, additions, or omissions can be made to method 500 without departing from the scope of the present disclosure. For example, in some examples, method 500 can include any number of additional components that may not be explicitly shown or described.

[0079] Figure 6 A process flow of an example method 600 that can be used for delay-based contention is shown, according to at least one example described in the present disclosure. Method 600 can be arranged according to at least one example described in the present disclosure.

[0080] Method 600 can be performed by processing logic that includes hardware (circuits, dedicated logic, etc.), software (e.g., software running on a computer system or a dedicated machine), or a combination of both, and the processing logic can be included in Figure 9 a processing device (e.g., processor 902) of Figure 8 a communication system 800 of

[0081] Method 600 can begin at block 605, where the processing logic can identify a first contention time slot that includes one or more first contention parameters and one or more first bandwidths, and where a first background contention timer is used to monitor a first background contention of the first contention time slot.

[0082] At block 610, the processing logic can identify a second contention time slot that includes one or more second contention parameters and one or more second bandwidths, and where a second background contention timer is used to monitor a second background contention of the second contention time slot.

[0083] At block 615, the processing logic can identify a frame located at the head of a contention queue.

[0084] At block 620, the processing logic can select a transmission time slot from the first contention time slot and the second contention time slot based on the first background contention timer and the second background contention timer.

[0085] Without departing from the scope of the present disclosure, method 600 can be modified, added to, or omitted. For example, in some examples, method 600 can include any number of other components that may not be explicitly shown or described.

[0086] Figure 7 A process flow of an example method 700 that can be used for latency-based contention is shown, according to at least one example described in the present disclosure. Method 700 can be arranged according to at least one example described in the present disclosure.

[0087] Method 700 can be performed by processing logic that includes hardware (circuits, dedicated logic, etc.), software (e.g., software running on a computer system or a dedicated machine), or a combination of both, and the processing logic can be included in Figure 9 a processing device (e.g., processor 902) of Figure 8 a communication system 800 of

[0088] Method 700 may begin at block 705 where processing logic may monitor media idle time using a media idle time counter, where the media idle time is measured from the last transition that transitions from a CCA busy indication to a CCA idle indication.

[0089] At block 710, the processing logic may identify a frame located at the head of a contention queue.

[0090] At block 715, when the frame reaches the head of the contention queue, the processing logic may determine a backoff counter.

[0091] At block 720, when the backoff counter is less than or equal to the media idle time counter, the processing logic may push the frame for transmission.

[0092] Modifications, additions, or omissions may be made to method 700 without departing from the scope of the present disclosure. For example, in some examples, method 700 may include any number of additional components that may not be explicitly shown or described.

[0093] For simplicity of explanation, the methods and / or process flows described herein are depicted and described as a series of acts. However, acts in accordance with the present disclosure may occur in various orders and / or concurrently and may occur with other acts not presented and described herein. Additionally, not all acts shown may be used to implement the methods in accordance with the disclosed subject matter. Further, those skilled in the art will understand and appreciate that these methods may alternatively be represented as a series of related states via a state diagram or events. Additionally, the methods disclosed in this specification are capable of being stored on an article of manufacture such as a non-transitory computer-readable medium to facilitate transfer and conveyance of these methods to computing devices. The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device or storage medium. Although illustrated as discrete blocks, various blocks may, according to the desired implementation, be divided into additional blocks, combined into fewer blocks, or eliminated.

[0094] Figure 8 A block diagram of an example communication system 800 configured for delay-based contention is shown in accordance with at least one example described in the present disclosure. Communication system 800 may include a digital transmitter 802, radio frequency circuitry 804, a device 814, a digital receiver 806, and a processing device 808. The digital transmitter 802 and the processing device may be configured to receive a baseband signal via connection 810. The transceiver 816 may include the digital transmitter 802 and the radio frequency circuitry 804.

[0095] In some examples, the communication system 800 may include a system of devices that may be configured to communicate with each other via a wired connection or a wireline connection. For example, the wired connection in the communication system 800 may include one or more Ethernet cables, one or more fiber optic cables, and / or other similar wired communication media. Alternatively or additionally, the communication system 800 may include a system of devices that may be configured to communicate via one or more wireless connections. For example, the communication system 800 may include one or more devices that are configured to transmit and / or receive radio waves, microwaves, ultrasonic waves, light waves, electromagnetic induction, and / or similar wireless communications. Alternatively or additionally, the communication system 800 may include a combination of wireless and / or wired connections. In these and other examples, the communication system 800 may include one or more devices that may be configured to obtain a baseband signal, perform one or more operations on the baseband signal to generate a modified baseband signal, and transmit the modified baseband signal, e.g., to one or more loads.

[0096] In some examples, the communication system 800 may include one or more communication channels that may communicatively couple the systems and / or devices included in the communication system 800. For example, the transceiver 816 may be communicatively coupled to the device 814.

[0097] In some examples, the transceiver 816 may be configured to obtain a baseband signal. For example, as described herein, the transceiver 816 may be configured to generate a baseband signal and / or receive a baseband signal from another device. In some examples, the transceiver 816 may be configured to transmit the baseband signal. For example, after obtaining the baseband signal, the transceiver 816 may be configured to transmit the baseband signal to a separate device, such as the device 814. Alternatively or additionally, the transceiver 816 may be configured to modify, condition, and / or transform the baseband signal before transmitting the baseband signal. For example, the transceiver 816 may include an orthogonal upconverter and / or a digital-to-analog converter (DAC) that may be configured to modify the baseband signal. Alternatively or additionally, the transceiver 816 may include a direct RF sampling converter that may be configured to modify the baseband signal.

[0098] In some examples, the digital transmitter 802 can be configured to obtain a baseband signal via connection 810. In some examples, the digital transmitter 802 can be configured to up-convert the baseband signal. For example, the digital transmitter 802 can include an orthogonal up-converter applied to the baseband signal. In some examples, the digital transmitter 802 can include an integrated digital-to-analog converter (DAC). The DAC can convert the baseband signal into an analog signal or a continuous-time signal. In some examples, the DAC architecture can include a direct RF sampling DAC. In some examples, the DAC can be a component separate from the digital transmitter 802.

[0099] In some examples, the transceiver 816 can include one or more sub-components that can be used to prepare the baseband signal and / or transmit the baseband signal. For example, the transceiver 816 can include an RF front end (e.g., in a wireless environment), which can include a power amplifier (PA), a digital transmitter (e.g., 802), a digital front end, an Institute of Electrical and Electronics Engineers (IEEE) 1588v2 device, a Long Term Evolution (LTE) physical layer (L-PHY), an (S-plane) device, a management plane (M-plane) device, an Ethernet media access control (MAC) / personal communications service (PCS), a resource controller / scheduler, etc. In some examples, the radio of the transceiver 816 (e.g., the radio frequency circuit 804) can be synchronized with a resource controller via an S-plane device, which helps with high-precision timing relative to a reference clock.

[0100] In some examples, the transceiver 816 can be configured to obtain the baseband signal for transmission. For example, the transceiver 816 can receive the baseband signal from a separate device (e.g., a signal generator). For example, the baseband signal can come from a transducer configured to convert a variable into an electrical signal, such as the audio signal output of a microphone that picks up a speaker's voice. Alternatively or additionally, the transceiver 816 can be configured to generate a baseband signal for transmission. In these and other examples, the transceiver 816 can be configured to transmit the baseband signal to another device (e.g., device 814).

[0101] In some examples, device 814 can be configured to receive a transmission from transceiver 816. For example, transceiver 816 can be configured to transmit a baseband signal to device 814.

[0102] In some examples, the radio frequency circuit 804 can be configured to transmit a digital signal received from the digital transmitter 802. In some examples, the radio frequency circuit 804 can be configured to transmit the digital signal to device 814 and / or the digital receiver 806. In some examples, the digital receiver 806 can be configured to receive a digital signal from the RF circuit and / or send a digital signal to the processing device 808.

[0103] In some examples, as shown, processing device 808 can be a stand-alone device or system. Alternatively or additionally, processing device 808 can be a component of another device and / or system. For example, in some examples, processing device 808 can be included in transceiver 816. In the case where processing device 808 is a stand-alone device or system, processing device 808 can be configured to communicate with additional devices and / or systems remote from processing device 808, such as transceiver 816 and / or device 814. For example, processing device 808 can be configured to send and / or receive transmissions from transceiver 816 and / or device 814. In some examples, processing device 808 can be combined with other elements of communication system 800.

[0104] Certain portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. An algorithm can be a series of configured operations that result in a desired final state or result. In an example implementation, the operations performed can use physical manipulation of tangible quantities to achieve a tangible result.

[0105] Descriptions using terms such as detecting, determining, analyzing, identifying, scanning, etc. can include actions and processes of a computer system or other information processing device, which can manipulate and / or transform data represented as physical (electronic) quantities within the registers and memories of a computer system into other data similarly represented as physical quantities within the memories or registers of a computer system or other information storage, transmission, or display device.

[0106] Example implementations can also relate to apparatus for performing the operations herein. The apparatus can be specially constructed for the operations provided herein, or it can include one or more general purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs can be stored in a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-executable instructions can include, for example, instructions and data that cause a general purpose computer, a special purpose computer, or a special purpose processing device (such as one or more processors) to perform or control the performance of a certain function or group of functions.

[0107] Example apparatus can include a wireless access point (WAP) and / or a station (STA), which can use a VLSI processor and / or program code. An exemplary transceiver can be coupled via an integrated modem to one or more cables, optical fibers, or digital subscriber trunk connections to the Internet to support wireless communication on a wireless local area network (WLAN), such as IEEE 802.11 compliant communication. The level can include one or more of a baseband level, an analog front end (AFE) level, or a radio frequency (RF) level. In the baseband portion, wireless communications can be transmitted to and / or received from each user / client / station for processing. The AFE and RF portions can be configured to up-convert signals on one or more transmission paths directed to wireless transmission (e.g., as initiated in the baseband). The RF portion can be configured to down-convert signals received on a receive path and pass them to the baseband for further processing.

[0108] An example device can be a multiple-input multiple-output (MIMO) device, which can support up to NxN discrete communication streams on N antennas. The signal processing unit of the MIMO device can be implemented as N×N. The value of N can be 4, 6, 8, 12, 16, etc. Extended MIMO operation can facilitate communication with different wireless systems using up to 2N antennas. When the systems do not have the same number of antennas (e.g., some antennas of one station may not be in use), the extended MIMO system can be configured to communicate with other wireless systems.

[0109] Channel state information (CSI) can be extracted independent of changes associated with channel state parameters and can be used for spatial diagnostic services of a network, such as motion detection, proximity detection, and / or positioning, which can be used for, e.g., WLAN diagnosis, home security, healthcare monitoring, smart home facility control, elderly care, vehicle tracking and monitoring, home or mobile entertainment, in-vehicle infotainment, etc.

[0110] Figure 9 A diagram of an example form of a machine, a computing device 900, in which a set of instructions can be executed to cause the machine to perform any one or more of the methods discussed herein. The computing system can be configured to implement or direct one or more operations associated with latency-based contention. The computing device 900 can include a rack server, a router computer, a server computer, a mainframe, a laptop computer, a tablet computer, a desktop computer, or any computing device having at least one processor in which a set of instructions can be executed to cause the machine to perform any one or more of the methods discussed herein. In an alternative example, the machine can be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine can operate in the capacity of a server machine in a client-server network environment. Further, although only a single machine is shown, the term "machine" can also include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.

[0111] Example computing device 900 includes a processing device (e.g., processor 902), main memory 904 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), static memory 906 (e.g., flash memory, static random access memory (SRAM)), and data storage device 916, which communicate via bus 908.

[0112] The processing device (e.g., processor 902) represents one or more general-purpose processing devices, such as a microprocessor, central processing unit, etc. More specifically, the processing device (e.g., processor 902) may include a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or an instruction set combination. The processing device (processor 902) may also include one or more dedicated processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processing device (e.g., processor 902) is configured to execute instructions 926 for performing the operations and steps discussed herein.

[0113] Computing device 900 may also include a network interface device 922, which may communicate with network 918. Computing device 900 may also include a display device 910 (e.g., liquid crystal display (LCD) or cathode ray tube (CRT)), an alphanumeric input device 912 (e.g., keyboard), a cursor control device 914 (e.g., mouse), and a signal generation device 920 (e.g., speaker). In at least one example, display device 910, alphanumeric input device 912, and cursor control device 914 may be combined into a single component or device (e.g., an LCD touchscreen).

[0114] Data storage device 916 may include a computer-readable storage medium 924 having stored thereon one or more sets of instructions 926 that embody any one or more of the methods or functions described herein. During execution of instructions 926 by computing device 900, instructions 926 may also reside, completely or at least partially, within main memory 904 and / or within the processing device (e.g., processor 902), which also constitutes a computer-readable medium. These instructions may also be transmitted or received over network 918 via network interface device 922.

[0115] Although the computer-readable storage medium 924 is shown as a single medium in the example, the term "computer-readable storage medium" can include a single medium or multiple media (e.g., a centralized or distributed database and / or associated caches and servers) that store a set of one or more instructions. The term "computer-readable storage medium" can also include any medium that is capable of storing, encoding, or carrying a set of instructions executable by a machine and that causes the machine to perform any one or more of the methods of the present disclosure. Thus, the term "computer-readable storage medium" can include, but is not limited to, solid-state memory, optical media, and magnetic media.

[0116] In some examples, the different components, modules, engines, and services described herein can be implemented as objects or processes executing on a computing system (e.g., as separate threads). Although some of the systems and methods described herein are generally described as being implemented in software (stored on and / or executed by hardware), specific hardware implementations or combinations of software and specific hardware implementations are also possible and contemplated.

[0117] The terms used herein, especially those used in the appended claims (e.g., the body of the appended claims), are generally intended to be "open" terms (e.g., the term "including" should be interpreted as "including, but not limited to", the term "having" should be interpreted as "having at least", the term "includes" should be interpreted as "including, but not limited to", etc.).

[0118] Moreover, if an intention to introduce a specific number of claim recitations is present, such an intention will be explicitly recited in the claims, and if no such recitation is present, there is no such intention. For example, for purposes of illustration, the following appended claims may contain the use of introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that a claim recitation introduced by the indefinite article "a" or "an" limits any particular claim containing such introduced claim recitation to only one embodiment containing such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" as well as the indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be interpreted to mean "at least one" or "one or more"); this also applies to the use of definite articles used to introduce claim recitations.

[0119] In addition, even if the specific number of recited claims is explicitly recited, it should be understood that such recitation should be interpreted as meaning at least the recited number (e.g., a simple recitation of "two recitations" without any other modifiers means at least two recitations, or two or more recitations). In addition, in those cases similar to the convention of "at least one of A, B, and C, etc." or "one or more of A, B, and C, etc.", generally, such a construction is intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc. For example, the use of the term "and / or" is intended to be interpreted in this way.

[0120] In addition, any disjunctive word or phrase that represents two or more alternative terms, whether in the specification, claims, or drawings, should be understood to contemplate the possibility of including one term, the other term, or both terms. For example, the phrase "A or B" should be understood to include the possibility of "A" or "B" or "A and B".

[0121] In addition, the use of terms such as "first", "second", "third", etc. herein is not necessarily intended to imply a particular order or number of elements. Generally, the terms "first", "second", "third", etc. are used to distinguish different elements as general identifiers. In the absence of an explicit term "first", "second", "third", etc. implying a particular order, these terms should not be understood to imply a particular order. In addition, in the absence of an indication that the terms "first", "second", "third", etc. imply a particular number of elements, these terms should not be understood to imply a particular number of elements. For example, a first widget may be described as having a first side, and a second widget may be described as having a second side. The use of the term "second side" with respect to the second widget may be to distinguish this side of the second widget from the "first side" of the first widget, rather than to imply that the second widget has two sides.

[0122] All of the examples and conditional language described herein are intended for pedagogical purposes to help the reader understand the present disclosure and the concepts contributed by the inventors to the art, and should be interpreted as not being limited to these specifically recited examples and conditions. Although the embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions, and alterations can be made without departing from the spirit and scope of the present disclosure.

Claims

1. A wireless access point for delay-based contention, comprising: A processing device configured to: Monitor the medium idle time using a medium idle time counter, where the medium idle time is measured from the last transition, and the last transition is from an idle channel assessment (CCA) busy indication to a CCA idle indication; Identify a frame at the head of the contention queue; Determine a backoff counter when the frame reaches the head of the contention queue; and Push the frame for transmission when the backoff counter is less than or equal to the medium idle time counter; and A transceiver configured to transmit the frame.

2. The wireless access point according to claim 1, wherein, The processing device is further configured to: Determine the backoff counter based on one or more of an arbitration inter-frame space (AIFS) or a random backoff counter between zero and a contention window (CW).

3. The wireless access point according to claim 1, wherein The processing device is further configured to: Set the medium idle time counter to zero when the CCA idle indication changes to the CCA busy indication; and Freeze the medium idle time counter at zero until the CCA busy indication changes to the CCA idle indication.

4. The wireless access point according to claim 1, wherein, The processing device is further configured to: Monitor the medium idle time based on one or more of a link, frequency range, bandwidth, frequency band, frequency sub-band, frequency channel, or continuous CCA frequency portion.

5. The wireless access point according to claim 1, wherein, The processing device is further configured to: Monitor the medium idle time based on puncturing of a dynamic sub-band CCA indication.

6. The wireless access point according to claim 1, wherein The processing device is further configured to: Select a transmission mode from the multiple transmission modes based on one or more transmission mode idle times of the multiple transmission modes.

7. The wireless access point according to claim 1, wherein, The processing device is further configured to: Select a physical layer protocol data unit (PPDU) bandwidth (BW) mode based on one or more of a CCA indication, link indication, number of users, physical layer (PHY) mode, allowed BW channel, or allowed BW sub-channel; Or Select a puncturing mode based on one or more of a CCA indication, link indication, number of users, PHY mode, allowed BW channel, or allowed BW sub-channel.

8. The wireless access point according to claim 1, wherein, The processing device is further configured to: Select a transmission time slot from the multiple contention time slots based on the background contention of the multiple contention time slots; and Use the transmission time slot to push the frame for transmission.

9. A wireless access point for delay-based contention, comprising: A processing device configured to: Identify a first contention time slot, the first contention time slot including one or more first contention parameters and one or more first bandwidths, where a first background contention timer is used to monitor the first background contention of the first contention time slot; Identify a second contention time slot, the second contention time slot including one or more second contention parameters and one or more second bandwidths, where a second background contention timer is used to monitor the second background contention of the second contention time slot; Identify a frame at the head of the contention queue; and Select a transmission time slot from the first contention time slot and the second contention time slot based on the first background contention timer and the second background contention timer; and A transceiver configured to use the transmission time slot to transmit the frame.

10. The wireless access point according to claim 9, wherein, One or more of the first contention parameters or the second contention parameters include one or more of the following: Clear Channel Assessment (CCA) indication of the frequency band, Arbitration Inter-Frame Space (AIFS) number, minimum contention window CWMIN, or maximum contention window CWMAX.

11. The wireless access point according to claim 9, wherein, The processing device is further configured to: Identify the nth contention time slot, the nth contention time slot including one or more nth contention parameters and one or more nth frequency band widths, wherein the nth backoff contention of the nth contention time slot is monitored using the nth backoff contention timer; And Select a transmission time slot from n contention time slots based on n backoff contention timers, where n is the number of contention time slots.

12. The wireless access point according to claim 9, wherein, The processing device is further configured to: Select the transmission time slot based on the first priority of the first contention time slot and the second priority of the second contention time slot.

13. The wireless access point according to claim 12, wherein, One or more of the first priority or the second priority are based on one or more of queue priority, frame priority, or data priority.

14. A Station (STA) for contention based on delay, comprising: A processing device configured to: Monitor the medium idle time using a medium idle time counter, where the medium idle time is measured from the last transition, the last transition being from a Clear Channel Assessment (CCA) busy indication to a CCA idle indication; Identify the frame at the head of the contention queue; Determine a backoff counter when the frame reaches the head of the contention queue; and Push the frame for transmission when the backoff counter is less than or equal to the medium idle time counter; and A transceiver configured to transmit the frame.

15. The station according to claim 14, wherein, The processing device is further configured to: Determine the backoff counter based on one or more of Arbitration Inter-Frame Space (AIFS) or a random backoff counter between zero and the contention window CW.

16. The station according to claim 14, wherein, The processing device is further configured to: Set the medium idle time counter to zero when the CCA idle indication changes to the CCA busy indication; and Freeze the medium idle time counter at zero until the CCA busy indication changes to the CCA idle indication.

17. The station according to claim 14, wherein, The processing device is further configured to: Monitor the medium idle time based on one or more of link, frequency range, frequency band width, frequency band, frequency sub-band, frequency channel, or continuous CCA frequency portion.

18. The station according to claim 14, wherein The processing device is further configured to: Monitor the medium idle time based on the puncturing of the dynamic sub-band CCA indication.

19. The station according to claim 14, wherein, The processing device is further configured to: Select a transmission mode from the multiple transmission modes based on the idle time of one or more of the multiple transmission modes.

20. The station according to claim 14, wherein The processing device is further configured to: Select a Physical Layer Protocol Data Unit (PPDU) frequency band width (BW) mode based on one or more of CCA indication, link indication, number of users, Physical Layer (PHY) mode, allowed BW channel, or allowed BW sub-channel; Or Select a puncturing mode based on one or more of CCA indication, link indication, number of users, PHY mode, allowed BW channel, or allowed BW sub-channel.

21. The station according to claim 14, wherein, The processing device is further configured to: select a transmission time slot from the plurality of contention time slots based on the background contention of the plurality of contention time slots; and use the transmission time slot to push the frame for transmission.