Improvement of triggered single-user transmissions in WLAN networks

By allowing access points to wait for a predefined time interval after a trigger frame, the solution addresses inefficiencies in WLAN channel access, ensuring successful data transmission and optimizing channel use for client devices, thereby enhancing communication efficiency.

DE102021126868B4Active Publication Date: 2025-01-30HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
DE102021126868
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-02-10
Filing Date
2021-10-15
Publication Date
2025-01-30
Estimated Expiration
2041-10-15

AI Technical Summary

Technical Problem

Existing WLAN technologies face inefficiencies in channel access schemes, leading to loss of transmission opportunities and reduced throughput due to client devices failing to initiate data transmission within a short interframe space (SIFS) after a trigger frame, resulting in ineffective reuse of the channel for other transmissions.

Method used

Access points (APs) are configured to wait for a predefined time interval after sending a single user (SU) trigger frame to allow client devices to initiate data transmission, releasing channel access only if the transmission does not occur within this interval, thereby ensuring successful data transfer and optimizing channel use.

Benefits of technology

This approach enhances communication efficiency by providing additional opportunities for successful data transmission, preventing loss of transmission options and improving channel utilization for triggered client devices, even in scenarios of interference or prioritized data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Procedures for planned channel access, including: Sending a Single User (SU) trigger frame through an access point (AP) (106C) to a client device (110D-110F) to initiate data transmission through the client device; Detect by the AP (106C) whether data transmission within a Short Interframe Spacing (SIFS) is initiated after sending the SU trigger frame; In response to the detection that data transmission is not initiated within the SIFS after the SU trigger frame has been sent, the AP (106C) waits for the client device (110D-110F) to initiate data transmission within a predefined time interval after the SIFS; in response to the detection that data transmission will not be initiated within the predefined time interval, repurposing of channel access by the AP (106C) after the predefined time interval has elapsed, wherein the SU trigger frame contains a bit sequence indicating whether channel access is being repurposed in response to the detection that data transmission will not be initiated within the predefined time interval after sending the SU trigger frame; and In response to the detection that data transmission is initiated within the predefined time interval, the AP (106C) repurposes channel access after a maximum Transmission Opportunity (TXOP) duration has elapsed or after completion of the data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] In recent years, WLAN (Wireless Local Area Network) technologies have become a rapidly growing market. One example of the various WLAN technologies is the 802.11 standard of the Institute of Electrical and Electronics Engineers (IEEE). Client devices, or stations (STAs), in WLANs communicate with access points (APs) to gain access to one or more network resources. APs can refer to digital devices that are communicatively connected to one or more networks (e.g., Internet, intranet, etc.). APs can be connected to one or more networks directly or through a controller. An AP referred to here can include a wireless access point (WAP), which communicates wirelessly with devices using Wi-Fi, Bluetooth, or related standards, and which communicates with a wired network.

[0002] US 10 034 227 B1 relates to access point assignment using trigger-based uplink single-user transmission.

[0003] US 10 021 224 B2 describes a first communication device that receives a trigger frame from a second communication device. The first communication device generates a single-user (SU) physical layer (PHY) protocol data unit comprising a PHY protocol payload, wherein the PHY protocol payload comprises information other than information acknowledging a previous transmission from the second communication device. In response to the trigger frame, the first communication device transmits the SU PHY protocol data unit to the second communication device, such that the SU PHY protocol data unit is transmitted before the first communication device transmits any other PHY protocol data unit after receiving the trigger frame.

[0004] US 2014 / 0 241 268 A1 describes a method for accessing a wireless local area network, an access point, and a wireless local area network system. The access point receives a collision value for uplink access and transmits a first transmit enable signal to all stations connected to the access point if it determines that the collision value for uplink access exceeds a preset threshold. The first transmit enable signal includes a Media Access Control address of a first station associated with the access point. Data transmitted by the first station is received.

[0005] US 2021 / 0 037 571 A1 relates to a user terminal and a radio base station of a next-generation mobile communication system. SHORT DESCRIPTION

[0006] A method according to claims 1 to 6, an access point according to claims 7 to 12 and a non-transitory computer-readable medium according to claims 13 to 17 are disclosed. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The present disclosure will be described in detail in accordance with one or more various embodiments with reference to the following figures. The figures are for illustrative purposes only and represent merely typical or exemplary embodiments. Fig. Figure 1 shows an example of a network configuration that can be implemented for an organization such as a business, educational institution, government agency, healthcare facility, or other organization. Fig. 2 is a block diagram of an exemplary computing component or apparatus for scheduling channel access according to one embodiment. The Fig. 3A and Fig. 3B illustrate an example method for scheduling channel access in accordance with one embodiment. Fig. 4 shows an example of scheduling channel access for a client device and data transmission by the scheduled client device in accordance with one embodiment. Fig. 5 shows a block diagram of an exemplary computer system in which the embodiments described herein may be implemented.

[0008] The figures are not exhaustive and do not limit the present disclosure to the precise form disclosed. DETAILED DESCRIPTION

[0009] A client device (or STA) in a Basic Service Set (BSS) can transmit frames to an AP or another device (e.g., a peer-to-peer device) using a variety of schemes. These schemes can include multi-user (MU) uplink (UL) schemes, where the channel is used by multiple client devices simultaneously (i.e., at or around the same time), such as full- or partial-bandwidth multi-user multiple-input multiple-output (MU-MIMO), MU-Orthogonal Frequency Division Multiple Access (OFDMA), or a hybrid combination thereof. The channel can also be accessed by single-user channel access methods, where only a single client device has access to the channel at a time. Thus, WLAN devices can access the channel using both MU and SU means.

