Increasing transmit control protocol (TCP) throughput by reducing transmit control protocol (TCP) round trip time (RTT) in wireless networks

By evaluating the channel status in the wireless network and adjusting the sending parameters, and selecting the appropriate TCP flow target RTT, the problem of long round trip time in the wireless network is solved and TCP throughput is improved.

CN119856475APending Publication Date: 2025-04-18QUALCOMM INC
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202380065003.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-16
Filing Date
2023-08-03
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In wireless networks, the Transmission Control Protocol (TCP) round trip time (RTT) is longer, resulting in a decrease in TCP throughput.

Method used

By evaluating the status of the wireless channel, selecting a suitable TCP stream target RTT, and modifying the transmission parameters of the wireless communication device according to the target RTT, such as reducing the transmission opportunity (TXOP) duration and adjusting the enhanced distributed channel access (EDCA) parameters.

Benefits of technology

Reduces TCP round trip time and improves TCP throughput, especially when the transfer buffer size and number of TCP connections are limited.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119856475A_ABST
    Figure CN119856475A_ABST
Patent Text Reader

Abstract

This disclosure provides systems, methods, and apparatus, including computer programs encoded on a computer storage medium, for increasing throughput of a link between a TCP server and a TCP client hosted by a wireless communication device in a wireless communication network. In some implementations, TCP round trip time (RTT) may be reduced by modifying transmit parameters of an intermediary device in a wireless communication network to increase the rate of transport of TCP data over a wireless channel from the intermediary device to the device hosting the TCP client. In some implementations, TCP RTT reduction measures may be implemented in time in association with the condition of the wireless channel.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Priority declaration

[0002] This application claims priority to U.S. patent application No. 17 / 932,954, filed on September 16, 2022, and entitled “INCREASING TRANSMISSIONCONTROL PROTOCOL (TCP) THROUGHPUT BY REDUCING TCP ROUND-TRIP TIME (RTT) IN AWIRELESS NETWORK,” which is hereby incorporated by reference herein for all purposes. Technical Field

[0003] The present disclosure relates generally to wireless communications, including increasing Transmit Control Protocol (TCP) throughput by reducing TCP round trip time (RTT) in wireless networks.

[0004] Related technical description

[0005] A wireless local area network (WLAN) may be formed by one or more wireless access points (APs) that provide a shared wireless communication medium for use by multiple client devices, also referred to as wireless stations (STAs). The basic building block of a WLAN that complies with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards is a basic service set (BSS) managed by an AP. Each BSS is identified by a basic service set identifier (BSSID) announced by the AP. The AP periodically broadcasts beacon frames to enable any STA within the wireless range of the AP to establish or maintain a communication link with the WLAN. Summary of the invention

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

[0007] An innovative aspect of the subject matter described in the present disclosure may be implemented in a wireless communication device. The wireless communication device may include one or more interfaces and a processing system. The one or more interfaces may be capable of obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link delivers a transmission control protocol (TCP) stream to the second wireless communication device. The processing system may be capable of selecting a target round trip time (RTT) for the TCP stream based on the channel condition of the wireless channel, modifying one or more transmission parameters of the wireless communication device in association with the target RTT, and outputting TCP data of the TCP stream based on the one or more modified transmission parameters.

[0008] Another innovative aspect of the subject matter described in the present disclosure can be implemented in a method for wireless communication by a wireless communication device. The method may include: obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link transmits a TCP flow to the second wireless communication device; selecting a target RTT for the TCP flow based on the channel condition of the wireless channel; modifying one or more transmission parameters of the wireless communication device in association with the target RTT; and transmitting TCP data of the TCP flow to the second wireless communication device through the wireless channel based on the one or more modified transmission parameters.

[0009] In some implementations of wireless communication devices and methods, modifying one or more transmission parameters may include reducing a transmit opportunity (TXOP) duration of the wireless communication device.

[0010] In some implementations of wireless communication devices and methods, modifying one or more transmission parameters may include modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device.

[0011] In some implementations of wireless communication devices and methods, modifying one or more EDCA parameters may include increasing a minimum contention window size, increasing a maximum contention window size, or both.

[0012] In some implementations, wireless communication devices and methods may be configured to select a target RTT based on the number of bytes in transit for a TCP flow.

[0013] Details of one or more aspects of the subject matter described in the present disclosure are set forth in the accompanying drawings and the following description. However, the accompanying drawings illustrate only some typical aspects of the present disclosure and are therefore not to be considered as limiting its scope. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 A schematic diagram of an example wireless communication network is shown.

[0015] Figure 2 A block diagram of a first example wireless communication device is shown.

[0016] Figure 3A A block diagram of an example access point (AP) is shown.

[0017] Figure 3B A block diagram of an example station (STA) is shown.

[0018] Figure 4 A block diagram of a first example operating environment is shown.

[0019] Figure 5A block diagram of a second example operating environment is shown.

[0020] Figure 6 A flow chart illustrating a first example process is shown.

[0021] Figure 7 A flow chart illustrating a second example process is shown.

[0022] Figure 8 A block diagram of a second example wireless communication device is shown.

[0023] Like reference numbers and designations in the various drawings indicate like elements. DETAILED DESCRIPTION

[0024] The following description is directed to certain specific examples in order to describe the innovative aspects of the present disclosure. However, one of ordinary skill in the art will readily recognize that the teachings herein can be applied in a variety of different ways. Some or all of the examples described may be implemented in a manner that is capable of being implemented in accordance with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, the IEEE 802.15 standard, the Bluetooth Special Interest Group (SIG), or the like. The described implementations may be implemented in any device, system, or network capable of transmitting and receiving radio frequency (RF) signals in accordance with one or more of the Long Term Evolution (LTE), 3G, 4G, or 5G (New Radio (NR)) standards, or the like released by the Third Generation Partnership Project (3GPP). The described implementations may be implemented in any device, system, or network capable of transmitting and receiving RF signals in accordance with one or more of the following technologies or techniques: code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), single user (SU) multiple input multiple output (MIMO), and multi-user (MU) MIMO. The described implementations may also be implemented using other wireless communication protocols or RF signals suitable for use in one or more of a wireless personal area network (WPAN), a wireless local area network (WLAN), a wireless wide area network (WWAN), or an Internet of Things (IOT) network.

[0025] Various implementations are generally directed to increasing the throughput of a link between a TCP server and a TCP client hosted by a wireless communication device in a wireless communication network. Some implementations are more specifically directed to increasing the rate at which TCP data is delivered from an intermediate device in the wireless communication network to a device hosting the TCP client over a wireless channel. In some implementations, increasing the rate at which TCP data is delivered over a wireless channel can reduce a TCP round trip time (RTT), which constitutes the amount of time that elapses between the time a TCP server transmits a TCP segment over a link and the time the TCP server receives an acknowledgment of the TCP segment via the link. In some implementations, the wireless communication network can be a wireless local area network (WLAN), the intermediate device can be an access point (AP), and the device hosting the TCP client can be a station (STA).

[0026] In some implementations, the intermediate device may increase the rate at which TCP data is delivered over a wireless channel by modifying transmission parameters that affect the scheduling, composition, or both of transmissions over the wireless channel. In some implementations, the intermediate device may implement a reduced transmit opportunity (TXOP) duration to mitigate latency associated with sending TCP data over a wireless channel. In some implementations, the intermediate device may implement more relaxed enhanced distributed channel access (EDCA) parameters, such as an increased minimum contention window duration, an increased maximum contention window duration, or both, so that a device hosting a TCP client generally has an opportunity to more quickly acknowledge receipt of TCP data. In some implementations, the intermediate device may select a target RTT for a TCP stream and may modify its transmission parameters based on the target RTT.

[0027] In some implementations, TCP RTT reduction measures may be implemented in a timely manner in association with the condition of the wireless channel. In some implementations, the intermediate device may evaluate the channel condition to detect, determine, calculate, select, or obtain an indication that the channel is being used multiple times. If the channel utilization is low enough that modifying the transmission parameters for RTT reduction may not be expected to negatively affect the wireless network performance, the intermediate device may implement the TCP RTT reduction measures. If the channel utilization is high enough that modifying the transmission parameters may be expected to negatively affect the wireless network performance, the intermediate device may avoid implementing the TCP RTT reduction measures.

[0028] Certain aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some implementations, by reducing TCP RTT according to the described techniques, an increase in the TCP data rate for communications between a TCP server and a TCP client can be achieved when the transmit buffer size and the number of TCP connections are limited. In some implementations, by applying TCP RTT reduction techniques in an opportunistic manner, opportunities to increase TCP throughput can be exploited when circumstances permit without compromising the performance of the wireless network.

