Uplink transmission protocol acknowledgment shaping and downlink data shaping at the user equipment
By shaping the transmission protocol ACK and downlink data at the user equipment (UE), the base station buffer overflow problem caused by uplink transmission protocol confirmation and downlink data transmission in wireless communication systems is solved, and the transmission is improved Efficiency and stability.
Patent Information
- Application Number
- CN202080057083.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-08-12
- Filing Date
- 2020-08-13
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2040-08-13
AI Technical Summary
The existing wireless communication systems are prone to overflow of base station buffers in uplink transmission protocol acknowledgement and downlink data transmission, resulting in problems such as reduction in throughput and packet loss.
At the user equipment (UE), by determining the allowed number of transmission protocol acknowledgments and downlink data units sent in the transmission time interval (TTI), traffic shaping is used to control the transmission protocol ACK and data transmission, by determining the allowed number of transmission protocols sent in the transmission time interval (TTI), the token bucket algorithm is used to control the transmission protocol ACK and data transmission. rate to avoid transmission protocol ACK bursts and buffer overflow.
It effectively avoids base station buffer overflow, improves the throughput and transmission efficiency of downlink data, and ensures the stability and reliability of data transmission.
Smart Images

Figure CN114223161B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Application No. 16 / 991,901, filed on August 12, 2020, which claims the benefit of and priority to U.S. Provisional Application No. 62 / 886,119, filed on August 13, 2019, which applications are hereby assigned to the present assignee and are hereby expressly incorporated herein by reference in their entirety as if fully set forth below and for all applicable purposes. Technical Field
[0003] Aspects of the present disclosure relate to wireless communications and, more particularly, to techniques for shaping delivery of transmission protocol acknowledgments for uplink transmissions and shaping downlink data at a user equipment (UE). Background Art
[0004] Wireless communication systems are widely deployed to provide various telecommunication services, such as telephony, video, data, messaging, broadcast, etc. These wireless communication systems may employ multiple access technologies capable of supporting communication with multiple users by sharing available system resources (e.g., bandwidth, transmit power, etc.). Examples of such multiple access systems include 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) systems, LTE-Advanced (LTE-A) systems, 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, to name just a few.
[0005] These multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different wireless devices to communicate at a municipal, national, regional, and even global level. New Radio (e.g., 5G NR) is an example of an emerging telecommunication standard. NR is a set of enhancements to the LTE mobile standard promulgated by 3GPP. NR aims to better support mobile broadband Internet access by increasing spectral efficiency, reducing costs, improving services, utilizing new spectrum, and better integrating with other open standards using OFDMA with cyclic prefix (CP) on downlink (DL) and uplink (UL). To this end, NR supports beamforming, multiple-input multiple-output (MIMO) antenna technology, and carrier aggregation.
[0006] However, as the demand for mobile broadband access continues to increase, NR and LTE technologies need further improvements. Preferably, these improvements should be applicable to other multiple access technologies and the telecommunication standards that adopt these technologies. Summary of the invention
[0007] The systems, methods, and devices of the present disclosure each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of the present disclosure as expressed by the claims that follow, some features will now be briefly discussed. After considering this discussion, and particularly after reading the section entitled "Detailed Description of the Invention," it will be understood how the features of the present disclosure provide advantages including improved uplink transmission protocol acknowledgment shaping and downlink data at a user equipment (UE) modem to avoid sending large transmission protocol acknowledgment bursts that may cause buffer overflows at a base station (BS).
[0008] Aspects of the present disclosure provide components, apparatus, processors, and computer-readable media for performing the techniques and methods described herein for uplink acknowledgment shaping and downlink data shaping.
[0009] For example, certain aspects provide a method of wireless communication for a UE. The method generally includes determining an allowed number of transport protocol acknowledgments to be sent in a transmission time interval (TTI), and sending one or more transport protocol acknowledgments in the TTI based at least in part on the determined allowed number of transport protocol acknowledgments.
[0010] Certain aspects provide an apparatus for wireless communication by a UE. The apparatus generally includes at least one processor configured to determine an allowed number of transport protocol acknowledgments to be sent in a transmission time interval (TTI), and to send one or more transport protocol acknowledgments in the TTI based at least in part on the determined allowed number of transport protocol acknowledgments. The apparatus generally also includes a memory coupled to the at least one processor.
[0011] Certain aspects provide an apparatus for wireless communications by a UE. The apparatus generally includes means for determining an allowed number of transmission protocol acknowledgments to be sent in a transmission time interval (TTI), and means for sending one or more transmission protocol acknowledgments in the TTI based at least in part on the determined allowed number of transmission protocol acknowledgments.
[0012] Certain aspects provide a non-transitory computer-readable medium for wireless communications by a UE. The non-transitory computer-readable medium generally includes instructions that, when executed by at least one processor, cause the at least one processor to determine an allowed number of transmission protocol acknowledgments to be sent in a transmission time interval (TTI), and to send one or more transmission protocol acknowledgments in the TTI based at least in part on the determined allowed number of transmission protocol acknowledgments.
[0013] Certain aspects provide a wireless communication method for a UE. The method generally includes determining an allowed number of downlink data units to be sent in a TTI, and sending one or more data units in the TTI based at least in part on the determined allowed number of data units.
[0014] Certain aspects provide an apparatus for wireless communication by a UE. The apparatus generally includes at least one processor configured to determine an allowed number of downlink data units to be sent in a TTI, and to send one or more data units in the TTI based at least in part on the determined allowed number of data units. The apparatus generally also includes a memory coupled to the at least one processor.
[0015] Certain aspects provide an apparatus for wireless communications by a UE. The apparatus generally includes means for determining an allowed number of downlink data units to be sent in a TTI, and means for sending one or more data units in the TTI based at least in part on the determined allowed number of data units.
[0016] Certain aspects provide a non-transitory computer-readable medium for wireless communication by a UE. The non-transitory computer-readable medium generally includes instructions that, when executed by at least one processor, cause the at least one processor to determine an allowed number of downlink data units to be sent in a TTI, and to send one or more data units in the TTI based at least in part on the determined allowed number of data units.
[0017] To achieve the above and related purposes, one or more aspects include the features fully described below and particularly pointed out in the claims. The following description and the accompanying drawings set forth in detail certain illustrative features of one or more aspects. However, these features are only indicative of several of the various ways in which the principles of the various aspects can be employed. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to be able to understand the above-mentioned features of the present disclosure in detail, a more specific description may be made by reference to various aspects, which are briefly summarized above and some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings illustrate only certain typical aspects of the present disclosure and are therefore not to be considered as limiting the scope thereof, as the description may admit of other equally effective aspects.
[0019] Figure 1 is a block diagram conceptually illustrating an example telecommunications system in accordance with certain aspects of the present disclosure.
[0020] Figure 2 is a block diagram conceptually illustrating a user equipment (UE), a base station (BS), and a server configured for a transmission control protocol (TCP) according to certain aspects of the present disclosure.
[0021] Figure 3 is a graph illustrating example uplink traffic of transmission protocol acknowledgment packets over a time period.
[0022] Figure 4 is a graph showing example throughput during a time period.
[0023] Figure 5 is a flow diagram illustrating example operations for wireless communications by a UE in accordance with certain aspects of the present disclosure.
[0024] Figure 6 is a flow diagram illustrating example operations for wireless communications by a UE in accordance with certain aspects of the present disclosure.
[0025] Figure 7 is a block diagram conceptually illustrating a UE, a BS, and a server configured for a transmission protocol according to certain aspects of the present disclosure.
[0026] Figure 8 is a call flow for UL transport protocol ACK shaping in accordance with certain aspects of the present disclosure.
[0027] Fig. 9 is a call flow for downlink data shaping in accordance with certain aspects of the present disclosure.
[0028] Fig.10 A communications device according to aspects of the present disclosure is shown that may include various components configured to perform operations for the techniques disclosed herein.
[0029] Fig.11 is a block diagram conceptually illustrating designs of an example BS and UE in accordance with certain aspects of the present disclosure.
[0030] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one aspect may be beneficially utilized on other aspects without specific recitation. DETAILED DESCRIPTION
[0031] Aspects of the present disclosure provide apparatus, methods, processing systems, and computer-readable media for shaping the delivery of transport protocol acknowledgments (ACKs) for uplink transmissions and shaping downlink data, for example at a user equipment (UE) modem, to avoid transmission of large bursts of transport protocol ACKs that may cause buffer overflow at a BS. As will be described in more detail herein, uplink transport protocol ACK shaping includes determining an allowed number of transport protocol ACKs to be sent in a transmission time interval (TTI), such as in a physical uplink shared channel (PUSCH) time slot or mini-slot, and downlink data shaping includes determining an allowed number of downlink data units to be forwarded to a transport protocol host at a UE within a duration (e.g., a time slot, a mini-slot, or a TTI) after receiving a downlink data unit from a physical downlink shared channel (PDSCH).
[0032] The following description provides examples of uplink transmission protocol ACK shaping and downlink data shaping for UE, and does not limit the scope, applicability or examples set forth in the claims. Without departing from the scope of the present disclosure, the functions and arrangements of the elements discussed may be changed. Various examples may appropriately omit, replace or add various processes or components. For example, the described method may be performed in a different order than described, and various steps may be added, omitted or combined. In addition, the features described with respect to some examples may be combined in some other examples. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such a device or method that is additionally practiced using other structures, functions, or structures and functions in addition to the various aspects of the present disclosure described herein, or is practiced using other structures, functions, or structures and functions that are different from the various aspects of the present disclosure described herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of the claims. The word "exemplary" is used herein to mean "used as an example, instance or illustration". Any aspect described as "exemplary" herein is not necessarily interpreted as preferred or superior to other aspects.
[0033] Figure 1 An example wireless communication network 100 is shown in which aspects of the present disclosure may be performed. For example, the wireless communication network 100 may be a NR system (e.g., a 5G NR network).
[0034] like Figure 1As shown, the wireless communication network 100 may include multiple base stations (BSs) 110a-z (each base station is also individually referred to as BS 110 herein, or collectively referred to as BS 110) and other network entities. BS 110 may provide communication coverage for a specific geographic area (sometimes referred to as a "cell"), which may be fixed or may move according to the location of the mobile BS 110. In some examples, BS 110 may be interconnected to each other and / or to one or more other BSs or network nodes (not shown) in the wireless communication network 100 through various types of backhaul interfaces (e.g., direct physical connections, wireless connections, virtual networks, etc.) using any suitable transport network. Figure 1 In the example shown, BSs 110a, 110b, and 110c may be macro BSs of macro cells 102a, 102b, and 102c, respectively. BS 110x may be a pico BS of a pico cell 102x. BSs 110y and 110z may be femto BSs of femto cells 102y and 102z, respectively. A BS may support one or more cells. BS 110 communicates with user equipment (UE) 120a-y (each also individually referred to herein as UE 120 or collectively referred to as UE 120) in a wireless communication network 100. UE 120 (e.g., 120x, 120y, etc.) may be dispersed throughout the wireless communication network 100, and each UE 120 may be stationary or mobile.
[0035] According to certain aspects, BS 110 and UE 120 may be configured for uplink and downlink transmissions. BS 110a may serve as a link between UE 110a and a transmission protocol server. UE 110a may be configured to perform uplink transmission protocol acknowledgement (ACK) shaping and / or downlink (DL) data shaping. For example, Figure 1 As shown, UE 120a includes a UL ACK shaping module 122. The UL ACK shaping module 122 may be configured to perform Figure 5 , and other operations for performing various techniques for UL transport protocol ACK shaping discussed herein. For example, in some cases, according to aspects of the present disclosure, the UL ACK shaping module 122 may be configured to determine an allowed number of UL transport protocol ACKs to be sent in a TTI. The UL ACK shaping module 122 may also be configured to send one or more transport protocol ACKs in a TTI based at least in part on the determined allowed number of transport protocol ACKs.
[0036] In addition, if Figure 1 As shown, UE 120a includes a downlink data shaping module 124. The downlink data shaping module 124 may be configured to perform Figure 6The operations shown in the figure, as well as other operations for performing various techniques for DL data shaping discussed herein. For example, in some cases, according to aspects of the present disclosure, the downlink data shaping module 124 can be configured to determine an allowed number of downlink data units to be sent in a TTI. The downlink data shaping module 124 can also be configured to send one or more data units in the TTI based at least in part on the determined allowed number of data units.
[0037] The wireless communication network 100 may also include a relay station (e.g., relay station 110r), also known as a relay, etc., which receives transmissions of data and / or other information from an upstream station (e.g., BS 110a or UE 120r) and sends transmissions of data and / or other information to a downstream station (e.g., UE 120 or BS 110), or relays transmissions between UEs 120 to facilitate communication between devices.
[0038] A network controller 130 may couple to a set of BSs 110 and provide coordination and control for these BSs 110. The network controller 130 may communicate with the BSs 110 via a backhaul. The BSs 110 may also communicate with each other via a wireless or wired backhaul (eg, directly or indirectly).
[0039] Figure 2 The diagram shows a system including a UE 215 (e.g. Figure 1 UE 120a shown), BS 220 (e.g. Figure 1 1 and 2. The block diagram of the transmission protocol system 200 of the BS 110a shown in FIG. Figure 2 As shown, UE 215 may include a transport protocol host 205 (e.g., a TCP stack at UE 215). Transport protocol 205 may control and convert signals sent and received by UE 215 for a transport protocol. UE 215 also includes a modem 210 (e.g., for signaling at a packet data convergence protocol layer). BS 220 may provide a link between UE 215 and a transport protocol server 225. The transport protocol host and the transport protocol server 225 may be endpoints of the transport protocol.
[0040] In some examples, the transport protocol is the Transmission Control Protocol (TCP), which is a protocol of the Internet Protocol (IP) suite. In some cases, TCP may be referred to as TCP / IP. TCP can provide an ordered and error-checked octet (byte) stream between applications running on hosts communicating over a network. TCP can be bidirectional (e.g., both uplink and downlink). TCP can be used in a multi-subscriber identity module (MSIM) scenario, also known as concurrent RAT, where one hardware (e.g., one modem) is used for multiple subscriptions (e.g., for multiple operators), and tune-away may have to be performed between subscriptions to search for paging or other mobility procedures. In some examples, TCP uses a sliding window flow control protocol, where in each TCP segment (e.g., packet), the receiving (e.g., transport protocol host 205 on the downlink) specifies the amount of additional received data (in bytes) corresponding to the acknowledgment (ACK) sequence number and the additional data it is willing to buffer for the connection (e.g., in the receive window). The sending host (e.g., transport protocol server 220) can only send up to that amount of data before the sending host waits for an acknowledgment and window update from the receiving host.
[0041] Some TCP implementations may include four phases of congestion control: slow start, congestion avoidance, fast retransmit, and fast recovery. For congestion avoidance, the sender uses ACKs and / or lack of ACKs for the data sent to infer the network conditions between the TCP sender and receiver. In conjunction with timers, the TCP sender and receiver can change the behavior of the data stream. Enhancing TCP to reliably handle losses, minimize errors, manage congestion, and run quickly in very high-speed environments is an ongoing area of research and standards development. As a result, there are many TCP congestion avoidance algorithm variants.
[0042] Throughput issues may occur when the instantaneous transport protocol ACK transmission rate on the uplink or downlink is high. In some cases, a modem (e.g., modem 210) sends transport protocol ACKs at a high rate, allowing a transport protocol sender (e.g., transport protocol server 220) to publish a large amount of data (e.g., a spike or burst of packets), which in turn may cause a buffer overflow at a bottleneck (e.g., at BS 220).
[0043] like Figure 3 As shown in Figure 300 of FIG. 3, uplink transmissions of transport protocol ACKs may occur in bursts. In the example shown in Figure 300, in some instances, a receiving host may send a burst of transport protocol ACKs (e.g., peak 305) over a duration that includes a large number of ACKs relative to an average number of transport protocol ACKs (e.g., average 310). Thus, it can be said that the burst has a large peak-to-average ratio of uplink transport protocol ACKs. Figure 4 As shown in the example diagram 400 in FIG. 4 , a burst of UL transmission protocol ACKs may cause a buffer overflow, which in turn may result in a reduction in downlink data throughput. For example, a large number of ACKs may cause the transmitting host to send a large amount of downlink data, which overloads the buffer (e.g., at the BS), and then the remaining packets may be lost, thereby reducing throughput. Figure 4 As shown, when downlink data spikes (e.g., peak 405), for example in response to a burst of UL transport protocol ACKs (e.g., in response to peak 305), and the buffer overflows, the downlink throughput may drop (e.g., valley 410) due to TCP's reaction to packet loss.
[0044] Uplink transport protocol ACK bursts (e.g., high ACK rates) may be caused by various scenarios. In one example, UL transport protocol ACK bursts may occur when the UE (e.g., at Layer 2 (L2)) prioritizes the transmission of ACKs over other data. In this scenario, when uplink grants are delayed, a transport protocol ACK buffer builds up and the UE sends all buffered ACKs at once in a burst. In another example, UL transport protocol ACK bursts may occur in response to downlink data bursts. For example, when one or more leaks are recovered at the radio link control (RLC) layer, the RLC layer may deliver a large data burst to the transport layer, resulting in a transport protocol ACK burst from the host. In such a scenario, the problem may be exacerbated in a multi-SIM (MSIM) scenario, where RLC recovery may be more frequent due to tuning away from a serving cell. In another example, in the case of a mobile hotspot, UL transport protocol ACK bursts may occur when a wireless local area network (WLAN) station is delayed in accessing the WLAN medium. Once the WLAN station accesses the data, the WLAN station may send a burst of transport protocol ACKs to the UE, which in turn causes it to form a burst on the wireless wide area network (WWAN). In yet another example, a UL transport protocol ACK burst may occur when a host scheduler schedules a task with some delay. Once a task runs, a large amount of transport protocol data is processed and a corresponding UL transport protocol ACK is created and sent. In yet another example, a UL transport protocol ACK burst may occur when a delay is implemented in a modem accumulation and / or aggregation timer.
[0045] The examples described above are merely illustrative of certain scenarios that may cause UL transport protocol ACK bursts. The description is not intended to be limited to these examples, and other scenarios may also cause UL transport protocol ACK bursts and may be addressed by the techniques described herein for UL transport protocol ACK shaping and / or downlink data shaping, which will be described in more detail below. Since UL transport protocol ACK bursts may be caused by a variety of situations, it is not simple / possible to eliminate all sources that cause UL transport protocol ACK bursts.
[0046] On the downlink, the UE (e.g., at L2) may accumulate a large amount of data due to reordering. For example, due to the speed of double data rate (DDR) / direct memory access (DMA), the transmission speed between the UE's modem and the UE's host may greatly exceed the transmission speed of the air interface between the UE and the BS and / or the sending host. This may cause problems for the UE's host. For example, the host may process data and may deliver a large number of ACKs (e.g., the problem of ACK bursts). The host may not be prepared for a large number of ACKs, and may cause delays or packet losses when processing such a large burst. In addition, the host (e.g., central processing unit (CPU)) may become overloaded due to the high rate of bursts.
[0047] Thus, aspects of the present disclosure provide techniques for UL ACK shaping and DL data shaping. UL ACK shaping and DL data shaping may allow a UE to control the rate or amount of UL transport protocol ACKs sent in a TTI (e.g., in an UL timeslot, such as a PUSCH timeslot) and / or the rate or amount of data units (e.g., transport protocol data only or all data) sent to a host per unit time.
[0048] There may not be a single optimal UL transport protocol ACK rate for all scenarios. For example, the UE must release (i.e., send) some minimum amount of UL transport protocol ACKs in order to keep the BS buffer replenished (e.g., to maintain throughput levels); however, the UE may not know how much buffer the BS has for the UE, or whether the buffer is shared with other UEs. In addition, the buffer occupancy at the BS may vary over time. In addition, throughput may not be increased by establishing a larger buffer at the BS. When the UE sends less than the minimum amount of UL transport protocol ACKs, the sending host may become window limited. But when the UE sends too many UL transport protocol ACKs, the BS buffer may overflow and the sending host downlink data rate may drop. Therefore, aspects of the present disclosure provide techniques for determining (e.g., by a UE) the amount / rate of UL transport protocol ACKs to be sent over a duration.
[0049] Figure 51 is a flow diagram illustrating example operations 500 for wireless communications in accordance with certain aspects of the present disclosure. Operations 500 may be performed, for example, by a UE (e.g., at a modem of UE 120a in wireless communication network 100) during an uplink transmission. Operations 500 may be implemented as a processor (e.g., Fig.11 In addition, the signal sent and received by the UE in operation 500 may be transmitted by one or more antennas (e.g., Fig.11 In some aspects, the transmission and / or reception of signals by the UE may be implemented via a bus interface of one or more processors (eg, controller / processor 1180) that obtain and / or output signals.
[0050] At 505, operations 500 may begin by determining an allowed number of transport protocol ACKs to be sent in a TTI (e.g., a PUSCH time slot). In some cases, as described below, the allowed number of transport protocol ACKs may include at least one of an allowed number of acknowledged bytes or an allowed number of transport protocol ACK packets.
[0051] At 510, the UE sends one or more transport protocol ACKs in the TTI based at least in part on the determined allowed number of transport protocol acknowledgements.
[0052] In some cases, the UE may determine the allowed number of transport protocol acknowledgements by calculating an average rate of incoming transport protocol acknowledgements entering a modem of the UE (e.g., modem 210), determining a maximum peak-to-average rate ratio, and determining the allowed number of transport protocol acknowledgements based on the maximum peak-to-average rate ratio. In some cases, the UE may calculate the incoming rate per transport layer connection, or overall (per UE), or per peripheral device (e.g., an embedded host or a tethered host).
[0053] Various techniques presented herein may be used to effectively shape traffic, assuming the use of a "token bucket" algorithm. According to certain aspects, a UE may determine an allowed number of transport protocol acknowledgments by calculating an average rate of incoming transport protocol acknowledgments (e.g., incoming from the UE's transport protocol host 205 to the UE's modem 210), calculating a fill rate of a token bucket based on a rate increase margin value and the calculated average rate of incoming transport protocol acknowledgments, and calculating a depth of a token bucket based on a burst duration value and the calculated average rate of incoming transport protocol acknowledgments. The number of ACKs allowed in a TTI (e.g., a PUSCH time slot) may be controlled / shaped by a token bucket. For example, a UE may include a transport protocol acknowledgment (ACK) for transmission in a TTI only if there are tokens in the token bucket that may be removed for transport protocol acknowledgments. The UE may perform traffic shaping per transport layer connection, or overall (per UE), or per peripheral device (embedded host, tethered host).
[0054] In some examples, the UE (e.g., a modem) may calculate an average R of the UL transport protocol ACK rate. The UE may calculate a moving average or an average based on a given time window (e.g., a predetermined or specified duration, such as a 1 second window). In some examples, the UE may calculate an average in units of ACK packets per second. In some examples, the UE may calculate an average in units of bytes acknowledged per second. Thus, in some cases, the allowed number of acknowledgements within a duration may be determined as the allowed number of bytes acknowledged by the corresponding transport protocol acknowledgement packet within the duration.
[0055] The fill rate of the token bucket may depend on the average rate R of incoming transport protocol acknowledgments. The fill rate of the token bucket may correspond to the rate at which the UE is allowed to include transport protocol acknowledgments for transmission in a TTI. In some cases, the fill rate may be derived based on the capacity available in the data direction. In some examples, the token bucket fill rate may be calculated based on the product of the rate increase margin value and the calculated average rate of incoming transport protocol acknowledgments (e.g., bucket fill rate = R * margin). The rate increase margin may allow the rate to ramp up. Therefore, the rate increase margin value may be greater than 1 (e.g., 1.1x), which may allow acknowledgments to be made faster than the average ACK rate R.
[0056] In some cases, the depth of the token bucket can be the maximum allowable number of tokens in the token bucket, which corresponds to the maximum allowable number of transport protocol acknowledgments that the UE includes to send in a TTI. In some examples, the token bucket fill rate can be calculated based on the product of the calculated average rate of incoming transport protocol acknowledgments and the burst duration value (e.g., bucket depth = max_burst*R). In some examples, the burst duration value (e.g., max_burst) can be based on the BS buffer size. In some cases, the burst duration value (e.g., 200 milliseconds) can be greater than the average scheduling interval (e.g., 5 milliseconds).
[0057] According to certain aspects, in some cases the UE may periodically update the average rate of incoming transport protocol acknowledgements, the fill rate and depth of the token bucket.
[0058] According to certain aspects, in some cases a UE may determine, on a per-flow (eg, per-transport protocol flow) basis, an allowed number of transport protocol acknowledgments to send in a TTI.
[0059] In an illustrative example, a first flow may use 10 ACKs to acknowledge 1MB, while another flow may use 100 ACKs to acknowledge 1MB. Thus, according to certain aspects, to determine the number of transport protocol bytes acknowledged, the UE may look at a packet header (e.g., a TCP header) to find an ACK sequence number (SN) value. In some examples, the UE (e.g., at a modem data layer) may add a flow identifier and / or the number of acknowledged bytes (e.g., flow_ID, ack_bytes) to a descriptor for each ACK packet or per batch of packets. In some examples, the data hardware may perform this deep packet inspection and store it for future use by Layer 2 to avoid deep packet inspection by Layer 2.
[0060] In some cases, the number of ACKs (e.g., bytes) allowed per transport protocol flow (e.g., for layer 1 (L1) physical transport) in a TTI can be controlled by a token bucket. For example, the number of transport protocol acknowledgment bytes included can correspond to the number of tokens available in the token bucket to be removed for transport protocol acknowledgments. There can be one token per transport protocol flow, and at a given time for a given flow, a UE (e.g., L2) can send as many ACK bytes as there are in the token at that time. In some cases, the UE (e.g., L2) can know the amount being acknowledged based on the packet descriptor.
[0061] In some cases, when the token buffer runs out of tokens, the UE (e.g., L2) may still have available granted resources, but cannot include more ACKs for transmission (for that flow, if operation is per-flow). In some examples, the unsent ACKs may be buffered and sent in a later TTI. In some examples, the UE may use the remaining granted resources to serve non-ACK traffic (e.g., data) from the same flow, serve ACK traffic from another flow, etc. In some examples, the UE (e.g., L2) may include padding bytes and / or data copies in the TTI when there is no data other than the prohibited ACKs.
[0062] In other words, in some cases, sending one or more transport protocol acknowledgments in a TTI based at least in part on a determined allowed number of transport protocol acknowledgments may include sending a first portion of the transport protocol acknowledgments from a UE send buffer in the TTI while leaving a second portion of the transport protocol acknowledgments in the UE send buffer (e.g., for sending in a subsequent TTI).
[0063] According to certain aspects, even if no new data arrives at the UE for transmission, the UE may send a buffer status report (BSR) after sending one or more transport protocol acknowledgments, reporting one or more buffered transport protocol acknowledgments that were not allowed in a previous transmission. For example, in some cases, the UE (e.g., L2) may use a new internal BSR trigger to report ACKs that have been queued but not allowed in a previous transmission due to token bucket limitations. In the BSR, the UE (e.g., L2) may not report ACKs that are not allowed at the time based on token bucket shaping.
[0064] According to certain aspects, when the transport protocol is not in a slow start phase, such as when the transport protocol rate adaptation method is in a congestion avoidance phase, the UE may apply UL transport protocol ACK shaping.
[0065] According to certain aspects, when the UL transport protocol ACK rate is above a threshold (e.g., a predefined or specified threshold) and / or when the downlink data rate is above a threshold (e.g., a predefined or specified threshold), the UE may apply UL transport protocol ACK shaping. For example, when the UL transport protocol ACK rate and / or the data throughput is low enough, there may be enough buffer in the BS so that shaping may not be needed.
[0066] In some examples, the average rate of incoming transport protocol ACKs may be determined according to the following formula:
[0067] Y n =(1-α)*Y n-1 +α*X n ,
[0068] Where X n is the number of ACKs received from the upper layer of the UE in the past x milliseconds, and α is the filter coefficient. n Compare with minAck (e.g., a maximum value between the two can be chosen for the token) to ensure that slow start is not significantly affected by ACK shaping (e.g., T ACK =max(Y n , minAck)). Another factor may be used to account for the uplink scheduling rate. For example, the UE (e.g., L2) may calculate the uplink scheduling rate (r) at each TTI, and while picking up the ACK, the UE may pick up (r*T ACK ).
[0069] In some cases, the UE (eg, modem 210) may perform downlink data shaping similar to the UL transport protocol ACK shaping described above. DL data shaping may be based on average data rate per stream, per bearer, per packet data network (PDN), and / or per endpoint.
[0070] Figure 6 6 is a flow diagram illustrating example operations 600 for wireless communications in accordance with certain aspects of the present disclosure. Operations 600 may be performed, for example, by a UE (e.g., at a modem of UE 120a in wireless communication network 100) during a downlink transmission. Operations 600 may be implemented as a processor (e.g., Fig.11 In addition, the transmission and reception of signals by the UE in operation 600 may be performed by one or more antennas (e.g., Fig.11 In some aspects, the transmission and / or reception of signals by the UE may be implemented via a bus interface of one or more processors (eg, controller / processor 1180) that obtain and / or output signals.
[0071] At 605, the UE may determine an allowed number of downlink data units to be sent (e.g., to a host or peripheral device) within an amount of time (e.g., a TTI). In some cases, as described in more detail below, the allowed number of downlink data units may include at least one of an allowed number of downlink data packets or an allowed number of downlink data bytes.
[0072] At 610, the UE may send one or more data units in the TTI based at least in part on the determined allowed number of data units.
[0073] According to certain aspects, the UE may calculate an average rate of incoming downlink data units entering a modem of the UE (e.g., modem 210), determine a maximum peak-to-average rate ratio, and determine an allowed number of downlink data units based on the maximum peak-to-average rate ratio.
[0074] According to certain aspects, the UE may calculate an average rate of incoming downlink data units entering the UE's modem, calculate a fill rate for a token bucket based on a rate increase margin value and the calculated average rate of incoming downlink data units, and calculate a depth of the token bucket based on a burst duration value and the calculated average rate of incoming downlink data units. In some examples, the fill rate for the token bucket may depend on the average rate of incoming downlink data units and may correspond to a rate at which the UE is allowed to include downlink data units for transmission in a TTI to a transport protocol endpoint (e.g., transport protocol host 205) or peripheral device at the UE. In some examples, the UE may include downlink data units for transmission in a TTI when there are tokens in the token bucket that can be removed for downlink data units.
[0075] In some cases, sending one or more downlink data units in a TTI (e.g., based at least in part on the determined allowed number of data units) can include forwarding a first portion of the data unit from a UE receive buffer for processing in the TTI (e.g., from modem 210 to transport protocol host 205) while leaving a second portion of the data unit in the UE receive buffer (e.g., referred to as DL data shaping). In some cases, forwarding a first portion of the data unit from a UE receive buffer for processing in the TTI while leaving a second portion of the data unit in the UE receive buffer can be performed when tokens in a token buffer are exhausted or when the UE does not have sufficient tokens in the token buffer to send all downlink data units (e.g., from modem 210 to transport protocol host 205).
[0076] In some examples, the token bucket fill rate may be calculated based on the product of a rate increase margin value (e.g., greater than 1) and a calculated average rate of incoming downlink data units. In some examples, the depth of the token bucket may include a maximum allowable number of tokens in the token bucket corresponding to a maximum allowable number of downlink data units that the UE includes to send in a TTI. In some examples, the burst duration value may be greater than the average scheduling interval.
[0077] In some examples, the average rate of incoming downlink data units can be calculated as a moving average or an average over a specified time window. In some examples, the average rate of incoming downlink data units can be calculated as the average rate of incoming downlink data packets. In some examples, the UE can periodically update the average rate of incoming downlink data units, the fill rate and depth of the token bucket. In some examples, the average rate of incoming downlink data units can be calculated as the average rate of incoming downlink data bytes.
[0078] In some examples, the allowed number of downlink data units to be sent in a TTI may be determined per flow, per bearer, per packet data network (PDN), or per transport protocol endpoint.
[0079] In some examples, for each downlink data unit, the UE may check the packet header to determine the number of downlink data bytes in the downlink data unit packet. In some examples, the UE may include the number of downlink data bytes from the downlink data packet for transmission in the TTI. In some cases, the number of included downlink data bytes may correspond to the number of tokens in the token bucket that can be removed for downlink data bytes. In some examples, the packet header may be included per packet or per packet group.
[0080] In some examples, the UE may determine that there are no available tokens in the token bucket and may include data from different bearers, repeated data or control data, and / or padding in the TTI based on this determination.
[0081] In some examples, the UE may determine an allowed number of downlink data units when the transport protocol is in a congestion avoidance phase. In some examples, the UE may determine an allowed number of downlink data units when the data rate is above a threshold. In some examples, the UE may determine an allowed number of downlink data units when the downlink data unit rate is above a threshold.
[0082] The method disclosed herein includes one or more steps or actions for implementing the method. Without departing from the scope of the claims, the method steps and / or actions can be interchangeable with each other. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions can be modified without departing from the scope of the claims.
[0083] Return to reference Figure 2In the transmission protocol system 200 shown, the UE 215 may include a transmission protocol host 205. The transmission protocol 205 may control and transform signals transmitted and received by the UE 215 for transmission protocol. The modem 210 of the UE 215 may include a DL data shaping module 730, which is configured to perform DL data shaping as discussed herein. For example, the DL data shaping module 730 may control the rate / quantity of DL data units provided by the modem 210 to the transmission protocol host 205 of the UE 215 in a TTI and received from the transmission protocol server 225 and / or from the BS 220. Additionally or alternatively, the modem 210 of the UE 215 may include a UL ACK shaping module 735, which is configured to perform UL ACK shaping as discussed herein. For example, the UL ACK shaping module 735 may control the rate / quantity of UL transmission protocol ACKs incoming from the transmission protocol host 205 of the UE 215 and provided by the modem 210 to the transmission protocol server 225 via the BS 220 in a TTI.
[0084] Figure 8 Call flow 800 shows an example operation and signaling for UL ACK shaping according to aspects of the present disclosure. As shown in call flow 800, the UE 802 is configured with a modem 806 and a TCP host 804 for performing TCP with a TCP server 810 via a BS 808. At 812, the UE 802 receives downlink data from the TCP host 804 via the BS 808. At 814, the TCP host 804 may deliver a burst of x TCP ACKs to the modem 806. At 816, the UE 802 determines the allowed quantity of TCP ACKs to be sent in a PUSCH time slot. Thus, based on the shaping determination, at 818, the modem 806 may send only y TCP ACKs (y < x) in the PUSCH time slot. Then, at 820, the TCP server 810 may send DL data based on the UL TCP ACK that will not cause buffer overflow at the BS 808. Later (e.g., in a subsequent time slot), at 822, the UE 802 may send the remaining x - y TCP ACKs.
[0085] Fig. 9900 is a call flow diagram illustrating example operations and signaling for DL data shaping according to aspects of the present disclosure. As shown in the call flow diagram 900, a UE 902 is configured with a modem 906 and a TCP host 904 for TCP with a TCP server 910 via a BS 908. At 912, the modem 906 at the UE 902 receives x DL data units from the TCP host 904 via the BS 908. At 914, the UE 902 determines an allowed number of DL data units to be sent in a PDSCH slot. Therefore, based on the shaping determination, at 916, the modem 906 may only send y DL data units (y DL data units) to the TCP host 904 in the PDSCH slot. <x)。
[0086] Fig.10 A communication device 1000 is shown, which may include various components (eg, corresponding to means+functional components) configured to perform operations for the techniques disclosed herein, such as Figure 5 and / or Figure 6 , and other operations described herein for shaping the delivery of transmission protocol acknowledgments for uplink transmissions and downlink data shaping. The communication device 1000 includes a processing system 1002 coupled to a transceiver 1008. The transceiver 1008 is configured to transmit and receive signals, such as the various signals described herein, for the communication device 1000 via an antenna 1010. The processing system 1002 may be configured to perform processing functions for the communication device 1000, including processing signals received and / or to be transmitted by the communication device 1000.
[0087] The processing system 1002 includes a processor 1004 coupled to a computer-readable medium / memory 1012 via a bus 1006. In some aspects, the computer-readable medium / memory 1012 is configured to store instructions (e.g., computer-executable code) that, when executed by the processor 1004, cause the processor 1004 to perform Figure 5 and / or Figure 6The operations shown, or other operations for performing various techniques for UL transport protocol ACK shaping and DL data shaping discussed herein. In some aspects, the computer-readable medium / memory 1012 stores code 1014 for determining an allowed number of transport protocol ACKs to be sent in a TTI; code 1016 for sending one or more transport protocol ACKs in a TTI based at least in part on the determined allowed number of transport protocol ACKs; code 1018 for determining an allowed number of data units to be sent in a TTI; and code 1020 for sending one or more data units in a TTI based at least in part on the determined allowed number of data units. In some aspects, the processor 1004 has circuitry configured to implement the code stored in the computer-readable medium / memory 1012. Processor 1004 includes circuitry 1022 for determining an allowed number of transport protocol ACKs to be sent in a TTI; circuitry 1024 for sending one or more transport protocol ACKs in a TTI based at least in part on the determined allowed number of transport protocol ACKs; circuitry 1024 for determining an allowed number of data units to be sent in a TTI; and circuitry 1028 for sending one or more data units in a TTI based at least in part on the determined allowed number of data units.
[0088] The techniques described herein may be used for various wireless communication technologies, such as NR (e.g., 5G NR), 3GPP Long Term Evolution (LTE), LTE-Advanced (LTE-A), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single Carrier Frequency Division Multiple Access (SC-FDMA), Time Division Synchronous Code Division Multiple Access (TD-SCDMA), WLAN, and other networks. The terms "network" and "system" are often used interchangeably. A CDMA network may implement radio technologies such as Universal Terrestrial Radio Access (UTRA), cdma2000, and the like. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. cdma2000 covers IS-2000, IS-95, and IS-856 standards. A TDMA network may implement a radio technology such as Global System for Mobile Communications (GSM). OFDMA networks can implement radio technologies such as NR (e.g., 5G RA), Evolved UTRA (E-UTRA), Ultra Mobile Broadband (UMB), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDMA, etc. UTRA and E-UTRA are part of Universal Mobile Telecommunications System (UMTS). LTE and LTE-A are versions of UMTS that use E-UTRA. UTRA, E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from an organization named "3rd Generation Partnership Project" (3GPP). cdma2000 and UMB are described in documents from an organization named "3rd Generation Partnership Project 2" (3GPP2). NR is an emerging wireless communication technology under development.
[0089] The techniques described herein can be used for the above wireless networks and radio technologies as well as other wireless networks and radio technologies. For clarity, although various aspects may be described herein using terms commonly associated with 3G, 4G and / or 5G wireless technologies, various aspects of the present disclosure may be applied to other communication systems based on generations.
[0090] Generally, any number of wireless networks can be deployed in a given geographic area. Each wireless network can support a specific radio access technology (RAT) and can operate on one or more frequencies. RAT can also be referred to as radio technology, air interface, etc. Frequency can also be referred to as carrier, subcarrier, frequency channel, tone, subband, etc. Each frequency can support a single RAT in a given geographic area to avoid interference between wireless networks of different RATs. In some cases, NR or 5G RAT networks can be deployed.
[0091] In 3GPP, the term "cell" may refer to the coverage area of a Node B (NB) and / or NB subsystem serving the coverage area, depending on the context in which the term is used. In NR systems, the terms "cell" and BS, next-generation Node B (gNB or gNodeB), access point (AP), distributed unit (DU), carrier or transmit receive point (TRP) may be used interchangeably. A BS may provide communication coverage for a macro cell, a pico cell, a femto cell and / or other types of cells. A macro cell may cover a relatively large geographic area (e.g., a radius of several kilometers) and may allow unrestricted access to a UE through a service subscription. A pico cell may cover a relatively small geographic area and may allow unrestricted access to a UE through a service subscription. A femto cell may cover a relatively small geographic area (e.g., a home) and may allow restricted access to a UE associated with the femto cell (e.g., a UE in a closed subscriber group (CSG), a UE of a user in a home, etc.). A BS for a macro cell may be referred to as a macro BS. A BS for a pico cell may be referred to as a pico BS. A BS for a femto cell may be referred to as a femto BS or a home BS.
[0092] UE may also be referred to as a mobile station, a terminal, an access terminal, a subscriber unit, a station, a customer premises equipment (CPE), a cellular phone, a smart phone, a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a notebook computer, a cordless phone, a wireless local loop (WLL) station, a tablet computer, a camera, a gaming device, a netbook, a smartbook, an ultrabook, an appliance, a medical device or medical equipment, a biometric sensor / device, a wearable device (e.g., a smart watch, smart clothing, smart glasses, a smart wristband, smart jewelry (e.g., a smart ring, a smart bracelet, etc.)), an entertainment device (e.g., a music device, a video device, a satellite radio, etc.), a vehicle component or sensor, a smart meter / sensor, an industrial manufacturing equipment, a global positioning system device, or any other suitable device configured to communicate via a wireless or wired medium. Some UEs may be considered machine type communication (MTC) devices or evolved MTC (eMTC) devices. MTC and eMTC UEs include, for example, robots, drones, remote devices, sensors, meters, monitors, location tags, etc., which can communicate with a BS, another device (e.g., a remote device), or some other entity. For example, a wireless node can provide connectivity to or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link. Some UEs may be considered Internet of Things (IoT) devices, which may be narrowband IoT (NB-IoT) devices.
[0093] Some wireless networks, such as LTE, utilize orthogonal frequency division multiplexing (OFDM) on the downlink and single carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM divide the system bandwidth into multiple (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier can be modulated with data. In general, modulation symbols are sent in the frequency domain using OFDM and in the time domain using SC-FDM. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers (K) can depend on the system bandwidth. For example, the spacing of the subcarriers can be 15kHz, and the minimum resource allocation (called a "resource block" (RB)) can be 12 subcarriers (or 180kHz). Therefore, for system bandwidths of 1.25, 2.5, 5, 10, or 20 megahertz (MHz), the nominal fast Fourier transform (FFT) size can be equal to 128, 256, 512, 1024, or 2048, respectively. The system bandwidth can also be divided into subbands. For example, a subband may cover 1.08 MHz (eg, 6 RBs), and there may be 1, 2, 4, 8, or 16 subbands for system bandwidths of 1.25, 2.5, 5, 10, or 20 MHz, respectively.In LTE, the basic transmission time interval (TTI) or packet duration is a 1 millisecond subframe.
[0094] NR can utilize OFDM with CP on both the uplink and downlink, and includes support for half-duplex operation using TDD. Beamforming can be supported, and the beam direction can be dynamically configured. MIMO transmission with precoding can also be supported. In some examples, the MIMO configuration in the DL can support up to 8 transmit antennas, multi-layer DL transmission with up to 8 streams and up to 2 streams per UE. In some examples, multi-layer transmission with up to 2 streams per UE can be supported. Multiple cell aggregation of up to 8 serving cells can be supported. In NR, the subframe is still 1 millisecond, but the basic TTI is called a time slot. The subframe contains a variable number of time slots (e.g., 1, 2, 4, 8, 16, ... time slots) depending on the subcarrier spacing. NR RB is 12 consecutive frequency subcarriers. NR can support a basic subcarrier spacing of 15KHz, and other subcarrier spacings can be defined relative to the basic subcarrier spacing, such as 30kHz, 60kHz, 120kHz, 240kHz, etc. The symbol and time slot lengths vary with the subcarrier spacing. The CP length also depends on the subcarrier spacing.
[0095] In some examples, access to the air interface can be scheduled. A scheduling entity (e.g., BS) allocates resources for communications between some or all devices and equipment within its service area or cell. A scheduling entity may be responsible for scheduling, allocating, reconfiguring, and releasing resources for one or more subordinate entities. That is, for scheduled communications, subordinate entities utilize resources allocated by the scheduling entity. The base station is not the only entity that can function as a scheduling entity. In some examples, a UE may act as a scheduling entity, and resources for one or more subordinate entities (e.g., one or more other UEs) may be scheduled, and other UEs may utilize resources scheduled by the UE for wireless communications. In some examples, a UE may act as a scheduling entity in a peer-to-peer (P2P) network and / or a mesh network. In a mesh network example, UEs may communicate directly with each other in addition to communicating with a scheduling entity.
[0096] In some examples, two or more slave entities (e.g., UEs) can communicate with each other using sidelink signals. Real-world applications of such sidelink communications may include public safety, proximity services, UE-to-network relay, vehicle-to-vehicle (V2V) communications, Internet of Everything (IoE) communications, IoT communications, mission-critical grids, and / or various other suitable applications. Generally, a sidelink signal may refer to a signal transmitted from one slave entity (e.g., UE1) to another slave entity (e.g., UE2) without relaying the communication through a scheduling entity (e.g., UE or BS), even though the scheduling entity may be used for scheduling and / or control purposes. In some examples, a licensed spectrum (unlike wireless local area networks that typically use unlicensed spectrum) may be used to transmit sidelink signals.
[0097] Fig.11 BS 110a and UE 120a (eg, Figure 1 100) that may be used to implement aspects of the present disclosure. For example, antenna 1152, processors 1166, 1158, 1164, and / or controller / processor 1180 of UE 120a, and / or antenna 1134, processors 1120, 1130, 1138, and / or controller / processor 1140 of BS 110a may be used to perform the various techniques and methods described herein.
[0098] At BS 110a, a transmit processor 1120 may receive data from a data source 1112 and control information from a controller / processor 1140. The control information may be for a physical broadcast channel (PBCH), a physical control format indicator channel (PCFICH), a physical hybrid ARQ indicator channel (PHICH), a physical downlink control channel (PDCCH), a group common PDCCH (GC PDCCH), etc. The data may be for a PDSCH, etc. The processor 1120 may process (e.g., encode and symbol map) the data and the control information to obtain data symbols and control symbols, respectively. The transmit processor 1120 may also generate reference symbols, such as for a primary synchronization signal (PSS), a secondary synchronization signal (SSS), and a cell-specific reference signal (CRS). The transmit (TX) multiple-input multiple-output (MIMO) processor 830 may perform spatial processing (e.g., precoding) on data symbols, control symbols, and / or reference symbols (if applicable), and may provide an output symbol stream to a modulator (MOD) in transceivers 1132a-1132t. Each modulator in transceivers 1132a-1132t may process a corresponding output symbol stream (e.g., for OFDM, etc.) to obtain an output sample stream. Each modulator may further process (e.g., convert to analog, amplify, filter, and upconvert) the output sample stream to obtain a downlink signal. The downlink signals from the modulators in transceivers 1132a-1132t may be transmitted via antennas 1134a-1134t, respectively.
[0099] At the UE 120a, antennas 1152a-1152r may receive downlink signals from the BS 110a and may provide received signals to demodulators (DEMODs) in transceivers 1154a-1154r, respectively. Each demodulator in the transceivers 1154a-1154r may condition (e.g., filter, amplify, downconvert, and digitize) a corresponding received signal to obtain input samples. Each demodulator may further process the input samples (e.g., for OFDM, etc.) to obtain received symbols. A MIMO detector 1156 may obtain received symbols from all demodulators in the transceivers 1154a-1154r, perform MIMO detection on the received symbols if applicable, and provide detected symbols. A receive processor 858 may process (e.g., demodulate, deinterleave, and decode) the detected symbols, provide decoded data for the UE 120a to a data sink 1160, and provide decoded control information to a controller / processor 1180.
[0100] On the uplink, at the UE 120a, a transmit processor 1164 may receive and process data from a data source 1162 (e.g., for a PUSCH) and control information from a controller / processor 1180 (e.g., for a physical uplink control channel (PUCCH)). The transmit processor 1164 may also generate reference symbols for reference signals (e.g., for a sounding reference signal (SRS)). The symbols from the transmit processor 1164 may be pre-coded and decoded by a TX MIMO processor 1166, if applicable, further processed by a demodulator in the transceivers 1154a-1154r (e.g., for SC-FDM, etc.), and transmitted to the BS 110a. At BS 110a, the uplink signal from UE 120q may be received by antenna 1134, processed by modulators in transceivers 1132a-1132t, detected by MIMO detector 1136 if applicable, and further processed by receive processor 1138 to obtain decoded data and control information sent by UE 120a. Receive processor 1138 may provide the decoded data to a data sink 1139 and the decoded control information to a controller / processor 1140.
[0101] Controllers / processors 1140 and 1180 may direct the operation at BS 110a and UE 120a, respectively. Controllers / processors 1180 and / or other processors and modules at UE 120a may perform or direct the execution of processes for the techniques described herein. Memories 1142 and 1182 may store data and program codes for BS 110a and UE 120a, respectively. Scheduler 1144 may schedule UEs for data transmission on the downlink and / or uplink.
[0102] like Fig.11 As shown, according to certain aspects described herein, the controller / processor 1180 of the UE 120a has a UL ACK shaping module 1184, which can be configured to shape the delivery of a transport protocol ACK for uplink transmissions. According to aspects of the present disclosure, the UL ACK shaping module 1184 can be configured to determine an allowed number of transport protocol ACKs to be sent in a TTI. The UL ACK shaping module 1184 can be configured to send one or more transport protocol ACKs in a TTI based at least in part on the determined allowed number of transport protocol ACKs. Fig.11As shown, according to certain aspects described herein, the controller / processor 1180 of the UE 120a has a DL data shaping module 1186, which can be configured to shape data for downlink transmission. According to aspects of the present disclosure, the DL data shaping module 1186 can be configured to determine an allowed number of downlink data units to be sent in a TTI. The DL data shaping module 1186 can be configured to send one or more data units in a TTI based at least in part on the determined allowed number of data units.
[0103] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items, including single members. For example, "at least one of a, b, or c" is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiples of the same elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc or any other order of a, b, and c).
[0104] As used herein, the term "determine" includes a variety of actions. For example, "determine" may include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, a database, or another data structure), determining, etc. In addition, "determine" may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), etc. In addition, "determine" may include parsing, selecting, choosing, establishing, etc.
[0105] The foregoing description is provided to enable those 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 given the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean "one and only one", unless specifically so stated, but rather "one or more". Unless otherwise specifically stated, the term "some" refers to one or more. All structural and functional equivalents of the elements of the various aspects described throughout this disclosure known or to be known by those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be covered by the claims. In addition, nothing disclosed herein is intended to be used exclusively for the public, regardless of whether the disclosure is explicitly stated in the claims. Any claim element shall not be interpreted according to the provisions of 35 U.S.C. § 112 (f), unless the element is explicitly stated using the phrase "parts for...", or in the case of a method claim, the element is stated using the phrase "step for...".
[0106] The various operations of the above method can be performed by any suitable component capable of performing the corresponding function. The component may include various hardware and / or software components (multiple) and / or modules (multiple), including but not limited to circuits, application specific integrated circuits (ASICs) or processors. Generally, in the case of the operations shown in the figure, these operations may have corresponding corresponding components + functional components with similar numbers.
[0107] The various illustrative logical blocks, modules, and circuits described in conjunction with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors with a DSP core, or any other such configuration.
[0108] If implemented in hardware, an example hardware configuration may include a processing system in a wireless node. The processing system may be implemented using a bus architecture. Depending on the specific application and overall design constraints of the processing system, the bus may include any number of interconnecting buses and bridges. The bus may link together various circuits including a processor, a machine-readable medium, and a bus interface. The bus interface may be used to connect a network adapter, etc., to the processing system via the bus. The network adapter may be used to implement the signal processing functions of the PHY layer. In the user terminal 120 (see Figure 1 ), a user interface (e.g., keyboard, display, mouse, joystick, etc.) may also be connected to the bus. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and will not be described further. The processor may be implemented with one or more general and / or special purpose processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits that can execute software. Those skilled in the art will recognize how to best implement the described functionality for the processing system depending on the specific application and the overall design constraints imposed on the entire system.
[0109] If implemented in software, these functions may be stored or transmitted on a computer-readable medium as one or more instructions or codes. Software should be broadly interpreted as referring to instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or other. Computer-readable media include both computer storage media and communication media, and communication media include any media that facilitate the transfer of computer programs from one place to another. The processor may be responsible for managing the bus and general processing, including the execution of software modules stored on a machine-readable storage medium. A computer-readable storage medium may be coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. In an alternative, the storage medium may be integrated into the processor. As an example, a machine-readable medium may include a transmission line, a carrier modulated by data, and / or a computer-readable storage medium having instructions stored thereon separated from a wireless node, all of which may be accessed by a processor through a bus interface. Alternatively or additionally, a machine-readable medium or any portion thereof may be integrated into a processor, such as a case where a cache and / or a general register file may be provided. Examples of machine-readable storage media may include, for example, RAM (random access memory), flash memory, ROM (read only memory), PROM (programmable read only memory), EPROM (erasable programmable read only memory), EEPROM (electrically erasable programmable read only memory), registers, magnetic disks, optical disks, hard drives, or any other suitable storage media, or any combination thereof. The machine-readable medium may be embodied in a computer program product.
[0110] A software module may include a single instruction or many instructions and may be distributed across several different code segments, between different programs, and across multiple storage media. A computer-readable medium may include multiple software modules. A software module includes instructions that, when executed by a device such as a processor, cause a processing system to perform various functions. A software module may include a sending module and a receiving module. Each software module may reside in a single storage device or be distributed across multiple storage devices. For example, when a triggering event occurs, a software module may be loaded from a hard drive into a RAM. During the execution of a software module, a processor may load some instructions into a cache to increase access speed. One or more cache lines may then be loaded into a general register file for execution by the processor. When the function of a software module is mentioned below, it will be understood that the function is implemented by the processor when an instruction from the software module is executed.
[0111] Additionally, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies (such as infrared (IR), radio and microwave), then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies (such as infrared, radio and microwave) are included in the definition of medium. Disk and optical disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Optical disks, where magnetic disks typically reproduce data magnetically, and optical disks reproduce data optically with lasers. Thus, in some aspects, computer-readable media may include non-transitory computer-readable media (e.g., tangible media). Additionally, for other aspects, computer-readable media may include transitory computer-readable media (e.g., signals). Combinations of the above should also be included within the scope of computer-readable media.
[0112] Thus, certain aspects may include a computer program product for performing the operations presented herein. For example, such a computer program product may include a computer-readable medium having instructions stored (and / or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein, such as for performing the operations described herein and Figure 5 and Figure 6 The operations shown in and instructions for performing other operations of the various techniques discussed herein for UL transmission protocol ACK shaping and DL data shaping.
[0113] In addition, it should be understood that the modules and / or other appropriate components for performing the methods and techniques described herein can be downloaded and / or otherwise obtained by the user terminal and / or base station (if applicable). For example, such a device can be coupled to a server to facilitate the transfer of components for performing the methods described herein. Alternatively, the various methods described herein can be provided via a storage device (e.g., RAM, ROM, a physical storage medium such as a compact disk (CD) or a floppy disk), so that the user terminal and / or base station can obtain the various methods when the storage component is coupled or provided to the corresponding device. In addition, any other suitable technology for providing the methods and techniques described herein to a device can be used.
[0114] It is to be understood that the claims are not limited to the precise configuration and components shown above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.
Claims
1. A wireless communication method for a user equipment UE, comprising: Determining an allowed number of transport protocol acknowledgments to be sent in a transmission time interval TTI, wherein the allowed number of transport protocol acknowledgments comprises at least one of: the allowed number of bytes to be acknowledged; or The allowed number of transport protocol acknowledgment packets; Sending one or more transport protocol acknowledgments in a TTI based at least in part on the determined allowed number of transport protocol acknowledgments includes: sending a first portion of the one or more transport protocol acknowledgments from a UE send buffer in the TTI while leaving a second portion of the one or more transport protocol acknowledgments in the UE send buffer; as well as Even if no new data arrives at the UE, a buffer status report BSR is sent after sending the first part of the one or more transmission protocol confirmations, the BSR reporting the second part of the one or more transmission protocol confirmations remaining in the UE transmission buffer.
2. The method of claim 1 , wherein determining an allowed number of transport protocol acknowledgments comprises: Calculate the average rate of incoming transport protocol acknowledgments into the UE; determining the maximum peak-to-average rate ratio; as well as The allowed number of transport protocol acknowledgments is determined based on the maximum peak-to-average rate ratio.
3. The method of claim 1 , wherein determining an allowed number of transmission protocol acknowledgments comprises: Calculate the average rate of incoming transport protocol acknowledgments into the UE; Calculate burst duration; as well as An allowed number of transport protocol acknowledgments is determined using a rate limiting operation based on a calculated average rate of incoming transport protocol acknowledgments and a burst duration.
4. The method according to claim 3, wherein: Calculate the average rate of incoming transport protocol acknowledgments as a moving average or average over a specified time window; and The burst duration is greater than an average scheduling interval.
5. The method of claim 3, wherein using a rate limiting operation to determine an allowed number of transport protocol acknowledgments comprises: calculating a fill rate of a token bucket based on the rate increase margin value and the calculated average rate of incoming transport protocol acknowledgments, wherein the fill rate of the token bucket depends on the average rate of incoming transport protocol acknowledgments and corresponds to a rate at which the UE is allowed to include transport protocol acknowledgments to send in a TTI; calculating a depth of a token bucket based on a burst duration and a calculated average rate of incoming transport protocol acknowledgments; as well as The transport protocol acknowledgement is included in the allowed number of transport protocol acknowledgements to be sent in a TTI only if there are tokens in the token bucket that can be removed for the transport protocol acknowledgement.
6. The method according to claim 5, wherein: calculating a fill rate of the token bucket based on a product of the rate increase margin value and a calculated average rate of incoming transport protocol acknowledgments; The depth of the token bucket includes a maximum allowable number of tokens in the token bucket, which corresponds to the maximum allowable number of transport protocol acknowledgments that the UE includes to be sent in a TTI; as well as The rate increase margin value is greater than 1.
7. The method of claim 3, wherein the average rate of incoming transport protocol acknowledgments is calculated as an average rate of incoming transport protocol acknowledgment packets.
8. The method of claim 3, wherein the average rate of incoming transport protocol acknowledgments is calculated as the average rate of incoming transport protocol acknowledgment bytes.
9. The method of claim 8, wherein determining an allowed number of transport protocol acknowledgments to be sent in a TTI comprises determining an allowed number of transport protocol acknowledgments to be sent in a TTI on a per-flow basis.
10. The method according to claim 1, further comprising: For each transport protocol acknowledgment, examining a packet header of the transport protocol acknowledgment to determine a number of transport protocol acknowledgment bytes in the transport protocol acknowledgment, wherein: The UE includes the number of transport protocol acknowledgment bytes from the transport protocol acknowledgment to send in the TTI; and The packet header is included per packet or per group of packets.
11. The method of claim 1 , wherein at least one of the following: updating the allowed number of transport protocol confirmations per TTI; The method is performed at a modem of the UE; or The TTI includes a physical uplink shared channel PUSCH time slot.
12. The method according to claim 1, further comprising: determining that an allowed number of transport protocol acknowledgments to be sent in a TTI has been reached; as well as At least one of: data from a different bearer, repeated data or control, or padding is included in the TTI based on the determination.
13. The method of claim 1, wherein at least one of the following: When the transport protocol is in a congestion avoidance phase, performing a determination of an allowed number of transport protocol acknowledgments; When the data rate is above a threshold, determining an allowed number of transmission protocol acknowledgments is performed; or When the transport protocol acknowledgment rate is above a threshold, determining an allowed number of transport protocol acknowledgments is performed.
14. An apparatus for wireless communication by a user equipment UE, comprising: at least one processor; as well as A memory is coupled to the at least one processor and stores instructions, wherein the instructions can be executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 13.
15. A non-transitory computer-readable medium for wireless communication by a user equipment (UE), the non-transitory computer-readable medium comprising instructions, which, when executed by at least one processor, cause the at least one processor to perform the method according to any one of claims 1-13.
Citation Information
Patent Citations
Transport protocol communications reduction
US20170063498A1