[0010] Different channel access methods can have various benefits, such as increasing the information throughput on the channel. For example, APs operating under conventional channel access schemes may be designed to increase the information throughput of the channel by maximizing channel utilization. In an example of a scheduled / triggered single-user channel access (SU) scheme, the AP can trigger or schedule channel access for a single client device at a specific time to allow the triggered client device to transmit data over the channel. The client can use the channel to transmit client data, for example, to the AP over the UL or to a peer-to-peer (P2P) device over a P2P connection. The AP can send an SU trigger frame to the client device.When triggered by the SU trigger frame, the client device must respond by initiating its data transmission within a Short Interframe Spacing (SIFS) after receiving the SU trigger frame. The SIFS is defined as the time period between two frames that must be immediately consecutive and, in the example, can be 16 microseconds. If the client device is unable to initiate its data transmission within SIFS after the SU trigger, the AP can use the channel access for other transmissions after the SIFS expires, such as downlink (DL) transmissions or UL transmissions triggered by another client device. The AP is typically configured to reuse the channel immediately after the trigger SIFS to ensure that the channel does not remain idle for too long and to provide high information throughput for the channel.

[0011] However, there may be situations where the client device is unable to transmit its data within SIFS after it is triggered. For example, the client device may not have any traffic ready to transmit at that time because the traffic has not yet reached the client device from higher abstraction layers. Or data may be available at the client device but, due to data processing delays at the client, it is unable to initiate data transmission within SIFS after the trigger. Or the client device may detect that the channel is busy, e.g., due to interference on the channel. In such situations where the client is unable to initiate its data transmission within SIFS after the trigger, repurposing channel access for other transmissions may cause the triggered client device to lose its ability to transmit.

[0012] Furthermore, there may be scenarios where even reusing channel access immediately after the trigger's SIFS may result in the channel being underutilized or channel airtime being lost. In one scenario, the triggered client device may be the only active client device connected to the AP, and the AP may not have any data to transmit on the DL. In this case, reusing channel access for DL ​​transmissions after the SIFS expires may be pointless. Reusing channel access for triggered UL transmissions from other client devices is also ineffective because the AP has no other active client device associated with it that can be triggered to initiate its transmissions.Therefore, repurposing channel access in response to a data transfer from the triggered client device that is not initiated within SIFS after the trigger may also render the channel unused for a certain duration, in addition to the loss of transmission capability for the triggered client device.

[0013] In another scenario, after SIFS expires after the SU trigger frame is sent, the channel access may be used for other transmissions, and the AP detects interference on the channel. The interference on the channel may be originating from the same interference source that could be preventing the triggered client device from initiating its UL transmissions. Although the AP reassigned channel access in response to the triggered client's UL data transmission that was not initiated within the SIFS, the channel may remain busy due to the interference, and the AP cannot reuse the channel for other transmissions until the channel is clear of interference. In this scenario, although the triggered client device, which was idle outside the trigger SIFS, reclaims channel access, the channel may remain unused even after the reassignment, resulting in lower airtime utilization for the channel.Repurposing channel access after the SIFS expires may also cause the triggered client device to lose its ability to transmit.

[0014] Another scenario may occur where the AP is configured to prioritize UL data transmissions from the triggered client device. In this scenario, reusing channel access after the trigger's SIFS expires may cause DL transmissions or triggered UL transmissions from other client devices to be prioritized over UL data transmissions from the triggered client device. This may result in a loss of priority for the triggered client device's UL data transmissions.

[0015] Therefore, in the scenarios described above, the AP attempting to reuse the channel for other transmissions (DL transmissions or triggered UL transmissions from other clients) once the SIFS expires may inefficiently repurpose channel access, resulting in either a loss of channel airtime and / or a loss of transmission opportunity for the triggered client device. This can render the entire SU triggering scheme inefficient.

[0016] The present disclosure relates to techniques for configuring the AP so that a triggered client device is given the opportunity to initiate its data transmission even if it does not do so within SIFS after the trigger. According to the techniques of the present disclosure, an AP may send a Single User (SU) trigger frame to a client device to initiate a data transmission by the client device. The AP may detect whether the data transmission is initiated within SIFS after the SU trigger frame is sent. In response to determining that the data transmission is not initiated within SIFS, the AP waits for the client device to initiate the data transmission within a predefined time interval after SIFS. In one example, the predefined time interval corresponds to the maximum TXOP duration.In response to detecting that data transmission is not initiated within the predefined time interval, the AP releases channel access after the predefined time interval has elapsed. In response to detecting that data transmission is initiated within the predefined time interval, the AP releases channel access after the maximum TXOP duration has elapsed or after data transmission is completed, whichever occurs first.

[0017] Thus, in accordance with the present techniques, the AP can wait a longer time (i.e., the predefined time interval after the SIFS expiration) until the client device begins its data transmission. This brings technical advantages to the entire application. For example, waiting for the predefined time interval after the SIFS of the SU trigger prevents ineffective reconfiguration of the AP (at least in the scenarios described above) to reuse the channel for other transmissions. Because the access point waits for the predefined time interval after the SIFS from the SU trigger, the triggered client device has a better chance of successful data transmission, thus improving communication efficiency for the triggered client device, even though there may be a slight reduction in the information throughput of the channel.