[0029] Figure 1 A block diagram of an example wireless communication network 100 is shown. According to some aspects, the wireless communication network 100 may be an example of a wireless local area network (WLAN) such as a Wi-Fi network (and will be referred to as WLAN 100 hereinafter). For example, the WLAN 100 may be a network that implements at least one of the IEEE 802.11 family of wireless communication protocol standards, such as standards defined by the IEEE 802.11-2016 specification or revisions thereof, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, 802.11bd, 802.11be, 802.11bf, and 802.11 revisions associated with Wi-Fi 8, etc. The WLAN 100 may include numerous wireless communication devices, such as a wireless AP 102 and a plurality of wireless STAs 104. Although Figure 1 Only one AP 102 is shown in FIG. 1 , but the WLAN network 100 may also include a plurality of APs 102 .

[0030] Each STA 104 may also be referred to as a mobile station (MS), a mobile device, a mobile phone, a wireless phone, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other examples. STA 104 may represent a variety of devices, such as mobile phones, personal digital assistants (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptop computers, Google notebooks, extended reality headsets, wearable devices, display devices (e.g., TVs (including smart TVs), computer monitors, navigation systems, etc.), music or other audio or stereo equipment, remote control devices ("remote controls"), printers, kitchens (including smart refrigerators) or other home appliances, remote control keys (e.g., for passive keyless entry and start (PKES) systems), Internet of Things (IoT) devices, motor vehicles, and the like.

[0031] A single AP 102 and the associated set of STAs 104 may be referred to as a basic service set (BSS), which is managed by the corresponding AP 102 . Figure 1Additionally shown is an example coverage area 106 of the AP 102, which may represent a basic service area (BSA) of the WLAN 100. The BSS may be identified to users by a service set identifier (SSID) and to other devices by a basic service set identifier (BSSID), which may be a medium access control (MAC) address of the AP 102. The AP 102 may periodically broadcast a beacon frame (“beacon”) including the BSSID to enable any STA 104 within wireless range of the AP 102 to “associate” or re-associate with the AP 102 to establish or maintain a corresponding communication link 108 (also referred to as a “Wi-Fi link” hereinafter) with the AP 102. For example, the beacon may include an identification of a primary channel used by the corresponding AP 102 and a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. The AP 102 may provide various STAs 104 in the WLAN with access to external networks via respective communication links 108 .

[0032] To establish a communication link 108 with AP 102, each of STAs 104 is configured to perform passive or active scanning operations ("scans") on frequency channels in one or more frequency bands (eg, 2.4 GHz, 5 GHz, 6 GHz, or 60 GHz bands). To perform passive scanning, the STA 104 listens for beacons transmitted by the corresponding AP 102 at periodic time intervals, referred to as target beacon transmission time (TBTT), measured in time units (TUs), where one TU may be equal to 1024 microseconds (μs). To perform active scanning, the STA 104 generates probe requests and transmits them sequentially on each channel to be scanned, and listens for probe responses from the AP 102. Each STA 104 may be configured to identify or select an AP 102 to associate with in association with the scan information obtained through passive or active scanning, and perform authentication and association operations to establish a communication link 108 with the selected AP 102. The AP 102 assigns an association identifier (AID) to the STA 104 at the end of the association operation, and the AP 102 uses the association identifier (AID) to track the STA 104.

[0033] As wireless networks become more and more common, STA 104 may have the opportunity to select one of many BSSs within the range of the STA or to select among multiple APs 102 that together form an extended service set (ESS) (including multiple connected BSSs). Extended network stations associated with WLAN 100 can be connected to a wired or wireless distribution system that allows multiple APs 102 to be connected in such an ESS. Therefore, STA 104 can be covered by more than one AP 102 and can be associated with different APs 102 at different times for different transmissions. Additionally, after associating with AP 102, STA 104 can also be configured to periodically scan its surroundings to find a more appropriate AP 102 to associate with. For example, a STA 104 that is moving relative to its associated AP 102 can perform a "roaming" scan to find another AP 102 with more desirable network characteristics (such as a larger received signal strength indicator (RSSI) or a reduced traffic load).

[0034] In some cases, STA 104 may form a network without AP 102 or other equipment other than STA 104 itself. An example of such a network is an ad hoc network (or wireless ad hoc network). An ad hoc network may alternatively be referred to as a mesh network or a peer-to-peer (P2P) network. In some cases, an ad hoc network may be implemented within a larger wireless network (such as WLAN 100). In such a specific implementation, although STA 104 may be able to communicate with each other through AP 102 using communication link 108, STA 104 may also communicate directly with each other via direct wireless link 110. Additionally, two STA 104 may communicate via direct communication link 110, regardless of whether the two STA 104 are associated with the same AP 102 and served by the same AP. In such an ad hoc system, one or more STA 104 may assume the role played by AP 102 in the BSS. Such STA 104 may be referred to as a group owner (GO) and may coordinate the transmission within the ad hoc network. Examples of the direct wireless link 110 include a Wi-Fi direct connection, a connection established by using a Wi-Fi Tunnel Direct Link Setup (TDLS) link, and other P2P group connections.

[0035] The AP 102 and the STA 104 may operate and communicate according to the IEEE 802.11 family of wireless communication protocol standards (via corresponding communication links 108). These standards define WLAN radio and baseband protocols for the PHY and MAC layers. The AP 102 and the STA 104 send and receive wireless communications (hereinafter also referred to as "Wi-Fi communications") to and from each other in the form of a PHY protocol data unit (PPDU) (or a physical layer convergence protocol (PLCP) PDU). The AP 102 and the STA 104 in the WLAN 100 may send the PPDU on an unlicensed spectrum, which may be a portion of a spectrum including frequency bands traditionally used by Wi-Fi technology (such as the 2.4 GHz band, the 5 GHz band, the 60 GHz band, the 3.6 GHz band, and the 900 MHz band). Some specific implementations of the AP 102 and the STA 104 described herein may also communicate in other frequency bands (such as the 5.9 GHz band and the 6 GHz band) that may support both licensed and unlicensed communications. The AP 102 and STA 104 may also be configured to communicate on other frequency bands, such as shared licensed frequency bands, where multiple operators may have licenses to operate in one or more of the same or overlapping frequency bands.

[0036] Each frequency band in the frequency band may include multiple sub-bands or frequency channels. For example, PPDUs that comply with IEEE 802.11n, 802.11ac, 802.11ax, and 802.11be standard revisions may be sent on 2.4 GHz, 5 GHz, or 6 GHz frequency bands, where each frequency band is divided into multiple 20 MHz channels. Therefore, these PPDUs are sent on a physical channel with a minimum bandwidth of 20 MHz, but larger channels may be formed by channel bonding. For example, a PPDU may be sent on a physical channel with a bandwidth of 40 MHz, 80 MHz, 160 MHz, or 320 MHz by bonding multiple 20 MHz channels together.

[0037] Each PPDU is a composite structure including a PHY preamble and a payload in the form of a PHY service data unit (PSDU). The information provided in the preamble can be used by the receiving device to decode subsequent data in the PSDU. In an instance where the PPDU is sent on a bound channel, the preamble field can be copied and sent in each component channel of a plurality of component channels. The PHY preamble may include both a legacy part (or "legacy preamble") and a non-legacy part (or "non-legacy preamble"). Legacy preambles can be used for other purposes such as packet detection, automatic gain control, and channel estimation. Legacy preambles can also be used to maintain compatibility with legacy devices. The format, decoding, and information provided in the non-legacy part of the preamble are associated with the specific IEEE 802.11 protocol to be used to send the payload.

[0038] Figure 2 1 shows a block diagram of a first example wireless communication device 200. In some implementations, the wireless communication device 200 may be a wireless communication device for a STA (such as the one described above with reference to FIG. Figure 1 In some implementations, the wireless communication device 200 may be an example of a device in an AP (such as one of the STAs 104 described above). Figure 1 The wireless communication device 200 is capable of sending and receiving wireless communications, for example, in the form of wireless packets. For example, the wireless communication device may be configured to send and receive packets in the form of PPDUs and MAC protocol data units (MPDUs) that comply with IEEE 802.11 wireless communication protocol standards (such as those defined by the IEEE 802.11-2016 specification or its revisions, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, 802.11bd, and 802.11be).

[0039] The wireless communication device 200 may be or may include a chip, system on chip (SoC), chipset, package, or device including one or more modems 204 (e.g., Wi-Fi (IEEE 802.11 compatible) modems). In some implementations, one or more modems 204 (collectively, “modems 204”) additionally include a WWAN modem (e.g., a 3GPP 4GLTE or 5G compatible modem). In some implementations, the wireless communication device 200 also includes one or more processors, processing blocks, or processing elements 202 (collectively, “processors 202”) coupled to the modems 204. In some implementations, the wireless communication device 200 additionally includes one or more radio components 206 (collectively, “radio components 206”) coupled to the modems 204. In some implementations, the wireless communication device 200 also includes one or more memory blocks or elements 208 (collectively, “memory 208”) coupled to the processor 202 or the modem 204.

[0040] The modem 204 may include an intelligent hardware block or device (such as, for example, an application specific integrated circuit (ASIC) and other examples). The modem 204 is generally configured to implement the PHY layer, and in some specific implementations, also implements a portion of the MAC layer (e.g., a hardware portion of the MAC layer). For example, the modem 204 is configured to modulate packets and output the modulated packets to the radio component 206 for transmission on the wireless medium. Similarly, the modem 204 is configured to obtain modulated packets received by the radio component 206 and demodulate the packets to provide demodulated packets. In addition to the modulator and demodulator, the modem 204 may also include digital signal processing (DSP) circuitry, automatic gain control (AGC) circuitry, a decoder, a multiplexer, and a demultiplexer. For example, when in a transmit mode, data obtained from the processor 202 may be provided to an encoder, which encodes the data to provide decoded bits. The decoded bits may then be mapped to a number (N SS ) spatial streams for spatial multiplexing or several (N STS The coded bits in each stream may then be mapped (using the selected MCS) to points in the modulation constellation to provide modulated symbols. The modulated symbols in the corresponding spatial stream or space-time stream may be multiplexed, transformed via an inverse fast Fourier transform (IFFT) block, and then provided to the DSP circuit (e.g., for Tx windowing and filtering). The digital signal may then be provided to a digital-to-analog converter (DAC). The resulting analog signal may then be provided to a frequency upconverter and ultimately to the radio component 206. In a specific implementation involving beamforming, the modulated symbols in the corresponding spatial stream are pre-decoded via a steering matrix before being provided to the IFFT block.

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

[0042] The radio 206 typically includes at least one radio frequency (RF) transmitter (or "transmitter chain") and at least one RF receiver (or "receiver chain"), which may be combined into one or more transceivers. For example, each of the RF transmitter and receiver may include various analog circuits, including at least one power amplifier (PA) and at least one low noise amplifier (LNA), respectively. The RF transmitter and RF receiver may in turn be coupled to one or more antennas. For example, in some implementations, the wireless communication device 200 may include or be coupled to multiple transmit antennas (each having a corresponding transmit chain) and multiple receive antennas (each having a corresponding receive chain). The symbols output from the modem 204 are provided to the radio 206, which then transmits the symbols via the coupled antennas. Similarly, the symbols received via the antennas are obtained by the radio 206, which then provides the symbols to the modem 204.

[0043] The processor 202 may include an intelligent hardware block or device designed to perform the functions described herein, such as, for example, a processing core, a processing block, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD) (such as a field programmable gate array (FPGA)), discrete gate or transistor logic, discrete hardware components, or any combination thereof. The processor 202 processes information received through the radio component 206 and the modem 204, and processes information to be output by the modem 204 and the radio component 206 to be sent through the wireless medium. For example, the processor 202 may implement at least a portion of the control plane and the MAC layer, which is configured to perform various operations related to the generation, transmission, reception and processing of MPDUs, frames or packets. In some specific implementations, the MAC layer is configured to generate MPDUs to provide to the PHY layer for decoding, and receive decoded information bits from the PHY layer for processing as MPDUs. The MAC layer may be further configured to allocate time and frequency resources, such as for OFDMA and other operations or technologies. In some implementations, the processor 202 can generally control the modem 204 to cause the modem to perform the various operations described above.

[0044] The memory 204 may include a tangible storage medium, such as a random access memory (RAM) or a read-only memory (ROM) or a combination thereof. The memory 204 may also store non-transitory processor or computer executable software (SW) code containing instructions that, when executed by the processor 202, cause the processor to perform various operations for wireless communication described herein, including the generation, transmission, reception, and interpretation of MDPUs, frames, or packets. For example, various functions of the components disclosed herein or various blocks or steps of the methods, operations, processes, or algorithms disclosed herein may be implemented as one or more modules of one or more computer programs.

[0045] Figure 3A 302 is a block diagram of an example AP 302. For example, AP 302 may be a reference Figure 1 The AP 102 is described as an example implementation. The AP 302 includes a wireless communication device (WCD) 310 (although the AP 302 itself may also be generally referred to as a wireless communication device, as used herein). For example, the wireless communication device 310 may be a wireless communication device. Figure 2The example implementation of the wireless communication device 200 described. The AP 302 also includes a plurality of antennas 320 coupled to the wireless communication device 310 to send and receive wireless communications. In some implementations, the AP 302 additionally includes an application processor 330 coupled to the wireless communication device 310 and a memory 340 coupled to the application processor 330. The AP 302 also includes at least one external network interface 350 that enables the AP 302 to communicate with a core network or a backhaul network to gain access to an external network including the Internet. For example, the external network interface 350 may include one or both of a wired (e.g., Ethernet) network interface and a wireless network interface (such as a WWAN interface). Components of the foregoing components may communicate directly or indirectly with other components of the components via at least one bus. The AP 302 also includes a housing that encloses the wireless communication device 310, the application processor 330, the memory 340, and at least portions of the antenna 320 and the external network interface 350.

[0046] Figure 3B 304. For example, STA 304 may be a reference Figure 1 The example implementation of STA 104 is described. STA 304 includes a wireless communication device 315 (although STA 304 itself may also be generally referred to as a wireless communication device as used herein). For example, wireless communication device 315 may be a reference Figure 2 An example implementation of the wireless communication device 200 described. The STA 304 also includes one or more antennas 325 coupled to the wireless communication device 315 for sending and receiving wireless communications. The STA 304 additionally includes an application processor 335 coupled to the wireless communication device 315 and a memory 345 coupled to the application processor 335. In some implementations, the STA 304 also includes a user interface (UI) 355 (such as a touch screen or keyboard) and a display 365, which can be integrated with the UI 355 to form a touch screen display. In some implementations, the STA 304 may also include one or more sensors 375, such as, for example, one or more inertial sensors, accelerometers, temperature sensors, pressure sensors, or altitude sensors. Components of the foregoing components can communicate directly or indirectly with other components of the components via at least one bus. The STA 304 also includes a housing that encloses the wireless communication device 315, the application processor 335, the memory 345, and at least portions of the antenna 325, the UI 355, and the display 365.

[0047] Figure 4A block diagram of a first example operating environment 400 is shown. In some implementations, techniques for increasing TCP throughput by reducing TCP RTT in a wireless network can be implemented in the operating environment 400. In the operating environment 400, a link 406 provides transport layer connectivity between a transmission control protocol (TCP) entity 405 at a device 401 and a TCP entity 407 at a wireless communication device (WCD) 404 in a wireless communication network 414. In some implementations, the TCP entity 405 can be a TCP client, and the TCP entity 407 can be a TCP server.

[0048] In some implementations, link 406 may represent a TCP connection between TCP entities 405 and 407, which may participate in a connection establishment process to create link 406. In operating environment 400, link 406 may convey a TCP stream consisting of TCP data 409 transmitted by TCP entity 405 to TCP entity 407 from TCP entity 405 to TCP entity 407. TCP data 409 may include one or more TCP segments 410, each of which may convey a portion of application layer data associated with an application executing at device 401 and a segment header. The application may generate a stream of application layer data, and TCP entity 405 may parse the stream into "chunks," each of which may be encapsulated in a corresponding TCP segment 410. TCP entity 407 may receive TCP data 409 including TCP segments 410 via link 406, extract the data chunks from TCP segments 410, and reconstruct the application layer data of the stream.

[0049] Communications over link 406 may use a positive acknowledgement protocol, according to which TCP entity 407 is required to acknowledge receipt of TCP segment 410. According to the protocol, after transmitting a TCP segment 410 to TCP entity 407 over link 406, TCP entity 405 may refrain from sending the next TCP segment 410 until it receives an acknowledgement from TCP entity 407 of the successful receipt of the first TCP segment 410. As such, TCP throughput may be associated with a TCP round trip time (RTT), which is the amount of time that elapses between the time that TCP entity 405 transmits a TCP segment 410 and the time that it receives an acknowledgement of receipt of the TCP segment 410.

[0050] In the wireless communication network 414, the wireless communication device 404 can communicate with the wireless communication device 402 via the wireless channel 415. In some implementations, the wireless communication network 414 can be a WLAN, the wireless communication device 402 can be an AP of the WLAN, and the wireless communication device 404 can be a STA. In some implementations, the wireless communication device 404 can use Figure 3B STA 304 can implement the wireless communication device 402 using Figure 3A The AP 302 may be used to implement the above, or both may be used to implement the above.

[0051] In some implementations, the wireless channel 415 between the wireless communication devices 402 and 404 may provide a portion of the underlying connectivity that supports the transport layer connection in the form of a link 406 between the TCP entities 405 and 407. The transport layer connection may also be supported in part by the underlying connectivity between the device 401 and the wireless communication device 402. In some implementations, the connectivity between the device 401 and the wireless communication device 402 may be established via a data network 412. In some implementations, the data network 412 may be a packet data network, such as the Internet. The connectivity between the device 401 and the data network 412 may be provided by a connection 411, and the connectivity between the wireless communication device 402 and the data network 412 may be provided by a connection 413. Connections 411 and 413 may be wired connections, wireless connections, optical communication connections, or a combination of the two. In some implementations, one or both of the connections 411 and 413 may be a "multi-hop" connection through one or more intermediate devices or networks. For example, the connection 413 between the wireless communication device 402 and the data network 412 may include a connection to an access network of an Internet Service Provider (ISP). In some implementations, the wireless communication device 402 may communicate with the device 401 via a direct connection or via an indirect connection (such as through an ISP's access network that does not include the data network 412).

[0052] When TCP entity 405 transmits TCP data 409 to TCP entity 407 over link 406, TCP data 409 may be passed from device 401 to wireless communication device 402 via connection 411, data network 412, and connection 413. Wireless communication device 402 may deliver TCP data 409 to wireless communication device 404 by encapsulating TCP data 409 within one or more MPDUs 418, encapsulating one or more MPDUs 418 within one or more PPDUs 416, and sending one or more PPDUs 416 to wireless communication device 404 over wireless channel 415. Wireless communication device 404 may extract one or more MPDUs 418 from one or more PPDUs 416, extract TCP data 409 from one or more MPDUs 418, and provide TCP data 409 to TCP entity 407. In some implementations, TCP data 409 may be encapsulated in a network layer PDU (e.g., an IP datagram), and network layer PDUs may be encapsulated in one or more MPDUs 418 rather than TCP data 409 itself.

[0053] Figure 5A block diagram of a second example operating environment 500 is shown. In some implementations, techniques for increasing TCP throughput by reducing TCP RTT in a wireless network can be implemented in the operating environment 500. In the operating environment 500, a scheduler 520 of a wireless communication device 402 can be responsible for scheduling data transmissions by the wireless communication device 402 on a wireless channel 415. These can include transmissions of TCP data 409 to the wireless communication device 404 and transmissions of other data to other wireless communication devices in the wireless communication network 414, such as the wireless communication device 505. When the wireless communication device 402 identifies data to be transmitted to a device in the wireless communication network 414, it can add the data to a queue 522, and the scheduler 520 can then schedule the transmission of the data while servicing the queue 522.

[0054] In some implementations, the scheduler 520 can be configured to schedule data transmissions through the wireless channel 415 to optimize MAC efficiency by using the maximum transmit opportunity (TXOP) duration available to it. However, the longer the TXOP duration used by the wireless communication device 402, the longer other devices in the wireless communication network 414 must wait before being able to obtain use of the wireless channel 415. The longer TXOP duration can therefore delay the delivery of TCP acknowledgments (ACKs) generated by the TCP entity 407 relative to the wireless communication device 404 and increase the TCP RTT, resulting in reduced TCP throughput.

[0055] Figure 6 600. In some implementations, the process 600 may be implemented to modify the transmission parameters of a wireless communication device in a wireless communication network in a timely manner to improve the throughput of TCP data on a transport layer link supported by a wireless channel of the wireless communication network. The operations of the process 600 may be implemented by a wireless communication device or components thereof as described herein. For example, in some implementations, the operations of the process 600 may be implemented by Figure 4 and Figure 5 In some implementations, the wireless communication device 402 may implement the process 600 to improve the Figure 4 The throughput of TCP data 409 on link 406 supported by wireless channel 415 of wireless communication network 414 of the ... Figure 4 and Figure 5 The wireless communication network 414 may be a WLAN, and the wireless communication device 402 may be an AP of the WLAN and may perform the operations of process 600. In some implementations, respectively Figure 1 and Figure 3A One of APs 102 and 302 depicted in FIG. 6 may be used to implement an AP that performs the operations of process 600 .

[0056] In block 602, the condition of a wireless channel may be evaluated. Figure 5 In the operating environment 500 of the wireless communication device 402, the wireless communication device 402 can evaluate the status of the wireless channel 415. In some specific implementations, the evaluation can include detecting, determining, calculating, selecting, or obtaining an indication of the utilization level of the wireless channel. In some specific implementations, detecting, determining, calculating, selecting, or obtaining an indication of the utilization level of the wireless channel can include comparing the number of those time units during which traffic is scheduled on the wireless channel during a given time interval with the number of time units in the given time interval. In some specific implementations, the number of time units during which traffic is scheduled on the wireless channel can be detected, determined, or calculated by querying the scheduling information of the wireless channel. In some specific implementations, the utilization level can indicate the percentage of time that the wireless channel will be occupied during a given time interval.

[0057] In some implementations, the MAC counter information may be used to detect, determine, calculate, or obtain an indication of a utilization level of a wireless channel. In some implementations, the MAC counter information may indicate a respective number of idle periods and non-idle periods within a given time interval. In some implementations, the utilization level may be detected, determined, or calculated, or an indication of the utilization level may be obtained, as a percentage of the total number of periods in the time interval that are non-idle periods.

[0058] In block 604, it may be detected whether the wireless channel is conveying any TCP stream and whether the current usage level of the wireless channel is low enough to modify the transmission parameters of the wireless communication device in a timely manner to improve the TCP data throughput. In some implementations, whether the current usage level of the wireless channel is low enough may be detected by comparing the utilization level detected, determined or calculated in block 602 or indicated by the indication obtained at block 602 with a threshold. In some implementations, the threshold may represent the ratio between the number of time units in a given time interval during which services are scheduled on the wireless channel and the total number of time units in the given time interval. In some implementations, the threshold may represent the percentage of time that the wireless channel can be occupied during a given time interval. In a non-limiting example, the threshold may be ~55%, so that if the channel usage is less than 55%, the channel usage is considered to be low enough, and if the channel usage is greater than 55%, the channel usage is considered to be too high.

[0059] In block 606, and in response to detecting in block 604 that a TCP flow exists and that channel usage is sufficiently low, the wireless communication device may detect, determine, calculate, or obtain an indication of the number of bytes in transit for the TCP flow. In some implementations, for a given interval, the number of bytes in transit for the TCP flow may be detected, determined, or calculated, or an indication of the number of bytes in transit for the TCP flow may be obtained based on a maximum queue depth for data of the TCP flow during the interval. In some implementations, a maximum number of bytes in a medium access control service data unit (MSDU) queue may be measured over a time interval from when the MSDU queue becomes active (non-empty) to when the MSDU queue becomes inactive (empty), and the number of bytes in transit for the TCP flow during the time interval may be detected, determined, or calculated as the maximum number of bytes. In some implementations, the number of bytes in transit for the TCP flow may be observed in a WLAN driver.

[0060] In block 608, the wireless communication device may ascertain, determine, calculate, select, or obtain an indication of a target RTT for the TCP flow associated with the number of bytes in transit for the TCP flow as ascertained, determined, or calculated in block 606 or the number of bytes in transit as indicated by the indication obtained in block 606. In some implementations, the target RTT for the TCP flow may be ascertained, determined, or calculated as a ratio between the number of bytes in transit for the TCP flow and a PHY communication rate of a peer device to which the TCP flow is being delivered.

[0061] In block 610, the wireless communication device may set various transmission parameter values ​​according to the target RTT ascertained, determined, or calculated in block 608 or indicated by the indication obtained in block 608. In some implementations, the wireless communication device may set the TXOP duration according to the target RTT. In some implementations, this may involve adopting a reduced TXOP duration. In some implementations, the wireless communication device may ascertain, determine, calculate, or obtain an indication of the TXOP duration associated with the target RTT and the minimum and maximum allowable TXOP duration values. In some implementations, the wireless communication device may multiply the maximum allowable TXOP duration by the channel utilization level to obtain a candidate TXOP duration value. If the candidate TXOP duration value is less than the target RTT but not less than the minimum allowable TXOP duration, the wireless communication device may set the TXOP duration to the candidate TXOP duration value. If the target RTT is less than the candidate TXOP duration value but not less than the minimum allowable TXOP duration, the wireless communication device may set the TXOP duration to the target RTT. If both the candidate TXOP duration value and the target RTT are below the minimum allowable TXOP duration, the wireless communication device may set the TXOP duration to the minimum allowable TXOP duration.

[0062] In block 610, the wireless communication device may set EDCA parameter values. In some implementations, setting the EDCA parameter values ​​may include increasing a minimum contention window size of the wireless communication device, increasing a maximum contention window size of the wireless communication device, or both. In some implementations, the minimum and maximum contention window sizes may be set to values ​​greater than the corresponding minimum and maximum contention window sizes of the peer device to which the TCP stream is being delivered.

[0063] Additionally or alternatively, in block 610, the wireless communication device may set a UPDAggregate delay parameter value based on the target RTT. In some implementations, setting the UPDAggregate delay parameter value may include increasing a UPDAggregate delay parameter value associated with a difference between an average UDP TXOP duration and a maximum PPDU TXOP duration.

[0064] In block 612, the wireless communication device may wait until the next opportunity to evaluate the conditions of the wireless channel.

[0065] If it is detected in block 604 that there are no TCP flows or the level of channel usage is not low enough, process 600 may proceed to block 605. Existing values ​​of TXOP, EDCA, and UDP aggregate delay parameters of the wireless communication device may be maintained in block 605. Process 600 may then proceed to block 612, where the wireless communication device may wait until the next opportunity to evaluate the condition of the wireless channel.

[0066] Figure 7 A flow chart illustrating a second example process 700 is shown. In some implementations, process 700 can support increasing TCP throughput by reducing TCP RTT in a wireless network. The operations of process 700 can be implemented by a wireless communication device or a component thereof as described herein. In some implementations, the wireless communication device that performs the operations of process 700 can be an AP in a WLAN. For example, according to various implementations, Figure 4 and Figure 5 The wireless communication network 414 depicted in the figure may be a WLAN, and the wireless communication device 402 may be an AP of the WLAN and may perform the operations of process 700. In some implementations, respectively Figure 1 and Figure 3A One of the APs 102 and 302 depicted in FIG. 7 may be used to implement an AP that performs the operations of process 700 .

[0067] In block 702, a wireless communication device may obtain an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link delivers a TCP stream to the second wireless communication device. Figure 4In operating environment 400 of , a wireless communication device 402 may obtain an indication of a channel condition of a wireless channel 415 that may support a link 406 that transmits TCP data 409 to a wireless communication device 404.

[0068] In block 704, the wireless communication device may select a target RTT for the TCP flow based on the channel conditions of the wireless channel. Figure 4 In the operating environment 400 of FIG. 4 , the wireless communication device 402 can select a target RTT for a TCP flow including TCP data 409 according to the conditions of the wireless channel 415. In some implementations, the target RTT for the TCP flow can be selected according to the number of bytes in transit for the TCP flow. In some implementations, the wireless communication device can obtain an indication of the number of bytes in transit for the TCP flow from a device driver, such as a WLAN driver.

[0069] In block 706, the wireless communication device may modify one or more transmission parameters of the wireless communication device in association with the target RTT. Figure 4 In an operating environment 400 of the wireless communication device 402, the wireless communication device 402 may modify one or more of its transmission parameters associated with the target RTT. In some specific implementations, modifying the one or more transmission parameters may include reducing the TXOP duration of the wireless communication device. In some specific implementations, modifying the one or more transmission parameters may include reducing the transmission (TX) aggregation delay of the wireless communication device. In some specific implementations, modifying the one or more transmission parameters may include modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device. In some specific implementations, modifying the one or more EDCA parameters may include increasing the minimum contention window size, increasing the maximum contention window size, or both.

[0070] In block 708, the wireless communication device may transmit TCP data of the TCP flow to the second wireless communication device via the wireless channel according to the one or more modified transmission parameters. Figure 4 In the operating environment 400 of FIG. 7 , the wireless communication device 402 can send TCP data 409 to the wireless communication device 404 over the wireless channel 415 according to the one or more modified transmission parameters adopted in block 706. In some specific implementations, after sending the TCP data of the TCP flow to the second wireless communication device over the wireless link according to the one or more modified transmission parameters, the wireless communication device can restore at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel.

[0071] In some implementations, in conjunction with process 700, the wireless communication device may check the presence of MSDUs associated with TCP streams in the MSDU queue. In some implementations, the wireless communication device may select a target RTT associated with the presence of MSDUs associated with TCP streams in the MSDU queue. In some implementations, the wireless communication device may check the burst traffic in the MSDU queue in association with the number of times the MSDU queue becomes empty per second. In some implementations, in association with finding burst traffic associated with non-TCP streams in the MSDU queue, the wireless communication device may increase the aggregation delay of the MSDUs including data of the non-TCP streams. In some implementations, the non-TCP streams may be UDP streams. In some implementations, the non-TCP streams may include traffic associated with an EDCA voice (VO) access category (AC). In some implementations, the non-TCP streams may include traffic associated with an EDCA video (VI) access category (AC).

[0072] Figure 8 A block diagram of a second example wireless communication device 800 is shown. In some implementations, the wireless communication device 800 can support increasing TCP throughput by reducing TCP RTT in a wireless network. In some implementations, the wireless communication device 800 can be configured to perform the above reference Figure 6 The process 600 described above with reference to Figure 7 The wireless communication device 800 may be the one described above. Figure 2 The wireless communication device 200 described above Figure 4 and Figure 5 The wireless communication device 800 may be a chip, SoC, chipset, package, or device that includes at least one processor (such as the processor 202), at least one modem (e.g., a Wi-Fi (IEEE 802.11) modem or a cellular modem such as the modem 204), at least one memory (such as the memory 208), and at least one radio component (such as the radio component 206). In some implementations, the wireless communication device 800 may be a processor for an AP (such as those described above, respectively). Figure 1 and 3A In some other implementations, the wireless communication device 800 may be an AP including such a chip, SoC, chipset, package or device and at least one antenna (such as antenna 320).

[0073] Device 805 may include components for bidirectional communications, including components for sending and receiving communications, such as a communications manager 820, an input / output (I / O) controller 810, a transceiver 815, an antenna 825, memory 830, code 835, and a processor 840. These components may be in electronic communication or otherwise coupled (such as operatively, communicatively, functionally, electronically, electrically) via one or more buses (such as bus 845).

[0074] I / O controller 810 can manage input signals and output signals of device 805. I / O controller 810 can also manage peripheral devices that are not integrated into device 805. In some implementations, I / O controller 810 can represent a physical connection or port to an external peripheral device. In some implementations, I / O controller 810 can utilize an operating system, such as or another known operating system. Additionally or alternatively, the I / O controller 810 may represent or interact with a modem, keyboard, mouse, touch screen, or similar device. In some implementations, the I / O controller 810 may be implemented as part of a processor or processing system (such as processor 840). In some implementations, a user may interact with the device 805 via the I / O controller 810 or via hardware components controlled by the I / O controller 810.

[0075] In some implementations, the device 805 may include a single antenna 825. However, in some other implementations, the device 805 may have more than one antenna 825, which can concurrently send or receive multiple wireless transmissions. The transceiver 815 can communicate bidirectionally via one or more antennas 825, wired or wireless links, as described herein. For example, the transceiver 815 may represent a wireless transceiver and can communicate bidirectionally with another wireless transceiver. The transceiver 815 may also include a modem for modulating packets, providing the modulated packets to one or more antennas 825 for transmission, and for demodulating packets received from one or more antennas 825.

[0076] In some implementations, the transceiver 815 may include one or more interfaces, such as one or more interfaces coupled to one or more antennas 825 configured to support various receiving or obtaining operations, or one or more interfaces coupled to one or more antennas 825 configured to support various sending operations or output operations, or a combination thereof. In some implementations, the transceiver 815 may include or be configured to be coupled to one or more processors or memory components, which are operable to perform or support operations associated with received or obtained information or signals, or to generate information or other signals for transmission or other output, or any combination thereof. In some implementations, the transceiver 815, or the transceiver 815 and one or more antennas 825, or the transceiver 815 and one or more antennas 825 and one or more processors or memory components (e.g., processor 840, or memory 830, or both) may be included in a chip or chip assembly installed in the device 805.

[0077] The memory 830 may include random access memory (RAM) and read-only memory (ROM). The memory 830 may store computer-readable, computer-executable code 835 including instructions that, when executed by the processor 840, cause the device 805 to perform various functions described herein. The code 835 may be stored in a non-transitory computer-readable medium such as a system memory or another type of memory. In some implementations, the code 835 may not be directly executable by the processor 840, but may cause a computer (e.g., when compiled and executed) to perform the functions described herein. In some implementations, the memory 830 may include, among other things, a basic I / O system (BIOS) that may control basic hardware or software operations, such as interaction with peripheral components or devices.

[0078] The processor 840 may be any one or more suitable processors capable of executing scripts or instructions of one or more software programs stored in the device 805 (such as in the memory 830). In some specific implementations, the processor 840 may be a component of a processing system. A processing system may generally refer to a system or a series of machines or components that receive inputs and process these inputs to generate an output set (which may be passed to, for example, other systems or components of the device 805). For example, the processing system of the device 805 may refer to a system including various other components or subcomponents of the device 805, such as the processor 840, or the transceiver 815, or the communication manager 820, or other components or combinations of components of the device 805. The processing system of the device 805 may be docked with other components of the device 805, and may process information (such as input or signal) received from other components or output information to other components. For example, a chip or modem of the device 805 may include a processing system, a first interface for outputting information, and a second interface for obtaining information. In some implementations, the first interface may refer to an interface between a processing system of a chip or modem and a transmitter that enables the device 805 to send information output from the chip or modem. In some implementations, the second interface may refer to an interface between a processing system of a chip or modem and a receiver that enables the device 805 to obtain information or signal input, and the information may be passed to the processing system. One of ordinary skill in the art will readily recognize that the first interface may also obtain information or signal input, and the second interface may also output information or signal output.

[0079] According to examples as disclosed herein, the communication manager 820 may support wireless communications by the wireless communication device 800. For example, the communication manager 820 may be configured to or otherwise support components for obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link delivers a TCP stream to the second wireless communication device. The communication manager 820 may be configured to or otherwise support components for selecting a target RTT for the TCP stream based on the channel condition of the wireless channel. The communication manager 820 may be configured to or otherwise support components for modifying one or more transmit parameters of the wireless communication device in association with the target RTT. The communication manager 820 may be configured to or otherwise support components for sending TCP data of the TCP stream to the second wireless communication device through the wireless channel based on the one or more modified transmit parameters.

[0080] In some implementations, modifying one or more transmit parameters may include reducing a TXOP duration of the wireless communication device. In some implementations, modifying one or more transmit parameters may include reducing a TX aggregation delay of the wireless communication device. In some implementations, modifying one or more transmit parameters may include modifying one or more EDCA parameters of the wireless communication device. In some implementations, modifying one or more EDCA parameters may include increasing a minimum contention window size. In some implementations, modifying one or more EDCA parameters may include increasing a maximum contention window size.

[0081] The communication manager 820 may be configured or otherwise support a component for selecting a target RTT based on the number of bytes in transit for the TCP stream. The communication manager 820 may be configured or otherwise support a component for selecting a target RTT based on the number of bytes in transit for the TCP stream and the physical layer communication rate of the second wireless communication device. The communication manager 820 may be configured or otherwise support a component for obtaining an indication of the number of bytes in transit for the TCP stream from a device driver. The communication manager 820 may be configured or otherwise support a component for selecting a TXOP duration for the wireless communication device in association with the target RTT. The communication manager 820 may be configured or otherwise support a component for restoring at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel after sending TCP data of the TCP stream to the second wireless communication device over a wireless link based on the one or more modified transmission parameters. In some specific implementations, the wireless communication device may be an AP of a WLAN, and the second wireless communication device may be a STA of the WLAN.

[0082] The communication manager 820 may be configured or otherwise support components for checking the presence of MSDUs associated with TCP streams in the MSDU queue in association with the utilization level of the wireless channel. The communication manager 820 may be configured or otherwise support components for selecting a target RTT in association with the presence of MSDUs associated with TCP streams in the MSDU queue. The communication manager 820 may be configured or otherwise support components for checking the bursty traffic in the MSDU queue in association with the number of times the MSDU queue becomes empty per second. The communication manager 820 may be configured or otherwise support components for increasing the aggregate delay of the MSDUs including data of the non-TCP streams in association with finding bursty traffic associated with the non-TCP streams in the MSDU queues.

[0083] In some implementations, the non-TCP flow may include a UDP flow. In some implementations, the non-TCP flow may include traffic associated with an EDCA VO access category. In some implementations, the non-TCP flow may include traffic associated with an EDCA VI access category.

[0084] In some implementations, the communication manager 820 may be configured to perform various operations (e.g., receive, monitor, transmit) using or otherwise cooperating with the transceiver 815, one or more antennas 825, or any combination thereof. Although the communication manager 820 is illustrated as a separate component, in some implementations, one or more functions described with reference to the communication manager 820 may be supported or performed by the processor 840, the memory 830, the code 835, or any combination thereof. For example, the code 835 may include instructions that are executable by the processor 840 to cause the device 805 to perform various aspects of increasing TCP throughput by reducing TCP RTT in a wireless network as described herein, or the processor 840 and the memory 830 may be otherwise configured to perform or support such operations.

[0085] Specific implementation examples are described in the following numbered clauses:

[0086] Clause 1. A wireless communication device for wireless communication, comprising: one or more interfaces, the one or more interfaces being operable to obtain an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link transmits a transmission control protocol (TCP) stream to the second wireless communication device; and a processing system, the processing system being operable to select a target round trip time (RTT) for the TCP stream based on the channel condition of the wireless channel, modify one or more transmission parameters of the wireless communication device in association with the target RTT, and output TCP data of the TCP stream based on the one or more modified transmission parameters.

[0087] Clause 2. The wireless communication device of clause 1, wherein the modifying the one or more transmit parameters comprises reducing a transmit opportunity (TXOP) duration of the wireless communication device.

[0088] Clause 3. A wireless communication device as described in any of clauses 1 to 2, wherein the modifying the one or more transmit parameters comprises reducing a transmit (TX) aggregation delay of the wireless communication device.

[0089] Clause 4. A wireless communication device as described in any of clauses 1 to 3, wherein the modifying the one or more transmission parameters comprises modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device.

[0090] Clause 5. The wireless communication device of Clause 4, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a minimum contention window size.

[0091] Clause 6. The wireless communication device of any of clauses 4 to 5, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a maximum contention window size.

[0092] Clause 7. The wireless communication device of any of Clauses 1 to 6, wherein the processing system is operable to select the target RTT based on a number of bytes in transit for the TCP flow.

[0093] Clause 8. The wireless communication device of Clause 7, wherein the processing system is operable to select the target RTT based on the number of bytes in transit for the TCP flow and a physical layer communication rate of the second wireless communication device.

[0094] Clause 9. The wireless communication device of any of Clauses 7-8, wherein the processing system is operable to obtain an indication of the number of bytes in transit for the TCP flow from a device driver.

[0095] Clause 10. The wireless communication device of any of clauses 1 to 9, wherein the processing system is operable to select a transmit opportunity (TXOP) duration of the wireless communication device in association with the target RTT.

[0096] Clause 11. A wireless communication device according to any one of clauses 1 to 10, wherein the processing system is operable to restore at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel after sending the TCP data of the TCP stream to the second wireless communication device via the wireless link based on the one or more modified transmission parameters.

[0097] Clause 12. The wireless communication device of any of clauses 1 to 11, wherein the wireless communication device is an access point (AP) of a wireless local area network (WLAN), and the second wireless communication device is a station (STA) of the WLAN.

[0098] Clause 13. A wireless communication device according to any one of clauses 1 to 12, wherein the processing system is operable to check for the presence of a medium access control service data unit (MSDU) associated with a TCP flow in a MSDU queue in association with a utilization level of the wireless channel.

[0099] Clause 14. The wireless communications apparatus of Clause 13, wherein the processing system is operable to select the target RTT in association with the presence of MSDUs associated with the TCP flow in the MSDU queue.

[0100] Clause 15. The wireless communications device of any of Clauses 13 to 14, wherein the processing system is operable to examine burst traffic in the MSDU queue in association with a number of times per second that the MSDU queue becomes empty.

[0101] Clause 16. The wireless communications device of Clause 15, wherein the processing system is operable to increase an aggregate delay of MSDUs including data of a non-TCP flow in association with finding bursty traffic associated with the non-TCP flow in the MSDU queue.

[0102] Clause 17. The wireless communication device of Clause 16, wherein the non-TCP flow comprises a User Datagram Protocol (UDP) flow.

[0103] Clause 18. A wireless communications device as recited in any of Clauses 16-17, wherein the non-TCP flow comprises traffic associated with an Enhanced Distributed Channel Access (EDCA) Voice (VO) Access Category (AC).

[0104] Clause 19. A wireless communications device as described in any of clauses 16 to 18, wherein the non-TCP flow comprises traffic associated with an enhanced distributed channel access (EDCA) video (VI) access category (AC).

[0105] Clause 20. A method for wireless communication by a wireless communication device, comprising: obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link transmits a Transmission Control Protocol (TCP) stream to the second wireless communication device; selecting a target round-trip time (RTT) for the TCP stream based on the channel condition of the wireless channel; modifying one or more transmission parameters of the wireless communication device in association with the target RTT; and sending TCP data of the TCP stream to the second wireless communication device through the wireless channel based on the one or more modified transmission parameters.

[0106] Clause 21. The method of clause 20, wherein the modifying the one or more transmission parameters comprises reducing a transmit opportunity (TXOP) duration of the wireless communication device.

[0107] Clause 22. The method of any one of clauses 20 to 21, wherein the modifying the one or more transmit parameters comprises reducing a transmit (TX) aggregation delay of the wireless communication device.

[0108] Clause 23. The method of any one of clauses 20 to 22, wherein said modifying said one or more transmission parameters comprises modifying one or more enhanced distributed channel access (EDCA) parameters of said wireless communication device.

[0109] Clause 24. The method of clause 23, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a minimum contention window size.

[0110] Clause 25. The method of any of clauses 23 to 24, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a maximum contention window size.

[0111] Clause 26. The method of any one of clauses 20 to 25, further comprising: selecting the target RTT based on the number of bytes in transit for the TCP flow.

[0112] Clause 27. The method of clause 26, further comprising: selecting the target RTT based on the number of bytes in transit of the TCP flow and a physical layer communication rate of the second wireless communication device.

[0113] Clause 28. The method of any one of Clauses 26 to 27, further comprising obtaining an indication of the number of bytes in transit for the TCP flow from a device driver.

[0114] Clause 29. The method of any of clauses 20 to 28, further comprising selecting a transmit opportunity (TXOP) duration of the wireless communication device in association with the target RTT.

[0115] Clause 30. The method according to any one of clauses 20 to 29 further includes: after sending the TCP data of the TCP stream to the second wireless communication device through the wireless link according to the one or more modified transmission parameters, restoring at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel.

[0116] Clause 31. The method of any of clauses 20 to 30, wherein the wireless communication device is an access point (AP) of a wireless local area network (WLAN), and the second wireless communication device is a station (STA) of the WLAN.

[0117] Clause 32. The method of any of clauses 20 to 31, further comprising checking a Medium Access Control Service Data Unit (MSDU) queue for the presence of an MSDU associated with a TCP flow in association with a utilization level of the wireless channel.

[0118] Clause 33. The method of clause 32, further comprising: selecting the target RTT in association with the presence of MSDUs associated with the TCP flow in the MSDU queue.

[0119] Clause 34. The method of any one of clauses 32 to 33, further comprising: checking burst traffic in the MSDU queue in association with the number of times per second that the MSDU queue becomes empty.

[0120] Clause 35. The method of clause 34, further comprising: increasing an aggregate delay of MSDUs including data of a non-TCP flow in association with finding bursty traffic associated with the non-TCP flow in the MSDU queue.

[0121] Clause 36. The method of clause 35, wherein the non-TCP stream comprises a User Datagram Protocol (UDP) stream.

[0122] Clause 37. A method as described in any of clauses 35 to 36, wherein the non-TCP flow includes traffic associated with an Enhanced Distributed Channel Access (EDCA) Voice (VO) Access Category (AC).

[0123] Clause 38. A method as described in any of clauses 35 to 37, wherein the non-TCP flow includes traffic associated with an Enhanced Distributed Channel Access (EDCA) Video (VI) Access Category (AC).

[0124] Clause 39. An apparatus for wireless communication by a wireless communication device, comprising: a component for obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link transmits a transmission control protocol (TCP) stream to the second wireless communication device; a component for selecting a target round-trip time (RTT) for the TCP stream based on the channel condition of the wireless channel; a component for modifying one or more transmission parameters of the wireless communication device in association with the target RTT; and a component for sending TCP data of the TCP stream to the second wireless communication device via the wireless channel based on the one or more modified transmission parameters.

[0125] Clause 40. The apparatus of clause 39, wherein the modifying the one or more transmit parameters comprises reducing a transmit opportunity (TXOP) duration of the wireless communication device.

[0126] Clause 41. An apparatus as described in any of clauses 39 to 40, wherein the modifying the one or more transmit parameters comprises reducing a transmit (TX) aggregation delay of the wireless communication device.

[0127] Clause 42. An apparatus as described in any of clauses 39 to 41, wherein the modifying the one or more transmission parameters comprises modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device.

[0128] Clause 43. The apparatus of Clause 42, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a minimum contention window size.

[0129] Clause 44. The apparatus of any of Clauses 42 to 43, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a maximum contention window size.

[0130] Clause 45. The apparatus of any of Clauses 39 to 44, further comprising means for selecting the target RTT based on the number of bytes in transit for the TCP flow.

[0131] Clause 46. The apparatus of clause 45, further comprising means for selecting the target RTT based on the number of bytes in transit for the TCP flow and a physical layer communication rate of the second wireless communication device.

[0132] Clause 47. The apparatus of any of Clauses 45 to 46, further comprising means for obtaining an indication of the number of bytes in transit for the TCP flow from a device driver.

[0133] Clause 48. The apparatus of any of clauses 39 to 47, further comprising means for selecting a transmit opportunity (TXOP) duration of the wireless communication device in association with the target RTT.

[0134] Clause 49. An apparatus according to any one of clauses 39 to 48, further comprising: a component for restoring at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel after sending the TCP data of the TCP stream to the second wireless communication device through the wireless link based on the one or more modified transmission parameters.

[0135] Clause 50. The apparatus of any of clauses 39 to 49, wherein the wireless communication device is an access point (AP) of a wireless local area network (WLAN), and the second wireless communication device is a station (STA) of the WLAN.

[0136] Clause 51. An apparatus according to any of clauses 39 to 50, further comprising: means for checking a Medium Access Control Service Data Unit (MSDU) queue for the presence of an MSDU associated with a TCP flow in association with a utilization level of the wireless channel.

[0137] Clause 52. The apparatus of Clause 51, further comprising means for selecting the target RTT in association with the presence of MSDUs associated with the TCP flow in the MSDU queue.

[0138] Clause 53. The apparatus of any of Clauses 51 to 52, further comprising means for checking burst traffic in the MSDU queue in association with the number of times per second that the MSDU queue becomes empty.

[0139] Clause 54. The apparatus of clause 53, further comprising means for increasing an aggregation delay of MSDUs including data of a non-TCP flow in association with finding bursty traffic associated with the non-TCP flow in the MSDU queue.

[0140] Clause 55. The apparatus of clause 54, wherein the non-TCP stream comprises a User Datagram Protocol (UDP) stream.

[0141] Clause 56. An apparatus as described in any of clauses 54 to 55, wherein the non-TCP flow includes traffic associated with an enhanced distributed channel access (EDCA) voice (VO) access category (AC).

[0142] Clause 57. An apparatus as described in any of clauses 54 to 56, wherein the non-TCP flow includes traffic associated with an enhanced distributed channel access (EDCA) video (VI) access category (AC).

[0143] Item 58. One or more non-transitory computer-readable media having stored thereon instructions for wireless communication by a wireless communication device, the instructions, when executed by a control system of the wireless communication device, causing the control system to: obtain an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link delivers a Transmission Control Protocol (TCP) stream to the second wireless communication device; select a target round-trip time (RTT) for the TCP stream based on the channel condition of the wireless channel; modify one or more transmission parameters of the wireless communication device in association with the target RTT; and send TCP data of the TCP stream to the second wireless communication device via the wireless channel based on the one or more modified transmission parameters.

[0144] Clause 59. The one or more non-transitory computer-readable media of Clause 58, wherein the modifying the one or more transmit parameters comprises reducing a transmit opportunity (TXOP) duration of the wireless communication device.

[0145] Clause 60. One or more non-transitory computer-readable media as described in any of clauses 58 to 59, wherein the modifying the one or more transmit parameters comprises reducing a transmit (TX) aggregation delay of the wireless communication device.

[0146] Clause 61. One or more non-transitory computer-readable media as described in any of clauses 58 to 60, wherein the modifying the one or more transmission parameters comprises modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device.

[0147] Clause 62. The one or more non-transitory computer-readable media of Clause 61, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a minimum contention window size.

[0148] Clause 63. One or more non-transitory computer-readable media as described in any of clauses 61 to 62, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a maximum contention window size.

[0149] Clause 64. One or more non-transitory computer-readable media according to any one of clauses 58 to 63, wherein instructions are stored on the one or more non-transitory computer-readable media, which, when executed by the control system of the wireless communication device, cause the control system to select the target RTT based on the number of bytes in transit of the TCP stream.

[0150] Clause 65. One or more non-transitory computer-readable media as described in Clause 64, wherein instructions are stored on the one or more non-transitory computer-readable media, which, when executed by the control system of the wireless communication device, cause the control system to select the target RTT based on the number of in-transit bytes of the TCP stream and the physical layer communication rate of the second wireless communication device.

[0151] Clause 66. One or more non-transitory computer-readable media according to any one of clauses 64 to 65, wherein instructions are stored on the one or more non-transitory computer-readable media, which when executed by the control system of the wireless communication device, cause the control system to obtain an indication of the number of bytes in transit for the TCP stream from a device driver.

[0152] Clause 67. One or more non-transitory computer-readable media according to any one of clauses 58 to 66, wherein instructions are stored thereon, which when executed by the control system of the wireless communication device cause the control system to select a transmit opportunity (TXOP) duration for the wireless communication device in association with the target RTT.

[0153] Clause 68. One or more non-transitory computer-readable media according to any one of clauses 58 to 67, wherein instructions are stored thereon, which, when executed by the control system of the wireless communication device, cause the control system to restore at least one of the one or more modified transmission parameters to a previous value in association with an increase in the utilization level of the wireless channel after sending the TCP data of the TCP stream to the second wireless communication device via the wireless link based on the one or more modified transmission parameters.

[0154] Clause 69. One or more non-transitory computer-readable media as described in any of clauses 58 to 68, wherein the wireless communication device is an access point (AP) of a wireless local area network (WLAN) and the second wireless communication device is a station (STA) of the WLAN.

[0155] Clause 70. One or more non-transitory computer-readable media according to any one of clauses 58 to 69, wherein instructions are stored thereon, which, when executed by the control system of the wireless communication device, cause the control system to check a medium access control service data unit (MSDU) queue for the presence of an MSDU associated with a TCP flow in association with the utilization level of the wireless channel.

[0156] Clause 71. One or more non-transitory computer-readable media as described in Clause 70, wherein instructions are stored thereon, which, when executed by the control system of the wireless communication device, cause the control system to select the target RTT in association with the presence of an MSDU associated with the TCP flow in the MSDU queue.

[0157] Clause 72. One or more non-transitory computer-readable media according to any one of clauses 70 to 71, wherein instructions are stored thereon, which, when executed by the control system of the wireless communication device, cause the control system to check burst traffic in the MSDU queue in association with the number of times the MSDU queue becomes empty per second.

[0158] Clause 73. One or more non-transitory computer-readable media as described in Clause 72, wherein instructions are stored thereon, which, when executed by the control system of the wireless communication device, cause the control system to increase the aggregation delay of the MSDU including data of the non-TCP flow in association with finding burst traffic associated with the non-TCP flow in the MSDU queue.

[0159] Clause 74. The one or more non-transitory computer-readable media of Clause 73, wherein the non-TCP stream comprises a User Datagram Protocol (UDP) stream.

[0160] Clause 75. One or more non-transitory computer-readable media as described in any of clauses 73 to 74, wherein the non-TCP flow includes traffic associated with an enhanced distributed channel access (EDCA) voice (VO) access category (AC).

[0161] Clause 76. One or more non-transitory computer-readable media as described in any of clauses 73 to 75, wherein the non-TCP flow includes traffic associated with an enhanced distributed channel access (EDCA) video (VI) access category (AC).

[0162] As used herein, the term "determine" or "determine" encompasses a wide variety of actions, and thus, "determining" may include calculating, computing, processing, deriving, investigating, looking up (such as via looking up in a table, database, or other data structure), ascertaining, and similar actions. Additionally, "determining" may include receiving (such as receiving information), accessing (such as accessing data in a memory), obtaining, etc. Additionally, "determining" may include parsing, selecting, choosing, establishing, estimating, calculating, ascertaining, and other such similar actions.

[0163] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items (including single members). As an example, "at least one of a, b, or c" is intended to cover: a, b, c, ab, ac, bc, and abc.

[0164] The various illustrative logical components, logic blocks, modules, circuits, and algorithmic processes described in conjunction with the specific implementations disclosed herein may be implemented as electronic hardware, computer software, or a combination of the two. The interchangeability of hardware and software has been generally described in terms of functionality and is illustrated in the various illustrative components, blocks, modules, circuits, and processes described herein. Whether such functionality is implemented in hardware or software depends on the specific application and the design constraints imposed on the overall system.

[0165] The hardware and data processing apparatus for implementing the various exemplary logic components, logic blocks, modules and circuits described in conjunction with the various aspects disclosed herein may be implemented or executed using a general purpose single-chip or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic component, a discrete hardware component or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or any processor, controller, microcontroller or state machine. A processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. In some specific implementations, specific processes and methods may be performed by circuits specific to a given function.

[0166] In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents, or any combination thereof. Specific implementations of the subject matter described in this specification may also be implemented as one or more computer programs, such as one or more modules of computer program instructions encoded on computer storage media for execution by a data processing device or for controlling the operation of a data processing device.

[0167] If implemented in software, the function may be stored as one or more instructions or codes on a computer-readable medium or sent via a computer-readable medium. The process of the method or algorithm disclosed herein may be implemented in a processor executable software module that may reside on a computer-readable medium. Computer-readable media include both computer storage media and communication media, and communication media include any medium that can realize the transfer of a computer program from one place to another. The storage medium may be any available medium accessible to a computer. By way of example and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired program code in the form of an instruction or data structure and can be accessed by a computer. In addition, any connection may be appropriately referred to as a computer-readable medium. Disks and optical disks as used herein include compact discs (CDs), laser discs, optical disks, digital versatile discs (DVDs), floppy disks and blue discs, wherein disks generally reproduce data magnetically, and optical disks reproduce data optically with lasers. The above combination should also be included in the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine-readable medium and a computer-readable medium, which may be incorporated into a computer program product.

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

[0169] Additionally, one of ordinary skill in the art will readily recognize that the terms "upper" and "lower" are sometimes used for ease of describing the drawings and indicate relative positions corresponding to the orientation of the drawings on a correctly oriented page, and may not reflect the correct orientation of any device as implemented.

[0170] Certain features described in this specification in the context of a single implementation may also be implemented in combination in a single implementation. Conversely, various features described in the context of a single implementation may also be implemented in multiple implementations individually or in any suitable subcombination. Furthermore, while features may be described herein as functioning in some combination and even initially claimed as such, one or more features from a claimed combination may be removed from the combination, and a claimed combination may involve subcombinations or variations of subcombinations.

[0171] Similarly, although the operations are depicted in a specific order in the figure, this should not be understood as requiring such operations to be performed in the specific order shown or in a sequential order, or to perform all the illustrated operations to achieve the desired result. Further, the accompanying drawings can schematically depict one or more example processes in the form of a flow chart. However, other operations not depicted can be incorporated into the example processes schematically illustrated. For example, one or more additional operations can be performed before, after, at the same time, or between any operations in the illustrated operations. In some environments, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the specific implementation described herein should not be understood as requiring such separation in all specific implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. In addition, other specific implementations are within the scope of the following claims. In some specific implementations, the actions recited in the claims can be performed in different orders and still achieve the desired results.

Claims

1. A wireless communication device for wireless communication, comprising: One or more interfaces capable of: obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link conveys a transmission control protocol (TCP) stream to the second wireless communication device; and A processing system capable of: selecting a target round trip time (RTT) for the TCP flow based on the channel conditions of the wireless channel; modifying one or more transmission parameters of the wireless communication device in association with the target RTT; as well as TCP data for the TCP flow is output according to the one or more modified transmission parameters.

2. The wireless communication device of claim 1, wherein the modifying the one or more transmit parameters comprises reducing a transmit opportunity (TXOP) duration of the wireless communication device.

3. The wireless communication device of claim 1, wherein the modifying the one or more transmit parameters comprises reducing a transmit (TX) aggregation delay of the wireless communication device.

4. The wireless communication device of claim 1, wherein the modifying the one or more transmit parameters comprises modifying one or more enhanced distributed channel access (EDCA) parameters of the wireless communication device.

5. The wireless communication device of claim 4, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a minimum contention window size.

6. The wireless communication device of claim 4, wherein the modifying one or more EDCA parameters of the wireless communication device comprises increasing a maximum contention window size.

7. The wireless communication device of claim 1, wherein the processing system is capable of selecting the target RTT based on a number of bytes in transit for the TCP flow.

8. The wireless communication device of claim 7, wherein the processing system is capable of selecting the target RTT based on the number of bytes in transit for the TCP flow and a physical layer communication rate of the second wireless communication device.

9. The wireless communication device of claim 7, wherein the processing system is capable of obtaining an indication of the number of bytes in transit for the TCP flow from a device driver.

10. The wireless communication device of claim 1, wherein the processing system is capable of selecting a transmit opportunity (TXOP) duration of the wireless communication device in association with the target RTT.

11. The wireless communication device of claim 1 , wherein the processing system is capable of restoring at least one of the one or more modified transmission parameters to a previous value in association with an increase in a utilization level of the wireless channel after the TCP data of the TCP flow is sent to the second wireless communication device through the wireless link according to the one or more modified transmission parameters.

12. The wireless communication device of claim 1, wherein the wireless communication device is an access point (AP) of a wireless local area network (WLAN), and the second wireless communication device is a station (STA) of the WLAN.

13. A method for wireless communication by a wireless communication device, comprising: obtaining an indication of a channel condition of a wireless channel supporting a link between the wireless communication device and a second wireless communication device, wherein the link conveys a transmission control protocol (TCP) stream to the second wireless communication device; selecting a target round trip time (RTT) for the TCP flow based on the channel conditions of the wireless channel; modifying one or more transmission parameters of the wireless communication device in association with the target RTT; as well as The TCP data of the TCP flow is transmitted to the second wireless communication device over the wireless channel according to the one or more modified transmission parameters.

14. The method according to claim 13, further comprising: A medium access control service data unit (MSDU) queue is checked for the presence of an MSDU associated with a TCP flow in association with a utilization level of the wireless channel.

15. The method according to claim 14, further comprising: The target RTT is selected in association with the presence of MSDUs associated with the TCP flow in the MSDU queue.

16. The method according to claim 14, further comprising: The burst traffic in the MSDU queue is checked in association with the number of times the MSDU queue becomes empty per second.

17. The method according to claim 16, further comprising: An aggregate delay of MSDUs including data of a non-TCP flow is increased in association with finding bursty traffic associated with the non-TCP flow in the MSDU queue.

18. The method of claim 17, wherein the non-TCP stream comprises a User Datagram Protocol (UDP) stream.

19. The method of claim 17, wherein the non-TCP flow comprises traffic associated with an Enhanced Distributed Channel Access (EDCA) Voice (VO) Access Category (AC).

20. The method of claim 17, wherein the non-TCP flow comprises traffic associated with an Enhanced Distributed Channel Access (EDCA) Video (VI) Access Category (AC).

Citation Information

Cited By

  • Wireless communication signal transmission system and method based on adaptive modulation

    CN122179284A

  • A wireless communication signal transmission system and method based on adaptive modulation

    CN122179284B