Systems and methods for managing transmission control protocol (TCP) acknowledgement (ACK) sending
Patent Information
- Application Number
- CN202180059785.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-13
- Filing Date
- 2021-07-14
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2041-07-14
Smart Images

Figure CN116235578B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 305,687, filed July 13, 2021, and U.S. Provisional Patent Application No. 63 / 057,225, filed July 27, 2020, both of which are incorporated herein by reference in their entirety, as if fully set forth herein and used for all applicable purposes. Technical Field
[0003] This disclosure generally relates to communication systems, and more specifically, to systems and methods for managing the transmission control protocol (TCP) acknowledgment (ACK) transmission. Background Technology
[0004] Wireless communication systems are widely deployed to provide a variety of telecommunications services such as telephone communication, video, data, messaging, and broadcasting. Typical wireless communication systems may employ multiple access technologies capable of supporting communication with multiple users by sharing available system resources. Examples of such multiple access system technologies include Code Division Multiple Access (CDMA) systems, Time Division Multiple Access (TDMA) systems, Frequency Division Multiple Access (FDMA) systems, Orthogonal Frequency Division Multiple Access (OFDMA) systems, Single Carrier Frequency Division Multiple Access (SC-FDMA) systems, and Time Division Synchronous Code Division Multiple Access (TD-SCDMA) systems.
[0005] These multiple access technologies have been adopted in various telecommunications standards to provide a common protocol enabling different wireless devices to communicate at the municipal, national, regional, and even global levels. An example telecommunications standard is 5G New Radio (NR). 5G NR is part of the Continuous Mobile Broadband Evolution program promulgated by the 3rd Generation Partnership Project (3GPP) to meet new requirements associated with latency, reliability, security, scalability (e.g., with the Internet of Things (IoT), and other requirements). 5G NR includes services associated with enhanced mobile broadband (eMBB), massive machine-type communications (mMTC), and ultra-reliable low-latency communications (URLLC). Some aspects of 5G NR can be based on the 4G Long Term Evolution (LTE) standard. There is a need for further improvements to 5G NR technology. These improvements can also be applied to other multiple access technologies and telecommunications standards that adopt them. 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 comprehensive overview of all anticipated aspects, nor is it intended to identify all important or key 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 an introduction to the more detailed description that follows.
[0007] This disclosure discloses a method for wireless communication performed by a user equipment (UE). The method includes detecting the availability of buffer space in a memory buffer of a modem of the UE. The method also includes detecting that a host processor of the UE lacks sufficient credits for transmitting data from the host processor to the modem. The method further includes generating a Data Flow Control (DFC) command that includes sufficient credits for the host processor to transmit at least a portion of the data to the modem based on the amount of buffer space. Furthermore, the method includes sending the DFC command from the modem to the host processor. Additionally, the method includes receiving at least a portion of the data from the host processor by the modem in response to sending the DFC command.
[0008] Some aspects of this disclosure disclose a user equipment (UE) including a processor and a transceiver. The processor can be configured to detect the availability of buffer space in the memory buffer of the UE's modem. Furthermore, the processor can be configured to detect that the UE's host processor lacks sufficient credits for transmitting data from the host processor to the modem. Additionally, the processor can be configured to generate a Data Flow Control (DFC) command that includes sufficient credits for the host processor to transmit at least a portion of the data to the modem based on the amount of buffer space. In some aspects, the transceiver can be configured to send the DFC command from the modem to the host processor. Furthermore, the transceiver can be configured to receive at least a portion of the data from the host processor by the modem in response to sending the DFC command.
[0009] Some aspects of this disclosure disclose a non-transitory computer-readable medium (CRM) having program code recorded thereon. In some aspects, the program code includes code for causing a user equipment (UE) to detect the availability of buffer space in the memory buffer of the UE's modem. Furthermore, the program code includes code for causing the UE to detect that the UE's host processor lacks sufficient credit for transmitting data from the host processor to the modem. Furthermore, the program code includes code for causing the UE to generate a data flow control (DFC) command, the DFC command including sufficient credit for the host processor to transmit at least a portion of the data to the modem based on the amount of buffer space. Furthermore, the program code includes code for causing the UE to send the DFC command from the modem to the host processor. Furthermore, the program code includes code for causing the UE to receive at least a portion of the data from the host processor by the modem in response to sending the DFC command.
[0010] Some aspects of this disclosure disclose a user equipment (UE) including components for detecting the availability of buffer space in a memory buffer of a modem of the UE. The UE also includes components for detecting that the host processor of the UE lacks sufficient credit for transmitting data from the host processor to the modem. Furthermore, the UE includes components for generating a Data Flow Control (DFC) command, the command including sufficient credit for the host processor to transmit at least a portion of the data to the modem based on the amount of buffer space. Additionally, the UE includes components for transmitting the DFC command from the modem to the host processor. Furthermore, the UE includes components for receiving at least a portion of the data from the host processor by the modem in response to transmitting the DFC command.
[0011] Other aspects, features, and embodiments will become apparent to those skilled in the art after reviewing the following description of specific exemplary embodiments in conjunction with the accompanying drawings. While features may be discussed with respect to certain embodiments and the drawings below, all embodiments may include one or more advantageous features discussed herein. In other words, while one or more embodiments may be discussed as having certain advantageous features, one or more of these features may also be used according to the various embodiments discussed herein. Similarly, while exemplary embodiments may be discussed below as embodiments of devices, systems, or methods, it should be understood that such exemplary embodiments may be implemented in various devices, systems, and methods. Attached Figure Description
[0012] Figure 1 This is a diagram illustrating examples of wireless communication systems and access networks according to some aspects of this disclosure.
[0013] Figure 2A , Figure 2B , Figure 2C and Figure 2D The diagram illustrates examples of a first 5G / NR frame, a DL channel within a 5G / NR subframe, a second 5G / NR frame, and a UL channel within a 5G / NR subframe, respectively, according to some aspects of this disclosure.
[0014] Figure 3 This is a diagram illustrating examples of base stations and user equipment (UEs) in an access network according to some aspects of this disclosure.
[0015] Figure 4 This is a block diagram illustrating an example architecture of a UE according to some aspects of this disclosure.
[0016] Figure 5 This is a diagram illustrating an example of the ejection rate of the memory buffer of a UE modem according to some aspects of this disclosure.
[0017] Figure 6This is a flowchart of a wireless communication method according to some aspects of this disclosure.
[0018] Figure 7 This is a diagram illustrating an example of a hardware implementation of a processing system according to some aspects of this disclosure. Detailed Implementation
[0019] The specific embodiments given below with reference to the accompanying drawings are intended as descriptions of various configurations, and not as representing the only configuration in which the concepts described herein can be practiced. The specific embodiments include detailed descriptions intended to provide a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that these concepts can be practiced without these specific details. In some cases, well-known structures and components are shown in block diagram form to avoid obscuring these concepts.
[0020] Several aspects of a telecommunications system will now be described with reference to various apparatuses and methods. These apparatuses and methods will be described in detail below and illustrated in the accompanying drawings through various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as “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 entire system.
[0021] For example, an element, any part of an element, or any combination of elements can 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, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functions described throughout this disclosure. One or more processors in a processing system can execute software. Software can be broadly interpreted as 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., whether referred to as software, firmware, middleware, microcode, hardware description languages, or others.
[0022] Therefore, in one or more example aspects, the described functionality can be implemented in hardware, software, or any combination thereof. If implemented in software, the functionality can be stored on a computer-readable medium or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media include 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 disk storage, magnetic disk storage, other magnetic storage devices, combinations of computer-readable media of the types described above, or any other medium that can be used to store computer-executable code in the form of computer-accessible instructions or data structures.
[0023] Figure 1 This is a diagram illustrating an example of a wireless communication system and access network 100. The wireless communication system (also referred to as a wireless wide area network (WWAN)) includes base station 102, UE 104, evolved packet core (EPC) 160, and another core network 190 (e.g., a 5G core (5GC)). 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.
[0024] 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 a first 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 a second backhaul link 184. Among other functions, base station 102 can perform one or more of the following functions: user data transmission, 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 device tracking, RAN information management (RIM), paging, location, and warning message delivery. Base station 102 can communicate directly or indirectly with each other (e.g., via EPC 160 or core network 190) via third backhaul link 134 (e.g., X2 interface). First backhaul link 132, second backhaul link 184 and third backhaul link 134 can be wired or wireless.
[0025] Base station 102 can communicate wirelessly with UE 104. Each base station 102 can provide communication coverage for its respective 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. Base station 102 / UE 104 can use spectrum (x component carriers) with a bandwidth of up to Y MHz per carrier (e.g., 5, 10, 15, 20, 100, 400, etc. MHz) allocated in carrier aggregation totaling up to Y x MHz for transmission in each direction. Carriers may be adjacent to each other or not. Carrier allocation may be asymmetrical relative to DL and UL (e.g., more or fewer carriers may be allocated to DL than 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).
[0026] 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 WiMedia, Bluetooth, ZigBee, Wi-Fi based on the IEEE 802.11 standard, LTE, or NR.
[0027] The wireless communication system may also include a Wi-Fi access point (AP) 150 that communicates 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) before communication to determine whether the channel is available.
[0028] Cell 102' can operate in licensed and / or unlicensed spectrum. When operating in unlicensed spectrum, cell 102' can employ NR and use the same 5GHz unlicensed spectrum as Wi-Fi AP 150. Employing NR in unlicensed spectrum can improve the coverage and / or increase the capacity of the access network.
[0029] Base station 102, whether a small cell 102' or a large-area (e.g., a macro base station), may include and / or be referred to as an eNB, gNodeB (gNB), or another type of base station. Some base stations, such as gNB 180, may 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 electromagnetic spectrum that contains radio frequency (RF). EHF ranges from 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 can extend 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 frequency (RF) 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 in conjunction with beamforming 182 to compensate for extremely high path loss and short range. The base station 180 and the UE 104 may each include multiple antennas, such as antenna elements, antenna panels, and / or antenna arrays, to facilitate beamforming.
[0030] Base station 180 may transmit beamforming signals to UE 104 in one or more transmit directions 182'. UE 104 may receive beamforming signals from base station 180 in one or more receive directions 182'. UE 104 may also transmit beamforming signals to base station 180 in one or more transmit directions. Base station 180 may receive beamforming signals from UE 104 in one or more receive directions. Base station 180 / UE 104 may perform beamforming 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.
[0031] EPC 160 may include Mobility Management Entity (MME) 162, other MMEs 164, Serving Gateway 166, Multimedia Broadcast Multicast Service (MBMS) Gateway 168, Broadcast Multicast Service Center (BM-SC) 170, and Packet Data Network (PDN) Gateway 172. MME 162 can communicate with Home Subscriber Server (HSS) 174. MME 162 is the control node that handles signaling between UE 104 and EPC 160. Typically, MME 162 provides bearer and connection management. All user Internet Protocol (IP) packets are transmitted through Serving Gateway 166, which is itself connected to PDN Gateway 172. PDN Gateway 172 provides UE IP address allocation and other functions. PDN Gateway 172 and BM-SC 170 are connected to IP Service 176. IP Service 176 may include the Internet, intranet, IP Multimedia Subsystem (IMS), PS streaming service, and / or other IP services. The BM-SC 170 provides functionality for MBMS user service provisioning and delivery. It can serve as an entry point for content provider MBMS transmissions, 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 charging information.
[0032] Core network 190 may include Access and Mobility Management Function (AMF) 192, other AMFs 193, Session Management Function (SMF) 194, and User Plane Function (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 core network 190. Typically, AMF 192 provides QoS flow and session management. All user Internet Protocol (IP) packets are transmitted through UPF 195. UPF 195 provides UE IP address allocation and other functions. UPF 195 connects to IP service 197. IP service 197 may include the Internet, intranet, IP Multimedia Subsystem (IMS), Packet Switched (PS) Streaming (PSS) service, and / or other IP services.
[0033] Base stations may include and / or be referred to as gNB, Node B, eNB, access point, base transceiver, radio base station, radio transceiver, transceiver function, Basic Services Set (BSS), Extended Services Set (ESS), Transmitter Receiver Point (TRP), or other suitable terms. Base station 102 provides UE 104 with access to EPC 160 or core network 190. 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 similar functional devices. Some UE 104 devices 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, handheld device, user agent, mobile client, client, or some other suitable term.
[0034] Refer again Figure 1In some aspects, UE 104 may determine a first amount of data in the memory of its modem. For example, the memory may be application processor-accessible memory of the application layer of UE 104. As another example, the memory may be memory within the modem of UE 104. In some aspects, UE 104 may include a determining component 198 configured to determine a first amount of data in the memory of its modem. In some aspects, UE 104 may determine that its host processor (e.g., an application layer application processor) lacks sufficient credit to send second data to the modem of UE 104. For example, determining component 198 may determine that the host processor lacks sufficient credit. In some aspects, UE 104 may generate a Data Flow Control (DFC) command or message that includes sufficient credit to send second data to the modem based on the determined first amount of data. For example, UE 104 may include a generating component 199 configured to generate a DFC command that includes sufficient credit. Furthermore, UE 104 may send the DFC command from the modem to the host processor. Furthermore, UE 104 can receive second data from the host processor via the modem based on DFC commands. In some aspects, the terms "DFC command," "DFC message," "FC command," and "FC message" are used throughout this disclosure and may be used alternatively.
[0035] Although this disclosure and accompanying figures may focus on 5G New Radio (NR), the concepts described herein can be applied 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.
[0036] Figure 2A Figure 200 is an example of the first subframe within the 5G / NR frame structure. Figure 2B Figure 230 illustrates an example of a DL channel within a 5G / NR subframe. Figure 2C Figure 250 shows an example of the second subframe within the 5G / NR frame structure. Figure 2D Figure 280 illustrates an example of a UL channel within a 5G / NR subframe. The 5G / NR frame structure can be Frequency Division Duplex (FDD), where subframes within a specific set of subcarriers (carrier system bandwidth) are dedicated to either DL or UL, or it can be Time Division Duplex (TDD), where subframes within a specific set of subcarriers (carrier system bandwidth) are dedicated to both DL and UL. Figure 2A and Figure 2CIn the provided example, the 5G / NR frame structure is assumed to be TDD, where subframe 4 is configured with slot format 28 (primarily DL), where D stands for DL, U for UL, and F for flexible use between DL and UL, and subframe 3 is configured with slot format 34 (primarily UL). Although subframes 3 and 4 show slot formats 34 and 28 respectively, any particular subframe can be configured with any of the various available slot formats 0-61. Slot formats 0 and 1 represent all DL and UL, respectively. Other slot formats 2-61 include a mixture of DL, UL, and flexible symbols. The slot format is configured for the UE via the received Slot Format Indicator (SFI) (dynamically configured via DL Control Information (DCI) or semi-statically / statically configured via Radio Resource Control (RRC) signaling). Note that the following description also applies to the TDD 5G / NR frame structure.
[0037] Other wireless communication technologies may have different frame structures and / or different channels. A frame (10 ms) can be divided into 10 subframes (1 ms) of the same size. Each subframe may include one or more time slots. Subframes may also include mini-time slots, which may contain 7, 4, or 2 symbols. Each time slot may contain 7 or 14 symbols, depending on the time slot configuration. For time slot configuration 0, each time slot may contain 14 symbols, and for time slot configuration 1, each time slot may contain 7 symbols. Symbols on the DL can be Cyclic Prefix (CP) OFDM (CP-OFDM) symbols. Symbols on the UL can be CP-OFDM symbols (for high-throughput scenarios) or Discrete Fourier Transform (DFT) Extended OFDM (DFT-s-OFDM) symbols (also known as Single Carrier Frequency Division Multiple Access (SC-FDMA) symbols) (for power-constrained scenarios; limited to single-stream transmission). The number of time slots within a subframe is based on the time slot configuration and parameter set. For slot configuration 0, different parameter sets μ0 to 4 allow 1, 2, 4, 8, and 16 slots per subframe, respectively. For slot configuration 1, different parameter sets 0 to 2 allow 2, 4, and 8 slots per subframe, respectively. Therefore, for slot configuration 0 and parameter set μ, there are 14 symbols / slots and 2... μ Time slot / subframe. Subcarrier spacing and symbol length / duration are functions of a parameter set. Subcarrier spacing can be equal to 2. μ *15kHz, where μ is the parameter set from 0 to 4. Therefore, the subcarrier spacing is 15kHz for parameter set μ = 0 and 240kHz for parameter set μ = 4. The symbol length / duration is inversely proportional to the subcarrier spacing. Figures 2A-2DExamples are provided for a slot configuration of 0 with 14 symbols per slot and a parameter set of μ=2 with 4 slots per subframe. The slot duration is 0.25 ms, the subcarrier spacing is 60 kHz, and the symbol duration is approximately 16.67 μs. Within the frame set, one or more different bandwidth portions (BWPs) of frequency division multiplexing can exist (see [link to relevant documentation]). Figure 2B Each BWP can have a specific set of parameters.
[0038] A resource grid can be used to represent the frame structure. Each time slot consists of a resource block (RB) that extends 12 consecutive subcarriers (also known as a physical RB (PRB)). The resource grid is divided into multiple resource elements (REs). The number of bits carried by each RE depends on the modulation scheme.
[0039] like Figure 2A As illustrated, some REs carry reference (pilot) signals (RS) for the UE. The RS may include a demodulated RS (DM-RS) (represented as R for a particular configuration). x (Where 100x is the port number, but other DM-RS configurations are also possible) and Channel State Information Reference Signal (CSI-RS) are used for channel estimation at the UE. RS may also include Beam Measurement RS (BRS), Beam Refinement RS (BRRS), and Phase Tracking RS (PT-RS).
[0040] Figure 2B The diagram illustrates examples of various DL channels within a subframe of a frame. The Physical Downlink Control Channel (PDCCH) carries DCIs within one or more Control Channel Elements (CCEs), each CCE comprising nine RE Groups (REGs), each REG comprising four consecutive REs in an OFDM symbol. A PDCCH within a BWP can be referred to as a Control Resource Set (CORESET). Additional BWPs can be located at higher and / or lower frequencies across the entire cross-channel bandwidth. The Primary Synchronization Signal (PSS) can be located within symbol 2 of a specific subframe of the frame. The PSS is used by UE 104 to determine subframe / symbol timing and physical layer identification. The Secondary Synchronization Signal (SSS) can be located within symbol 4 of a specific subframe of the frame. The UE uses the SSS to determine the Physical Layer Cell Identifier Group Number and radio frame timing. Based on the Physical Layer Identifier and Physical Layer Cell Identifier Group Number, the UE can determine the Physical Cell Identifier (PCI). Based on the PCI, the UE can determine the location of the aforementioned DM-RS. The Physical Broadcast Channel (PBCH), carrying the Master Information Block (MIB), can be logically grouped with the PSS and SSS to form a Synchronization Signal (SS) / PBCH block (also known as an SS block (SSB)). The MIB provides the number of RBs in the system bandwidth and the System Frame Number (SFN). The Physical Downlink Shared Channel (PDSCH) carries user data, broadcast system information not transmitted via the PBCH (such as System Information Blocks (SIBs)), and paging messages.
[0041] like Figure 2C As illustrated, some REs carry DM-RS (denoted as R for a specific configuration, but other DM-RS configurations are possible) for channel estimation at the base station. The UE can transmit DM-RS for the Physical Uplink Control Channel (PUCCH) and DM-RS for the Physical Uplink Shared Channel (PUSCH). The PUSCH DM-RS can be transmitted in the first or first two symbols of the PUSCH. The PUCCH DM-RS can be transmitted in different configurations depending on whether a short or long PUCCH is transmitted and the specific PUCCH format used. The UE can transmit a Sounding Reference Signal (SRS). The SRS can be transmitted in the last symbol of a subframe. The SRS can have a comb structure, and the UE can transmit the SRS on one of these comb structures. The SRS can be used by the base station for channel quality estimation to enable frequency-dependent scheduling on the UL.
[0042] Figure 2D The illustration shows examples of various UL channels within a subframe of a frame. The PUCCH can be positioned as indicated in one configuration. The PUCCH carries uplink control information (UCI), such as scheduling requests, channel quality indicators (CQI), precoding matrix indicators (PMI), rank indicators (RI), and hybrid automatic repeat request (HARQ) ACK / NACK feedback. The PUCCH carries data and can additionally be used to carry buffer status reports (BSR), power headroom reports (PHR), and / or UCI.
[0043] Figure 3This is a block diagram illustrating communication between base station 310 and UE 350 in the access network. In the DL, IP packets from EPC 160 can be provided to controller / processor 375. Controller / processor 375 implements Layer 3 and Layer 2 functions. Layer 3 includes the Radio Resource Control (RRC) layer, and Layer 2 includes the Serving Data Adaptation Protocol (SDAP) layer, Packet Data Convergence Protocol (PDCP) layer, Radio Link Control (RLC) layer, and Media Access Control (MAC) layer. The controller / processor 375 provides RRC layer functions 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 of UE measurement reports; PDCP layer functions associated with header compression / decompression, security (encryption, decryption, integrity protection, integrity verification), and handover support functions; RLC layer functions associated with transmission 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 functions 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 processing, and logical channel priority ordering.
[0044] Transmit (TX) processor 316 and receive (RX) processor 370 implement Layer 1 functions 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) encoding / 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-phase shift keying (M-PSK), M-quadrature amplitude modulation (M-QAM)). The encoded and modulated symbols can then be divided 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 streams are spatially precoded to produce multiple spatial streams. The channel estimate from channel estimator 374 can be used to determine coding and modulation schemes, as well as for spatial processing. The channel estimate can be derived from a reference signal 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 its respective spatial stream for transmission.
[0045] At UE 350, each receiver 354RX receives signals through its respective antenna 352. Each receiver 354RX recovers the information modulated onto the RF carrier and provides this information to the receive (RX) processor 356. The TX processor 368 and RX processor 356 implement Layer 1 functions 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, they can be combined by the RX processor 356 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 consists of a separate OFDM symbol stream for each subcarrier of the OFDM signal. The symbols and reference signals on each subcarrier are recovered and demodulated by determining the most probable signal constellation points transmitted by base station 310. These soft decisions can be based on channel estimates 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 functions.
[0046] 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 the 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.
[0047] Similar to the functions described in conjunction with DL transmissions performed by base station 310, controller / processor 359 provides RRC layer functions associated with system information (e.g., MIB, SIB) acquisition, RRC connectivity, and measurement reporting; PDCP layer functions associated with header compression / decompression and security (encryption, decryption, integrity protection, integrity verification); RLC layer functions associated with upper-layer PDU transmission, 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 functions 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 processing, and logical channel priority ordering.
[0048] The channel estimate derived by the channel estimator 358 from the reference signal or feedback transmitted by the base station 310 can be used by the TX processor 368 to select a suitable coding 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 its own spatial stream for transmission.
[0049] 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 signals through its respective antenna 320. Each receiver 318RX recovers the information modulated onto the RF carrier and provides the information to RX processor 370.
[0050] 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 the 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.
[0051] According to various aspects of this disclosure, at least one of the TX processor 368, RX processor 356, and / or controller / processor 359 can be configured to perform operations related to... Figure 1 The determination component 198 and the generation component 199 relate to various aspects. For example, the controller / processor 359 of UE 350 can determine a first amount of data in the UE's memory (e.g., 360). As another example, the controller / processor 359 of UE 350 can determine that the host processor of UE 350, such as an application layer processor, lacks sufficient credit to send second data to the modem of UE 350. As yet another example, the controller / processor 359 of UE 350 can generate a Data Flow Control (DFC) command that includes sufficient credit to send second data to the modem based on the determined first amount of data. The TX processor 368 of UE 350 can send the DFC command from the modem to the host processor, and the RX processor 356 can receive the second data from the host processor by the modem based on the DFC command.
[0052] Figure 4 The architecture of UE 400 is illustrated. The architecture of UE 400 may include multiple protocol stack layers, including a first layer 402 and a second layer 404. Although the architecture of UE 400 illustrates two layers, additional and / or different layers may exist in different aspects without departing from the scope of this disclosure.
[0053] Layer 402 may include L2 functions, such as the PDCP layer, RLC layer, and / or MAC layer. For example, Layer 402 may include MAC component 410, which can implement various functions 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.
[0054] Illustratively, 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 the flow of packets from the second layer 404 to the first layer 402.
[0055] Layer 402 may also 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 TTI scheduled according to uplink license. In some aspects, Layer 402 may be part of the UE's modem.
[0056] The second layer 404 may include at least one layer implemented programmatically on top of the first layer 402. For example, the second layer 404 may include an application layer. Therefore, the second layer 404 may include an application 444 whose instructions can be executed by an application processor (AP) 440. In some aspects, the second layer 404 may be part of a host application of the UE.
[0057] Each of Layer 1 402 and Layer 2 404 may include a memory in which data is queued for transmission over a wireless network. Depending on various aspects, Layer 1 402 may include an uplink buffer 412, a retransmission queue 462, and an L2 pipeline queue 464. Uplink buffer 412 may include an L2 buffer and / or a modem buffer that can queue data for encapsulation in a MAC TB, and thus uplink buffer 412 may be configured to queue data received from higher layers (e.g., Layer 2 404) for transmission over a wireless network. Retransmission queue 462 may be configured to queue data to be retransmitted, such as dropped, corrupted, and / or negatively acknowledged (e.g., NACK) packets. L2 pipeline queue 464 may be configured to queue lower-layer (e.g., Layer 1 402) data to be transmitted over a 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.
[0058] At layer 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. The data queued in AP-accessible memory 442 may include application data 476 generated in association with the execution of application 444 performed by AP 440.
[0059] The AP-accessible memory 442 can have a larger capacity than the uplink buffer 412. For example, the AP-accessible memory 442 can be configured to queue approximately two or three megabytes (MB) of data, while the uplink buffer 412 can be configured to queue approximately 512 kilobytes (kB) of data. However, other capacities are also possible in other respects.
[0060] In one aspect, the AP-accessible memory 442 may include double data rate (DDR) synchronous dynamic random access memory (SDRAM) 446a. DDR SDRAM 446a may be attached to system cache 446b. AP 440 may be configured to queue application data 476 in system cache 446b and delay queuing application data 476 in DDR SDRAM 446a (e.g., until system cache 446b is flushed).
[0061] In one aspect, the AP-accessible memory 442 may additionally or alternatively include on-chip memory 446c. AP 440 may be configured to queue application data 476 in on-chip memory 446c. If system cache 446b is limited (e.g., due to current operation, such as video / graphics processing by UE 400), on-chip memory 446c may be used as an addition to and / or replacement of system cache 446b. For example, on-chip memory 446c may provide overflow support when system cache 446b reaches or approaches its capacity. That is, AP 440 may queue application data 476 in system cache 446b until system cache 446b reaches or approaches its capacity, and then AP 440 may switch to queuing application data 476 in on-chip memory 446c (e.g., until system cache 446b is flushed).
[0062] The size of data queued in memory can be referred to as a watermark (WM). Each WM can be represented in bytes (e.g., bytes, kB, and / or MB), and the corresponding WM can correspond to the size of data currently queued in one of the AP-accessible memory 442, uplink buffer 412, retransmission queue 462, or L2 pipeline queue 464. For example, the size of data in uplink buffer 412 can be referred to as uplink WM 470, and uplink WM 470 can fluctuate as uplink buffer 412 is emptied and refilled.
[0063] 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.
[0064] Based on uplink WM 470, MAC component 410 can send an 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 a BSR or buffer occupancy report. For example, uplink grant request 422 may be based on uplink WM 470.
[0065] In addition to uplink WM 470, MAC component 410 can generate uplink grant request 422 based on 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, WM of AP-accessible memory 442, WM of retransmission queue 462, and WM of L2 pipeline queue 464.
[0066] When AP 440 executes the instructions of application 444, it can generate application data 476 for transmission over the wireless network. To transmit application data 476 over the wireless network, AP 440 can provide the data to Layer 1 402, allowing MAC component 410 to transmit the data over the wireless network according to a schedule provided by at least two uplink grants received from the base station. However, the size of application data 476 generated by AP 440 may exceed the high threshold 420a and / or DNE threshold 420c of uplink buffer 412. Therefore, AP 440 can avoid sending application data 476 to Layer 1 402 in a size that would otherwise exceed the DNE threshold 420c. For example, AP 440 can queue the data to be transmitted by MAC component 410 over the wireless network.
[0067] Application data 476 queued in AP-accessible memory 442 can still be transmitted via the wireless network, even if it is not yet queued in uplink buffer 412. Therefore, requesting uplink authorization based on the WM of AP-accessible memory 442, in addition to the WM of uplink buffer 412, retransmission queue 462, and L2 pipeline queue 464, can be more efficient than various existing methods, such as methods that request uplink authorization based on memory allocated to the MAC layer.
[0068] In some aspects, multiple thresholds can be configured to be associated with uplink buffer 412. For example, uplink buffer 412 can be configured with 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 the RRC configuration indicated to UE 400 (e.g., via RRC signaling) and / or can be configured dynamically (e.g., based on observing historical trends associated with draining and refilling uplink buffer 412). Thresholds 420a-c can be compared with uplink WM 470. In some aspects, the high threshold 420a, the low threshold 420b, and / or the (DNE) threshold 420c, and the difference between the thresholds (i.e., the WM size), can be a function of one or more parameters such as, but not limited to, the UE's uplink configuration throughput, the buffer status report (BSR) of the modem's radio access technology (RAT), the data transmission delay from the host to the modem (i.e., "interconnection delay"), the delay in the flow control process (such as the delay in generating and sending DFC commands), or the UE's hardware / memory requirements.
[0069] According to one aspect, FC component 414 can monitor and manage one or more of the thresholds 420a-c. For example, when the DNE threshold 420c is reached (e.g., uplink WM 470 equals or exceeds the 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 sent over the wireless network (e.g., data from application 444) at AP-accessible memory 442 and / or AP 440 can allocate additional memory to queue data in that additional memory when uplink buffer 412 is emptied. When the DNE threshold 420c is reached, data sent from AP 440 can be discarded because uplink buffer 412 has reached or is nearing its capacity.
[0070] 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 AP 440 to resume (e.g., from AP-accessible memory 442) sending data to uplink buffer 412.
[0071] 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 sent to the first layer 402 for queuing in the uplink buffer 412. The FC component 414 can send such an FC message to the second layer 404 to instruct the AP 440 to avoid sending some additional data to the first layer 402. As mentioned above, the first layer 402 can be part of the UE's modem.
[0072] In some aspects, FC component 414 can use credits corresponding to the available data space in uplink buffer 412 to signal AP 440 about sending data to or avoiding uplink buffer 412. For example, an FC message including credits from FC component 414 to AP 440 can be regarded as permission from FC component 414 to send data units (e.g., measured in WM, such as, but not limited to, bytes, kB, and / or MB) to first layer 402 (e.g., uplink buffer 412). Thus, when a low threshold 420b is reached (e.g., uplink WM 470 is equal to or below low threshold 420b), FC component 414 can send an FC message to AP 440 including a given amount of credits (i.e., non-zero credits) to signal AP 440 to send data to first layer 402 in an amount equal to the given amount of credits to queue in uplink buffer 412. In another example, when the DNE threshold 420c is reached (e.g., uplink WM 470 is equal to or exceeds the DNE threshold 420c) and / or the high threshold 420a is reached (e.g., uplink WM 470 is equal to or higher than the high threshold 420a), the FC component 414 may send an FC message including zero credits to the AP 440 to signal the AP 440 to stop sending data to the Layer 1 402 (of the UE's modem).
[0073] In some aspects, FC messages can be periodic FC messages that are independent of the threshold level of uplink buffer 412. For example, a periodic FC can be a flow control message that can be periodically sent to AP 440 by FC component 414 when a periodic timer is reached; that is, a periodic FC can be sent to AP 440 at a certain period (e.g., every approximately 2 milliseconds (ms), approximately 3 ms, approximately 4 ms, approximately 5 ms, approximately 6 ms, approximately 7 ms, approximately 8 ms, inclusive of values and subranges therein). In some aspects, the period of the FC message may not be fixed, but may depend on the amount of data queued at the modem's memory buffer. That is, in some aspects, FC messages can be periodic FC messages with a period that depends on the amount of data queued at the modem's memory buffer (e.g., the uplink buffer 412 of layer 1 402 (e.g., which may be part of the UE's modem)). For example, the period and the amount of queued data can be inversely related, that is, the period can decrease as the amount of queued data increases (e.g., FC messages can be sent to FC component 414 more frequently), or the period can increase as the amount of queued data decreases (e.g., FC messages can be sent to FC component 414 less frequently).
[0074] In various aspects, the low threshold 420b can be configured to be approximately equal to the data size required for uplink peak rate transmission of service value T milliseconds (ms). For illustration, T can be equal to four ms, each TTI can be equal to 200 microseconds (μs), and the peak MAC TB size per TTI can be equal to eight kB. Therefore, the low threshold 420b can be configured to 160 kB, which is equal to T ms divided by the TTI duration multiplied by the peak TB size, or equivalently in this example, (4ms / 200μs)*8 kB. In some aspects, the low threshold 420b can be configured to be greater than the data size required for uplink peak rate transmission of service value T ms—for example, the low threshold 420b can be configured to 200 kB.
[0075] 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 400kB. 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 100kB or 200kB greater than the high threshold 420a. Thresholds 420a-c can be configured to have different values in other respects.
[0076] In some aspects, as described above, when a low threshold 420b is reached (e.g., uplink WM 470 is equal to or below the low threshold 420b), the FC component 414 sends an FC message with non-zero credit to the AP 440. Furthermore, when a DNE threshold 420c is reached (e.g., uplink WM 470 is equal to or exceeds the DNE threshold 420c) and / or a high threshold 420a is reached (e.g., uplink WM 470 is equal to or above the high threshold 420a), the FC component 414 does not provide credit to the AP 440. In some cases, such as during bidirectional data flow, the AP 440 may have a TCP acknowledgment (ACK) to be sent to the Layer 1 402, and the uplink buffer 412 of the Layer 1 402 may be filled with uplink data (e.g., uplink (UL) Transmission Control Protocol (TCP) data). In some cases, AP 440 may have exhausted the credits previously provided to it by FC component 414 (e.g., sending UL TCP data to uplink buffer 412) and may have no credits or enough credits to send a TCP ACK to FC component 414. Furthermore, depending on the uplink buffer's discharge rate (i.e., the rate at which data is transmitted from the uplink buffer), it may take a long time to discharge UL TCP data so that WM 470 is discharged to or below the low threshold 420b. In other words, pending TCP ACKs at AP 440 may be delayed while FC component 414 waits for WM 470 to reach the low threshold 420b, allowing FC component 414 to generate and send an FC message with non-zero credits to AP 440, which AP 440 can use to send a TCP ACK to FC component 414.
[0077] In some respects, the total delay experienced by the pending TCP ACK reaching Layer 1 402 can depend on the outflow rate of the uplink buffer and / or the amount of UL TCP data. Furthermore, the total delay can depend on any interconnection delays (i.e., the delay associated with the transmission of the FC message configured to provide AP 440 credit from FC component 414 to AP 440 and the delay associated with the transmission of the TCP ACK from AP 440 to Layer 1 402 or uplink buffer 412). Additionally, the total delay can depend on the time that FC component 414 may take to generate the FC message and the time that AP 440 may take to generate the TCP ACK data packet. In some cases, the total delay can be expressed as T. total delay =T drain +T latency T drain = (Buffer data – Low threshold) / Ejection rate and T latencyIt equals the sum of the time delay or latency associated with the transmission of the FC message, the time delay or latency associated with the transmission of the TCP ACK from AP 440 to Layer 1 402 or uplink buffer 412, the time that FC component 414 may take to generate the FC message, and the time that AP 440 may take to generate the TCP ACK data packet.
[0078] In some respects, delays in sending TCP ACKs to the UE's Layer 1 402 modem can negatively impact the UE's user experience because the delay can adversely affect system operation, i.e., UE operations such as UL data transmission (e.g., by increasing the latency of data transmission between the UE and the base station / external server to which the UE is connected). The delay can also adversely affect downlink (DL) data transmission. For example, DL scheduling of data sent from a server at the network providing DL data to the UE can be severely limited if a TCP ACK does not arrive at the server.
[0079] In some aspects, delays in the transmission of TCP ACKs from Layer 2 404 to Layer 1 402 can lead to variations in Quality of Service (QoS) and Round-Trip Time (RTT) between the host processor (e.g., AP 440) and the network. These delays and / or RTT / QoS variations may be caused by the UE 400 connecting to a network with multiple Radio Access Technologies (RATs), using multiple frequency ranges (FR) bands for network connectivity, or using different types of links (e.g., terrestrial and non-terrestrial links) in different frequency bands for connectivity. For example, data from the UE 400 may be transmitted via a network with LTE RAT, NR RAT, and / or dual connectivity modes (e.g., LTE and NR RAT), and the RTT and / or QoS associated with data transmission may differ based on the RAT used in the data transmission.
[0080] As another example, data transmission using FR1 (e.g., 15 / 30kHz (i.e., 1ms or 0.5ms time slot)) can have different associated RTT and / or QoS than data transmitted using FR2 (e.g., 60 / 120kHz (i.e., 0.25ms or 0.125ms time slot)). Furthermore, the RTT / QoS associated with data transmission on a terrestrial link can differ from the RTT / QoS associated with data transmission on a non-terrestrial (e.g., satellite) link. For example, a UE 400 in dual-connectivity mode between a terrestrial base station and a satellite base station can experience different data transmissions (e.g., and therefore different associated RTTs and / or QoS) depending on whether the data transmission occurs at the terrestrial base station (i.e., terrestrial link) or the satellite base station (i.e., non-terrestrial link).
[0081] In some respects, TCP ACK prioritizes scheduling changes that may be caused by variations in RTT / QoS and / or delays in TCP ACK transmission. Therefore, there is a need for improved methods and systems to facilitate TCP ACK transmission from the application host to the modem, particularly when WM levels have not yet reached a low threshold.
[0082] Some aspects of this disclosure disclose systems and methods for managing Transmission Control Protocol (TCP) Acknowledgment (ACK) transmission, wherein, among other things, an application processor of a UE with pending data (e.g., a TCP ACK) (which wants to send the pending data to the UE's modem but does not have sufficient credit to do so) can receive credit from the modem allowing the pending data to be sent to the modem. For example, the modem's WM level may not have reached a low threshold. For example, the modem's WM level (e.g., the memory buffer level of the modem memory) may be higher than the low threshold level, i.e., the modem may not send a regular FC message with non-zero credit to the application processor. In such cases, as described above, to avoid delays in sending data such as TCP ACK from the application processor to the modem, the modem can generate and send an FC message with non-zero credit to allow the sending of pending data such as TCP ACK to the modem. In some aspects, the FC message may be a periodic FC message with a period of about 2 ms to about 6 ms. In some aspects, the FC message may be a periodic FC message whose periodicity depends on the amount of data queued at the modem's memory buffer.
[0083] You can refer to Figure 5 To illustrate the above discussion, example ejection rates of the memory buffer of a UE modem according to some aspects of this disclosure are shown. In some aspects, an uplink watermark 502 (e.g., similar to uplink WM 470) may indicate the location of the UE's modem (e.g., the modem may include or be associated with a similar...). Figure 4 The size of the data queued in the memory buffer (e.g., uplink buffer) of the UE's PHY and / or MAC layer in the first layer 402. As discussed above with respect to uplink buffer 412, the uplink watermark 502 of the UE modem's memory buffer may be associated with multiple thresholds, including no more than (DNE) threshold 508, high threshold 506, and low threshold 504.
[0084] In some instances, when the amount or size of data queued at the UE's modem's memory buffer drops to or below a low threshold 504, the modem may send data to the UE's host processor (e.g., similar to...). Figure 4 The AP440 in the UE sends an FC message including non-zero credits to allow the host processor to send data to the modem (e.g., it may include a TCP ACK) (e.g., for sending to the network to which the UE is connected). In some cases, credits may be associated with a given amount of data that the host processor is allowed to send to the modem, and the host processor may send data at the host processor until the non-zero credits are used up or the data is exhausted. In some cases, when the amount or size of data queued at the UE's modem's memory buffer reaches a high threshold 506 or higher, the modem may send an FC message including zero credits to the UE's host processor (e.g., similar to...). Figure 4 The AP 440 in the FC message instructs the host processor to stop sending data to the modem (i.e., the FC message resets the amount of credits held by the host processor to zero).
[0085] In some cases, the host processor may have no credit remaining because it has used all its credit to send data to the modem and / or has received an FC message with zero credit from the modem. In such situations, the host processor may have to wait until the modem sends an FC message with non-zero credit before resuming data transmission. This data may include TCP ACKs configured to acknowledge that the host processor has received previous data sent to it via the modem (e.g., from the network to which the UE is connected). That is, in some cases or in some UEs, there may be no continuous transmission of TCP ACKs from the host processor to the network (e.g., when the credit at the host processor is zero), which could lead to obstruction of downlink scheduling / transmission from the network to the UE.
[0086] In some aspects, the time it may take for a modem to send an FC message with non-zero credit so that the modem can resume sending data (e.g., including a TCP ACK) can depend on the ejection rate of the modem's memory buffer. That is, the time can depend on the rate at which data queued in the modem's memory buffer (e.g., an uplink buffer) is sent to the network, causing the memory buffer level to transition, for example, from a high threshold 506 to a low threshold 504 of the uplink watermark 502. Figure 5 An example ejection rate 510 with a corresponding ejection time ΔT 512 is shown, where the memory buffer level for uplink watermark 502 transitions from a high threshold 506 to a low threshold 504. In such a case, the host processor may have to wait at least for the ejection time ΔT 512 (e.g., and in some cases, due to the above regarding...). Figure 4The time delay discussed (or delay longer than the outgoing time) is required to receive an FC message with non-zero credit from the modem and resume sending data to the modem (e.g., including TCP ACK) for transmission to the network. It should be understood that... Figure 5 These are non-limiting illustrative examples and in some cases the discharge rate may not be constant.
[0087] In some aspects, if the UE or modem sends an FC message with non-zero credit to the host processor, latency can be reduced at least, even when the memory buffer level (i.e., the data queued at the modem's memory buffer) is not at or below the low threshold 504. For example, as mentioned above, the host processor may have zero credit because it has received an FC message with zero credit from the modem (e.g., setting the host processor's credit to zero) or it has exhausted all its credit. Furthermore, consider the case where the memory buffer level is at the high threshold 506 but begins to decline because data queued at the modem's memory buffer is being discharged, i.e., being sent from the modem to the network. For example, after a short period, the memory buffer level may have been discharged from the high threshold 506 to the intermediate buffer level 518. In such a case, the UE can detect that buffer space 516 (e.g., memory buffer space between the high threshold 506 and the intermediate buffer level 518) is available, and the host processor does not have enough credit to send data from the host processor to the modem (e.g., the host processor may have zero credit). In such a case, the UE can generate a data FC with non-zero credit and send it to the host processor (e.g., even if the memory buffer level, i.e., the intermediate buffer level 518, has not yet reached or fallen below the low threshold 504) so that the host processor can resume sending data to the modem. For example, the non-zero credit can allow the host processor to use the non-zero credit to send data to the modem that is at least substantially equal to or less than the size of the buffer space 516.
[0088] In other words, once the UE detects that the host processor lacks sufficient credit to send data to the modem, and once the UE detects that buffer space is available at the modem's memory buffer (because the memory buffer level is being emptied from the high threshold 506), the UE (e.g., the modem) can generate a DFC with non-zero credit and send it to the host processor. This allows the host processor to send data (such as TCP ACK) in at least a nearly continuous manner (e.g., and thus reduce or eliminate DL obstruction). In some instances, the UE or modem may periodically (e.g., from about 2ms to about 12ms, about 3ms to about 8ms, about 4ms to about 6ms, etc., including values and subranges in between) generate and send DFCs with non-zero credit to the host processor.
[0089] In some instances, a UE may detect that a host processor lacks sufficient credit to send data to a modem based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing. In other words, if the RTT of data communication between the host processor and the network is increasing, this may be an indication to the UE that the host processor lacks sufficient credit (e.g., to send data from the host processor to the network via the modem at least substantially continuously).
[0090] In some aspects, when the outgoing rate is below a threshold outgoing rate, a DFC command with non-zero credit can be generated. For example, if the outgoing rate is too low, i.e., the equivalent outgoing time (e.g., ΔT 512) is too high, the UE can generate and send a DFC command with non-zero credit to the host processor so that the host processor does not wait that long to resume sending data to the modem. If the outgoing rate is equal to or exceeds the threshold outgoing rate, the UE cannot generate or send a DFC command with non-zero credit to the host processor.
[0091] In some respects, when a host processor receives a DFC command with non-zero credit from a modem, it may prioritize sending some types of data over others. For example, if the data at the host processor includes a TCP ACK, the host processor may prioritize sending the TCP ACK before sending other data. In some instances, such prioritization can occur when the non-zero credit included in the DFC command is below a threshold credit amount. For example, if the threshold credit could be the minimum amount of credit that might be required to send a TCP ACK from the host processor to the modem. In such a case, the host processor can use the received credit to send most or all of the TCP ACKs and then use the remaining credit (if any) to send other types of data to the modem.
[0092] In some instances, data may include multiple data types, and the host processor may prioritize which data type to send to the modem based on the credits included or indicated in the DFC command. For example, data may include a first data type and a second data type, and the host processor may select one data type to send to the modem before the others based on the credits in the DFC command. For instance, the credits may be insufficient to send both data types, and the host processor may choose one data type instead of the other to send to the modem. For example, data may include TCP ACKs, QUIC data, tuple data indicating a specific application or endpoint, etc., and the host processor may determine the priority of these data types based on the credits included in the DCF command (e.g., the data types are based on the order in which they are sent from the host processor to the modem). As another example, the credits may be sufficient to send both data types, but the host processor may choose the sending order based on the priority ranking of the data types (e.g., which data types can be sent before others).
[0093] Figure 6 This is a flowchart illustrating a wireless communication method 600. The method can be performed by a UE or a component of a UE (e.g., UE 104, 350, 400; device 702; cellular baseband processor 704, which may include memory 360 and may be the entire UE 350 or a component of UE 350, 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. The first layer may be part of the UE's modem. One or more of the illustrated operations may be omitted, interchanged, or performed simultaneously. This method enables data including TCP ACKs to be transmitted from the AP to the modem after the AP has exhausted most or all of its credits or its credits have been reset to zero by the modem.
[0094] At 602, the UE can detect the availability of buffer space in the UE's modem's memory buffer. In some aspects, detecting the availability of buffer space includes monitoring the ejection rate of the modem's memory buffer.
[0095] At step 604, the UE may detect that its host processor lacks sufficient credit to send data from the host processor to the modem. In some aspects, this data includes a Transmission Control Protocol (TCP) acknowledgment (ACK), which is configured to acknowledge that the host processor has received previously sent data to the host processor via the modem. In some aspects, the detection of insufficient credit for sending data from the host processor to the modem is based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
[0096] In some aspects, the data includes TCP ACK messages, and the method further includes prioritizing the transmission of TCP ACK messages from the host processor to the modem at the host processor when the credit included in the DCF command is below a threshold credit. In such a case, the threshold credit may be the minimum amount of credit required to allow the TCP ACK message to be transmitted from the host processor to the modem.
[0097] At 606, the UE can generate a Data Flow Control (DFC) command that includes credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space. In some aspects, the DFC is a periodic DFC with a period ranging from about 4 ms to about 6 ms. In some aspects, the DFC command is generated when the ejection rate is below a threshold ejection rate. In some aspects, the DFC message can be a periodic DFC message whose period depends on the amount of data queued at the modem's memory buffer.
[0098] At 608, the UE can send DFC commands from the modem to the host processor.
[0099] At 610, the UE may receive at least a portion of the data from the host processor by the modem in response to sending a DFC command.
[0100] Figure 7Figure 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, 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 the execution of software stored on the computer-readable media / memory. This software, when executed by the cellular baseband processor 704, 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 also 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 a 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.
[0101] The communication manager 732 includes a memory component 740 configured to store data transmissions (e.g., TCP ACKs) in the UE's memory. The communication manager 732 also includes a generation component 742 configured to generate a Data Flow Control (DFC) command that includes sufficient credits for the host processor to send at least a portion of the data to the modem based on the amount of buffer space, such as... Figure 6 As described in 606. The communication manager 732 also includes a determining component 944, which is configured to (i) detect the availability of buffer space in the memory buffer of the UE's modem, for example, as in conjunction with Figure 6 As described in section 602, and (ii) the detection that the UE's host processor lacks sufficient credit for sending data from the host processor to the modem, for example, as in combination Figure 6As described in section 604. The receiving component 730 is configured to receive at least a portion of data from the host processor by the modem in response to sending a DFC command, for example, as in combination with... Figure 6 As described in 610. The transmitting component 734 can be configured to send DFC commands from the modem to the host processor, for example, as in conjunction with... Figure 6 As described in 608.
[0102] The apparatus may include additional components that perform the above-described functions. Figure 6 Each block of the algorithm in the flowchart. Therefore, the above Figure 6 The various blocks in the flowchart can be executed by components, and the apparatus can include one or more of those components. A component can be one or more hardware components specifically configured to execute the process / algorithm, implemented by a processor configured to execute the process / algorithm, stored in a computer-readable medium for processor implementation, or some combination thereof.
[0103] It should be understood that the specific order or hierarchy of blocks in the disclosed process / flowchart is illustrative of the exemplary method. Based on design preferences, it is understood that the specific order or hierarchy of blocks in the process / flowchart may be rearranged. Furthermore, some blocks may be combined or omitted. The appended method claims present the elements of various blocks in the exemplary order, but this does not imply limitation to the specific order or hierarchy presented.
[0104] Detailed description of some aspects of this disclosure
[0105] Aspect 1: A method for wireless communication performed by a user equipment (UE), the method comprising:
[0106] The system detects the availability of buffer space in the memory buffer of the UE's modem; detects that the UE's host processor lacks sufficient credits to send data from the host processor to the modem; generates a Data Flow Control (DFC) command, which includes credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space; sends the DFC command from the modem to the host processor; and in response to sending the DFC command, the modem receives at least a portion of the data from the host processor.
[0107] Aspect 2: According to the method of aspect 1, wherein the data includes a Transmission Control Protocol (TCP) acknowledgment (ACK), which is configured to be acknowledged by the host processor as having received previous data sent to the host processor via a modem.
[0108] Aspect 3: The method according to aspect 1 or 2, wherein the DFC is a periodic DFC with a period that depends on the amount of data queued at the modem's memory buffer.
[0109] Aspect 4: The method according to any one of Aspects 1-3, wherein the data includes TCP ACK messages, the method further comprising: when the credit included in the DFC command is below a threshold credit, giving priority to the transmission of TCP ACK messages from the host processor to the modem at the host processor.
[0110] Aspect 5: According to the method of aspect 4, the threshold credit is the minimum amount of credit required to allow the transmission of a TCP ACK message from the host processor to the modem.
[0111] Aspect 6: The method according to any one of Aspects 1-5, wherein detecting the availability of buffer space includes monitoring the ejection rate of the modem's memory buffer.
[0112] Aspect 7: According to the method of aspect 6, wherein a DFC command is generated when the discharge rate is lower than a threshold discharge rate.
[0113] Aspect 8: The method according to any one of Aspects 1-7, wherein the detection that the host processor of the UE lacks sufficient credit for sending data from the host processor to the modem is based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
[0114] Aspect 9: The method according to any one of Aspects 1-8, wherein the data includes first type data and second type data, the method further comprising: prioritizing the transmission of one of the first type data or the second type data from the host processor to the modem over the other at the host processor based on the amount of credit included in the DCF command.
[0115] Aspect 10: A user equipment (UE) comprising: a memory; a processor coupled to the memory; and a transceiver coupled to the processor, the UE being configured to perform the methods described in aspects 1-9.
[0116] Aspect 11: A non-transitory computer-readable medium (CRM) having program code recorded thereon, the program code including code for causing a UE to perform the methods described in aspects 1-9.
[0117] Aspect 12: A user equipment (UE) including components for performing the methods described in aspects 1-9.
[0118] 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 form, unless expressly stated otherwise, are not intended to mean “one and only one,” but rather “one or more.” Terms such as “if,” “when,” and “at the same time” should be interpreted as “in this case,” rather than implying a direct temporal relationship or reaction. That is, these phrases, such as “when,” do not imply immediate action in response or occurrence during the action, but simply that an action will occur if the condition is met, but without requiring a specific or immediate time constraint for the action to occur. The term “exemplary” is used herein to mean “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 expressly stated otherwise, the term “some” means 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" may be only A, only B, only C, 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 elements throughout the various aspects described in this disclosure that are known to or will be known hereafter by 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 contributed to the public, whether or not such disclosure is expressly recited in the claims. The terms “module,” “mechanism,” “element,” and “device” cannot replace the term “component.” Therefore, no element of a claim may be interpreted as a component plus a function unless the element is explicitly stated using the phrase “component for…”.
Claims
1. A method for wireless communication performed by a user equipment (UE), the method comprising: Detect the availability of buffer space in the memory buffer of the UE's modem; The host processor of the UE is found to lack sufficient credit to send data from the host processor to the modem; Generate a Data Flow Control (DFC) command, the DFC command including credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space, wherein the DFC is a periodic DFC with a period depending on the amount of data queued at the memory buffer of the modem; Sending the DFC command from the modem to the host processor; and In response to sending the DFC command, the modem receives at least a portion of the data from the host processor.
2. The method of claim 1, wherein, The data includes Transmission Control Protocol (TCP) Acknowledgments (ACKs), which are configured to be used by the host processor to acknowledge receipt of previous data sent to the host processor via the modem.
3. The method of claim 1, wherein, The data includes a first type of data and a second type of data, and the method further includes: Based on the amount of credit included in the DCF command, at the host processor, the transmission of either the first type of data or the second type of data from the host processor to the modem is given priority over the other.
4. The method of claim 1, wherein, The data includes TCP ACK messages, and the method further includes: When the credit included in the DCF command is lower than the threshold credit, the transmission of the TCP ACK message from the host processor to the modem is given priority at the host processor.
5. The method of claim 1, wherein, The detection of the availability of the buffer space includes monitoring the ejection rate of the modem's memory buffer.
6. The method of claim 5, wherein, The DFC command is generated when the discharge rate is lower than the threshold discharge rate.
7. The method of claim 1, wherein, The detection that the host processor of the UE lacks sufficient credit to send data from the host processor to the modem is based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
8. A user equipment (UE), comprising: The processor is configured as follows: Detect the availability of buffer space in the memory buffer of the UE's modem; The host processor of the UE is found to lack sufficient credit to send data from the host processor to the modem; as well as Generate a Data Flow Control (DFC) command, the DFC command including credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space, wherein the DFC is a periodic DFC with a period depending on the amount of data queued at the memory buffer of the modem; and The transceiver is configured as follows: Sending the DFC command from the modem to the host processor; and In response to sending the DFC command, the modem receives at least a portion of the data from the host processor.
9. The UE of claim 8, wherein, The data includes Transmission Control Protocol (TCP) Acknowledgments (ACKs), which are configured to be used by the host processor to acknowledge receipt of previous data sent to the host processor via the modem.
10. The UE of claim 8, wherein, The data includes a first type of data and a second type of data, and the processor is further configured to: Based on the amount of credit included in the DCF command, at the host processor, the transmission of either the first type of data or the second type of data from the host processor to the modem is given priority over the other.
11. The UE according to claim 8, wherein, The data includes TCP ACK messages, and the processor is further configured to: When the credit included in the DCF command is lower than the threshold credit, the transmission of the TCP ACK message from the host processor to the modem is given priority at the host processor.
12. The UE according to claim 8, wherein, The processor is also configured to monitor the ejection rate of the modem's memory buffer to detect the availability of the buffer space.
13. The UE according to claim 12, wherein, The DFC command is generated when the discharge rate is lower than the threshold discharge rate.
14. The UE according to claim 8, wherein, The processor is configured to detect that the host processor of the UE lacks sufficient credit to send data from the host processor to the modem based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
15. A non-transitory computer-readable medium (CRM) having program code recorded thereon, said program code, when executed by one or more processors, causes: The user equipment (UE) detects the availability of buffer space in the memory buffer of the UE's modem; The UE detects that its host processor lacks sufficient credit to send data from the host processor to the modem; The UE generates a Data Flow Control (DFC) command, the DFC command including credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space, wherein... The DFC is a periodic DFC with a period that depends on the amount of data queued at the memory buffer of the modem. The UE sends the DFC command from the modem to the host processor; as well as In response to sending the DFC command, the UE receives at least a portion of the data from the host processor via the modem.
16. The non-temporary CRM according to claim 15, wherein, The data includes Transmission Control Protocol (TCP) Acknowledgments (ACKs), which are configured to be used by the host processor to acknowledge receipt of previous data sent to the host processor via the modem.
17. The non-temporary CRM according to claim 15, wherein, The data includes a first type of data and a second type of data, and the program code further enables: Based on the amount of credit included in the DCF command, the UE prioritizes the transmission of either the first type of data or the second type of data from the host processor to the modem over the other at the host processor.
18. The non-temporary CRM according to claim 15, wherein, The data includes TCP ACK messages, and the program code further enables: When the credit included in the DCF command is lower than the threshold credit, the UE is made to prioritize the transmission of the TCP ACK message from the host processor to the modem at the host processor.
19. The non-temporary CRM according to claim 15, wherein, The program code also causes the UE to monitor the ejection rate of the modem's memory buffer to detect the availability of the buffer space.
20. The non-temporary CRM according to claim 15, wherein, The detection that the host processor of the UE lacks sufficient credit to send data from the host processor to the modem is based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
21. A user equipment (UE), comprising: A component for detecting the availability of buffer space in the memory buffer of the UE's modem; The host processor used to detect the UE lacks components sufficient for credit to send data from the host processor to the modem; Components for generating Data Flow Control (DFC) commands, the DFC commands including credits sufficient for the host processor to send at least a portion of the data to the modem based on the amount of buffer space, wherein the DFC is a periodic DFC with a period depending on the amount of data queued at the memory buffer of the modem; Components for sending the DFC command from the modem to the host processor; and A component for receiving, in response to sending the DFC command, the modem from the host processor the at least portion of the data.
22. The UE according to claim 21, wherein, The data includes Transmission Control Protocol (TCP) Acknowledgments (ACKs), which are configured to be used by the host processor to acknowledge receipt of previous data sent to the host processor via the modem.
23. The UE according to claim 21, wherein, The data includes TCP ACK messages, and the UE also includes: A component for prioritizing the transmission of the TCP ACK message from the host processor to the modem when the credit included in the DCF command is below a threshold credit.
24. The UE according to claim 21, wherein, The UE also includes components for monitoring the ejection rate of the modem's memory buffer to detect the availability of the buffer space.
25. The UE according to claim 24, wherein, The DFC command is generated when the discharge rate is lower than the threshold discharge rate.
26. The UE according to claim 21, wherein, The detection that the host processor of the UE lacks sufficient credit to send data from the host processor to the modem is based on the detection or estimation that the round-trip time (RTT) of TCP data between the host processor and the network to which the UE is connected is increasing.
Citation Information
Patent Citations
Systems, methods and apparatus for adaptive persistent acknowledge priority control for BI-directional TCP throughput optimization
WO2015156973A1