[0018] Waiting for the predefined time interval after the SIFS of the SU trigger also differs from traditional triggered transmission schemes in several respects. For example, in a traditional triggered transmission scheme, the ZB cannot wait the extended time after SIFS until a triggered client has transmitted its data. If the client is unable to initiate data transmission within SIFS after the trigger, the AP can reuse the channel for other purposes (e.g., for triggered transmissions from other clients or DL ​​transmissions) to maximize the channel's information throughput. However, this may result in a reduced transmission opportunity for the triggered client, which may not be ready to transmit within the limited SIFS time period after the SU trigger.

[0019] Additionally, in some examples in traditional systems operating according to a specific wireless specification (e.g., IEEE 802.11ax), scheduled UL-MU transmissions from client devices must begin exactly within the SIFS period after the client devices (e.g., 802.11ax clients) receive an MU trigger frame, because the preambles of all client devices participating in the UL-MU transmission must be synchronized. When implementing scheduled SUUL transmissions, APs operating according to the respective wireless specification (e.g., IEEE 802.11ax) can also expect to receive scheduled SUUL transmissions from the triggered client within the SIFS of the SU trigger. Such APs operating in accordance with the respective wireless specification must not wait for the predefined time interval after the trigger SIFS to provide the triggered client with an additional transmission opportunity.Rather, such an AP may repurpose the channel immediately after SIFS, which may result in a loss of transmission opportunity for the triggered client. Since preamble synchronization is not required for triggered SU transmissions, as only one client transmits at a time, waiting for the extended time after SIFS, as in the present techniques, does not hinder the transmission process while providing the triggered client device with a better chance of successfully completing its data transmissions, resulting in efficient communication. Further technical advantages of the present techniques are described below.

[0020] In the scenario where the triggered client device is the only active client device connected to the AP, by waiting the predefined time period after the trigger's SIFS, the AP can give the triggered client device a better opportunity to successfully complete its UL data transmission, even if it failed to initiate the data transmission within the trigger's SIFS. This also prevents ineffective reuse of channel access, thus enabling better utilization of the channel's airtime.

[0021] Even in the scenario where the AP is configured to prioritize UL data transmissions from the triggered client device, by waiting for the predefined time interval after the trigger's SIFS, the AP can provide a better chance for a successful UL data transmission by the triggered client device, which consequently provides a higher chance of maintaining the priority of UL data transmissions from the triggered client device over DL or UL transmissions from other client devices. Even in the scenario where the channel may be busy due to interference, channel access by the triggered client device can be maintained for a longer period of time, which can allow the triggered client device to begin its UL transmissions at the earliest possible opportunity once it obtains a free channel while the maximum UL TXOP duration has not yet expired.This can provide an improved transmission option for the triggered client device.

[0022] The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. Although several examples are described in the description, modifications, adaptations, and other implementations are possible. Accordingly, the following detailed description does not limit the disclosed examples. Instead, the proper scope of the disclosed examples may be defined by the appended claims.

[0023] Before describing embodiments of the disclosed systems and methods in detail, it is useful to describe an example network installation with which these systems and methods can be implemented in various applications. Fig. 1 shows an example of a network configuration 100 that may be implemented for an organization, such as a business, educational institution, government agency, healthcare facility, or other organization. This diagram shows an example of a configuration implemented in an organization with multiple users (or at least multiple client devices 110) and possibly multiple physical or geographic locations 102, 132, 142. The network configuration 100 may include a main location 102 that communicates with a network 120. The network configuration 100 may also include one or more remote locations 132, 142 that communicate with the network 120.

[0024] The primary site 102 may include a primary network, which may be, for example, an office network, a home network, or other network installation. The primary network 102 may be a private network, such as a network that may include security and access controls to restrict access to authorized users of the private network. Authorized users may include, for example, employees of a company at the primary site 102, residents of a home, customers of a company, etc.

[0025] In the example shown, the primary site 102 includes a controller 104 that communicates with the network 120. The controller 104 may provide communication with the network 120 for the primary site 102, although it need not be the sole point of communication with the network 120 for the primary site 102. A single controller 104 is illustrated, although the primary site may include multiple controllers and / or multiple points of communication with the network 120. In some embodiments, the controller 104 communicates with the network 120 via a router (not shown). In other embodiments, the controller 104 provides router functions to devices at the primary site 102.

[0026] The controller 104 can configure and manage network devices, e.g., at the main site 102, and can also manage network devices at the remote sites 132, 134. The control unit 104 can configure and / or manage switches, routers, access points, and / or client devices connected to a network. The control unit 104 can itself be an access point or provide the functionality of one.

[0027] The control device 104 may communicate with one or more switches 108 and / or wireless access points (APs) 106a-c. The switches 108 and the wireless APs 106a-c provide network connections to various client devices 110a-j. Through a connection to a switch 108 or AP 106a-c, a client device 110a-j may access network resources, including other devices in the network (primary site 102) and in the network 120.

[0028] Examples of client devices can include: desktop computers, laptops, servers, web servers, authentication servers, authentication-authorization-accounting (AAA) servers, Domain Name System (DNS) servers, Dynamic Host Configuration Protocol (DHCP) servers, Internet Protocol (IP) servers, virtual private network (VPN) servers, network policy servers, mainframe computers, tablet computers, e-readers, netbook computers, televisions and similar displays (e.g., smart TVs), content receivers, set-top boxes, personal digital assistants (PDAs), mobile phones, smartphones, intelligent terminals, silent terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IoT) devices, and the like. Client devices can also be referred to as stations (STAs).

