Method and system for managing uplink buffers at user equipment in tethered call mode
By modifying the receiver window size in the synchronization confirmation message, the UE optimized buffer management, solved the problem of insufficient buffer space, and improved data transmission efficiency and communication stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-04-10
AI Technical Summary
In the prior art, when user equipment (UE) communicates with connected devices and networks, buffer management is not flexible enough, resulting in low data transmission efficiency, especially when buffer space is insufficient and cannot be effectively adjusted.
The UE optimizes buffer management and ensures smooth data transmission by receiving and modifying the application server receiver window size in the synchronization acknowledgment (SYN-ACK) message.
It improves data transmission efficiency, avoids data loss and transmission interruption caused by insufficient buffer space, and enhances the stability of communication between connected devices and the network.
Smart Images

Figure CN121844550A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority and benefit to U.S. Patent Application No. 18 / 473,840, filed September 25, 2023, and U.S. Patent Application No. 18 / 474,031, filed September 25, 2023, the entire contents of which are incorporated herein by reference. This application also relates to U.S. Provisional Patent Application No. 63 / 198,914, filed November 20, 2020, and U.S. Patent No. 11,770,733, filed November 12, 2021. Technical Field
[0003] This disclosure generally relates to communication systems, and more particularly to buffer management at user equipment connected to personal devices. Background Technology
[0004] Wireless communication systems are widely deployed to provide a variety of telecommunications services, such as telephone, video, data, messaging, and broadcasting. These systems can support communication with multiple users by sharing available system resources, such as time, frequency, and power. A wireless multiple access communication system may include multiple base stations (BSs), each of which simultaneously supports communication with multiple communication devices, which may also be referred to as user equipment (UEs).
[0005] These multiple access technologies have been adopted in various telecommunications standards to provide a common protocol that enables different wireless devices to communicate at the city, country, region, and even global levels. Examples of such telecommunications standards include the 5G New Radio (NR) standard and the 4G Long Term Evolution (LTE) standard. Summary of the Invention
[0006] The following is a simplified summary of one or more aspects to provide a basic understanding of these aspects. This summary is not a broad overview of all anticipated aspects, nor is it intended to identify key or essential elements of all aspects, nor to describe the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that follows.
[0007] Some aspects of the disclosure disclose a method of wireless communication performed by a user equipment (UE). In some aspects, the method includes receiving a synchronization acknowledgement (SYN-ACK) message, the SYN-ACK message being destined for a device tethered to the UE and transmitted by an application server at a network to which the UE is connected. In some aspects, the SYN-ACK message includes an application server receiver window size indicating available buffer space in a receive buffer of the application server. Further, the method includes modifying the application server receiver window size in the received SYN-ACK message prior to transmitting the received SYN-ACK to the tethered device.
[0008] In some aspects, a user equipment (UE) includes a memory; a transceiver; and at least one processor coupled to the memory and the transceiver. In some aspects, the transceiver is configured to receive a synchronization acknowledgement (SYN-ACK) message, the SYN-ACK message being destined for a device tethered to the UE and transmitted by an application server at a network to which the UE is connected. In some aspects, the SYN-ACK message includes an application server receiver window size indicating available buffer space in a receive buffer of the application server. Further, in some aspects, the at least one processor is configured to modify the application server receiver window size in the received SYN-ACK message prior to transmitting the received SYN-ACK to the tethered device.
[0009] In some aspects, a non-transitory computer readable medium (CRM) has program code recorded thereon for wireless communication by a user equipment (UE). In some aspects, the program code includes code for causing the UE to receive a synchronization acknowledgement (SYN-ACK) message, the SYN-ACK message being destined for a device tethered to the UE and transmitted by an application server at a network to which the UE is connected. In some aspects, the SYN-ACK message includes an application server receiver window size indicating available buffer space in a receive buffer of the application server. Further, in some aspects, the program code includes code for causing the UE to modify the application server receiver window size in the received SYN-ACK message prior to transmitting the received SYN-ACK to the tethered device.
[0010] In some aspects, a user equipment (UE) includes means for receiving a synchronization acknowledgement (SYN-ACK) message that is destined to a device tethered to the UE and that is transmitted by an application server at a network to which the UE is connected. In some aspects, the SYN-ACK message includes an application server receiver window size that indicates available buffer space in a receive buffer of the application server. Further, in some aspects, the UE includes means for modifying the application server receiver window size in the received SYN-ACK message prior to transmitting the received SYN-ACK to the tethered device.
[0011] To the accomplishment of the foregoing and related ends, one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects can be employed, and this description is intended to include all such aspects and their equivalents. BRIEF DESCRIPTION OF DRAWINGS
[0012] Figure 1 is a diagram illustrating an example wireless communications system and access network, in accordance with some aspects of the disclosure.
[0013] Figure 2 is a diagram illustrating tethering a device to a UE, in accordance with some aspects of the disclosure.
[0014] Figure 3 is a diagram illustrating an example of a base station (BS) and a user equipment (UE) in an access network, in accordance with some aspects of the disclosure.
[0015] Figure 4 is a block diagram illustrating an example architecture of a UE connected to a tethered device, in accordance with some aspects of the disclosure.
[0016] Figure 5 is a signaling diagram illustrating uplink (UL) buffer management by a UE connected to a tethered device, in accordance with some aspects of the disclosure.
[0017] Figure 6 is a flow diagram of a method of wireless communication, in accordance with some aspects of the disclosure.
[0018] Figure 7 is a diagram illustrating an example hardware implementation for a UE employing a processing system, in accordance with some aspects of the disclosure.
[0019] Figure 8 is a signaling diagram illustrating downlink (DL) buffer management by a UE connected to a tethered device, in accordance with some aspects of the disclosure.
[0020] Figure 9 This is a signaling diagram illustrating downlink (DL) buffer management by a UE connected to a tethered device, according to some aspects of this disclosure. Detailed Implementation
[0021] The detailed description below, illustrated with reference to the accompanying drawings, is intended as a description of various configurations and not as representing only the configurations in which the concepts described herein can be practiced. To provide a thorough understanding of the various concepts, the detailed description includes specific details. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form to avoid obscuring these concepts.
[0022] Several aspects of a telecommunications system will now be presented with reference to various apparatuses and methods. These apparatuses and methods will be described in detail below and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively, “elements”). These elements can be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the system as a whole.
[0023] As an example, an element, any part of an element, or any combination of elements may be implemented as a “processing system” including one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, system-on-a-chip (SoCs), baseband processors, field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gate logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionalities described throughout this disclosure. One or more processors in a processing system may execute software. Whether referred to as software, firmware, middleware, microcode, hardware description language, or other names, software should be broadly interpreted as meaning instructions, instruction sets, code, code segments, program code, programs, subroutines, software components, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc.
[0024] Accordingly, in one or more example aspects, the described functionality can be implemented using hardware, software, or any combination thereof. If implemented in software, the functionality can be stored or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media can be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), optical disc storage devices, magnetic disk storage devices, other magnetic storage devices, combinations of computer-readable media of the foregoing types, or any other medium capable of storing computer-executable code in the form of computer-accessible instructions or data structures.
[0025] Figure 1 This is a diagram illustrating an example of a wireless communication system and access network 100 according to some aspects of this disclosure. The wireless communication system (also referred to as a wireless wide area network (WWAN)) includes a base station 102, a UE 104, an evolved packet core (EPC) 160, and another core network 190 (e.g., a 5G core (5GC)). The base station 102 may include macro cells (high-power cellular base stations) and / or small cells (low-power cellular base stations). Macro cells include base stations. Small cells include femtocells, picocells, and microcells.
[0026] Base station 102 configured for 4G LTE (collectively referred to as Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN)) can interface with EPC 160 via backhaul link 132 (e.g., S1 interface). Base station 102 configured for 5G NR (collectively referred to as Next Generation RAN (NG-RAN)) can interface with core network 190 via backhaul link 184. Among other functions, base station 102 can also perform one or more of the following functions: user data delivery, radio channel encryption and decryption, integrity protection, header compression, mobility control functions (e.g., handover, dual connectivity), inter-cell interference coordination, connection establishment and release, load balancing, distribution of Non-Access Stratum (NAS) messages, NAS node selection, synchronization, Radio Access Network (RAN) sharing, Multimedia Broadcast Multicast Service (MBMS), subscriber and equipment tracking, RAN Information Management (RIM), paging, location, and delivery of alarm messages. Base stations 102 can communicate directly or indirectly (e.g., via EPC 160 or core network 190) via backhaul link 134 (e.g., X2 interface). Backhaul link 134 can be wired or wireless.
[0027] Base station 102 can wirelessly communicate with UE 104. Each base station in base station 102 can provide communication coverage for a corresponding geographic coverage area 110. Overlapping geographic coverage areas 110 may exist. For example, small cell 102' may have a coverage area 110' that overlaps with the coverage areas 110 of one or more macro base stations 102. A network that includes both small cells and macro cells can be referred to as a heterogeneous network. The heterogeneous network may also include evolved home node B (eNB) (HeNB), which can provide services to restricted groups referred to as closed subscriber groups (CSG). The communication link 120 between base station 102 and UE 104 may include uplink (UL) (also known as reverse link) transmission from UE 104 to base station 102 and / or downlink (DL) (also known as forward link) transmission from base station 102 to UE 104. The communication link 120 may use multiple-input multiple-output (MIMO) antenna technologies, including spatial multiplexing, beamforming, and / or transmit diversity. The communication link may use one or more carriers. For the total number of transmissions used in each direction, up to [number] Yx MHz ( x For each carrier allocated in carrier aggregation (multiple component carriers), base station 102 / UE104 can use up to [number missing] carriers. Y A spectrum with a bandwidth of MHz (e.g., 5MHz, 10MHz, 15MHz, 20MHz, 100MHz, 400MHz, etc.). Carriers may be adjacent to each other or may not be adjacent to each other. Carrier allocation may be asymmetric with respect to DL and UL (e.g., more or fewer carriers may be allocated to DL compared to UL). Component carriers may include primary component carriers and one or more secondary component carriers. The primary component carrier may be referred to as the primary cell (PCell) and the secondary component carrier may be referred to as the secondary cell (SCell).
[0028] Some UEs 104 can communicate with each other using device-to-device (D2D) communication link 158. D2D communication link 158 can use DL / UL WWAN spectrum. D2D communication link 158 can use one or more sidelink channels, such as Physical Sidelink Broadcast Channel (PSBCH), Physical Sidelink Discovery Channel (PSDCH), Physical Sidelink Shared Channel (PSSCH), and Physical Sidelink Control Channel (PSCCH). D2D communication can be achieved through various wireless D2D communication systems, such as FlashLinQ, WiMedia, Bluetooth, ZigBee, Wi-Fi based on the IEEE 802.11 standard, LTE, or NR.
[0029] In some cases, some UEs can obtain or establish a connection to the radio network via another UE; that is, these devices can be attached to that other device (for example, the attached UE may lack its own direct connection to the radio network or may prefer a connection to the radio network via the attached UE, for example, because of a stronger or cheaper connection). For example... Figure 2 An illustrative diagram illustrating the connection of a device 206, such as a personal computer (PC), to a UE 204 according to some aspects of this disclosure is shown. In some aspects, the UE 204 can be connected to a base station (BS) 202 in a connected call mode, wherein a client or application in the connected device 206 exchanges data with a client or application in an application server that communicates with the connected device 206 via the UE 204 (and its connection 208 to the BS 202). In some aspects, the connected device 210 can be connected to the UE 204 via a communication link such as, but not limited to, a Universal Serial Bus (USB) cable, an Ethernet cable, or Bluetooth. ® Connection or Wi-Fi ® Connection. In some cases, UE 204 effectively functions as a modem (and an application server on which the application performing the communication between the connected device 206 and BS 202 is executed via UE 204 and the connected device 206) for communication. In some aspects, the connected device 206 may be a cellular phone, smartphone, Session Initiation Protocol (SIP) phone, laptop device, personal digital assistant (PDA), satellite radio, GPS, multimedia device, video device, digital audio player (e.g., MP3 player), camera, game console, tablet device, smart device, wearable device, vehicle, electricity meter, air pump, large or small kitchen appliance, healthcare device, implant, sensor / actuator, display, or any other similar functional device.
[0030] In some aspects, UE 204 or modem may maintain a buffer to regulate the data being exchanged between the connected device 206 and BS 202. In some cases, UE 204 or modem may maintain a buffer with sufficient data to indicate a buffer status report (BSR) to BS 202, thereby receiving permission from BS 202 to transmit data to BS 202, for example. In some aspects, UE 204 may also maintain a data flow control (FC) mechanism to manage the data flow between UE 204 or modem and the connected device 206 (e.g., a client or application running on it and communicating with BS 202). For example, UE 204 or modem may include FC components (e.g., Figure 4The amount of data being exchanged between the Attached Device 206 and the BS 202 is managed in the buffer of the UE 204 (FC 414 in the UE 204).
[0031] Now back Figure 1 In some aspects, the wireless communication system may further include a Wi-Fi access point (AP) 150 communicating with a Wi-Fi station (STA) 152 via a communication link 154 in the 5 GHz unlicensed spectrum. When communicating in the unlicensed spectrum, the STA 152 / AP 150 may perform a free channel assessment (CCA) to determine whether the channel is available before communication.
[0032] Small cell 102' can operate in licensed and / or unlicensed spectrum. When operating in unlicensed spectrum, small cell 102' can employ NR, and uses the same 5 GHz unlicensed spectrum as the Wi-Fi AP 150. Small cell 102' employing NR in unlicensed spectrum can improve the coverage of the access network and / or increase the capacity of the access network.
[0033] Base station 102, whether a small cell 102' or a large cell (e.g., a macro base station), may include an eNB, a gNodeB (gNB), or another type of base station. Some base stations, such as gNB 180, can operate in conventional sub-6 GHz spectrum, millimeter wave (mmW) frequencies, and / or near-mmW frequencies to communicate with UE 104. When gNB 180 operates in mmW or near-mmW frequencies, gNB 180 may be referred to as an mmW base station. Extremely high frequency (EHF) is a portion of the RF spectrum in the electromagnetic spectrum. EHF has a range of 30 GHz to 300 GHz, with wavelengths between 1 mm and 10 mm. Radio waves in this band may be referred to as millimeter waves. Near-mmW extends down to frequencies of 3 GHz with wavelengths of 100 mm. Ultra-high frequency (SHF) bands extend between 3 GHz and 30 GHz, and are also referred to as centimeter waves. Communication using mmW / near-mmW radio bands (e.g., 3 GHz–300 GHz) has extremely high path loss and short range. The mmW base station 180 can be used with the UE 104 to beamforming 182 to compensate for extremely high path loss and short range.
[0034] Base station 180 may transmit beamformed signals to UE 104 in one or more transmit directions 182'. UE 104 may receive beamformed signals from base station 180 in one or more receive directions 182''. UE 104 may also transmit beamformed signals to base station 180 in one or more transmit directions. Base station 180 may receive beamformed signals from UE 104 in one or more receive directions. Base station 180 / UE 104 may perform beam training to determine the optimal receive and transmit directions for each of base station 180 / UE 104. The transmit and receive directions of base station 180 may be the same or different. The transmit and receive directions of UE 104 may be the same or different.
[0035] EPC 160 may include a Mobility Management Entity (MME) 162, other MMEs 164, a Serving Gateway 166, a Multimedia Broadcast Multicast Service (MBMS) Gateway 168, a Broadcast Multicast Service Center (BM-SC) 170, and a Packet Data Network (PDN) Gateway 172. MME 162 can communicate with the Home Subscriber Server (HSS) 174. MME 162 is the control node that handles signaling between UE 104 and EPC 160. Generally, MME 162 provides bearer and connection management. All user Internet Protocol (IP) packets are delivered through the Serving Gateway 166, which is itself connected to the PDN Gateway 172. The PDN Gateway 172 provides UE IP address allocation and other functions. The PDN Gateway 172 and BM-SC 170 are connected to the IP Service 176. The IP Service 176 may include the Internet, intranets, IP Multimedia Subsystem (IMS), PS streaming service, and / or other IP services. The BM-SC 170 provides functions for MBMS user service dispatch and delivery. The BM-SC 170 can serve as an entry point for content provider MBMS transmission, authorize and initiate MBMS bearer services within a Public Land Mobile Network (PLMN), and schedule MBMS transmissions. The MBMS gateway 168 can allocate MBMS services to base station 102 within a Multicast-Broadcast Single Frequency Network (MBSFN) area belonging to a broadcast-specific service, and is responsible for session management (start / stop) and collecting eMBMS-related billing information.
[0036] The core network 190 may include Access and Mobility Management Functions (AMF) 192, other AMFs 193, Session Management Functions (SMF) 194, and User Plane Functions (UPF) 195. AMF 192 can communicate with Unified Data Management (UDM) 196. AMF 192 is the control node that handles signaling between UE 104 and the core network 190. Generally, AMF 192 provides QoS flow and session management. All user Internet Protocol (IP) packets are delivered through UPF 195. UPF 195 provides UE IP address allocation and other functions. UPF 195 connects to IP services 197. IP services 197 may include the Internet, intranets, IP Multimedia Subsystem (IMS), PS streaming services, and / or other IP services.
[0037] A base station may also be referred to as a gNB, Node B, Evolved Node B (eNB), access point, transceiver base station, radio base station, radio transceiver, transceiver function, Basic Services Set (BSS), Extended Services Set (ESS), Transmitter Receiver Point (TRP), or some other suitable terminology. Base station 102 provides access to EPC 160 or core network 190 for UE 104. Examples of UE 104 include cellular phones, smartphones, Session Initiation Protocol (SIP) phones, laptops, personal digital assistants (PDAs), satellite radios, GPS devices, multimedia devices, video devices, digital audio players (e.g., MP3 players), cameras, game consoles, tablets, smart devices, wearable devices, vehicles, electricity meters, air pumps, large or small kitchen appliances, healthcare devices, implants, sensors / actuators, displays, or any other similarly functional device. Some UEs in UE 104 may be referred to as IoT devices (e.g., parking timers, air pumps, toasters, vehicles, heart monitors, etc.). UE 104 may also be referred to as a station, mobile station, subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, mobile phone, user agent, mobile client, client, or some other suitable term.
[0038] While this disclosure and accompanying figures may focus on 5G New Radio (NR), the concepts described herein are applicable to other similar fields such as LTE, LTE-A Advanced, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), and / or other wireless / radio access technologies.
[0039] Figure 3This is a block diagram of a base station (BS) 310 communicating with a UE 350 in an access network according to some aspects of this disclosure. In the DL, IP packets from EPC 160 can be provided to a controller / processor 375. The controller / processor 375 implements Layer 3 and Layer 2 functionality. Layer 3 includes the Radio Resource Control (RRC) layer, and Layer 2 includes the Service Data Adaptation Protocol (SDAP) layer, the Packet Data Convergence Protocol (PDCP) layer, the Radio Link Control (RLC) layer, and the Media Access Control (MAC) layer. The controller / processor 375 provides RRC layer functionality associated with broadcasting system information (e.g., MIB, SIB), RRC connection control (e.g., RRC connection paging, RRC connection establishment, RRC connection modification, and RRC connection release), inter-Radio Access Technology (RAT) mobility, and measurement configuration for UE measurement reporting; PDCP layer functionality associated with header compression / decompression, security (encryption, decryption, integrity protection, integrity verification), and handover support functions; RLC layer functionality associated with the delivery of upper-layer packet data units (PDUs), error correction via ARQ, concatenation, segmentation, and reassembly of RLC service data units (SDUs), resegmentation of RLC data PDUs, and reordering of RLC data PDUs; and MAC layer functionality associated with mapping between logical channels and transport channels, multiplexing of MAC SDUs onto transport blocks (TBs), demultiplexing of MAC SDUs from TBs, scheduling information reporting, error correction via HARQ, priority handling, and logical channel priority ordering.
[0040] Transmit (TX) processor 316 and receive (RX) processor 370 implement Layer 1 functionality associated with various signal processing functions. Layer 1 (which includes the physical (PHY) layer) may include error detection on the transport channel, forward error correction (FEC) decoding / decoding of the transport channel, interleaving, rate matching, mapping to the physical channel, modulation / demodulation of the physical channel, and MIMO antenna processing. TX processor 316 processes the mapping to the signal constellation based on various modulation schemes (e.g., binary phase shift keying (BPSK), quadrature phase shift keying (QPSK), M-order phase shift keying (M-PSK), M-order quadrature amplitude modulation (M-QAM)). The decoded and modulated symbols can then be split into parallel streams. Each stream can then be mapped to OFDM subcarriers, multiplexed with a reference signal (e.g., a pilot) in the time and / or frequency domains, and then combined using inverse fast Fourier transform (IFFT) to produce a physical channel carrying a stream of time-domain OFDM symbols. The OFDM stream undergoes spatial pre-decoding to generate multiple spatial streams. Channel estimates from channel estimator 374 can be used to determine the decoding and modulation scheme, as well as for spatial processing. Channel estimates can be derived from reference signals and / or channel condition feedback transmitted by UE 350. Each spatial stream can then be provided to a different antenna 320 via a separate transmitter 318TX. Each transmitter 318TX can modulate an RF carrier with the corresponding spatial stream for transmission.
[0041] At UE 350, each receiver 354RX receives signals via its corresponding antenna 352. Each receiver 354RX recovers the information modulated onto the RF carrier and provides that information to the receive (RX) processor 356. The TX processor 368 and RX processor 356 implement Layer 1 functionality associated with various signal processing functions. The RX processor 356 can perform spatial processing on the information to recover any spatial stream destined for UE 350. If multiple spatial streams are destined for UE 350, the RX processor 356 can combine them into a single OFDM symbol stream. The RX processor 356 then uses a Fast Fourier Transform (FFT) to transform the OFDM symbol stream from the time domain to the frequency domain. The frequency domain signal comprises a separate OFDM symbol stream for each subcarrier of the OFDM signal. The symbols on each subcarrier, along with a reference signal, are recovered and demodulated by determining the most probable signal constellation point transmitted by base station 310. These soft decisions can be based on a channel estimate calculated by channel estimator 358. The soft decision is then decoded and deinterleaved to recover the data and control signals originally transmitted by base station 310 on the physical channel. The data and control signals are then provided to controller / processor 359, which implements layer 3 and layer 2 functionality.
[0042] The controller / processor 359 may be associated with a memory 360 that stores program code and data. The memory 360 may be referred to as a computer-readable medium. In the UL, the controller / processor 359 provides demultiplexing, packet reassembly, decryption, header decompression, and control signal processing between transport and logical channels to recover IP packets from the EPC 160. The controller / processor 359 is also responsible for error detection using ACK and / or NACK protocols to support HARQ operation.
[0043] Similar to the functionality described in conjunction with DL transmission performed by base station 310, controller / processor 359 provides RRC layer functionality associated with system information (e.g., MIB, SIB) acquisition, RRC connectivity, and measurement reporting; PDCP layer functionality associated with header compression / decompression and security (encryption, decryption, integrity protection, integrity verification); RLC layer functionality associated with upper-layer PDU delivery, error correction via ARQ, concatenation, segmentation, and reassembly of RLC SDUs, resegmentation of RLC data PDUs, and reordering of RLC data PDUs; and MAC layer functionality associated with mapping between logical channels and transport channels, multiplexing of MAC SDUs onto TBs, demultiplexing of MAC SDUs from TBs, scheduling information reporting, error correction via HARQ, priority handling, and logical channel priority ordering.
[0044] The TX processor 368 can use the reference signal transmitted from the base station 310 or the channel estimate derived from feedback by the channel estimator 358 to select an appropriate decoding and modulation scheme and facilitate spatial processing. The spatial stream generated by the TX processor 368 can be provided to different antennas 352 via individual transmitters 354TX. Each transmitter 354TX can modulate an RF carrier with the corresponding spatial stream for transmission.
[0045] UL transmission is processed at base station 310 in a manner similar to that described in conjunction with the receiver function at UE 350. Each receiver 318RX receives the signal via its corresponding antenna 320. Each receiver 318RX recovers the information modulated onto the RF carrier and provides that information to RX processor 370.
[0046] The controller / processor 375 may be associated with a memory 376 that stores program code and data. The memory 376 may be referred to as a computer-readable medium. In the UL, the controller / processor 375 provides demultiplexing, packet reassembly, decryption, header decompression, and control signal processing between transport and logical channels to recover IP packets from the UE 350. IP packets from the controller / processor 375 may be provided to the EPC 160. The controller / processor 375 is also responsible for error detection using ACK and / or NACK protocols to support HARQ operation.
[0047] According to various aspects of this disclosure, at least one of the TX processor 368, the RX processor 356, and / or the controller / processor 359 may be configured to perform operations related to... Figure 1 Various aspects of the combination. For example, the RX processor 356 can receive a synchronization acknowledgment (SYN-ACK) message destined for a device connected to the UE and sent by an application server at the network to which the UE is connected. In some aspects, the SYN-ACK message may include an application server receiver window size indicating the available buffer space in the application server's receive buffer. Furthermore, in some aspects, the controller / processor 359 may modify the receiver window size in the received SYN-ACK message before retransmitting (e.g., forwarding, transmitting, conveying, etc.) the received SYN-ACK to the connected device.
[0048] Figure 4 This is a block diagram illustrating an example architecture of a UE 400 connected to a connected device 405 according to some aspects of this disclosure. The architecture of the UE 400 may include multiple protocol stack layers, including a first layer 402 and a second layer 404. Although the architecture of the UE 400 illustrates two layers, additional and / or different layers may exist in different aspects without departing from the scope of this disclosure.
[0049] Layer 402 may include L2 functionality, such as the PDCP layer, RLC layer, and / or MAC layer. For example, Layer 402 may include MAC component 410, which can implement various functionalities of the MAC layer. In some aspects, Layer 402 may include more than one layer, including Layer 3 (L3), L2, and / or Layer 1 (L1) (e.g., L1 may include the PHY layer). For example, Layer 402 may represent one or more layers procedurally lower than Layer 404 in the protocol stack of the UE 400 architecture.
[0050] Examplely, the first layer 402 may include a flow control (FC) component 414. The FC component 414 may be implemented in hardware, software, firmware, or a combination thereof. The FC component 414 may manage at least a portion of the data flow between the first layer 402 and the second layer 404. For example, the FC component 414 may control packet flow from the second layer 404 to the first layer 402.
[0051] Layer 402 may further include MAC component 410. MAC component 410 may be implemented in hardware, software, firmware, or a combination thereof. MAC component 410 may encapsulate data (e.g., packets) from uplink buffer 412 in TBs transmitted during a transmission time interval (TTI) permitted by the uplink.
[0052] The second layer 404 may include at least one layer implemented procedurally above the first layer 402. For example, the second layer 404 may include an application layer. Accordingly, the second layer 404 may include an application 444 whose instructions can be executed by an application processor (AP) 440.
[0053] Each of the first layer 402 and the second layer 404 may include a memory in which data is queued for transmission over the wireless network. Depending on various aspects, the first layer 402 may include an uplink buffer 412, a retransmission queue 462, and an L2 pipeline queue 464. The uplink buffer 412 may include an L2 buffer and / or a modem buffer that can queue data for encapsulation in a MAC TB; therefore, the uplink buffer 412 may be configured to queue data received from a higher layer (e.g., the second layer 404) for transmission over the wireless network. The retransmission queue 462 may be configured to queue data to be retransmitted (such as packets that have been dropped, corrupted, and / or have negative acknowledgments (e.g., NACK)). The L2 pipeline queue 464 may be configured to queue data from lower layers (e.g., the first layer 402) that will be transmitted over the wireless network (such as uplink control information, HARQ ACK / NACK data, etc.). The aggregated data in the uplink buffer 412, retransmission queue 462, and L2 pipeline queue 464 can be collectively referred to as L2 data.
[0054] At layer 2 404, AP 440 may be communicatively coupled to AP-accessible memory 442. AP-accessible memory 442 may queue data (e.g., packets) to be transmitted over the wireless network, for example, for application 444. Data queued in AP-accessible memory 442 may include application data 476 generated in association with AP 440's execution of application 444. In some cases, data queued in AP-accessible memory 442 may include application data 411 or other data associated with the attached device 405 (e.g., when data is transmitted between the attached device 405 and the application server via UE 400).
[0055] The AP-accessible memory 442 may have a larger capacity than the uplink buffer 412. For example, the AP-accessible memory 442 may be configured to queue approximately two megabytes (MB) or three megabytes of data, while the uplink buffer 412 may be configured to queue approximately 512 kilobytes (kB) of data. However, other capacities are also possible in other respects.
[0056] On one hand, the AP-accessible memory 442 may include double data rate (DDR) synchronous dynamic random access memory (SDRAM) 446a. The DDR SDRAM 446a may be attached to the system cache 446b. The AP 440 may be configured to queue application data 476 in the system cache 446b and defer queuing of application data 476 in the DDR SDRAM 446a (e.g., until the system cache 446b is flushed).
[0057] In one aspect, the AP-accessible memory 442 may additionally or alternatively include on-chip memory 446c. The AP 440 may be configured to queue application data 476 in the on-chip memory 446c. If the system cache 446b is limited (e.g., due to current operation, such as video / graphics processing of the UE 400), the on-chip memory 446c may be used as an addition to and / or replacement of the system cache 446b. For example, the on-chip memory 446c may provide overflow support when the system cache 446b reaches or approaches its capacity. That is, the AP 440 may queue application data 476 in the system cache 446b until the system cache 446b reaches or approaches its capacity, after which the AP 440 may switch to queuing application data 476 in the on-chip memory 446c (e.g., until the system cache 446b is flushed).
[0058] In some aspects, the attached device 405 may be attached to the UE 400 so that the attached device can use the UE 400 as a modem to connect to a network or base station to which the UE 400 is connected and exchange data with an external or remote application server via the BS. In some aspects, the attached device 405 may include an application layer. For example, the attached device 405 may include an application 409 whose instructions can be executed by an application processor (AP) 407. The AP 407 may also be communicatively coupled to an AP-accessible memory (not shown). The AP-accessible memory may queue data (e.g., packets) to be transmitted on a communication link (e.g., linked or attached to the UE) for delivery to an external or remote application server via the UE 400. The data queued in the AP-accessible memory may include application data 411 generated in association with the execution of the application 409 by the AP 407. For example, the data could be a Transmission Control Protocol (TCP) Acknowledgment (ACK) message generated in response to a TCP data packet received at the connected device 405 during a downlink transmission from an external or remote application server via the BS and UE 400.
[0059] The size or amount of data queued in memory may be referred to as a watermark (WM). Each WM may be represented in bytes (e.g., bytes, kB, and / or MB), and the corresponding WM may correspond to the size of data currently queued in one of the AP-accessible memory 442 or the memory of the connected device 405, the uplink buffer 412, the retransmission queue 462, or the L2 pipeline queue 464. For example, the size of data in the uplink buffer 412 may be referred to as uplink WM 470, and uplink WM 470 may fluctuate as the uplink buffer 412 is emptied and refilled.
[0060] In some aspects, multiple thresholds can be configured in association with uplink buffer 412. For example, uplink buffer 412 can be configured using a high threshold 420a, a low threshold 420b, and / or a threshold not exceeding (DNE) 420c. One or more of these thresholds 420a-c can be configured by the 3GPP mode processor based on (e.g., via RRC signaling) the RRC configuration indicated to UE 400 and / or can be configured dynamically (e.g., based on historical trends observed associated with draining and refilling uplink buffer 412). Thresholds 420a-c can be compared with uplink WM 470.
[0061] According to one aspect, FC component 414 can monitor and manage one or more thresholds 420a-c. FC component 414 can transmit one or more messages 472 to AP 440. AP 440 can transmit one or more messages 474 to FC component 414. For example, when DNE threshold 420c is reached (e.g., uplink WM 470 equals or exceeds DNE threshold 420c), FC component 414 can signal AP 440 to stop sending data to uplink buffer 412. Therefore, AP 440 can continue to queue data to be transmitted on the wireless network (e.g., data from application 444) at AP-accessible memory 442 and / or AP 440 can allocate additional memory to queue the data while uplink buffer 412 is emptied (e.g., by sending or otherwise removing data from uplink buffer 412). When DNE threshold 420c is reached, data transmitted from AP 440 can be discarded because uplink buffer 412 has reached or is close to its capacity.
[0062] As another example, when the DNE threshold 420c is reached, the FC component 414 can block or suspend data exchange between the attached device 405 and an external or remote application server via the UE 400. For example, the FC component 414 can shut down the communication link between the attached device 405 and the UE 400 to prevent data from the attached device 405 from reaching the UE 400. When the DNE threshold 420c is reached, data transmitted from the AP 407 can be discarded because the uplink buffer 412 has reached or is nearing its capacity. In some cases, the FC component 414 can also signal to the attached device 405 (e.g., the AP 407) to stop sending data to the uplink buffer 412.
[0063] In another example, when a low threshold 420b is reached (e.g., uplink WM 470 is equal to or below the low threshold 420b), FC component 414 can signal to AP 440 to resume sending data to uplink buffer 412 (e.g., from AP-accessible memory 442).
[0064] In another example, when a high threshold 420a is reached (e.g., uplink WM 470 is equal to or higher than the high threshold 420a), the FC component 414 can determine that no additional data should be queued in the uplink buffer 412. The FC component 414 can generate an FC message indicating that no more data should be transmitted to the first layer 402 to be queued in the uplink buffer 412. The FC component 414 can transmit such an FC message to the second layer 404 to instruct the AP 440 to suppress the transmission of additional data to the first layer 402.
[0065] In some respects, when the uplink WM 470 is less than the high threshold 420a or the low threshold 420b, the FC component 414 can maintain the communication link between the attached device 405 and the UE 400 open, so that data can be sent from the attached device to a remote or external application server via the UE 400. For example, if the WM 470 falls below the high threshold 420a after reaching the high threshold 420a or the DNE threshold 420c, the FC component 414 can open the closed communication link so that data queued at the attached device 405 can begin to flow to the UE via that communication link (e.g., via the UE and the BS to which the UE is connected, to reach a remote or external application server). As mentioned above, an example of such data could be a TCP ACK message, which acknowledges a downlink transmission sent by the application server to the attached device 405. In some examples, when a low threshold 420b is reached (e.g., uplink WM 470 is equal to or below the low threshold 420b), FC component 414 can signal to AP 407 that the connected device 405 has resumed sending data to uplink buffer 412.
[0066] In various ways, the low threshold 420b can be configured to approximately equal the data size required to transmit at the uplink peak rate for a service value of T milliseconds (ms). As an example, T can be equal to 4 ms, each TTI can be equal to 200 microseconds (μs), and the peak MAC TB size per TTI can be equal to 8 kB. Therefore, the low threshold 420b can be configured to 160 kB, which is equal to Tms divided by the TTI duration multiplied by the peak TB size, or equivalently in this example, (4 ms / 200 μs). 8 kB. In some respects, the low threshold 420b can be configured to transmit a data size greater than the uplink peak rate required for the service value T ms—for example, the low threshold 420b can be configured to 200 kB.
[0067] The high threshold 420a can be configured to be greater than the low threshold 420b. For example, the high threshold 420a can be configured to be twice the low threshold, such as 400 kB. The DNE threshold 420c can be configured to be greater than the high threshold 420a. For example, the DNE threshold 420c can be configured to be 100 kB or 200 kB greater than the high threshold 420a. Thresholds 420a-c can be configured to have different values in other respects.
[0068] When uplink buffer 412 contains data, it can be cleared. MAC component 410 can determine an uplink WM 470 indicating the size of data currently queued in uplink buffer 412. For example, MAC component 410 can periodically poll uplink buffer 412 to receive uplink WM 470. In another example, FC component 414 can indicate to MAC component 410 that uplink WM 470 has reached at least one of a high threshold 420a or a DNE threshold 420c, and MAC component 410 can determine uplink WM 470 based on the indication from FC component 414.
[0069] Based on uplink WM 470, MAC component 410 can transmit uplink grant request 422 to the base station to obtain uplink grant for transmitting data queued in uplink buffer 412. Uplink grant request 422 may include BSR or buffer occupancy report. For example, uplink grant request 422 may be based on uplink WM 470.
[0070] In addition to uplink WM 470, MAC component 410 can also generate uplink grant request 422 based on the amount of data (e.g., packets) in retransmission queue 462 and / or L2 pipeline queue 464. Therefore, MAC component 410 can generate uplink grant request 422 based on the sum of uplink WM 470, the WM of AP-accessible memory 442, the WM of the memory of the connected device 405, the WM of retransmission queue 462, and the WM of L2 pipeline queue 464.
[0071] Figure 5This is a signaling diagram illustrating uplink (UL) buffer management by a UE connected to a coupled device according to some aspects of this disclosure. UE 502 may be UE 104, UE 204, UE 350, or UE 400, coupled device 504 may be coupled device 206 or coupled device 405, and base station (BS) 506 may be BS 102, BS 202, or BS 310. In some aspects, coupled device 504 may be communicating or exchanging data with application server 508 via BS 506, which is connected to UE 502 and application server 508. In some respects, the discussion herein regarding the connected device 504 establishing a connection to BS 506 via UE 502 and communicating or exchanging data with BS 506 can also be applied to and should be understood to include the process by which the connected device 504 establishes a connection to application server 508 via UE 502 and BS 506 and communicates or exchanges data with application server 508 (e.g., because the application server may be part of or connected to a network in which BS 506 is a part).
[0072] In some respects, the communication link connecting the connected device 504 to the UE 502 can be a Universal Serial Bus (USB) cable, an Ethernet cable, or Bluetooth. ® Connection or Wi-Fi ® Connection. In some respects, the connected device 206 may be a cellular phone, smartphone, Session Initiation Protocol (SIP) phone, laptop device, personal digital assistant (PDA), satellite radio, global positioning system, multimedia device, video device, digital audio player (e.g., MP3 player), camera, game console, tablet device, smart device, wearable device, vehicle, electricity meter, air pump, large or small kitchen appliance, healthcare device, implant, sensor / actuator, display, or any other similar functional device.
[0073] In some aspects, the coupled device 504 may use UE 502 as a modem to connect to BS 506 to which UE 502 is connected. In some aspects, the term "coupled" may refer to a device (e.g., such as the coupled device 504) using another device (e.g., such as UE 502) as a modem to connect to a network to which that other device (i.e., UE 502) is connected (e.g., and using that connection for data exchange). In some cases, the coupled device 504 may not have a connection to a network (e.g., a 5G NR, LTE, etc. network) to which BS 506 is part, and may use UE 502 to connect to an application server. For example, the application server may be a server for a main memory application, and the coupled device 504 may use UE 502 to receive data generated by that application (e.g., video, audio, etc.).
[0074] In some aspects, the transmission control protocol (TCP) for establishing a connection between the connected device 504 and BS 506 (e.g., and application server 508 connected to BS 506) can be a three-way handshake, wherein the connected device 504 initiating the connection can send a synchronization (SYN) message to application server 508, and application server 508 can acknowledge the arrival of the SYN message to connected device 504 by returning a synchronization acknowledgment (SYN-ACK) message to connected device 504. In some cases, after a connection is established between connected device 504 and BS 506 / application server 508, acknowledgments (ACKs) can be exchanged in response to received data transmissions. For example, a TCP downlink transmission including data packets can be sent from application server 508 to connected device 504 via UE 502, and connected device 504 can send an ACK back to application server 508 via UE 502 to acknowledge the arrival of the data packets.
[0075] In some aspects, the SYN and SYN-ACK messages exchanged between the connected device 504 and the application server 508 as part of establishing a TCP connection between them may include parameters controlling the data exchange between the connected device 504 and the application server 508. For example, a SYN message from the connected device 504 to the application server 508 may include the receiver window size of the connected device, which indicates to the application server 508 the maximum amount of data that the connected device 504 is configured to receive and buffer from the application server 508 (e.g., before an ACK must be sent to the application server 508 as an acknowledgment of the received data). In some respects, the SYN-ACK message from application server 508 to the attached device 504 may include the receiver window size of application server 508, which indicates to attached device 504 the maximum amount of data that application server 508 is configured to receive and buffer from attached device 504 (e.g., before an ACK must be sent to attached device 504 as an acknowledgment of the received data), i.e., the available buffer space in the receive buffer of application server 508.
[0076] In some aspects, as referenced above Figure 4 The UE 502 discussed may have an associated buffer (e.g., an uplink (UL) buffer 412). For example, the UE 502, which acts as a modem for the attached device 504 and facilitates data exchange between the attached device 504 and the application server 508, may have an uplink buffer for UL data sent from the attached device 504 to the application server 508. In some aspects, when the UE 502's UL buffer is full, the UE 502 may shut down the communication link between the attached device 504 and the UE 502, or otherwise prevent the transmission of UL data from the attached device 504.
[0077] For example, the UL buffer of UE 502 may have an associated UL buffer threshold, wherein when the uplink watermark of UE 502 (i.e., the amount of data in the buffer of UE 502) exceeds the UL buffer threshold, UE 502 closes the communication link between UE 502 and the attached device 504, so that data cannot flow from the latter to the former until the communication link is reopened. In some cases, instead of or attached to closing the communication link, UE 502 may signal to the attached device 504 to stop sending data to UE 502 (e.g., data destined for application server 508) until UE 502 conversely signals to the attached device 504. In some instances, the UL buffer threshold may include multiple thresholds (e.g., refer to...). Figure 4(The low, high, and DNE thresholds discussed), and when the buffer's WM exceeds the high threshold or DNE threshold, UE 502 may shut down the communication link and / or signal the connected device 504 to stop sending additional data to UE 502.
[0078] In some respects, when the WM of the UL buffer of UE 502 exceeds the UL buffer threshold, the communication link between UE 502 and the attached device 504 may dynamically and repeatedly close and open, causing delays in the UL transmission of ACKs from the attached device 504 to the application server 508. For example, the application server 508 and the attached device may be communicating, and an application running on the application server 508 may send data packets as TCP DL transmissions via BS 506 and UE 502 to the attached device 504. For example, the application server 508 may send TCP DL data packets according to the scheduling of each previously DL-approved downlink (DL) transmission.
[0079] Upon receiving a TCP DL data packet, in some cases, the attached device 504 may generate a TCP ACK message to acknowledge the arrival of the TCP DL data packet and send the ACK to UE 502 for further transmission to application server 508. In such cases, if buffering the TCP ACK message at UE 502's UL buffer (e.g., along with any other UL data sent by the attached device 504) causes the WM of UE 502's UL buffer to exceed the UL buffer threshold, then UE 502 may receive at most a portion of the data sent by the attached device 504 (e.g., the maximum portion received so that the WM does not exceed the UL buffer threshold) and close the communication link between UE 502 and the attached device 504 until the WM drops below the UL buffer threshold (e.g., in this case, UE 502 may reopen the communication link to allow at least some of the remaining sent data to reach UE 502's UL buffer). In some cases, this process may repeat, causing a TCP ACK sent by the connected device 504 and destined for the application server 508 to stall at the UE 502, resulting in an increased round-trip time (RTT) between the connected device 504 and the application server 508. This, in turn, may affect (e.g., delay or reduce) the scheduling of DL transmissions from the application server 508 to the connected device 504. In some cases, RTT refers to the round-trip time between the sender sending a data packet or signal to the receiver and receiving an ACK from the receiver in return acknowledging the arrival of the data packet or signal at the receiver. In some aspects, the UE may monitor the RTT of the communication loop between the application server and the connected device. In some aspects, the communication loop may include the application server sending data to the connected device via the UE and receiving an acknowledgment at the application server after the connected device sends an acknowledgment via the UE in response to receiving the data at the connected device. In some aspects, the UE may determine the increase of RTT over time based on monitoring the RTT. In some cases, the UE can modify the application server receiver window size based on the determined RTT as it increases over time.
[0080] Some aspects of this disclosure disclose mechanisms for managing the UL buffer at the UE, such that UL transmissions from devices connected to the UE destined for external or remote application servers do not stall at the UE due to UL buffer overflow or fullness. In some aspects, references... Figure 5 Device 504 can be connected via a communication link (such as, but not limited to, USB cable, Ethernet cable, Bluetooth). ® Connectivity, Wi-Fi ®The connected device 504 is attached to UE 502 to establish a TCP connection to application server 508 via BS 506, to which UE 502 is connected, using UE 502 as a modem. In some aspects, to establish a TCP connection with application server 508, the attached device 504 can initiate a three-way handshake by sending a SYN message 510 to application server 508 (e.g., via UE 502 and BS 506). In some instances, the SYN message 510 may include parameters related to data transmission and reception at the attached device 504, such as, but not limited to, the attached device transmit window size indicating the available buffer space in the transmitted buffer of the attached device 504, and the attached device receive window size indicating the available buffer space in the received buffer of the attached device 504 (e.g., the maximum amount of data the attached device 504 is configured to receive and buffer from application server 508, for example, before an ACK must be sent to application server 508 as an acknowledgment of the received data). In some cases, the size of the transmitted window of the connected device may also be constrained by the size of the receiver window of the application server 508. That is, the size of the transmitted window of the connected device may not be larger than the size of the receiver window of the application server 508 (for example, except that it is constrained by the transmitted buffer of the connected device 504 (i.e., not larger than the transmitted buffer of the connected device)).
[0081] In some aspects, upon receiving a SYN message 510 from the connected device 504, the application server 508 may generate a SYN-ACK message 512 acknowledging the arrival of the SYN message 510 at the application server 508 and transmit the SYN-ACK 512 to the UE 502 for further transmission to the connected device 504. In some aspects, the SYN-ACK message 512 may include parameters related to data transmission and reception at the application server 508, such as, but not limited to, the application server transmission window size indicating the available buffer space in the application server 508's transmission buffer, and the application server receive window size indicating the available buffer space in the application server 508's receive buffer (e.g., the maximum amount of data that the application server 504 is configured to receive and buffer from the connected device 504, for example, before an ACK must be transmitted to the connected device 508 as acknowledgment of the received data). In some cases, the application server's transmission window size may also be constrained by the receiver window size of the connected device 504, that is, the application server's transmission window size may not be larger than the receiver window size of the connected device 504 (for example, except that it may be constrained by the transmission buffer of the application server 508 (i.e., not larger than the application server's transmission buffer)).
[0082] In some aspects, upon receiving a SYN-ACK message 512 from application server 508, UE 502 may modify the received SYN-ACK message 512 to change at least some parameters of application server 508 related to the transmission and reception of data at application server 508. That is, in some aspects, UE 502 may intercept a SYN-ACK message 512 destined for connected device 504 and modify at least some parameters of application server 508 related to the transmission and reception of data at application server 508. In some cases, modification of these parameters may include modifying the receiver window size of application server 508 included in the SYN-ACK message 512. For example, UE 502 may modify the received or intercepted SYN-ACK message 512 to change (e.g., reduce) the receiver window size of application server 508 in the SYN-ACK message 512 such that the receiver window size may not exceed the UL buffer threshold of UE 502. Furthermore, because the transmitted window size of the connected device can be limited to (i.e., not greater than) the receiver window size of the application server 508, modifying the receiver window size of the application server 508 in the SYN-ACK message 512 to be no greater than the UL buffer threshold of the UE 502 may result in the transmitted window size of the connected device also not being greater than the UL buffer threshold of the UE 502. That is, the UE 502 can modify the SYN-ACK message 512 by reducing the receiver window size of the application server 508 in the SYN-ACK message 512 to be no greater than the UL buffer threshold of the UE 502, which may result in the transmitted window size of the connected device also not being greater than the UL buffer threshold of the UE 502.
[0083] In some aspects, after modifying the SYN-ACK message 512 intercepted or received by the application server 508, the UE 502 may subsequently transmit a modified SYN-ACK message 516 to the connected device 504. In some aspects, after receiving the modified SYN-ACK message 516 from the UE 502, the connected device 504 may limit the size of the UL transmission from the connected device 504 to the application server 508 to be no greater than the UL buffer threshold of the UE 502 (e.g., because the connected device transmission window size is confined to or limited by the reduced receiver window size of the application server 508 in the modified SYN-ACK message 512 by the UE 502, wherein the reduced receiver window size is reduced by the UE 502 to be no greater than the UL buffer threshold of the UE 502). Thus, the WM of the UL buffer of UE 502 may not exceed the UL buffer threshold due to UL communication from the attached device to the application server 508, and UE 502 can keep the communication link 518 between the attached device 504 and UE 502 open. This allows UL transmissions such as acknowledgments from the attached device 504, such as TCP ACK messages indicating that TCP DL data packets sent by the application server 508 have arrived at the attached device 504, to be sent to the application server 508 without being interrupted or delayed at UE 502 due to a closed communication link (e.g., or a signal from UE 502 to the attached device 504 indicating that the attached device stops sending TCP ACK messages).
[0084] In some aspects, the attached device 504 may include multiple devices attached to the UE 502. In such cases, the sum of the attached device transmission window sizes of these multiple devices may be limited or constrained by a reduced receiver window size of the application server 508, which the UE 502 reduces to no greater than the UL buffer threshold of the UE 502. Thus, the WM of the UE 502's UL buffer may not exceed the UL buffer threshold due to UL communication from the multiple attached devices to the application server 508, and the UE 502 can keep the communication link 518 between the multiple attached devices and the UE 502 open.
[0085] Although Figure 5 The modification of the SYN-ACK from application server 508 to connected device 504 is illustrated, but the same or similar modifications can also occur in the opposite direction in terms of traffic. That is, the SYN-ACK from connected device 504 to application server 508 can be modified, at least substantially in a similar manner to those discussed herein, to control data traffic from application server 508 to connected device 504.
[0086] Figure 6This is a flowchart illustrating a wireless communication method 600. Method 600 may be performed by a UE and / or device (such as UE 104, UE 204, UE 350, UE 400, UE 502, device 702 / 702', which may include memory 360 and may be the entire UE 350 or a component of UE 350 (e.g., TX processor 368, RX processor 356, and / or controller / processor 359)). The UE and / or device may include at least a first layer (such as a PHY and / or MAC layer) and a second layer (such as an application layer). Depending on various aspects, one or more of the illustrated operations of method 600 may be omitted, interchanged, and / or performed simultaneously. As illustrated, method 600 includes multiple listed steps, but aspects of method 600 may include additional steps before, after, and between the listed steps. In some aspects, one or more of the listed steps may be omitted or performed in a different order.
[0087] In some aspects, during operation 602, the UE may receive a synchronization acknowledgment (SYN-ACK) message destined for the device connected to the UE and sent by an application server at the network to which the UE is connected. In some aspects, the SYN-ACK message may include an application server receiver window size indicating the available buffer space in the application server's receive buffer.
[0088] In some aspects, in operation 604, the UE can modify the receiver window size in the received SYN-ACK message before retransmitting (e.g., forwarding, sending, transmitting, etc.) the received SYN-ACK to the connected device.
[0089] In some aspects, for example, before modifying the receiver window size, the UE may further determine that the amount of data sent from the connected device to the application server via the UE exceeds the UE's uplink (UL) buffer threshold. In some aspects, modifying the application receiver window size includes reducing the application receiver window size to be less than or equal to the UE's UL buffer threshold.
[0090] In some aspects, the UE can further monitor the round-trip time (RTT) of the communication cycle between the application server and the connected device before modifying the receiver window size. In some aspects, the communication cycle may include the application server sending data to the connected device via the UE and the connected device receiving an acknowledgment at the application server after sending such acknowledgment via the UE in response to receiving the data at the connected device. In some aspects, the UE can determine that the RTT is increasing over time.
[0091] In some aspects, the UE can receive a synchronization (SYN) message destined for an application server and sent by the connected device to establish a transmission control protocol (TCP) connection with the network. In some aspects, the SYN may include a device receiver window size indicating the maximum amount of data the connected device is configured to receive and buffer.
[0092] In some respects, the device connected to the UE can be a personal computer connected to the UE via a communication link, including a Universal Serial Bus (USB) cable, an Ethernet cable, or Bluetooth. ® Connection or Wi-Fi ® connect.
[0093] Figure 7 Figure 700 illustrates an example of a hardware implementation of device 702. Device 702 is a UE and includes a cellular baseband processor 704 (also referred to as a modem) coupled to a cellular RF transceiver 722 and one or more Subscriber Identity Module (SIM) cards 720, an application processor 706 coupled to a Secure Digital Card (SD) card 708 and a screen 710, a Bluetooth module 712, a Wireless Local Area Network (WLAN) module 714, a Global Positioning System (GPS) module 716, and a power supply 718. The cellular baseband processor 704 communicates with the UE 104 and / or BS 102 / 180 via the cellular RF transceiver 722. The cellular baseband processor 704 may include computer-readable media / memory. The cellular baseband processor 704 is responsible for general processing, including executing software stored on the computer-readable media / memory. When executed by the cellular baseband processor 704, the software causes the cellular baseband processor 704 to perform the various functions described above. The computer-readable medium / memory can also be used to store data manipulated by the cellular baseband processor 704 during software execution. The cellular baseband processor 704 further includes a receiving component 730, a communication manager 732, and a transmitting component 734. The communication manager 732 includes one or more of the illustrated components. Components within the communication manager 732 can be stored in the computer-readable medium / memory and / or configured as hardware within the cellular baseband processor 704. The cellular baseband processor 704 can be a component of the UE 350 and can include a memory 360 and / or at least one of a TX processor 368, an RX processor 356, and a controller / processor 359. In one configuration, the device 702 can be a modem chip and includes only the baseband processor 704, and in another configuration, the device 702 can be the entire UE (e.g., see...). Figure 3 (350), and includes the aforementioned additional module of device 702.
[0094] Communication manager 732 includes SYN-ACK modifier component 740, which is configured to receive synchronization acknowledgment (SYN-ACK) messages destined for devices connected to the UE and sent by an application server at the network to which the UE is connected, for example, in combination with Figure 6 As described in section 602. In some aspects, the SYN-ACK message includes an application server receiver window size indicating the available buffer space in the application server's receive buffer. Furthermore, the SYN-ACK modifier component 740 can be configured to modify the receiver window size in the received SYN-ACK message before retransmitting the received SYN-ACK to the connected device (e.g., forwarding, sending, conveying, etc.), for example, as in conjunction with... Figure 6 As described in 604.
[0095] The device may include execution Figure 6 The additional components of each box in the algorithm's box in the aforementioned flowchart. Therefore, Figure 6 Each block in the aforementioned flowchart can be executed by a component, and the apparatus may include one or more of those components. These components may be one or more hardware components specifically configured to perform the stated process / algorithm, implemented by a processor configured to perform the stated process / algorithm, stored in a computer-readable medium for implementation by a processor, or some combination thereof.
[0096] In one configuration, apparatus 702, and particularly cellular baseband processor 704, includes components for receiving a synchronization acknowledgment (SYN-ACK) message destined for a device connected to the UE and sent by an application server at a network to which the UE is connected. In some aspects, the SYN-ACK message includes an application server receiver window size indicating the available buffer space in the application server's receive buffer. The apparatus includes components for modifying the receiver window size in the received SYN-ACK message before retransmitting (e.g., forwarding, transmitting, conveying, etc.) the received SYN-ACK to the connected device.
[0097] The aforementioned components may be one or more of the aforementioned components of device 702 configured to perform the functions described therein. As described above, device 702 may include TX processor 368, RX processor 356, and controller / processor 359. Therefore, in one configuration, the aforementioned components may be TX processor 368, RX processor 356, and controller / processor 359 configured to perform the functions described therein.
[0098] Figure 8This is a signaling diagram illustrating downlink (DL) buffer management by a UE connected to a connected device according to some aspects of this disclosure. UE 802 may be UE 104, UE 204, UE 350, or UE 400, connected device 804 may be connected device 206 or connected device 405, and base station (BS) 806 may be BS 102, BS 202, or BS 310. In some aspects, connected device 804 may be communicating or exchanging data with application server 808 via BS 806, which is connected to UE 802 and application server 808. In some respects, the discussion herein relating to the connection established by the connected device 804 to the BS 806 via the UE 802 and the communication or exchange of data with the BS is also applicable and should be understood to include the process by which the connected device 804 establishes a connection to the application server 808 via the UE 802 and the BS 806 and the communication or exchange of data with the application server (e.g., because the application server may be part of a network in which the BS 806 is a part or connected to the network).
[0099] In some respects, the communication link between the connected device 804 and the UE 802 can be a Universal Serial Bus (USB) cable, an Ethernet cable, or Bluetooth. ® Connection or Wi-Fi ® Connection. In some respects, the connected device 206 may be a cellular phone, smartphone, Session Initiation Protocol (SIP) phone, laptop device, personal digital assistant (PDA), satellite radio, global positioning system, multimedia device, video device, digital audio player (e.g., MP3 player), camera, game console, tablet device, smart device, wearable device, vehicle, electricity meter, air pump, large or small kitchen appliance, healthcare device, implant, sensor / actuator, display, or any other similar functional device.
[0100] In some aspects, the coupled device 804 may use UE 802 as a modem to connect to BS 806 to which UE 802 is connected. In some aspects, the term "coupled" may refer to a device (e.g., such as the coupled device 804) using another device (e.g., such as UE 802) as a modem to connect to a network to which that other device (i.e., UE 802) is connected (e.g., and to use that connection for data exchange). In some cases, the coupled device 804 may not have a connection to a network (e.g., 8G NR, LTE, etc.) to which BS 806 is part, and may use UE 802 to connect to an application server. For example, the application server may be a server hosting an application, and the coupled device 804 may use UE 802 to receive data generated by that application (e.g., video, audio, etc.).
[0101] In some aspects, the transmission control protocol (TCP) for establishing a connection between the connected device 804 and the BS 806 (e.g., and the application server 808 connected to the BS 806) can be a three-way handshake, wherein the connected device 804 initiating the connection may send a synchronization (SYN) message to the application server 808, and the application server 808 may acknowledge the arrival of the SYN message to the connected device 804 by returning a synchronization acknowledgment (SYN-ACK) message to the connected device 804. In some cases, after a connection is established between the connected device 804 and the BS 806 / application server 808, acknowledgments (ACKs) may be exchanged in response to received data transmissions. For example, a TCP downlink transmission including data packets may be sent from the application server 808 to the connected device 804 via the UE 802, and the connected device 804 may send an ACK back to the application server 808 via the UE 802 to acknowledge the arrival of the data packets.
[0102] In some aspects, the SYN and SYN-ACK messages exchanged between the connected device 804 and the application server 808 as part of establishing a TCP connection may include parameters controlling the data exchange between the connected device 804 and the application server 808. For example, a SYN message from the connected device 804 to the application server 808 may include the receiver window size of the connected device, which indicates to the application server 808 the maximum amount of data that the connected device 804 is configured to receive and buffer from the application server 808 (e.g., before at least one ACK must be sent to the application server 808 as acknowledgment of the received data). In some respects, the SYN-ACK message from application server 808 to the attached device 804 may include the receiver window size of application server 808, which indicates to attached device 804 the maximum amount of data that application server 808 is configured to receive and buffer from attached device 804 (e.g., before at least one ACK must be sent to attached device 804 as an acknowledgment of the received data), i.e., the available buffer space in the receive buffer of application server 808.
[0103] In some aspects, as referenced above Figure 4 As discussed, UE 802 may have an associated buffer (e.g., uplink (UL) buffer 412). For example, UE 802, which acts as a modem for the attached device 804 and facilitates data exchange between the attached device 804 and the application server 808, may have a downlink buffer for DL data sent from the application server 808 to the attached device. In some aspects, when the DL buffer of UE 802 is full, UE 802 may shut down the communication link between the application server 808 and UE 802, or otherwise prevent the transmission of DL.
[0104] For example, UE 802's DL buffer may have an associated DL buffer threshold, wherein when the uplink water level of UE 802 (i.e., the amount of data in UE 802's buffer) exceeds the DL buffer threshold, UE 802 closes the communication link between UE 802 and application server 808, so that data cannot flow from the latter to the former until the communication link is reopened. In some cases, instead of closing the communication link, or in addition to closing the communication link, UE 802 may signal application server 808 to stop transmitting data to UE 802 (e.g., data destined for application server 808) until UE 802 conversely signals the connected device 804. In some instances, the DL buffer threshold may include multiple thresholds.
[0105] Some aspects of this disclosure disclose mechanisms for DL buffer management for a UE, ensuring that DL transmissions from a network-side transmitting device to a connected device do not stall at the UE due to DL buffer overflow or fullness. In some aspects, references... Figure 8 Device 804 can be connected via a communication link (such as, but not limited to, USB cable, Ethernet cable, Bluetooth). ® Connectivity, Wi-Fi ® A connection (such as a link) is attached to UE 802 to establish a TCP connection to application server 808 via BS 806, to which UE 802 is connected. In some aspects, BS 806 and / or application server 808 may communicate TCP packets with the attached UE in both the UL and DL directions. TCP packets may include TCP data, TCP ACK, and / or combinations thereof. At 810, UE 802 may detect service conditions associated with the service between the attached device 804 and BS 806. For example, UE 802 may determine that its DL buffer and / or UL buffer have exceeded corresponding thresholds.
[0106] At action 812, the connected device 804 sends a TCP packet, and the UE 802 receives the TCP packet. At action 814, based on the determination at action 810, the UE 802 modifies the TCP packet to indicate window size or buffer-related parameters. For example, the UE 802 may modify the TCP packet to indicate a "window full" and / or "zero window" scenario for the receiver (connected device 804). In some aspects, modifying the TCP packet includes modifying the window size field in the TCP packet. In some aspects, the window size field is located in the header of the TCP packet.
[0107] At action 816, UE 802 sends a modified TCP packet including a window size indication, and application server 808 receives the modified TCP packet including the window size indication via BS 806. In some respects, the modified TCP packet simulates that the buffer of the receiving device (attached device 804) is near full or full, even if the receiving device's buffer is not actually full. Conversely, it should be understood that sending the modified TCP packet allows UE 802 to avoid scenarios where its own buffer (acting as an intermediary between application server 808 and attached device 804) is overloaded, as explained above.
[0108] Although Figure 8 The modification of TCP packets from the connected device 804 to the application server 808 is shown, but the same or similar modifications can also occur in the opposite direction of the service.
[0109] Figure 9This is a signaling diagram illustrating DL buffer management by a UE connected to a linked device according to some aspects of this disclosure. UE 902 may be UE 104, UE 204, UE 350, or UE 400, linked device 904 may be linked device 206 or linked device 405, and base station (BS) 906 may be BS 102, BS 202, or BS 310. In some aspects, linked device 904 may be communicating or exchanging data with application server 908 via BS 906, which is connected to UE 902 and application server 908. In some respects, the discussion herein relating to the connection established by the connected device 904 to the BS 906 via the UE 902 and the communication or exchange of data with the BS is also applicable and should be understood to include the process by which the connected device 904 establishes a connection to the application server 908 via the UE 902 and the BS 906 and the communication or exchange of data with the application server (e.g., because the application server may be part of a network in which the BS 906 is a part or connected to the network).
[0110] Figure 9 The method 900 shown may include the methods described above regarding Figure 8 Similar aspects are explained. For example, method 900 may also include a TCP handshake process and the exchange of TCP packets. In method 900, UE 902 may generate its own TCP messages simulating a full or zero window, instead of modifying TCP packets from the connected device 904.
[0111] At action 912, application server 908 sends a TCP packet, and UE 902 receives the TCP packet and forwards it to the connected device 904. At action 914, UE 802 can detect service conditions associated with the service between connected device 804 and BS 806. For example, UE 802 can determine that its DL buffer and / or UL buffer have exceeded the corresponding threshold.
[0112] At action 916, based on the determination at action 914, UE 902 generates a TCP packet to indicate window size or buffer-related parameters. For example, UE 902 may generate a TCP ACK message indicating a "window full" and / or "zero window" scenario for the receiver (attached device 904). In some aspects, generating the TCP packet includes filling the window size field in the TCP packet. In some aspects, the window size field is located in the header of the TCP packet.
[0113] At action 918, UE 902 sends a TCP packet including a window size indication, and application server 908 receives the TCP packet including a window size indication via BS 906. In some respects, the TCP packet simulates for application server 908 that the buffer of the receiving device (attached device 904) is near full or full, even if the receiving device's buffer is not actually full. Conversely, it should be understood that sending the TCP packet allows UE 902 to avoid scenarios where its own buffer (acting as an intermediary between application server 908 and attached device 904) is overloaded, as explained above.
[0114] Although Figure 9 The modification of TCP packets from the connected device 904 to the application server 908 is shown, but the same or similar modifications can also occur in the opposite direction of the service.
[0115] Reference to some aspects of the present disclosure
[0116] Aspect 1. A method of wireless communication performed by a user equipment (UE), the method comprising: receiving a transmit control protocol (TCP) packet from a device connected to the UE, the TCP packet being destined for an application server at a network to which the UE is connected, the TCP packet including a window size indicating available buffer space in a receive buffer of the device connected to the UE; modifying the window size in the received TCP packet to indicate that the receive buffer of the device connected to the UE is full; and sending the TCP packet to the application server.
[0117] Aspect 2. The method according to aspect 1, the method further comprising: determining, before modifying the window size, that the amount of data sent by the application server via the UE to the device connected to the UE exceeds a downlink (DL) buffer threshold of the UE.
[0118] Aspect 3. The method according to any one of Aspects 1 to 2, wherein the TCP packet includes a TCP acknowledgment (ACK).
[0119] Aspect 4. The method according to any one of Aspects 1 to 3, wherein modifying the window size includes modifying the window size to indicate that the window is full.
[0120] Aspect 5. The method according to any one of Aspects 1 to 3, wherein modifying the window size includes modifying the window size to indicate a zero-window condition.
[0121] Aspect 6. A method for wireless communication performed by a user equipment (UE), the method comprising: determining that the amount of data transmitted by an application server via the UE to a device connected to the UE exceeds a downlink (DL) buffer threshold of the UE; generating a transmission control protocol (TCP) packet destined for an application server at a network to which the UE is connected, the TCP packet including a window size indicating that the receive buffer of the device connected to the UE is full; and transmitting the TCP packet to the application server.
[0122] Aspect 7. The method according to aspect 6, wherein the TCP packet includes a TCP acknowledgment (ACK).
[0123] Aspect 8. The method according to any one of Aspects 6 to 7, wherein the TCP packet indicates that the window is full.
[0124] Aspect 9. The method according to any one of Aspects 6 to 7, wherein the TCP packet indicates a zero-window condition.
[0125] Aspect 10. A user equipment (UE) comprising: one or more processors; and one or more memories communicating with the one or more processors, the one or more memories including computer program instructions executable by the one or more processors to cause the UE to perform any one of Aspects 1 to 5.
[0126] Aspect 11. A user equipment (UE) comprising: one or more processors; and one or more memories communicating with the one or more processors, the one or more memories including computer program instructions executable by the one or more processors to cause the UE to perform any one of Aspects 6 to 9.
[0127] Aspect 12. A non-transitory computer-readable medium having program code recorded thereon, wherein the program code is executable by one or more processors of a user equipment (UE) to cause the UE to perform any one of aspects 1 to 5.
[0128] Aspect 13. A non-transitory computer-readable medium having program code recorded thereon, wherein the program code is executable by one or more processors of a user equipment (UE) to cause the UE to perform any one of aspects 6 to 9.
[0129] Aspect 14. A UE, the UE comprising a component for performing an action according to any one of aspects 1 to 5.
[0130] Aspect 15. A UE, the UE comprising a component for performing an action according to any one of aspects 6 to 9.
[0131] It should be understood that the specific order or hierarchy of boxes in the disclosed process / flowcharts is merely illustrative of the example method. It should be understood that the specific order or hierarchy of boxes in the process / flowcharts can be rearranged based on design preferences. Furthermore, some boxes can be combined or omitted. The appended method claims present elements of various boxes in a sample order, but are not intended to limit one to the specific order or hierarchy presented.
[0132] The foregoing description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but are to be consistent with the full scope of the language claims, wherein elements referred to in the singular are not intended to mean “one and only one”, but rather “one or more” unless specifically stated otherwise. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or superior to other aspects. Unless specifically stated otherwise, the term “some” refers to one or more. Combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” include any combination of A, B, and / or C, and may include multiple A, multiple B, or multiple C. Specifically, combinations such as "at least one of A, B, or C", "one or more of A, B, or C", "at least one of A, B, and C", "one or more of A, B, and C", and "A, B, C, or any combination thereof" can be A only, B only, C only, A and B, A and C, B and C, or A and B and C, wherein any such combination may include one or more members of A, B, or C. All structural and functional equivalents of the various aspects described throughout this disclosure, whether currently or hereafter known to those skilled in the art, are expressly incorporated herein by reference and are intended to be covered by the claims. Furthermore, nothing disclosed herein is intended to be offered to the public, whether or not such disclosure is explicitly recited in the claims. Terms such as "module," "mechanism," "element," and "device" cannot replace the term "component." Therefore, no claim element will be interpreted as a functional component unless the element is explicitly recited using the phrase "component for..."
Claims
1. A method for wireless communication performed by a user equipment (UE), the method comprising: The device connected to the UE receives a Transmit Control Protocol (TCP) packet, the TCP packet being destined for an application server at the network to which the UE is connected. The TCP packet includes a window size, which indicates the available buffer space in the receive buffer of the device connected to the UE; as well as Modify the window size in the received TCP packet to indicate that the receive buffer of the device connected to the UE is full; as well as The TCP packet is sent to the application server.
2. The method according to claim 1, further comprising: Before modifying the window size, it is determined that the amount of data sent by the application server via the UE to the device connected to the UE exceeds the downlink (DL) buffer threshold of the UE.
3. The method of claim 1, wherein the TCP packet includes a TCP acknowledgment (ACK).
4. The method of claim 1, wherein modifying the window size includes modifying the window size to indicate that the window is full.
5. The method of claim 1, wherein modifying the window size includes modifying the window size to indicate a zero-window state.
6. A method for wireless communication performed by a user equipment (UE), the method comprising: It is determined that the amount of data sent by the application server to the device connected to the UE via the UE exceeds the downlink (DL) buffer threshold of the UE; Generate a Transmission Control Protocol (TCP) packet, the TCP packet being destined for an application server at the network to which the UE is connected. The TCP packet includes a window size, which indicates that the receive buffer of the device connected to the UE is full; and The TCP packet is sent to the application server.
7. The method of claim 6, wherein the TCP packet includes a TCP acknowledgment (ACK).
8. The method of claim 6, wherein the TCP packet indication window is full.
9. The method of claim 6, wherein the TCP packet indicates a zero-window condition.
10. A user equipment (UE), the user equipment (UE) comprising: One or more processors; and One or more memories, the one or more memories communicating with the one or more processors, the one or more memories including computer program instructions executable by the one or more processors to cause the UE to: The device connected to the UE receives a Transmit Control Protocol (TCP) packet, the TCP packet being destined for an application server at the network to which the UE is connected. The TCP packet includes a window size, which indicates the available buffer space in the receive buffer of the device connected to the UE; as well as Modify the window size in the received TCP packet to indicate that the receive buffer of the device connected to the UE is full; as well as The TCP packet is sent to the application server.
11. The method of claim 10, wherein the computer program instructions are further configured to cause the UE to: determine, before modifying the window size, that the amount of data sent by the application server via the UE to the device connected to the UE exceeds a downlink (DL) buffer threshold of the UE.
12. The method of claim 10, wherein the TCP packet includes a TCP acknowledgment (ACK).
13. The method of claim 10, wherein the computer program instructions are configured to cause the UE to modify the window size, including the computer program instructions being configured to cause the UE to modify the window size to indicate a full window condition.
14. The method of claim 10, wherein the computer program instructions configured to cause the UE to modify the window size include the computer program instructions being configured to cause the UE to modify the window size to indicate a zero-window state.
15. A user equipment (UE), the user equipment (UE) comprising: One or more processors; and One or more memories, the one or more memories communicating with the one or more processors, the one or more memories including computer program instructions executable by the one or more processors to cause the UE to: It is determined that the amount of data sent by the application server to the device connected to the UE via the UE exceeds the downlink (DL) buffer threshold of the UE; Generate a Transmission Control Protocol (TCP) packet, the TCP packet being destined for an application server at the network to which the UE is connected. The TCP packet includes a window size, which indicates that the receive buffer of the device connected to the UE is full; and The TCP packet is sent to the application server.
16. The method of claim 15, wherein the TCP packet includes a TCP acknowledgment (ACK).
17. The method of claim 15, wherein the TCP packet indication window is full.
18. The method of claim 15, wherein the TCP packet indicates a zero-window condition.
19. A method for wireless communication performed by a user equipment (UE), the method comprising: Receive a packet destined for a second wireless communication device from a first wireless communication device, the packet including an indication of available buffer space in the buffer of the first wireless communication device; as well as Modify the packet to indicate that the buffer of the first wireless communication device is full; as well as The packet is sent to the second wireless communication device.
Citation Information
Patent Citations
Methods and system for managing uplink buffer at user equipment in tethered call mode
US11770733B2