[0029] Within the primary site 102, a switch 108 is included as an example of an access point to the network established at the primary site 102 for wired client devices 110i-j. The client devices 110i-j can connect to the switch 108 and access other devices within the network configuration 100 via the switch 108. The client devices 110i-j can also access the network 120 via the switch 108. The client devices 110i-j can communicate with the switch 108 via a wired connection 112. In the illustrated example, the switch 108 communicates with the control device 104 via a wired connection 112, although this connection may also be wireless. An AP generally refers to a network device that allows a client device or STA to connect to a wired or wireless network, in this case, the wireless network 100.An AP may include a processor, memory, and I / O interfaces, including wired network interfaces such as IEEE 802.3 Ethernet interfaces, as well as wireless network interfaces such as IEEE 802.11 Wi-Fi interfaces, although the examples of the disclosure are not limited to such interfaces. An AP may include memory, including random access memory, and a hierarchy of persistent storage such as ROM, EPROM, and flash memory. Furthermore, as used herein, an AP may refer to receiving points for any known or suitable wireless access technology that may later become known. In particular, the term AP is not intended to be limited to IEEE 802.11-based APs.

[0030] The wireless APs 106a-c are another example of an access point to the network established at the main site 102 for client devices 110a-h. The APs 106a-c may control network access of the client devices 110a-h and authenticate the client devices 110a-h for connection to the APs and, through the APs, to other devices within the network configuration 100. Each of the APs 106a-c may be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity to wireless client devices 110a-h. In the illustrated example, the APs 106a-c may be managed and configured by the controller 104. The APs 106a-c communicate with the controller 104 and the network via connections 112, which may be either wired or wireless interfaces.

[0031] The network configuration 100 may include one or more remote sites 132. A remote site 132 may be located at a different physical or geographical location than the primary site 102. In some cases, the remote site 132 may be located at the same geographical location or possibly in the same building as the primary site 102, but does not have a direct connection to the network of the primary site 102. Instead, the remote site 132 may utilize a connection through another network, such as the network 120. A remote site 132, as in Fig. 1, may be, for example, a satellite office, a different floor or suite in a building, etc. The remote location 132 may include a gateway device 134 for communicating with the network 120. A gateway device 134 may be a router, a digital-to-analog modem, a cable modem, a DSL modem, or other network device configured to communicate with the network 120. The remote location 132 may also include a switch 138 and / or an AP 136 that communicates with the gateway device 134 via either wired or wireless connections. The switch 138 and the AP 136 provide connectivity to the network for various client devices 140a-d.

[0032] In various embodiments, the remote site 132 may be in direct communication with the primary site 102, such that client devices 140a-d at the remote site 132 access the network resources at the primary site 102 as if those client devices 140a-d were located at the primary site 102. In such embodiments, the remote site 132 is managed by the control unit 104 at the primary site 102, and the control unit 104 provides the necessary connectivity, security, and accessibility to enable communication of the remote site 132 with the primary site 102. Once connected to the main site 102, the remote site 132 may function as part of a private network provided by the main site 102.

[0033] In various embodiments, the network configuration 100 may include one or more smaller remote sites 142 that include only a gateway device 144 for communicating with the network 120 and a wireless AP 146 through which various client devices 150a-b access the network 120. Such a remote site 142 may be, for example, the home of an individual employee or a temporary remote office. The remote site 142 may also communicate with the main site 102 so that the client devices 150a-b at the remote site 142 access network resources at the main site 102 as if those client devices 150a-b were located at the main site 102. The remote site 142 may be managed by the controller 104 at the main site 102 to enable this transparency.Once connected to the main site 102, the remote site 142 may function as part of a private network provided by the main site 102.

[0034] The network 120 may be a public or private network such as the Internet or another communications network that enables the connection between the various locations 102, 130-142, as well as access to the servers 160a-b. The network 120 may include third-party telecommunications lines, such as telephone lines, broadcast coaxial cables, fiber optic cables, satellite communications, cellular communications, and the like. The network 120 may include any number of intermediate network devices, such as switches, routers, gateways, servers, and / or controllers, that are not directly part of the network configuration 100 but facilitate communication between the various parts of the network configuration 100 and between the network configuration 100 and other entities connected to the network. The network 120 may include various content servers 160ab.Content servers 160a-b may include various providers of downloadable multimedia and / or streaming content, including audio, video, graphics, and / or text content, or any combination thereof. Examples of content servers 160a-b include web servers, streaming radio and video providers, and cable and satellite television providers. Client devices 110a-j, 140a-d, 150a-b may request and access the multimedia content provided by content servers 160a-b.

[0035] Fig. Figure 2 is a block diagram of an exemplary computing component or device 200 for scheduling channel access to a client device. In one example, computing component 200 may be an AP as described in the embodiments described herein.

[0036] In the example implementation of Fig. 2, the computer component 200 includes a hardware processor 202 and a machine-readable storage medium 204. The hardware processor 202 may be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices capable of retrieving and executing instructions stored in the machine-readable storage medium 204. The hardware processor 202 may retrieve, decode, and execute instructions, such as instructions 206-214, to control processes or operations for scheduling channel access. Alternatively, or in addition to retrieving and executing instructions, the hardware processor 202 may include one or more electronic circuits comprising electronic components for performing the functionality of one or more instructions, such asa field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or other electronic circuits.

[0037] A machine-readable storage medium, such as machine-readable storage medium 204, may be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. For example, machine-readable storage medium 204 may be random access memory (RAM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), a storage device, an optical disk, or the like. In some embodiments, machine-readable storage medium 204 may be a non-transitory storage medium, where the term "non-transitory" does not include transitory transmission signals. As described in detail below, machine-readable storage medium 204 may be encoded with executable instructions, such as instructions 206-214.

[0038] Although the Fig. 2 steps are performed in a specific order, the order shown is not the only one in which the steps can be performed. Each step can be performed in any order and at any time, it can be repeated and / or performed by one or more suitable devices. The Fig. The process shown in Figure 2 is also shown in Fig. 4, but with a different level of detail.

[0039] In step 206, an AP, e.g., an AP 106C, may send an SU trigger frame to a client device, e.g., one of the client devices 110D-110F. The SU trigger frame may include a NAV field specifying a time duration for which the AP reserves the channel and a Maximum TXOP Duration field specifying a maximum time duration for which the client device may transmit frames or a burst of frames. The SU trigger frame may indicate to the client device that a data transmission should be initiated. The NAV field may provide an indication of the time the medium remains busy. The TXOP is a time interval during which the triggered client may transmit as many frames as possible, as long as the duration of the transmissions does not exceed the maximum TXOP duration specified in the Maximum TXOP Duration field of the SU trigger frame. The maximum TXOP duration is a subset of the NAV duration.In one example, the data transfer may be an uplink (UL) data transfer from the client device to the AP or from the client device to another device, such as a peer-to-peer (P2P) device.

[0040] In step 208, the AP detects whether data transmission is initiated within a short interframe spacing (SIFS) after sending the SU trigger frame. In one example, the AP may check whether data is being received from the client device over the uplink. In another example, the AP may also check whether the client device has begun transmitting data to another device, such as a P2P device over a P2P connection.

[0041] In response to determining that data transmission is not initiated within the SIFS after sending the SU trigger frame, the AP waits in step 210 for the client device to initiate data transmission within a predefined time interval after the SIFS. The predefined time interval may be less than or equal to the maximum TXOP duration. The predefined time interval may be configured by a network administrator within the AP.

[0042] In step 212, in response to determining that data transmission is not initiated within the predefined time interval, channel access is reused after the predefined time interval has elapsed. In one example, the transmission opportunity may be returned to the AP, which may reuse the channel for downlink (DL) data transmissions, or the AP may trigger another client device. Thus, channel reuse may include both initiating a downlink (DL) data transmission and triggering an SU data transmission for another client device.

[0043]

[0039] In step 214, in response to determining that the data transmission was initiated within the predefined time interval, channel access is released after the expiration of a maximum TXOP duration or after the completion of the data transmission, whichever occurs first. Thus, if the data transmission is initiated by the client device before the maximum TXOP duration, the AP allows the data transmission to continue until the expiration of the maximum TXOP duration. This allows the triggered client device to initiate its UL data transmission even after the SIFS of the SU trigger frame has expired, enabling better utilization of the channel's airtime and a better transmission opportunity for the triggered client device.

[0044] Further details of planning channel access to a client device are described in the Fig. 3A and Fig. 3B. The Fig. 3A and Fig. 3B illustrate an example method 300 for scheduling channel access according to one embodiment. The method 300 may be performed by an AP. The method 300 may be implemented by one or more processing resources or one or more computing devices through any suitable hardware, a non-transitory machine-readable medium, or a combination thereof. In one example, the method 300 may be performed by computer-readable instructions comprising instructions stored on a medium and executable by a processing resource of an AP. It may be contemplated that processes involved in the method 300 may be executed based on instructions stored in a non-transitory computer-readable medium.The non-transitory computer-readable medium may include, for example, digital storage, magnetic storage media such as magnetic disks and magnetic tapes, hard disks or optically readable digital data storage media.

[0045] In block 302, an AP, such as an AP 106C of Fig. 1, to which client devices, such as client devices 110D-110F, are connected, send a Single User (SU) trigger frame to initiate a data transmission by a client device, such as client device 110D. The SU trigger frame may include a NAV field, a Maximum TXOP Duration field, and a MAX-WAIT-TIME field that specifies a predefined time interval for which the AP should wait for the client device to initiate a data transmission after SIFS of sending the SU trigger frame. "After SIFS of sending the SU trigger frame" here refers to a period of time that is either equal to or slightly greater than SIFS from the time the AP sends the SU trigger frame. In one example, the MAX WAIT TIME field may contain a finite non-zero value that specifies the predefined time interval.The presence of a finite non-zero value in the MAX WAIT TIME field of the SU trigger may indicate that the ZB should wait the predefined time interval after SIFS of sending the SU trigger frame before releasing channel access. However, if no value is assigned to the MAX WAIT TIME field of the BLB trigger, this may indicate that the ZB can reuse the channel immediately after SIFS of sending the BLB trigger. Alternatively, in another example, the ZB may send beacons or probe responses to the client device that define a value for the predefined time interval. In such an example, the SU trigger frame may contain a bit or bit sequence indicating whether to reassign channel access in response to determining that data transmission has not been initiated within the predefined time interval (previously defined by the beacons and probe responses) after the SU trigger frame is sent.For example, if the bit or bit sequence is set, it may mean that the AP should wait the predefined time interval after the SIFS of the SU trigger frame before reassigning channel access. However, if the bit or bit sequence is not set, it may mean that the AP can reuse the channel after the SIFS after sending the SU trigger.

[0046] In block 304, a check is made to determine whether the bit sequence is set. If it is determined that the bit sequence is not set ("No" branch of block 304), the AP is configured to reassign channel access after SIFS of sending the SU trigger in block 306. If the bit sequence is set ("Yes" branch of block 304), the AP is configured to reassign channel access if it determines that data transmission is not initiated within the predefined time interval after the client device sends the SU trigger frame, in block 308.

[0047] In Fig. 4, an SU trigger frame 402 is sent from the AP to the client device. The client device detects that the channel is busy or the client device is not ready to begin data transmission, as indicated by the shaded field 404. The bit sequence is assumed to be set.

[0048] In block 310, it is determined whether data transmission within a SIFS is initiated after the SU trigger frame is sent. In one example, the AP may monitor data transmissions from the client device over the uplink to the AP or from the client device to another device (e.g., a P2P device) to detect whether the data transmission is initiated by the client device. If the data transmission is initiated within the trigger SIFS, the AP allows the data transmission to continue until the maximum TXOP duration expires or the data transmission is completed, whichever occurs first (block 312).

[0049] However, if, as in Fig. 4, the client device determines that the channel is still busy after the SIFS of the SU trigger, or the client device is not yet ready to initiate the data transmission, the data transmission cannot be initiated within the SIFS after the trigger. In response to determining that the data transmission will not be initiated within the SIFS after the SU trigger frame is sent (“No” branch of block 310), the AP waits in block 314 for the client device to initiate the data transmission within a predefined time interval after the SIFS of the trigger. The predefined time interval is specified in Fig. 4 is referred to as MAX WAIT TIME. The value of the predefined time interval can be defined in the SU trigger frame sent by the AP. In one example, the predefined time interval is less than or equal to the maximum TXOP duration.

[0050] In block 316, a check is made to determine whether the client device initiates data transmission within the predefined time interval (MAX WAIT TIME). If it is determined that data transmission is not initiated within the MAX WAIT TIME ("No" branch of block 316), the channel access can be reassigned in block 318, meaning the AP can use the medium for other transmissions.

[0051] In response to determining that the data transmission is initiated within the predefined time interval (MAX WAIT TIME) (“YES” branch from block 316), channel access is maintained for the client device in block 320. Maintaining channel access for the client device may include allowing the triggered client device access to the medium for data transmission. As described in Fig. 4, the client device has initiated the UL data transmission 406 within the MAX WAIT TIME. Since the UL data transmission 406 was initiated by the SIFS within the MAX WAIT TIME, the AP allows the data transmission by the client device. In one example, the UL data transmission can be initiated within SIFS or Point Coordination Function (PCF) Interframe Spacing (PIFS), or as soon as possible when the channel is available or the client device is ready to transmit the data. Thus, a UL data transmission 406 initiated within the MAX WAIT TIME can be received by the AP. Although in Fig. 4 the data transfer from the client device is shown as UL data, in one example the client device can also use this transfer option to transfer data to other devices, e.g. to other peer devices via a P2P connection.

[0052] In block 322, a check is made to determine whether the data transfer by the client device has completed or the maximum TXOP duration has expired. If either the data transfer has completed or the maximum TXOP duration has expired (“Yes” branch of block 322), channel access is reassigned in block 324. As in Fig. As shown in Figure 4, the UL data transmission 406 is completed within a UL TXOP duration that is less than the maximum TXOP duration. In this case, since the data transmission by the client device is completed, the AP may repurpose channel access and allow the initiation of the downlink data transmission 408. The DL data transmission 408 may continue for the duration of the NAV. However, if the data transmission by the client device is incomplete and the maximum TXOP duration has not yet expired, the client device may be allowed to continue its data transmission.

[0053] Fig.Figure 5 shows a block diagram of an exemplary computer system 500 in which the embodiments described herein may be implemented. Computer system 500 includes a bus 502 or other communication mechanism for conveying information, and one or more hardware processors 504 connected to bus 502 for processing information. For example, hardware processor(s) 504 may be one or more general-purpose microprocessors.

[0054] Computer system 500 also includes main memory 506, such as random access memory (RAM), a cache, and / or other dynamic storage devices connected to bus 502, for storing information and instructions to be executed by processor 504. Main memory 506 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by processor 504. When such instructions are stored in storage media accessible to processor 504, computer system 500 becomes a special-purpose machine adapted to perform the operations specified in the instructions.

[0055] Computer system 500 also includes a read-only memory (ROM) 508 or other static storage device connected to bus 502 for storing static information and instructions for processor 504. A storage device 510, such as a magnetic disk, an optical disk, or a USB flash drive, etc., is provided and connected to bus 502 for storing information and instructions.

[0056] Computer system 500 may be connected to a display 512, such as a liquid crystal display (LCD) (or a touch screen), via bus 502 to display information to a computer user. An input device 514, including alphanumeric and other keys, is coupled to bus 502 to communicate information and command selections to processor 504. Another type of user input device is cursor control 516, such as a mouse, trackball, or cursor direction keys, for communicating direction information and command selections to processor 504 and controlling cursor movement on display 512. In some embodiments, the same direction information and command selections as with cursor control may be implemented via receiving touches on a touchscreen without a cursor.

[0057] Computer system 500 may include a user interface module for implementing a graphical user interface, which may be stored on a mass storage device as executable software code executed by the computing device(s). This and other modules may include, for example, components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.

[0058] In general, the word "component," "system," "database," and the like, as used herein, may refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and may be written in a programming language such as Java, C, or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software components may be callable by other components or by themselves, and / or may be called in response to detected events or interrupts. Software components configured to run on computing devices may be embodied on a computer-readable medium, such as a hard disk.a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression, or decryption prior to execution). Such software code may be stored partially or entirely in a memory of the executing computing device for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. In addition, the hardware components may consist of interconnected logic units, such as gates and flip-flops, and / or programmable units, such as programmable gate arrays or processors.

[0059] Computer system 500 may implement the techniques described herein using custom hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic that, in combination with the computer system, makes or programs computer system 500 into a special-purpose machine. According to one embodiment, the techniques described herein are performed by computer system 500 in response to processor(s) 504 executing one or more sequences of one or more instructions contained in main memory 506. Such instructions may be read into main memory 506 from another storage medium, such as storage device 510. Execution of the instruction sequences contained in main memory 506 causes processor(s) 504 to perform the process steps described herein.In alternative embodiments, hard-wired circuits may be used instead of or in combination with software instructions.

[0060] The term "non-transitory media" and similar terms as used herein refer to any media that stores data and / or instructions that cause a machine to operate in a particular manner. Such non-transitory media may include non-volatile media and / or volatile media. Examples of non-volatile media include optical or magnetic disks, such as storage device 510. Volatile media includes dynamic memory, such as main memory 506. Common forms of non-transitory media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tape or other magnetic data storage media, CD-ROMs, other optical data storage media, physical media with hole patterns, RAM, PROM and EPROM, FLASH EPROM, NVRAM, other memory chips or cartridges, and networked versions thereof.

[0061] Non-transitory media are distinct from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-transitory media. Examples of transmission media include coaxial cables, copper cables, and fiber optic cables, including the wires that make up bus 502. Transmission media can also take the form of sound or light waves, such as those generated in radio and infrared data communications.

[0062] Computer system 500 also includes a communications interface 518 connected to bus 502. Network interface 518 establishes a two-way data communications connection to one or more network connections connected to one or more local area networks. For example, communications interface 518 may be an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem for establishing a data communications connection to a corresponding type of telephone line. As another example, network interface 518 may be a LAN card for establishing a data communications connection to a compatible LAN (or a WAN component for communicating with a WAN). Wireless connections may also be implemented.In each of these implementations, the network interface 518 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams containing various types of information.

[0063] A network connection typically enables data communication across one or more networks to other data devices. For example, a network connection may connect across a local area network to a host computer or to data devices of an Internet service provider (ISP). The ISP, in turn, provides data communication services across the worldwide packet data communications network, now commonly referred to as the "Internet." Both the local area network and the Internet use electrical, electromagnetic, or optical signals that carry digital data streams. The signals across the various networks and the signals on the network connection and across the communications interface 518 that carry the digital data to and from the computer system 500 are examples of transmission media.

[0064] Computer system 500 can send messages and receive data, including program code, over the network(s), the network connection, and the communications interface 518. In the Internet example, a server could transmit requested code for an application program over the Internet, the ISP, the local area network, and the communications interface 518. The received code can be executed by processor 504 as soon as it is received and / or stored in storage device 510 or other non-volatile memory for later execution.

[0065] Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware. The one or more computer systems or computer processors may also operate to support the performance of the corresponding operations in a cloud computing environment or as software as a service (SaaS). The processes and algorithms may be partially or fully implemented in application-specific circuitry. The various features and methods described above may be used independently or combined in various ways.Various combinations and subcombinations are intended to be within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular order, and the associated blocks or states may be performed in other suitable orders, in parallel, or otherwise. Blocks or states may be added to or removed from the disclosed examples. The execution of certain operations or processes may be distributed among computer systems or computer processors located not only on a single machine, but distributed across a number of machines.

[0066] As used herein, a circuit may be implemented in any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms may be implemented to form a circuit. In implementation, the various circuits described herein may be implemented as discrete circuits, or the described functions and features may be distributed, in part or in whole, among one or more circuits.Although various features or functional elements are individually described or claimed as separate circuits, these features and functions may be shared by one or more common circuits, and such description is not intended to assume or imply that separate circuits are required to implement these features or functions. If a circuit is implemented in whole or in part with software, that software may be implemented to operate with a computer or processing system capable of performing the functionality described with respect to it, such as computer system 400.

[0067] As used herein, the term "or" can be interpreted both inclusively and exclusively. Furthermore, descriptions of resources, acts, or structures in the singular should not be construed as excluding the plural. Conditional expressions such as "may," "could," "might," or "may," unless expressly stated otherwise or understood by context, are generally intended to convey that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.

[0068] The terms and expressions used in this document, as well as variations thereof, are to be understood as open-ended, not limiting, unless expressly stated otherwise. As examples of the foregoing, the term "including" is to be understood as "including, without limitation," or the like. The term "example" is used to provide exemplary examples of the subject matter under discussion, not to create an exhaustive or limiting list. The terms "a" or "an" are to be understood as "at least one," "one or more," or the like. The presence of broader words and expressions such as "one or more," "at least," "but not limited to," or similar expressions in some cases should not be understood to imply that the narrower case is intended or required where such broader expressions are not present.

[0069] Although implementations of the present subject matter have been described in language specific to structural features and / or methods, it should be understood that the present subject matter is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed and explained in the context of a few embodiments of the present subject matter.

Claims

[1] A method for scheduled channel access, comprising: Sending a Single User (SU) trigger frame by an access point (AP) (106C) to a client device (110D-110F) to initiate a data transmission by the client device; Detecting by the AP (106C) whether the data transmission is initiated within a Short Interframe Spacing (SIFS) after sending the SU trigger frame; in response to detecting that the data transmission is not initiated within the SIFS after the SU trigger frame is sent, the AP (106C) waiting for the client device (110D-110F) to initiate the data transmission within a predefined time interval after the SIFS; in response to detecting that the data transmission is not initiated within the predefined time interval, repurposing the channel access by the AP (106C) after the predefined time interval has elapsed, wherein the SU trigger frame includes a bit sequence indicating whether the channel access is repurposing in response to detecting that the data transmission is not initiated within the predefined time interval after the SU trigger frame is sent; and in response to detecting that data transmission is initiated within the predefined time interval, repurposing channel access by the AP (106C) after a maximum transmission opportunity (TXOP) duration has elapsed or after data transmission has been completed. [2] The method of claim 1, wherein reassigning channel access comprises one of the following steps: initiating a downlink (DL) data transmission; and Trigger SU data transfer for another client device. [3] The method of claim 1, wherein the predefined time interval is either less than or equal to the maximum TXOP duration. [4] The method of claim 1, wherein the SU trigger frame includes a field indicating the predefined time interval. [5] The method according to claim 1 further comprises: Receiving the data transmission before the predefined time interval has expired; and Allow data transmission to continue until the maximum TXOP duration has expired. [6] The method of claim 1, wherein the data transfer is from the client device to either the AP (106C) or a peer-to-peer device. [7] Access Point (AP) (106C) comprising: a processor (202); and a memory (204) coupled to the processor (202) and storing instructions that, when executed by the processor (202), cause the AP (106C) to: Sending (206) a Single User (SU) trigger frame to a client device to initiate a data transmission by the client device; Detecting (208) whether the data transmission is initiated within a Short Interframe Spacing (SIFS) after sending the SU trigger frame; in response to detecting that the data transmission is not initiated within the SIFS after the SU trigger frame is sent, waiting (210) for the client device (110D-110F) to initiate the data transmission within a predefined time interval after the SIFS; in response to detecting that the data transmission is not initiated within the predefined time interval, reassigning (212) the channel access after the predefined time interval has elapsed, wherein the SU trigger frame includes a bit sequence indicating whether the channel access is reassigned in response to detecting that the data transmission is not initiated within the predefined time interval after the SU trigger frame is sent; and in response to detecting that the data transmission is initiated within the predefined time interval, repurposing (214) the channel access after a maximum transmission opportunity (TXOP) duration has elapsed or after the data transmission has been completed. [8] The AP (106C) of claim 7, wherein reassigning channel access comprises one of the following steps: initiating a downlink (DL) data transmission; and Trigger SU data transfer for another client device. [9] The AP (106C) of claim 7, wherein the predefined time interval is either less than or equal to the maximum TXOP duration. [10] The AP (106C) of claim 7, wherein the SU trigger frame includes a field indicating the predefined time interval. [11] The AP (106C) of claim 7, wherein the instructions, when executed by the processor (202), further cause the AP (106C) to: Receiving the data transmission before the predefined time interval has expired; and Allow data transmission to continue until the maximum TXOP duration has expired. [12] The AP (106C) of claim 7, wherein the data transmission is from the client device to either the AP or a peer-to-peer device. [13] A non-transitory computer-readable medium (204) comprising computer-readable instructions, wherein the computer-readable instructions, when executed by a processor (202) of an access point (AP) (106C), cause the AP to: Sending (206) a Single User (SU) trigger frame to a client device (110D-110F) to initiate a data transmission by the client device (110D-110F); Detecting (208) whether the data transmission is initiated within a Short Interframe Spacing (SIFS) after sending the SU trigger frame; in response to detecting that the data transmission is not initiated within the SIFS after sending the SU trigger frame, waiting (210) for the client device (110D-110F) to initiate the data transmission within a predefined time interval after the SIFS; in response to detecting that the data transmission is not initiated within the predefined time interval, reassigning (212) the channel access after the predefined time interval has elapsed, wherein the SU trigger frame includes a bit sequence indicating whether the channel access is reassigned in response to detecting that the data transmission is not initiated within the predefined time interval after the SU trigger frame is sent; and in response to detecting that the data transmission is initiated within the predefined time interval, repurposing (214) the channel access after a maximum transmission opportunity (TXOP) duration has elapsed or after the data transmission has been completed. [14] The non-transitory computer-readable medium (204) of claim 13, wherein the instructions for repurposing channel access comprise instructions for one of the following steps: initiating a downlink (DL) data transmission; and Initiate an SU uplink (UL) data transfer for another client device. [15] The non-transitory computer-readable medium (204) of claim 13, wherein the predefined time interval is less than or equal to a maximum UL TXOP duration. [16] The non-transitory computer-readable medium (204) of claim 13, wherein the SU trigger frame includes a field indicating the predefined time interval. [17] The non-transitory computer-readable medium (204) of claim 13, wherein the computer-readable instructions, when executed by the processor (202), further cause the AP (106C) to: Receiving the data transmission before the predefined time interval has expired; and Allow data transmission to continue until the maximum TXOP duration has expired.

Citation Information

Patent Citations

  • Trigger-based single user uplink transmission

    US10021224B2

  • Access point association using trigger-based uplink single user transmission

    US10034227B1

  • Method for Accessing Wireless Local Area Network, Access Point and Wireless Local Area Network System

    US20140241268A1

  • User terminal and radio base station

    US20210037571A1

  • AP106C