Dynamic Group Buffer Duration Using Machine Learning

By dynamically determining the duration of packet buffering in a wireless communication system, and adjusting the buffering time according to specific parameters using machine learning algorithms, the problem of inefficient packet buffering in the prior art is solved, and low overhead and efficient buffering effects are achieved.

CN115336319BActive Publication Date: 2025-06-27QUALCOMM INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180024729.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-30
Filing Date
2021-03-31
Publication Date
2025-06-27
Estimated Expiration
2041-03-31

AI Technical Summary

Technical Problem

Existing wireless communication systems have problems with inefficiency in packet buffering, especially when dealing with disordered and lost packets, where inherent limitations in timer configuration lead to low buffering efficiency.

Method used

By dynamically determining the duration of the packet buffer, a machine learning algorithm is used to output appropriate buffering time based on input parameters (such as low-level block error rate, number of HARQ and RLC retransmissions, dual-connection configuration, etc.), replacing the traditional timer configuration.

Benefits of technology

It realizes packet buffering with low overhead and low end-to-end delay, dynamically adjusts the buffering time according to actual communication conditions, improving buffering efficiency and system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115336319B_ABST
    Figure CN115336319B_ABST
Patent Text Reader

Abstract

Certain aspects of the present disclosure provide techniques for packet buffering. A method that may be performed by a receiving node includes: dynamically determining one or more durations for buffering a packet. The one or more durations may be different from the duration of a configured timer for buffering the packet. The receiving node may input one or more parameters to a machine learning algorithm and obtain, based on the one or more input parameters, one or more durations for buffering the packet as an output of the machine learning algorithm. The receiving node buffers the packet within the determined one or more durations. The receiving node may use machine learning to dynamically determine one or more durations for buffering the packet. The buffering may be at a radio link control (RLC) reordering buffer and / or a packet data convergence protocol (PDCP) buffer.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims priority to U.S. Application No. 17 / 217,986, filed Mar. 30, 2021, which claims the benefit and priority of U.S. Provisional Application No. 63 / 003,587, filed Apr. 1, 2020. The entire disclosures of the above two applications are hereby assigned to the assignee of this application and are hereby incorporated by reference in their entireties into this application as if fully set forth herein and for all applicable purposes. Technical Field

[0003] Aspects of the present disclosure relate to wireless communication, and more particularly, aspects of the present disclosure relate to techniques for packet buffering. Background Art

[0004] Wireless communication systems are widely deployed to provide various telecommunication services such as telephony, video, data, messaging, broadcasting, etc. These wireless communication systems may use multiple access technologies that can support 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, among others.

[0005] These multiple access technologies have been adopted in various telecommunication standards to provide common protocols that enable different wireless devices to communicate at the urban, national, regional, and even global levels. New Radio (NR) (e.g., 5G NR) is an example of an emerging telecommunication standard. NR is a set of enhancements to the LTE mobile standard released by 3GPP. NR is designed to better support mobile broadband Internet access by improving spectral efficiency, reduce costs, improve services, use new spectrums, and better integrate with other open standards that use OFDMA with cyclic prefix (CP) on the 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 grow, there is a need for further improvements to NR and LTE technologies. Preferably, these improvements should be applicable to other multiple access technologies and the telecommunication standards that employ these technologies. Summary of the Invention

[0007] The systems, methods, and devices of the present disclosure each have several aspects, none of which single-handedly is responsible for its desired attributes. Some of the features will now be discussed briefly. After considering this discussion and especially after reading the section entitled "Detailed Description," it will be understood how the features of the present disclosure provide advantages including improved packet buffering at a receiver.

[0008] Certain aspects of the subject matter described in the present disclosure may be implemented in an apparatus for wireless communication. Generally speaking, the apparatus includes at least one processor and a memory coupled to the at least one processor. The processor and the memory are configured to: input one or more parameters to a machine learning algorithm. The processor and the memory are configured to: obtain, at least in part based on the input one or more parameters, one or more durations for buffering a packet, as an output of the machine learning algorithm. The one or more durations are different from the duration of a configured timer for buffering the packet. The processor and the memory are configured to: buffer the packet within one of the one or more durations.

[0009] Certain aspects of the subject matter described in the present disclosure may be implemented in a method for wireless communication by a node. Generally speaking, the method includes: inputting one or more parameters to a machine learning algorithm. The method includes: obtaining, at least in part based on the input one or more parameters, one or more durations for buffering a packet, as an output of the machine learning algorithm. The one or more durations are different from the duration of a configured timer for buffering the packet. The method includes: buffering the packet within one of the one or more durations.

[0010] Certain aspects of the subject matter described in the present disclosure may be implemented in an apparatus for wireless communication. Generally speaking, the apparatus includes: means for inputting one or more parameters to a machine learning algorithm. Generally speaking, the apparatus includes: means for obtaining, at least in part based on the input one or more parameters, one or more durations for buffering a packet, as an output of the machine learning algorithm. The one or more durations are different from the duration of a configured timer for buffering the packet. Generally speaking, the apparatus includes: means for buffering the packet within one of the one or more durations.

[0011] Certain aspects of the subject matter described in this disclosure can be implemented in a computer-readable medium having stored thereon computer-executable code for wireless communication. Generally speaking, the computer-readable medium includes: code for inputting one or more parameters into a machine learning algorithm. Generally speaking, the computer-readable medium includes: code for obtaining, at least in part based on the input one or more parameters, one or more durations for buffering a packet as an output of the machine learning algorithm. The one or more durations are different from the duration of a configured timer for buffering the packet. Generally speaking, the computer-readable medium includes: code for buffering the packet within one of the one or more durations.

[0012] Certain aspects of the subject matter described in this disclosure can be implemented in a method for wireless communication by a receiving node. Generally speaking, the method includes: dynamically determining one or more durations for buffering a packet. The one or more durations are different from the duration of a configured timer for buffering the packet. Generally speaking, the method includes: buffering the packet within the determined one or more durations.

[0013] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication. Generally speaking, the apparatus includes at least one processor and a memory coupled to the at least one processor. The processor and the memory are configured to: dynamically determine one or more durations for buffering a packet. The one or more durations are different from the duration of a configured timer for buffering the packet. The processor and the memory are configured to: buffer the packet within the determined one or more durations.

[0014] Certain aspects of the subject matter described in this disclosure can be implemented in an apparatus for wireless communication. Generally speaking, the apparatus includes: means for dynamically determining one or more durations for buffering a packet. The one or more durations are different from the duration of a configured timer for buffering the packet. Generally speaking, the apparatus includes: means for buffering the packet within the determined one or more durations.

[0015] Certain aspects of the subject matter described in this disclosure can be implemented in a computer-readable medium having computer-executable code for wireless communication stored thereon. Generally speaking, the computer-readable medium includes: code for dynamically determining one or more durations for buffering a packet. The one or more durations are different from the duration of a configured timer for buffering the packet. Generally speaking, the computer-readable medium includes: buffering the packet within the determined one or more durations.

[0016] To achieve the foregoing and related purposes, one or more aspects include the features described in detail below and particularly pointed out in the claims. The following description and the drawings set forth in detail certain illustrative features of one or more aspects. However, these features are indicative of several ways in which the principles of the various aspects may be employed. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] To enable a more particular understanding of the above-described features of the present disclosure, a more specific description may be made with reference to some aspects, some of which are illustrated in the drawings. It should be noted, however, that the drawings only illustrate certain typical aspects of the present disclosure and should not be considered as limiting the scope of the present disclosure, as the description allows other equivalent aspects.

[0018] Figure 1 is a block diagram conceptually illustrating an example wireless communication network in accordance with certain aspects of the present disclosure.

[0019] Figure 2 is a block diagram conceptually illustrating the design of an example base station (BS) and user equipment (UE) in accordance with certain aspects of the present disclosure.

[0020] Figure 3 is an example frame format for communication in a wireless communication network in accordance with certain aspects of the present disclosure.

[0021] Figure 4 illustrates an example system architecture for interworking between a 5G system (5GS) and an evolved universal mobile telecommunications system network (E-UTRAN) system in accordance with certain aspects of the present disclosure.

[0022] Figure 5 is a block diagram illustrating an example for implementing a communication protocol stack in accordance with certain aspects of the present disclosure.

[0023] Figure 6 illustrates an example packet data convergence protocol (PDCP) reordering buffer in accordance with aspects of the present disclosure.

[0024] Figure 7 An example radio link control (RLC) reordering buffer in accordance with aspects of the present disclosure is shown.

[0025] Figure 8 An example networking environment in accordance with certain aspects of the present disclosure is shown, where a prediction model is used for channel estimation.

[0026] Figure 9 An example node in a networking environment in accordance with certain aspects of the present disclosure is shown, where a prediction model is used for buffer duration determination.

[0027] Figure 10 A flowchart illustrating an example operation for wireless communication by a receiving node in accordance with certain aspects of the present disclosure.

[0028] Figure 11 Another flowchart illustrating an example operation for wireless communication by a receiving node in accordance with certain aspects of the present disclosure.

[0029] Figure 12 Another flowchart illustrating an example operation for wireless communication by a receiving node in accordance with certain aspects of the present disclosure.

[0030] Figure 13 A communication device in accordance with aspects of the present disclosure is shown, which may include various components configured to perform operations for the techniques disclosed herein.

[0031] For ease of understanding, where possible, the same reference numerals have been used to indicate the same elements common to these figures. In the absence of a specific recitation, it is contemplated that elements disclosed in one aspect may be advantageously utilized in other aspects. Detailed Description

[0032] Aspects of the present disclosure provide apparatuses, methods, processing systems, and computer-readable media for packet buffering.

[0033] In certain systems, a receiving node buffers received packets. For example, packet buffering can be used in a hybrid automatic repeat request (HARQ) system and / or for handling out-of-order packets. For example, in some cases, packets may not be received in the correct order (e.g., the packet sequence numbers (SNs) of a transmission (such as a transport block (TB)) may not be received sequentially) and / or some packets may not be received, may not be successfully decoded, and / or may not be successfully processed. Some examples of packet buffers are packet data convergence protocol (PDCP) reordering buffers and radio link control (RLC) reordering buffers.

[0034] According to one or more examples, a receiving node may be configured with a timer or duration for buffering packets. The timer may allow a duration for buffering packets during which lost packets may be retransmitted by a sending node and received at the receiving node. The receiving node may be configured to wait for the timer to expire before taking further action. For example, the receiving node may wait for the timer to expire before sending the received and buffered packets to an upper layer and / or before sending a negative acknowledgment for a lost packet to the sending node.

[0035] Aspects of the present disclosure provide for dynamically determining a duration for buffering packets. In some examples, a receiving node may dynamically determine a duration for buffering packets rather than following a configured timer duration or overriding a configured timer time. In some examples, the dynamically determined duration may allow the receiving node to flush the buffer earlier (e.g., earlier than the configured timer duration) and send packets to an upper layer and / or send a negative acknowledgment to the sending node. In some examples, the receiving node dynamically determines a duration for buffering packets based on information related to past buffering history, likelihood of receiving lost packets, configuration parameters, etc. In some examples, the receiving node may use machine learning to dynamically determine a duration for buffering packets. For example, information / parameters may be used as inputs to a machine learning algorithm to output a duration for buffering packets. The receiving node may input historical values associated with one or more parameters to the machine learning algorithm. The one or more parameters may include one or more lower layer block error rates (BLERs), one or more hybrid automatic repeat request (HARQ) retransmission counts for determining HARQ latency, one or more radio link control (RLC) retransmission counts for determining RLC latency, and / or one or more dual connectivity configurations of the device. Buffering packets for the dynamically determined duration may provide low overhead and low end-to-end latency.

[0036] The following description provides examples of dynamically determining a duration for buffering packets in a communication system and does not limit the scope, application, or examples set forth in the claims. The functions and arrangements of the elements discussed may be changed without departing from the scope of the present application. Various examples may omit, substitute, or add various processes or components as appropriate. For example, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. In addition, the features described for some examples may be combined into certain other examples. For example, any number of aspects set forth herein may be used to implement an apparatus or practice a method. In addition, the scope of the present disclosure is intended to cover such apparatus or methods practiced using other structures, functions, or combinations of structures and functions in addition to or different from the various aspects of the disclosure given herein. It should be understood that any aspect of the disclosure herein may be embodied by one or more elements of the claims. The term "exemplary" as used herein means "serving as an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or more advantageous than other aspects.

[0037] Generally speaking, any number of wireless networks may be deployed in a given geographical area. Each wireless network may support a specific radio access technology (RAT) and may operate on one or more frequencies. A RAT may also be referred to as a radio technology, air interface, etc. A frequency may also be referred to as a carrier, subcarrier, frequency channel, tone, subband, etc. Each frequency may support a single RAT in a given geographical area to avoid interference between wireless networks of different RATs.

[0038] The techniques described herein may be used for various wireless networks and radio technologies. Although terms commonly associated with 3G, 4G, and / or new radio (e.g., 5G NR) wireless technologies may be used herein to describe various aspects, aspects of the present disclosure may be applied to other generation-based communication systems.

[0039] NR access can support various wireless communication services, such as enhanced mobile broadband (eMBB) targeted at wide bandwidths (e.g., 80 MHz or above), millimeter wave (mmW) targeted at high carrier frequencies (e.g., 25 GHz or above), massive machine type communication MTC (mMTC) targeted at non-backward compatible MTC technologies, and / or mission critical targeted at ultra-reliable low latency communication (URLLC). These services can include latency and reliability requirements. These services can also have different transmission time intervals (TTIs) to meet the corresponding quality of service (QoS) requirements. In addition, these services can coexist in the same subframe. NR supports beamforming and the beam direction can be dynamically configured. MIMO transmission with precoding can also be supported. The MIMO configuration in DL can support up to 8 transmit antennas, with multi-layer DL transmission of up to 8 streams and up to 2 streams per UE. Multi-layer transmission of up to 2 streams per UE can be supported. Aggregation of multiple cells with up to 8 serving cells can be supported.

[0040] Figure 1 FIG. shows an example wireless communication network 100 in which aspects of the present disclosure may be implemented. For example, the wireless communication network 100 may be an NR system (e.g., a 5G NR network). As Figure 1 shown, the wireless communication network 100 may communicate with a core network 132. The core network 132 may communicate with one or more base stations (BSs) 110 and / or user equipment (UEs) 120 in the wireless communication network 100 via one or more interfaces.

[0041] As Figure 1 shown, the wireless communication network 100 may include several BSs 110a-z (each also referred to herein individually as a BS 110 or collectively as BSs 110) and other network entities. The BS 110 may provide communication coverage for a particular geographical area (sometimes referred to as a “cell”), which may be stationary or may move according to the location of the mobile BS 110. In some examples, the BS 110 may use any suitable transmission network and be interconnected to each other and / or one or more other BSs or network nodes (not shown) in the wireless communication network 100 via various types of backhaul interfaces (e.g., direct physical connections, wireless connections, virtual networks, etc.). In Figure 1In the example shown, BSs 110a, 110b, and 110c can be macro BSs for macro cells 102a, 102b, and 102c, respectively. BS 110x can be a pico BS for pico cell 102x. BSs 110y and 110z can be femto BSs for femto cells 102y and 102z, respectively. A BS can support one or more cells. The network controller 130 can be coupled to the set of BSs 110 and provide coordination and control for these BSs 110 (e.g., via a backhaul).

[0042] BS 110 communicates with UEs 120a - y in the wireless communication network 100 (each also referred to herein individually as a UE 120 or collectively as UEs 120). The UEs 120 (e.g., 120x, 120y, etc.) can be spread throughout the wireless communication network 100, and each UE 120 can be fixed or mobile. The wireless communication network 100 can also include relay stations (e.g., relay station 110r), also referred to as relay stations, etc., which receive transmissions of data and / or other information from an upstream station (e.g., BS 110a or UE 120r) and send transmissions of data and / or other information to a downstream station (e.g., UE 120 or BS 110), or relay transmissions between UEs 120 to facilitate communication between devices.

[0043] According to some aspects, BS 110 and UE 120 can be configured for packet buffering. As Figure 1 shown, BS 110a includes a buffer manager 112. As Figure 1 shown, UE 120a includes a buffer manager 122. According to aspects of the present disclosure, buffer manager 112 and / or buffer manager 122 can be configured to dynamically determine a duration for buffering packets. Buffer manager 112 and / or buffer manager 122 can be configured to input one or more parameters and, based on the input, obtain one or more durations for buffering packets as an output from a machine learning algorithm.

[0044] Figure 2 An example of components of BS 110a and UE 120a (e.g., in the Figure 1 wireless communication network 100) is shown, which can be used to implement aspects of the present disclosure.

[0045] At BS 110a, the transmit processor 220 may receive data from the data source 212 and control information from the controller / processor 240. The control information may be used for the physical broadcast channel (PBCH), physical control format indicator channel (PCFICH), physical hybrid ARQ indicator channel (PHICH), physical downlink control channel (PDCCH), group common PDCCH (GC PDCCH), etc. The data may be used for the physical downlink shared channel (PDSCH), etc. The medium access control (MAC)-control element (MAC-CE) is a MAC layer communication structure that may be used for the exchange of control commands between wireless nodes. The MAC-CE may be carried in a shared channel, such as the physical downlink shared channel (PDSCH), physical uplink shared channel (PUSCH), or physical sidelink shared channel (PSSCH).

[0046] The processor 220 may process the data and control information (e.g., encode and symbol map it) to obtain data symbols and control symbols, respectively. The transmit processor 220 may also generate reference symbols (e.g., for the primary synchronization signal (PSS), secondary synchronization signal (SSS), and channel state information reference signal (CSI-RS)). If applicable, the transmit (TX) multiple input multiple output (MIMO) processor 230 may perform spatial processing (e.g., precoding) on the data symbols, control symbols, and / or reference symbols and may provide an output symbol stream to the modulators (MOD) 232a-232t in the transceiver. Each modulator 232 in the transceiver may process its respective output symbol stream (e.g., for OFDM, etc.) to obtain an output sample stream. Each modulator 232a-232t in the transceiver may further process (e.g., transform to analog, amplify, filter, and up-convert) the output sample stream to obtain a downlink signal. The downlink signals from the modulators 232a-232t in the transceiver may be transmitted via the antennas 234a-234t, respectively.

[0047] At 120a, antennas 252a - 252r can receive downlink signals from BS 110a and can provide the received signals to demodulators (DEMOD) in transceivers 254a - 254r, respectively. Each demodulator 254a - 254r in the transceivers can condition (e.g., filter, amplify, down-convert, and digitize) the respective received signals to obtain input samples. Each demodulator 254a - 254r in the transceivers can further process the input samples (e.g., for OFDM, etc.) to obtain received symbols. The MIMO detector 256 can obtain the received symbols from all demodulators 254a - 254r in the transceivers, perform MIMO detection (if applicable) on the received symbols, and provide the detected symbols. The receive processor 258 can process (e.g., demodulate, de-interleave, and decode) the detected symbols, provide the decoded data for UE 120a to data sink 260, and provide the decoded control information to controller / processor 280.

[0048] On the uplink, at UE 120a, the transmit processor 264 can receive and process data from data source 262 (e.g., for physical uplink shared channel (PUSCH)) and control information from controller / processor 280 (e.g., for physical uplink control channel (PUCCH)). The transmit processor 264 can also generate reference symbols for reference signals (e.g., for sounding reference signal (SRS)). The symbols from the transmit processor 264 can be precoded by the TX MIMO processor 266 (if applicable), further processed by modulators in transceivers 254a - 254r (e.g., for SC - FDM, etc.), and transmitted to BS 110a. At BS 110a, the uplink signals from UE 120a can be received by antennas 234, processed by demodulators 232a - 232t in the transceiver, detected by the MIMO detector 236 (if applicable), and further processed by the receive processor 238 to obtain the decoded data and control information transmitted by UE 120a. The receive processor 238 can provide the decoded data to data sink 239 and the decoded control information to controller / processor 240.

[0049] Memories 242 and 282 can store data and program codes for BS 110a and UE 120a, respectively. The scheduler 244 can schedule UEs for data transmission on the downlink and / or uplink.

[0050] The antenna 252, processors 266, 258, 264, and / or controller / processor 280 of UE 120a, and / or the antenna 234, processors 220, 230, 238, and / or controller / processor 240 of BS 110a can be used to perform the various techniques and methods described herein. For example, as Figure 2 shown, the controller / processor 240 of BS 110a has a buffer manager 241, and the controller / processor 280 of UE 120a has a buffer manager 281. According to various aspects described herein, the buffer manager 241 and / or the buffer manager 281 can be configured to dynamically determine the duration for buffering packets. Although shown at the controller / processor, other components of UE 120a and BS 110a can be used to perform the operations described herein.

[0051] NR can use Orthogonal Frequency Division Multiplexing (OFDM) with a Cyclic Prefix (CP) on both the uplink and downlink. NR can support half-duplex operation using Time Division Duplex (TDD). OFDM and Single-Carrier Frequency Division Multiplexing (SC-FDM) divide the system bandwidth into multiple orthogonal subcarriers, which are also commonly referred to as tones, frequency bands, etc. Each subcarrier can be modulated with data. Modulation symbols can be transmitted using OFDM in the frequency domain and using SC-FDM in the time domain. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers can depend on the system bandwidth. The smallest resource allocation, known as a Resource Block (RB), can be 12 consecutive subcarriers. The system bandwidth can also be divided into subbands. For example, a subband can cover multiple RBs. NR can support a basic subcarrier spacing of 15KHz, and other SCSs (e.g., 30kHz, 60kHz, 120kHz, 240kHz, etc.) can be defined relative to the basic SCS.

[0052] Figure 3FIG. is a diagram illustrating an example of frame format 300 for NR. The transmission timeline for each of the downlink and uplink can be divided into units of radio frames. Each radio frame may have a predetermined duration (e.g., 10 ms) and may be divided into 10 subframes with indices from 0 to 9. Each subframe is 1 ms. Each subframe may include a variable number of time slots (e.g., 1, 2, 4, 8, 16,... time slots), depending on the SCS. Each time slot may include a variable number of symbol periods (e.g., 7 or 14 symbols), depending on the SCS. Indices may be assigned to the symbol periods in each time slot. The sub-slot structure has a duration less than that of a time slot (e.g., 2, 3, or 4 symbols). Each symbol in a time slot may indicate the link direction for data transmission (e.g., DL, UL, or flexible), and the link direction for each subframe may be switched dynamically. The link direction may be based on the time slot format. Each time slot may include DL / UL data as well as DL / UL control information.

[0053] In some systems, a UE may provide dual connectivity (DC) to two or more nodes. In some examples, a UE may provide DC to nodes with the same type of RAT, e.g., between NR nodes. In some examples, a UE may provide DC to nodes with different RATs. One dual connectivity configuration is E-UTRAN-NR dual connectivity (EN-DC), which may provide dual connectivity between an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRA) (such as 4G / LTE) and an NR network (such as 5G / NR). For example, a 4G / LTE network may provide a fallback option when 5G / NR coverage is insufficient or when some services (e.g., voice over Internet protocol (VoIP), such as LTE voice (VoLTE) and / or other services) are not deployed on the 5G / NR network.

[0054] Figure 4 FIG. illustrates an example system architecture 400 for interworking between a 5G system (5GS) and an E-UTRAN-EPC (evolved packet core) according to certain aspects of the present disclosure. As Figure 4 shown, a UE 402 may be served by separate RANs 404A and 404B controlled by separate core networks 406A and 406B, where the first RAN 404A and CN 406A may provide E-UTRA services, and the second RAN 404B and CN 406B may provide 5G NR services. A UE may operate under only one RAN / CN at a time or under two RANs / CNs.

[0055] For a UE performing EN-DC, data can be received on both the 4G / LTE connection and the 5G / NR branch (e.g., on a split bearer of a secondary cell group). For 4G / LTE and 5G / NR, data speed and latency can be significantly different. For example, in a scenario where the 4G / LTE connection experiences poor radio frequency conditions and performs hybrid automatic repeat request (HARQ) and / or radio link control (RLC) retransmissions, the 5G / NR connection can continue to receive data at a higher rate than the 4G / LTE connection. This can result in a large number of out-of-order packets at the UE.

[0056] As will be described in more detail with reference to Figure 5 The logical functional units can be distributed at the radio resource control (RRC) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer, the physical (PHY) layer, and / or the radio frequency (RF) layer. In various examples, the layers of the protocol stack 500 can be implemented as separate software modules, parts of a processor or ASIC, parts of non-collocated devices connected by a communication link, or various combinations thereof. For example, collocated and non-collocated implementations can be used in the protocol stack for a network access device or a UE. The system can support various services through one or more protocols.

[0057] One or more protocol layers of the protocol stack 500 can be implemented by a receiving node such as a UE and / or a BS (e.g., an LTE eNB, a 5G NR access node (AN), or a gNB). The UE can implement the entire protocol stack 500 (e.g., the RRC layer 505, the PDCP layer 510, the RLC layer 515, the MAC layer 520, the PHY layer 525, and the RF layer 530). The protocol stack 500 can be split in the AN. For example, the central unit control plane (CU-CP) and the CU user plane (CU-UP) can each implement the RRC layer 505 and the PDCP layer 510; the distributed unit (DU) can implement the RLC layer 515 and the MAC layer 520; and the access unit (AU) / remote radio unit (RRU) can implement the PHY layer 525 and the RF layer 530.

[0058] As described above, packet buffering can be used to handle out-of-order and / or lost packets. As Figure 5 shown, the PDCP layer 510 can include a reordering buffer manager 512, and the RLC layer 515 can include a reassembly buffer manager 517.

[0059] The receiving node may have a configured timer for packet buffering. In some systems, the PDCP reordering buffer is configured with a reordering timer, and the RLC reassembly buffer is configured with a reassembly timer. The timer may provide the duration for which the transmitter may retransmit lost packets, and / or sufficient time for out-of-order packets to reach the receiver side.

[0060] In NR, the PDCP receiving entity maintains a PDCP reordering timer (e.g., which may be referred to as the t-reordering timer). When the timer is not running, the arrival of any out-of-order PDU may trigger the reordering timer. The receiving entity delivers the received packets to the upper layer (e.g., such as the MAC layer 520, the PHY layer 525, and / or the RF layer 530) only after the reordering timer expires. The PDCP receiving entity holds (e.g., buffers) the received packets for an additional time even if packet loss is known. In LTE, the reordering timer may be maintained at the RLC.

[0061] The receiving node may be configured such that when a PDCP data PDU is received from the lower layer, and if the received PDCP data PDU with COUNT value = RCVD_COUNT has not been discarded, the receiving PDCP entity stores the resulting PDCP service data unit (SDU) in the receive buffer. And when t-reordering expires, the receiving PDCP entity performs header decompression and then delivers to the upper layer in ascending order of the associated COUNT value.

[0062] The reordering timer may be configured based on a value large enough to accommodate HARQ retransmissions and RLC retransmission delays. To maintain a low target packet loss rate (PLR), this value may be on the order of hundreds of milliseconds. In some cases (e.g., when data is flowing at high speed, such as over a 5G / NR connection), the PDCP buffer may become congested or full before the reordering timer triggers to provide buffered data to the upper layer. When the PDCP reordering buffer is full, subsequent packets received from the lower layer may be discarded. This can be particularly problematic when high-speed traffic (such as 5G / NR traffic) is discarded, as a large amount of data may be lost.

[0063] For the RLC reassembly buffer, the RLC receiving entity maintains an RLC reassembly timer. When the timer is not running, the arrival of any out-of-order RLC PDU triggers the timer. Once the reassembly timer expires, the RLC receiving entity sends an RLC control PDU to the transmitter to indicate the lost PDUs so that these PDUs can be retransmitted. The RLC receiving entity may not send a control PDU to the RLC sending entity before the reassembly timer expires even when packet loss is known.

[0064] On the receiving side of the acknowledged mode (AM) RLC entity, the receiving window can be maintained based on the state variable RX_Next. If RX_Next ≤ SN < RX_Next + AM_Window_Size, then SN falls within the receiving window. Otherwise, SN falls outside the receiving window. When receiving an AMD PDU from the lower layer, the receiving side of the AM RLC entity discards the received AMD PDU or places it in the receive buffer.

[0065] In some examples, due to losses in the core NW side, the sending entity skips packets (e.g., PDCP SN). For example, losses in the core NW side may occur in the F1-U interface between the central unit control plane (CU-CP) and the CU user plane (CU-UP) and the DU. Since the RLC SN may be consecutive, this loss in the PDCP SN may not be recovered by the RLC. In this case, the UE receiving entity waits for the packet for the duration of the complete reordering timer, which affects the overall latency of the packet and also results in the rapid establishment of a reordering buffer memory.

[0066] In EN-DC, the latency between the LTE link and the NR link is different. The PDCP PDUs from the NR link may arrive at the receiving node earlier than the PDCP PDUs on the LTE link. This causes a large number of PDCP PDUs to accumulate in the reordering buffer of the receiver, waiting for reordering.

[0067] In Figure 6 the example shown, the PDCP sending entity 606 sends the PDUs with indices 1 - 8 in the PDCP send buffer 608 to the PDCP receiving entity 602 (e.g., a receiving node 500 such as Figure 5 ). PDU 1 and PDU 5 are sent on the LTE link 610, and PDUs 2 - 4 and 6 - 8 are sent on the NR link 612. In Figure 6 the example, PDU 1 and 5 on the LTE link 610 are lost in the air (e.g., due to physical BLER in the LTE link 610), while PDUs 2 - 4 and 6 - 8 on the NR link 612 successfully arrive at the PDCP receiving entity 602. Therefore, PDUs 2 - 4 and 6 - 8 and all subsequent PDUs are cached in the PDCP reordering buffer 604 of the PDCP receiving entity until the PDCP reordering timer expires. Thus, the PDCP reordering buffer 604 unnecessarily consumes a large amount of memory because PDUs 1 and 5 may never reach the PDCP receiving entity 602.

[0068] In some 5G NR systems, the sequence number length may be relatively large. For example, some 5G NR systems may use up to 18 bits for sequence numbers (e.g., compared to 12 bits in 4G / LTE PDCP). While this can help with reordering data packets, it also means that a relatively large reordering buffer may be used (e.g., up to approximately 1.17 gigabytes of PDCP buffer per radio bearer). As a result, the EN-DC UE may experience buffer congestion and buffer overflow at the PDCP layer, which can affect upper layer performance and lead to a poor user perception, e.g., due to Transmission Control Protocol (TCP) timeouts and data pauses.

[0069] In Figure 7 the example shown, the RLC transmit entity 706 sends the PDUs with indices 1 - 8 in the RLC transmit buffer 708 to the RLC receive entity 702 (e.g., such as Figure 5 the receiving node 500 in Figure 7 ). In the example shown, PDU 1 is lost in the air while PDUs 2 - 8 are successfully sent to the RLC receive entity 702. Since PDU 1 is lost, the RLC reordering timer is started for the RLC reordering buffer 704. Once the reordering timer expires, the RLC receive entity 702 sends an RLC control PDU (e.g., NACK 1) to the RLC transmit entity 706, which indicates that PDU 1 is lost (e.g., NACK 1). During the reordering window, PDUs 2 - 8 are cached at the RLC reordering buffer 704 until the RLC transmit entity 706 retransmits PDU 1. The longer the reordering timer used by the RLC receive entity 702, the larger the number of PDUs that may be cached at the RLC reordering buffer 704. The shorter the reordering timer used by the RLC receive entity 702, the larger the number of duplicate RLC control PDUs that may be sent, and the larger the number of duplicate retransmissions triggered by the RLC transmit entity 706. As a result, a memory overhead on the RLC receive entity 702 is incurred, and the end-to-end delay on the received packets may be longer. It is difficult to adjust a single value of the configured timer to different physical layer conditions.

[0070] Example dynamic packet buffering duration

[0071] According to certain aspects, the duration for packet buffering can be determined dynamically. In some examples, a receiving node (e.g., a user equipment (UE) on the downlink or a base station (BS) on the uplink) can dynamically determine the duration for buffering packets. In some examples, the dynamically determined duration can be executed instead of being configured with a fixed timer duration. In some examples, the dynamically determined duration can be used to replace or update the configured timer duration. In some examples, the dynamically determined duration can be different from the configured timer duration. For example, the dynamically determined duration can be used to exit the buffering duration earlier. In some examples, based on the dynamically determined duration, the receiving node can perform an early flush of the buffer (e.g., in the receiver window), deliver the packet to the upper layer, and / or send an acknowledgment, a negative ACK (NACK), or a request for retransmission. In some examples, the receiving node uses machine learning (ML) to dynamically determine the buffering duration. The receiving node can input one or more parameters into an ML algorithm and obtain, as an output of the ML algorithm, one or more durations for buffering packets. In some examples, buffering can occur at the radio link control (RLC) layer and / or at the packet data convergence protocol (PDCP) layer.

[0072] According to certain aspects, the receiving node can determine an optimized duration for buffering packets. In some examples, the receiving node can predict whether a lost packet (e.g., a protocol data unit (PDU)) can be received before the expiration of a configured timer, predict the likelihood of receiving the lost packet before the expiration of the configured timer, predict the duration during which the lost packet can be received, and / or predict multiple likelihoods for multiple durations during which the lost packet can be received. Based on the prediction, the receiving node can dynamically determine an appropriate duration for buffering packets. For example, the receiving node can select the duration for buffering packets based on the likelihood of the duration during which the lost packet can be received, and can consider the buffer size, channel congestion, and latency tolerance when dynamically selecting the duration for buffering packets. In some examples, when the receiving node predicts that a lost PDU will not be received (e.g., or is unlikely to be received) within the configured reordering timer duration or rearrangement duration, then the receiving node can determine to buffer the packet for a duration shorter than the configured reordering timer duration or rearrangement duration. This can avoid or mitigate memory consumption and end-to-end latency. The receiving node can determine the duration set for the buffering timer, or the time for stopping buffering the packet and flushing it.

[0073] As described above, a receiving node may use machine learning to determine a duration for buffering packets. In some examples, the receiving node may use an ML algorithm to form the prediction(s) described above, and / or select a duration for buffering packets based on the prediction(s).

[0074] Machine learning may involve the receiving node training a model, such as a prediction model. The model may be used to predict a viable duration during which a lost packet may be received. The model may be used to perform the prediction(s) described above and / or other factors. The model may be used to select an appropriate duration for buffering packets. The selection may be based on the factors described above and / or other factors. The model may be trained based on training data (e.g., training information), which may include feedback such as feedback associated with buffering history, history of receiving lost packets, capabilities of the receiving node, channel characteristics, and / or other feedback. Training may involve feedback in response to any prediction(s) made by the ML algorithms discussed herein, or other prediction(s) based on any input parameter(s) discussed herein or other input parameter(s).

[0075] Figure 8 An example networking environment 800 is shown in accordance with certain aspects of the present disclosure, where a packet buffering duration manager 822 of a node 820 uses a prediction model 824 to dynamically determine a packet buffering duration. As Figure 8 shown, the networking environment 800 includes a node 820, a training system 830, and a training repository 815 communicatively coupled via a network 805. The node 820 may be a UE (e.g., such as UE 120a in the wireless communication network 100) or a BS (e.g., such as BS 110a in the wireless communication network 100). The network 805 may include a wireless network such as the wireless communication network 100, which may be a 5G NR network, a WiFi network, an LTE network, and / or another type of network. Although the training system 830, the node 820, and the training repository 815 are shown as separate components in Figure 8 FIG., the training system 830, the node 820, and the training repository 815 may be implemented on any number of computing systems (whether as one or more standalone systems or in a distributed environment).

[0076] The training system 830 generally includes a prediction model training manager 832 that uses training data to generate a prediction model 824 for predicting a packet buffering duration. The prediction model 824 may be generated based at least in part on information in the training repository 815.

[0077] The training repository 815 may include training data obtained before and / or after the deployment node 820. The node 820 can be trained in a simulated communication environment (e.g., in field tests, drive tests) before the deployment node 820. For example, various buffer history information can be stored to obtain training information related to estimation, prediction, etc.

[0078] This information can be stored in the training repository 815. After deployment, the training repository 815 can be updated to include feedback associated with the packet buffering duration used by the node 820. Information from other BSs and / or other UEs (e.g., based on the learned experience of these BSs and UEs, which can be associated with packet buffering performed by these BSs and / or UEs) can also be used to update the training repository.

[0079] The prediction model training manager 832 can use the information in the training repository 815 to determine a prediction model 824 (e.g., an algorithm) for the dynamic packet buffering duration. The prediction model training manager 832 can use various different types of machine learning algorithms to form the prediction model 824. The training system 830 can be located on the node 820, on a BS in the network 805, or on a different entity for determining the prediction model 824. If located on a different entity, the prediction model 824 is provided to the node 820. The training repository 815 can be a storage device, such as a memory. The training repository 815 can be located on the node 820, the training system 830, or another entity in the network 805. The training repository 815 can be in cloud storage. The training repository 815 can receive training information from the node 820, an entity in the network 805 (e.g., a BS or UE of the network 805), the cloud, or other sources.

[0080] Machine learning can use any suitable machine learning algorithm. In some non-limiting examples, the machine learning algorithm is a supervised learning algorithm, a deep learning algorithm, an artificial neural network algorithm, or other types of machine learning algorithms.

[0081] In some examples, machine learning is performed using a deep convolutional network (DCN) (e.g., used by training system 830). A DCN is a network of convolutional networks that is configured with additional pooling and normalization layers. The DCN has achieved state-of-the-art performance on many tasks. The DCN can be trained using supervised learning, in which both the inputs and output targets are known for many samples, and the supervised learning is used to modify the weights of the network by using a gradient descent method. The DCN can be a feed-forward network. Additionally, as described above, the connections from the neurons in the first layer of the DCN to a group of neurons in the next higher layer are shared among the neurons in the first layer. The feed-forward and shared connections of the DCN can be used for fast processing. The computational burden of the DCN may be much smaller than that of a similarly sized neural network that includes, for example, recurrent or feedback connections.

[0082] In some examples, machine learning is performed using a neural network (e.g., used by training system 830). The neural network can be designed with various connection patterns. In a feed-forward network, information is passed from lower layers to higher layers, where each neuron in a given layer communicates to neurons in a higher layer. Hierarchical representations can be established in successive layers of the feed-forward network. The neural network can also have recurrent or feedback (also referred to as top-down) connections. In a recurrent connection, the output from a neuron in a given layer can be communicated to another neuron in the same layer. A recurrent architecture may help identify patterns that span more than one block of input data in a sequence of input data blocks that are fed to the neural network. Connections from a neuron in a given layer to neurons in a lower layer are referred to as feedback (or top-down) connections. A network with many feedback connections may be useful when the identification of high-level concepts can assist in differentiating specific low-level features of the input.

[0083] An artificial neural network, which can consist of a set of interconnected artificial neurons (e.g., neuron models), is a computing device or a method performed by a computing device. These neural networks can be used in various applications and / or devices, such as Internet Protocol (IP) cameras, Internet of Things (IoT) devices, autonomous vehicles, and / or service robots. Individual nodes in an artificial neural network can simulate biological neurons by obtaining input data and performing simple operations on the data. The results of the simple operations performed on the input data are selectively passed to other neurons. Weight values are associated with each vector and node in the network, and these values constrain how the input data relates to the output data. For example, the input data for each node can be multiplied by the corresponding weight value, and the products can be summed. The sum of the products can be adjusted by an optional bias, and an activation function can be applied to the result, thereby producing an output signal or "output activation" of the node. The weight values can initially be determined by an iterative flow of training data through the network (e.g., the weight values are established during a training phase in which the network learns how to identify a particular class by typical input data features of that particular class).

[0084] Different types of artificial neural networks can be used to implement machine learning (e.g., used by training system 830), such as recurrent neural networks (RNNs), multi-layer perceptron (MLP) neural networks, convolutional neural networks (CNNs), etc. RNNs work by saving the output of a layer and feeding that output back into the input to help predict the result of the layer. In an MLP neural network, data can be fed into an input layer, and one or more hidden layers provide an abstraction level to the data. Then, predictions can be made on an output layer based on the abstracted data. MLP may be particularly suitable for classification prediction problems where the input is assigned a class or label. A convolutional neural network (CNN) is a type of feed-forward artificial neural network. A convolutional neural network can include a collection of artificial neurons, each having a receptive field (e.g., a spatially localized region of the input space) and jointly partitioning the input space. Convolutional neural networks have many applications. In particular, CNNs have been widely used in the fields of pattern recognition and classification. In a hierarchical neural network architecture, the output of the first layer of artificial neurons becomes the input of the second layer of artificial neurons, the output of the second layer of artificial neurons becomes the input of the third layer of artificial neurons, and so on. A convolutional neural network can be trained to recognize a hierarchy of features. The computations in a convolutional neural network architecture can be distributed across a group of processing nodes, which can be configured in one or more computing chains. These multi-layer architectures can be trained one layer at a time and can be fine-tuned using backpropagation.

[0085] In some examples, when using a machine learning algorithm, the training system 830 generates vectors based on information in the training repository 815. In some examples, the training repository 815 stores vectors. In some examples, a vector maps one or more features to a label. For example, the features can correspond to various candidate durations, buffering capabilities, and / or other factors as described above. The label can correspond to the predicted likelihood of receiving a lost packet and / or the selected packet buffering duration. The prediction model training manager 832 can use the vectors to train the prediction model 824 for the node 820. As described above, the vectors can be associated with weights in the machine learning algorithm.

[0086] As Figure 9 shown, the receiving node 920 (e.g., a node 820 in the networking environment 800 such as Figure 8 shown) can include a packet buffer manager 922. The packet buffer manager 922 can be configured to dynamically determine the duration for buffering packets. The packet buffer manager 922 can be included at the PDCP layer (e.g., such as at the reordering buffer manager 512 at the PDCP layer 510 as Figure 5 shown) and / or at the RLC layer (e.g., such as at the reassembly buffer manager 517 at the RLC layer 515 as Figure 5 shown).

[0087] The packet buffer manager 922 can include a prediction model 924 (e.g., such as the trainable prediction model 824). The prediction model 924 can determine the packet buffer duration 925. For example, the prediction model 924 can use an ML algorithm to dynamically determine the packet buffer duration 925.

[0088] The prediction model 924 can predict the duration for buffering packets, such that the receiving node 920 waits for a sufficient time for out-of-order PDUs to arrive while avoiding accumulating too many unnecessary PDUs in the packet buffer. For example, as described above, the prediction model 924 can consider information related to the timer for out-of-order PDU arrival, such as the likelihood of receiving lost PDUs at various durations and / or channel conditions, which can be based on the buffer history associated with receiving lost PDUs, the current channel condition, etc. The prediction model 924 can consider information related to accumulating PDUs in the packet buffer, which can include channel conditions, congestion, an estimated number of incoming packets, etc. The prediction model 924 can consider information related to the capabilities and / or target parameters of the receiving node 920, such as latency and / or reliability targets and / or tolerances, quality of service (QoS) targets, buffer size, etc. In some examples, the information is input as parameters to the ML algorithm for the prediction model 924. Based on the input, the ML algorithm can output: an optimized predicted duration for buffering packets, and / or one or more parameters that can be used by the packet buffer manager 922 to select / determine the duration for buffering packets.

[0089] In some examples, the information / parameters used by the ML algorithm can include one or more low layer block error rates (BLERs), such as low layer BLER, one or more HARQ retransmission counts used (e.g., by the network) to determine hybrid automatic repeat request (HARQ) latency, one or more HARQ retransmission counts determined for a timer (e.g., such as an RLC reordering timer), one or more RLC retransmission counts used (e.g., by the network) to determine RLC latency for a timer (e.g., such as a PDCP reordering timer), the maximum HARQ retransmission count used, HARQ round-trip time (RTT), reordering timer expiration history, reordering timer history, the number of times one or more lost packets (e.g., PDUs) are received, one or more previous durations at which one or more lost packets (e.g., holes) are received, the minimum previous duration at which one or more lost packets are received, the time taken to transmit an uplink status PDU, the maximum previous duration at which one or more lost packets are received, a histogram of holes received in one or more duration bins, throughput for a radio bearer associated with one or more packets, the type of traffic associated with one or more packets, one or more logical channel identifiers (LCIDs) associated with a packet, the amount of remaining memory for buffering, one or more radio resource control (RRC) configurations, one or more dual connectivity configurations, one or more evolved universal mobile telecommunications system (UMTS) terrestrial radio access (EUTRA) new radio (NR) dual connectivity (ENDC) configurations, latency between dual connectivity links, offload time, gain state, average signal-to-noise ratio (SNR), geographical location information, carrier information, the number of active component carriers, one or more split bearer configurations, overall CPU utilization, clock frequency, digital scheme, downlink (DL) transport block (TB) size, transport block size, uplink (UL) grant size, average packet data convergence protocol (PDCP) packet size, time division duplex (TDD) configuration, frequency division duplex (FDD) configuration, application profile, radio bearer mode, single subscriber identity module (SSIM) configuration, multi-SIM (MSIM) configuration, modem operating conditions, application data protocol, quality of service (QoS) profile associated with an application, or a combination thereof.

[0090] As the BLER increases, more time is needed to receive lost packets. Similarly, as the HARQ latency, HARQ retransmissions, RLC retransmissions, and / or HARQ RTT increase, more time is needed to receive lost packets. As the time required to feedback UL status increases, the time required to retransmit lost packets also increases. Thus, the machine learning algorithm can use the parameters to determine the duration for buffering packets based on the predicted time for receiving lost packets.

[0091] Some traffic types may suffer some packet losses and, therefore, more aggressive reordering is still okay because it helps reduce latency. Thus, a machine learning algorithm can use the traffic type to determine the duration for buffering packets.

[0092] The machine learning algorithm can use EN-DC configuration parameters to account for additional latency in the master cell group (MCG) link and the secondary cell group (SCG) link.

[0093] The available buffer memory determines how long the UE can wait for lost packets. The history of the data describes the system's performance and its associated parameters during past reordering timer expiration events, as well as the re-assembly timer history. The throughput parameter, together with the traffic type, can help determine how much of a throughput increase can be achieved using ML. The offload time and MSIM mode provide the time periods when the UE does not have radio resources for receiving data and affect the time when lost packets will not arrive. This is in contrast to the SSIM mode where radio resources are available for receiving data.

[0094] A transport block (TB) can have more than one PDCP packet, whose size is together with the numerology, the number of active component carriers, and the FDD or TDD configuration. Based on these parameters, the machine learning algorithm can indicate how many PDUs will be received at a given time, which can be used to train a model regarding the system capacity for receiving X number of packets in Y time.

[0095] The geographical location and carrier information can be used to train a model regarding the localization of data, which is used to determine the patterns that will be seen by the same carrier (e.g., network operator) in the same area in the future.

[0096] The logical channel identifier associated with a specific application (e.g., traffic type) can be used to determine how different timer value predictions can be customized according to the specific requirements of the logical channel.

[0097] The modem operating conditions can include thermal conditions, battery consumption, and / or other modem conditions. The modem conditions affect the modem capacity and / or the effectiveness for recovering lost packets / holes. The modem conditions can be used to train the ML algorithm to predict the buffer duration required for recovering lost packets / holes.

[0098] In some cases, parameters are provided separately for different links (e.g., for LTE and NR links in the case of EN-DC). In some examples, the input parameters and / or the determined packet buffer duration can be per LCID. In some cases, the input parameters can include historical values associated with one or more parameters (e.g., stored past values of the parameters). In some cases, the input parameters can be provided per carrier. In some cases, the input parameters can be provided per radio bearer.

[0099] According to certain aspects, once a machine learning algorithm has been trained to a satisfactory level, the machine learning algorithm can be enabled. For example, the machine learning algorithm can be enabled or used at least in part based on reaching a threshold ratio of successful prediction of the duration for receiving lost packets by the machine learning algorithm. The machine learning algorithm can be enabled for each use on a per radio bearer basis. The machine learning algorithm can be enabled at least in part based on the application type attached to the radio bearer.

[0100] The output of the machine learning algorithm can include the duration for buffering packets per radio bearer. The output of the machine learning algorithm can include the predicted duration for waiting for a specified portion of lost PDUs. The portion of the lost PDU can include several packets to maintain maximum application throughput.

[0101] After the packet buffer manager 922 uses the prediction model 924 to determine the packet buffer duration, the receiving node 920 applies the determined packet buffer duration 925. In some examples, the packet buffer manager 922 updates, replaces, and / or overrides the configured timer value. As Figure 9 shown, the packet buffer manager 922 can detect out-of-order or lost packets 926 and start a packet buffer timer 928 with the determined packet buffer duration 925. In some cases, the receiving node 920 can start a packet buffer timer with a configured duration and, while the timer is running, can determine the time to exit early before the timer expires. In some cases, the receiving node 920 can determine a time longer than the configured timer to buffer packets.

[0102] When timer 930 expires, packet buffer manager 922 may flush the buffer. For example, packet buffer manager 922 may send packet 932 to the upper layer and / or indicate lost packet 934 to the upper layer. In the case of PDCP, once the PDCP reordering timer expires, the PDCP receiver entity may deliver the cached PDU to the upper layer to reduce memory consumption. In the case of RLC, once the RLC re - assembly timer expires, the RLC receiver entity may send an RLC control PDU for transmission to the transmitter entity to indicate a NACK (e.g., and request re - transmission of the packet that was NACKed).

[0103] Figure 10 is a flowchart showing an example operation 1000 for wireless communication in accordance with certain aspects of the present disclosure.

[0104] Operation 1000 may be performed, for example, by a receiving node such as a UE (e.g., UE 120a in wireless communication network 100) or a BS (e.g., BS 110a in wireless communication network 100). When the receiving node is a UE, operation 1000 may be implemented as a software component executed and run on one or more processors (e.g., Figure 2 controller / processor 280). Further, the sending and receiving of signals by the UE in operation 1000 may be implemented, for example, via one or more antennas (e.g., Figure 2 antenna 252). In some aspects, the sending and / or receiving of signals by the UE may be implemented via the bus interface of one or more processors (e.g., controller / processor 280) that obtain and / or output the signals. When the receiving node is a BS, operation 1000 may be implemented as a software component executed and run on one or more processors (e.g., Figure 2 controller / processor 240). Further, the sending and receiving of signals by the BS in operation 1000 may be implemented, for example, via one or more antennas (e.g., Figure 2 antenna 234). In some aspects, the sending and / or receiving of signals by the BS may be implemented via the bus interface of one or more processors (e.g., controller / processor 240) that obtain and / or output the signals.

[0105] At 1005, operation 1000 may begin by dynamically determining one or more durations for buffering packets. The one or more durations may be different from the duration of a configured timer for buffering packets. In some examples, the determined duration is shorter than the duration of the configured timer for buffering packets.

[0106] In some examples, the receiving node uses a machine learning algorithm to determine the duration for buffering packets. In some examples, the receiving node inputs one or more parameters associated with determining the duration for buffering packets to the machine learning algorithm. For example, the one or more parameters may include one or more lower layer BLERs, one or more HARQ retransmission counts for determining the HARQ delay for the re - assembly timer, one or more RLC retransmission counts for determining the RLC delay for the re - order timer, re - order timer expiration history, re - assembly timer history, one or more times at which a lost packet was received, one or more previous durations at which a lost packet was received, the minimum previous duration at which a lost packet was received, the maximum previous duration at which a lost packet was received, one or more LCIDs associated with the packet, the remaining memory amount for buffering, one or more RRC configurations, one or more ENDC configurations, one or more split bearer configurations, overall CPU utilization, clock frequency, digital scheme, DL TB size, UL grant size, or a combination thereof.

[0107] In some examples, the receiving node inputs a first set of parameters for the LTE link with the eNB and inputs a second set of parameters for the 5G NR link with the gNB. The receiving node may obtain a first duration output for the LTE link from the machine learning algorithm and obtain a second duration output for the 5G NR link from the machine learning algorithm. In some examples, the receiving node determines packet loss in a packet sequence and determines the first duration or the second duration based on whether the lost packet is associated with the LTE link or the 5G NR link.

[0108] In some examples, using a machine learning algorithm to determine the duration includes: using a first machine algorithm to determine a first duration, using a second machine learning algorithm to determine a second duration, and selecting the first or the second duration.

[0109] In some examples, using a machine learning algorithm to determine the duration for buffering packets includes: using the machine learning algorithm to estimate one or more probabilities of receiving one or more lost packets at different durations, and selecting one duration from different durations based on the estimated one or more probabilities and the number of buffered packets associated with different durations.

[0110] In some examples, the receiving node inputs to a machine learning algorithm: one or more parameters associated with one or more probabilities of receiving one or more lost packets at different durations, one or more parameters associated with the number of buffered packets associated with different durations, or both. In such a case, the receiving node can obtain the duration for buffering packets output from the machine learning algorithm.

[0111] In some examples, the receiving node determines the duration at least in part based on the LCID associated with the packet.

[0112] At 1010, the receiving node buffers the packet within the determined one or more durations. In some examples, the configured timer is an RLC re - assembly timer or a re - order timer, and the buffering is at the RLC layer of the receiving node. In some examples, the configured timer is a PDCP re - order timer, and the buffering is at the PDCP layer of the receiving node. In some examples, the receiving node detects a lost packet, starts the configured timer, and stops buffering after the determined duration. In some examples, the receiving node detects a lost packet, determines an updated timer duration based on the determined duration, and starts a timer with the updated timer duration.

[0113] In some examples, after buffering the packet within the determined duration, the receiving node flushes a first protocol layer buffer containing the buffered packet and sends the buffered packet to a second protocol layer, where the first protocol layer is a lower protocol layer than the second protocol layer.

[0114] In some examples, after buffering the packet within the determined duration, the receiving node sends an RLC status PDU from a first protocol layer to a second protocol layer for indicating one or more lost PDUs for re - transmission, where the second protocol layer is a lower protocol layer than the first protocol layer.

[0115] Figure 11 is another flowchart showing an example operation 1100 for wireless communication in accordance with certain aspects of the present disclosure.

[0116] Operation 1100 can be performed, for example, by a receiving node such as a UE (e.g., UE 120a in wireless communication network 100) or a BS (e.g., BS 110a in wireless communication network 100). When the receiving node is a UE, operation 1100 can be implemented as a software component executed and run on one or more processors (e.g., Figure 2 the controller / processor 280). Additionally, the sending and receiving of signals by the UE in operation 1000 can be, for example, via one or more antennas (e.g., Figure 2implemented via the antenna 252). In some aspects, the transmission and / or reception of signals by the UE may be implemented via the bus interface of one or more processors (e.g., the controller / processor 280) that obtain and / or output the signals. When the receiving node is a BS, operation 1000 may be implemented as a software component executed and run on one or more processors (e.g., Figure 2 the controller / processor 240) of). In addition, the transmission and reception of signals by the BS in operation 1100 may be implemented, for example, by one or more antennas (e.g., Figure 2 the antenna 234). In some aspects, the transmission and / or reception of signals by the BS may be implemented via the bus interface of one or more processors (e.g., the controller / processor 240) that obtain and / or output the signals.

[0117] At 1105, operation 1100 may begin by inputting one or more parameters to a machine learning algorithm. At 1110, the node obtains, at least in part based on the one or more input parameters, one or more durations for buffering packets as an output of the machine learning algorithm. The one or more durations are different from the duration of a configured timer for buffering packets. At 1115, the node buffers the packet within one of the one or more durations. Optionally, at 1120, the node may enable the machine learning algorithm for use based on reaching a threshold ratio of the duration for which the machine learning algorithm successfully predicts the duration for receiving lost packets.

[0118] Figure 12 is another flowchart showing an example operation 1100 for wireless communication according to certain aspects of the present disclosure.

[0119] Operation 1200 may be performed, for example, by a receiving node such as a UE (e.g., UE 120a in the wireless communication network 100) or a BS (e.g., BS 110a in the wireless communication network 100). When the receiving node is a UE, operation 1100 may be implemented as a software component executed and run on one or more processors (e.g., Figure 2 the controller / processor 280). In addition, the transmission and reception of signals by the UE in operation 1200 may be implemented, for example, by one or more antennas (e.g., Figure 2 the antenna 252). In some aspects, the transmission and / or reception of signals by the UE may be implemented via the bus interface of one or more processors (e.g., the controller / processor 280) that obtain and / or output the signals. When the receiving node is a BS, operation 1200 may be implemented as a software component executed and run on one or more processors (e.g., Figure 2software components that execute and run on a controller / processor 240). Additionally, the transmission and reception of signals by the BS in operation 1200 can be implemented, for example, via one or more antennas (e.g., Figure 2 antenna 234) of). In some aspects, the transmission and / or reception of signals by the BS can be implemented via a bus interface of one or more processors (e.g., controller / processor 240) that obtain and / or output signals.

[0120] At 1205, operation 1200 can be started by: training a machine learning algorithm for predicting one or more durations for buffering packets waiting for one or more lost packets. At 1210, the node uses the machine learning algorithm to predict the duration for buffering packets waiting for one or more lost packets. The machine learning algorithm can still be trained, and the predicted duration can be used to test the accuracy of the prediction model of the machine learning algorithm, although the machine learning algorithm may not yet be enabled. At 1215, the node determines whether one or more lost packets are received after the predicted duration and within a configured buffer duration. If so, the predicted duration is considered inaccurate. That is, since one or more lost packets are received within the configured buffer duration, the buffer would have been flushed earlier. If the packets are not received within the configured buffer duration, the predicted duration is considered accurate. At 1220, the node tracks the ratio of successful predictions of durations by the machine learning algorithm. At 1225, the node enables the machine learning algorithm for use based on the ratio reaching a threshold. Thus, once the prediction model is trained to a target accuracy level, the machine learning algorithm can be used to determine the buffer duration.

[0121] Figure 13 illustrates a communication device 1300 that can include various components (e.g., corresponding to unit plus functional components) configured to perform operations for the techniques disclosed herein, such as Figure 10 , Figure 11 and / or Figure 12 the operations shown). The communication device 1300 includes a processing system 1302 coupled to a transceiver 1308 (e.g., a transmitter and / or a receiver). The transceiver 1308 is configured to transmit and receive signals for the communication device 1300 via an antenna 1310, such as the various signals described herein. The processing system 1302 can be configured to perform processing functions for the communication device 1300, including processing signals received and / or to be transmitted by the communication device 1300.

[0122] The processing system 1302 includes a processor 1304 coupled to a computer-readable medium / memory 1312 via a bus 1306. In some aspects, the computer-readable medium / memory 1312 is configured to store instructions (e.g., computer-executable code) that, when executed by the processor 1304, cause the processor 1304 to perform Figure 10 , Figure 11 and / or Figure 12 the operations shown or other operations for performing various techniques for BFD on a second frequency band for measurements based on a first frequency band discussed herein. In some aspects, in accordance with aspects of the present disclosure, the computer-readable medium / memory 1312 stores: code 1314 for enabling; code 1316 for dynamically determining; code 1318 for input; code 1320 for selecting; code 1322 for starting; code 1324 for stopping; code 1326 for determining; code 1328 for detecting; code 1330 for obtaining; code 1332 for buffering; code 1334 for flushing; and / or code 1336 for transmitting. In some aspects, the processor 1304 has circuitry configured to implement the code stored in the computer-readable medium / memory 1312. In accordance with aspects of the present disclosure, the processor 1304 includes: circuitry 1338 for enabling; circuitry 1340 for dynamically determining; circuitry 1342 for input; circuitry 1344 for selecting; circuitry 1346 for starting; circuitry 1348 for stopping; circuitry 1350 for determining; circuitry 1352 for detecting; circuitry 1354 for obtaining; circuitry 1356 for buffering; circuitry 1358 for flushing; and / or circuitry 1360 for transmitting.

[0123] Example aspects

[0124] In addition to the various aspects described above, these aspects may be combined. Some specific combinations of aspects are described in detail below:

[0125] Aspect 1, A method for wireless communication by a node, comprising: inputting one or more parameters to a machine learning algorithm; obtaining, at least in part based on the input one or more parameters, one or more durations for buffering a packet as an output of the machine learning algorithm, the one or more durations being different from a duration of a configured timer for buffering the packet; and buffering the packet within one of the one or more durations.

[0126] Aspect 2, The method according to aspect 1, wherein at least one of the one or more durations is shorter than the duration of the configured timer.

[0127] Aspect 3. The method according to any one of Aspects 1-2, wherein at least one of the one or more durations is longer than the duration of the configured timer.

[0128] Aspect 4. The method according to any one of Aspects 1-3, wherein: the configured timer includes a radio link control (RLC) reordering timer or a retransmission timer; and buffering the packet includes: buffering the packet at the RLC layer of the node.

[0129] Aspect 5. The method according to any one of Aspects 1-4, wherein: the configured timer includes a packet data convergence protocol (PDCP) reordering timer; and buffering the packet includes: buffering the packet at the PDCP layer of the node.

[0130] Aspect 6. The method according to any one of Aspects 1-5, wherein the one or more parameters further include historical values associated with the one or more parameters.

[0131] Aspect 7. The method according to any one of Aspects 1-6, wherein the one or more parameters include one or more low layer block error rates (BLERs).

[0132] Aspect 8. The method according to any one of Aspects 1-7, wherein the one or more parameters include one or more hybrid automatic repeat request (HARQ) retransmission counts for determining HARQ latency.

[0133] Aspect 9. The method according to any one of Aspects 1-8, wherein the one or more parameters include one or more RLC retransmission counts for determining radio link control (RLC) latency.

[0134] Aspect 10. The method according to any one of Aspects 1-9, wherein the one or more parameters include one or more dual connectivity configurations of the device.

[0135] Aspect 11. The method according to any one of Aspects 1-10, wherein the one or more parameters include one or more of the following: reordering timer expiration history, reconfiguration timer expiration history, one or more times of receiving one or more lost packets, one or more previous durations at which one or more lost packets are received, minimum previous duration at which one or more lost packets are received, maximum previous duration at which one or more lost packets are received, one or more logical channel identifiers (LCIDs) associated with the packet, remaining memory amount for buffering, one or more radio resource control (RRC) configurations, one or more evolved universal mobile telecommunications system (UMTS) terrestrial radio access (EUTRA) new radio (NR) dual connection (ENDC) configurations, one or more split bearer configurations, overall CPU utilization, clock frequency, digital scheme, downlink (DL) transport block (TB) size, uplink (UL) grant size, maximum number of hybrid automatic repeat request (HARQ) retransmissions used, HARQ round-trip time (RTT), time required to send uplink status protocol data unit (PDU), histogram of holes received in one or more duration bins, throughput of radio bearer associated with the one or more packets, type of traffic associated with the one or more packets, delay between dual connection links, offload time, gain status, average signal-to-noise ratio (SNR), geographical location information, carrier information, number of active component carriers, transport block size, average packet data convergence protocol (PDCP) packet size, time division duplex (TDD) configuration, frequency division duplex (FDD) configuration, application profile, radio bearer mode, single subscriber identity module (SSIM) configuration, multi-SIM (MSIM) configuration, modem operating conditions, application data protocol, quality of service (QoS) profile associated with the application, or a combination thereof.

[0136] Aspect 12. The method according to Aspect 11, wherein one or more of the one or more parameters are parameters according to a carrier.

[0137] Aspect 13. The method according to any one of Aspects 1-12, further comprising: enabling the machine learning algorithm for use at least partially based on reaching a threshold ratio at which the machine learning algorithm successfully predicts a duration for receiving a lost packet.

[0138] Aspect 14. The method according to any one of Aspects 1-13, further comprising: enabling the machine learning algorithm for use according to a radio bearer at least partially based on an application type attached to the radio bearer.

[0139] Aspect 15. The method according to aspect 14, wherein the obtaining includes: obtaining, according to a radio bearer, a duration for buffering packets as the output of the machine learning algorithm.

[0140] Aspect 16. The method according to any one of aspects 1-15, wherein the input includes: inputting a first set of parameters for a first link to a first node to the machine learning algorithm; and inputting a second set of parameters for a second link to a second node to the machine learning algorithm; wherein the output of the machine learning algorithm includes: a first duration for the first link and a second duration for the second link.

[0141] Aspect 17. The method according to aspect 16, further including: determining packet loss in a packet sequence; when the lost packet is associated with the first link, inputting the first set of parameters; and when the lost packet is associated with the second link, inputting the second set of parameters.

[0142] Aspect 18. The method according to any one of aspects 1-17, further including: inputting a second one or more parameters to a second machine learning algorithm to determine a second one or more durations; and selecting the one or more durations instead of the second one or more durations to buffer packets.

[0143] Aspect 19. The method according to any one of aspects 1-18, wherein the output of the machine learning algorithm includes a predicted duration for waiting for a specified part of a lost protocol data unit (PDU).

[0144] Aspect 20. The method according to aspect 19, wherein the part of the lost PDU includes several packets to maintain the maximum application throughput.

[0145] Aspect 21. The method according to any one of aspects 1-20, wherein the obtaining includes: obtaining, as the output of the machine learning algorithm, a probability of receiving one or more lost packets within each of the one or more durations, and further including: selecting one of the one or more durations at least partially based on the estimated probability.

[0146] Aspect 22. The method according to any one of aspects 1-21, wherein the node includes a user equipment (UE) or a base station (BS).

[0147] Aspect 23. The method according to any one of aspects 1-22, further including: detecting a lost packet; starting the configured timer; and stopping the buffering after one of the one or more durations.

[0148] Aspect 24. The method according to any one of Aspects 1-23 further includes: detecting a lost packet; determining an updated timer duration based on one of the one or more durations; and starting the configured timer with the updated timer duration.

[0149] Aspect 25. The method according to any one of Aspects 1-24 further includes: after buffering the packet within one of the one or more durations, performing the following operations: flushing a first protocol layer buffer containing the buffered packet; and sending the buffered packet to a second protocol layer, where the first protocol layer is a lower protocol layer than the second protocol layer.

[0150] Aspect 26. The method according to any one of Aspects 1-25 further includes: after buffering the packet within one of the one or more durations, sending a radio link control (RLC) status protocol data unit (PDU) from a first protocol layer to a second protocol layer, where the RLC status PDU indicates one or more lost PDUs for retransmission, and where the second protocol layer is a lower layer than the first protocol layer.

[0151] Aspect 27. The method according to any one of Aspects 1-27, wherein the obtaining includes: obtaining one or more additional durations for buffering a packet at one or more different times as an output of the machine learning algorithm.

[0152] Aspect 28. A method performed by a receiving node includes: dynamically determining one or more durations for buffering a packet, the one or more durations being different from a duration of a configured timer for buffering the packet; and buffering the packet within the determined one or more durations.

[0153] Aspect 29. The method according to Aspect 28, wherein at least one of the determined one or more durations is shorter than the duration of the configured timer for buffering the packet.

[0154] Aspect 30. The method according to any one of Aspects 28 and 29, wherein: the configured timer includes a radio link control (RLC) reordering timer or a resequencing timer; and buffering the packet includes: buffering the packet at the RLC layer of the receiving node.

[0155] Aspect 31. The method according to any one of aspects 28 - 30, wherein: the configured timer includes a Packet Data Convergence Protocol (PDCP) reordering timer; and buffering the packet includes: buffering the packet at the PDCP layer of the receiving node.

[0156] Aspect 32. The method according to any one of aspects 28 - 31, wherein determining the one or more durations includes: using a machine learning algorithm to determine the one or more durations for buffering a packet.

[0157] Aspect 33. The method according to aspect 32, wherein using the machine learning algorithm to determine the one or more durations includes: inputting one or more parameters associated with determining the one or more durations for buffering a packet into the machine learning algorithm.

[0158] Aspect 34. The method according to any one of aspects 28 - 33, wherein: the one or more parameters include: one or more lower layer Block Error Rates (BLERs), one or more Hybrid Automatic Repeat reQuest (HARQ) retransmission numbers for determining the HARQ delay for the re - assembly timer, one or more Radio Link Control (RLC) retransmission numbers for determining the RLC delay for the reordering timer, reordering timer expiration history, re - assembly timer expiration history, one or more numbers of received lost packets, one or more previous durations at which the lost packets are received, the minimum previous duration at which the lost packets are received, the maximum previous duration at which the lost packets are received, one or more Logical Channel Identifiers (LCIDs) associated with the packet, the remaining memory amount for buffering, one or more Radio Resource Control (RRC) configurations, one or more Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (EUTRA) New Radio (NR) Dual Connectivity (ENDC) configurations, one or more split - bearer configurations, overall CPU utilization, clock frequency, digital scheme, Downlink (DL) Transport Block (TB) size, Uplink (UL) grant size, or a combination thereof.

[0159] Aspect 35. The method according to any one of aspects 32 - 34, wherein: inputting the one or more parameters into the machine learning algorithm includes: inputting a first set of parameters for a first link to a first node, and inputting a second set of parameters for a second link to a second node.

[0160] Aspect 36. The method according to aspect 35, further comprising: obtaining a first duration for the first link output from the machine learning algorithm, and obtaining a second duration for the second link output from the machine learning algorithm.

[0161] Aspect 37. The method according to any one of Aspects 35 - 36 further includes: determining packet loss in a packet sequence, wherein determining the duration includes: determining the first duration or the second duration based on whether the lost packet is associated with the first link or the second link.

[0162] Aspect 38. The method according to any one of Aspects 32 - 37, wherein using the machine learning algorithm to determine the one or more durations includes: using a first machine algorithm to determine a first duration; using a second machine learning algorithm to determine a second duration; and selecting the first duration or the second duration.

[0163] Aspect 39. The method according to any one of Aspects 32 - 38, wherein using the machine learning algorithm to determine the one or more durations for buffering a packet includes: using the machine learning algorithm to estimate one or more probabilities of receiving one or more lost packets at different durations; and based on the estimated one or more probabilities, selecting one duration from the different durations.

[0164] Aspect 40. The method according to any one of Aspects 33 - 39, wherein inputting the one or more parameters into the machine learning algorithm includes: inputting one or more parameters associated with one or more probabilities of receiving one or more lost packets at different durations into the machine learning algorithm.

[0165] Aspect 41. The method according to Aspect 40 further includes: obtaining the one or more durations for buffering the packet output from the machine learning algorithm.

[0166] Aspect 42. The method according to any one of Aspects 28 - 41, wherein determining the one or more durations includes: determining the one or more durations at least partially based on a logical channel identifier (LCID) associated with the packet.

[0167] Aspect 43. The method according to any one of Aspects 28 - 42, wherein the node includes a user equipment (UE) or a base station (BS).

[0168] Aspect 44. The method according to any one of Aspects 28 - 43, wherein buffering a packet within at least one of the determined one or more durations includes: detecting a lost packet; starting the configured timer; and stopping buffering after the determined duration.

[0169] Aspect 45. The method according to any one of aspects 28 - 43, wherein buffering a packet during at least one of the determined one or more durations includes: detecting a lost packet; determining an updated timer duration based on the determined duration; and starting the timer with the updated timer duration.

[0170] Aspect 46. The method according to any one of aspects 28 - 45, further comprising: after buffering a packet during at least one of the determined one or more durations, flushing a first protocol layer buffer containing the buffered packet, and sending the buffered packet to a second protocol layer, wherein the first protocol layer is a lower protocol layer than the second protocol layer.

[0171] Aspect 47. The method according to any one of claims 28 - 46, further comprising: after buffering a packet during at least one of the determined one or more durations, sending a radio link control (RLC) status packet data unit (PDU) indicating one or more lost PDUs for retransmission from a first protocol layer to a second protocol layer, wherein the second protocol layer is a lower layer than the first protocol layer.

[0172] Aspect 48. The method according to any one of aspects 28 - 47, wherein dynamically determining the one or more durations for buffering a packet includes: re - determining the duration at different times.

[0173] Aspect 49. A method for wireless communication by a node, comprising: determining a ratio at which a machine learning algorithm successfully predicts a duration for receiving one or more lost packets; and enabling the machine learning algorithm for use at least in part based on the ratio reaching a threshold ratio.

[0174] Aspect 50. The method according to aspect 49, further comprising: training the machine learning algorithm to predict the one or more durations for buffering a packet to wait for one or more lost packets; using the machine learning algorithm to predict a duration for buffering a packet to wait for the one or more lost packets; determining whether the one or more lost packets are received after the predicted duration and within a configured buffer duration; determining the ratio at least in part based on whether the one or more lost packets are received after the predicted duration and within the configured buffer duration; and comparing the determined ratio with a threshold to determine whether the threshold ratio is reached.

[0175] Aspect 51. The method according to aspect 49 or 50, wherein enabling the machine algorithm further comprises: enabling the machine learning algorithm for use according to a radio bearer, at least in part based on an application type attached to the radio bearer.

[0176] Aspect 52. An apparatus, comprising: a unit configured to perform the method according to any one of aspects 1 to 51.

[0177] Aspect 53. An apparatus, comprising at least one processor and a memory coupled to the at least one processor, the memory comprising code executable by the at least one processor to cause the apparatus to perform the method according to any one of aspects 1 to 51.

[0178] Aspect 54. A computer-readable medium storing computer-executable code for wireless communication, the computer-executable code, when executed by at least one processor, causing an apparatus to perform the method according to any one of aspects 1 to 51.

[0179] Additional considerations

[0180] The techniques described herein can be used in various wireless communication technologies such as NR (e.g., 5G NR), 3GPP Long Term Evolution (LTE), Advanced LTE (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), and other networks. The terms "network" and "system" are often used interchangeably. CDMA networks may implement radio technologies such as Universal Terrestrial Radio Access (UTRA), cdma2000, etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. cdma2000 covers the IS-2000, IS-95, and IS-856 standards. TDMA networks may implement radio technologies such as Global System for Mobile Communications (GSM). OFDMA networks may 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 the 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 in deployment.

[0181] In 3GPP, the term "cell" can refer to the coverage area of a Node B (NB) and / or the NB subsystem serving that coverage area, depending on the context in which the term is used. In the NR system, the terms "cell" and BS, Next Generation Node B (gNB or gNodeB), Access Point (AP), Distributed Unit (DU), carrier, or Transmission and Reception Point (TRP) can be used interchangeably. A BS can provide communication coverage for macro cells, pico cells, femto cells, and / or other types of cells. A macro cell can cover a relatively large geographical area (e.g., with a radius of several kilometers) and can allow unrestricted access by UEs with service subscriptions. A pico cell can cover a relatively small geographical area and can allow unrestricted access by UEs with service subscriptions. A femto cell can cover a relatively small geographical area (e.g., a residence) and can allow restricted access by UEs associated with that femto cell (e.g., UEs in a Closed Subscriber Group (CSG), UEs for users in a residence, etc.). The BS for a macro cell can be referred to as a macro BS. The BS for a pico cell can be referred to as a pico BS. The BS for a femto cell can be referred to as a femto BS or a home BS.

[0182] A UE can also be referred to as a mobile station, terminal, access terminal, user unit, station, Customer Premises Equipment (CPE), cellular phone, smart phone, Personal Digital Assistant (PDA), wireless modem, wireless communication device, handheld device, laptop computer, cordless phone, Wireless Local Loop (WLL) station, tablet computer, camera, gaming device, netbook, smartbook, ultrabook, appliance, medical device or apparatus, biometric sensor / device, wearable device (e.g., smart watch, smart clothing, smart glasses, smart wristband, smart jewelry (e.g., smart ring, smart bracelet, etc.)), entertainment device (e.g., music device, video device, satellite radio unit, etc.), vehicle component or sensor, smart meter / sensor, industrial manufacturing device, Global Positioning System device, or any other suitable device configured to communicate via wireless or wired media. Some UEs can 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. A wireless node can provide a connection to or for 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 can be considered Internet of Things (IoT) devices, which can be Narrowband IoT (NB-IoT) devices.

[0183] In some examples, access to an air interface can be scheduled. A scheduling entity (e.g., a BS) allocates resources for communication among some or all of the devices and apparatuses within its service area or cell. The scheduling entity can be responsible for scheduling, allocating, reconfiguring, and releasing resources for one or more subordinate entities. That is, for the scheduled communication, the subordinate entities utilize the resources allocated by the scheduling entity. A base station is not the only entity that can be used as a scheduling entity. In some examples, a UE can be used as a scheduling entity and can schedule resources for one or more subordinate entities (e.g., one or more other UEs), and other UEs can utilize the resources scheduled by the UE for wireless communication. In some examples, a UE can be used as a scheduling entity in a peer-to-peer (P2P) network and / or a mesh network. In a mesh network example, in addition to communicating with the scheduling entity, UEs can also communicate directly with each other.

[0184] The methods disclosed herein include one or more steps or acts for implementing the methods. Without departing from the scope of the claims, these method steps and / or acts can be interchanged with one another. In other words, unless a specific order of the steps or acts is specified, the order and / or use of specific steps and / or acts can be modified without departing from the scope of the claims.

[0185] As used herein, the phrase referring to “at least one” of a list of items refers to any combination of those items, including a single member. By way of example, “at least one of a, b, or c” is intended to cover a, b, c, a - b, a - c, b - c, and a - b - c, as well as any combination of multiples of the same elements (e.g., a - a, a - a - a, a - a - b, a - a - c, a - b - b, a - c - c, b - b, b - b - b, b - b - c, c - c, and c - c - c or any other ordering of a, b, and c).

[0186] As used herein, the term “determine” includes a variety of acts. For example, “determine” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, database, or another data structure), ascertaining, and the like. Further, “determine” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Further, “determine” can include parsing, selecting, choosing, establishing, and the like.

[0187] The foregoing description is provided to enable any person skilled in the art to make and use the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, where the reference to an element in the singular is not intended to mean "one and only one" but rather "one or more" unless specifically stated otherwise. The term "some," unless specifically stated otherwise, refers to one or more. All structural and functional equivalents of the elements of the various aspects described throughout this disclosure are expressly incorporated herein by reference and are intended to be encompassed by the claims, which are known or will be known to those skilled in the art. Further, nothing disclosed herein is intended to be dedicated to the public, whether or not such disclosure is expressly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. § 112, sixth paragraph, unless the element is expressly recited using the phrase "means for" or, in the case of a method claim, the phrase "step for."

[0188] The various operations of the methods described above can be performed by any suitable unit capable of performing the corresponding functions. These units may include various hardware and / or software components and / or modules, including but not limited to: circuits, application specific integrated circuits (ASICs) or processors. Generally, where there are operations shown in the figures, those operations may have corresponding paired units plus functional components with similar numbers.

[0189] The various illustrative logical blocks, modules, and circuits described in connection with the present disclosure can be implemented or performed using 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, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0190] 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 particular application and overall design constraints of the processing system, the bus may include any number of interconnecting buses and bridges. The bus may connect various circuits including a processor, machine-readable media, and a bus interface. In addition, the bus interface may be used to connect a network adapter 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 case of a user terminal (see Figure 1 ), a user interface (e.g., keypad, display, mouse, joystick, etc.) may also be connected to the bus. The bus may also link various other circuits such as a timing source, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and will not be described further herein. The processor may be implemented using one or more general-purpose 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 functions described for the processing system according to the specific application and overall design constraints imposed on the overall system.

[0191] If implemented in software, the functions can be stored on or transmitted via a computer-readable medium as one or more instructions or code. Whether referred to as software, firmware, middleware, microcode, hardware description language, or other terms, software should be construed broadly to mean instructions, data, or any combination thereof. A computer-readable medium includes both computer storage media and communication media, and the communication media includes any medium that facilitates the transfer of a computer program from one place to another. The processor may be responsible for managing the bus and general processing, which includes executing software modules stored on a machine-readable storage medium. The computer-readable storage medium may be coupled to the processor such that the processor can read information from and write information to the storage medium. In an alternative, the storage medium may be part of the processor. For example, the machine-readable medium may include a transmission line, a carrier modulated by data, and / or a computer-readable storage medium storing instructions separate from a wireless node, all of which can be accessed by the processor via a bus interface. Alternatively or additionally, the machine-readable medium or any part thereof may be integrated into the processor, for example, this may be the case with a cache and / or a general register file. For example, examples of the machine-readable medium may include 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 medium, or any combination thereof. The machine-readable medium may be embodied in a computer program product.

[0192] Software modules may include a single instruction or many instructions and may be distributed over several different code segments, distributed among different programs, and spread across multiple storage media. A computer-readable medium may include multiple software modules. The software modules include instructions that, when executed by a device such as a processor, cause a processing system to perform various functions. The software modules may include a sending module and a receiving module. Each software module may be located in a single storage device or distributed across multiple storage devices. For example, when a triggering event occurs, a software module may be loaded from a hard drive into RAM. During the execution of a software module, the processor may load some of the instructions into a cache to increase access speed. Subsequently, one or more cache lines may be loaded into the general register file for execution by the processor. It will be understood that when the functions of a software module are mentioned hereinafter, such functions are implemented by the processor when executing the instructions from the software module.

[0193] In addition, any connection is properly termed a computer-readable medium. For example, if 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 technology (such as infrared (IR), radio, and microwave), then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technology (such as infrared, radio, and microwave) is included in the definition of the medium. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and optical disc, where disks typically reproduce data magnetically, while discs reproduce data optically with a laser. Thus, in some aspects, a computer-readable medium may include a non-transitory computer-readable medium (e.g., a tangible medium). Additionally, for other aspects, a computer-readable medium may include a transitory computer-readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer-readable media.

[0194] Accordingly, some 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 executable by one or more processors to perform the operations described herein. For example, instructions for performing the operations described and illustrated in Figure 10 、 Figure 11 and Figure 12 and shown in.

[0195] Furthermore, it should be appreciated that modules and / or other suitable units for performing the methods and techniques described herein may be downloaded and / or otherwise obtained by a user terminal and / or a base station, where applicable. For example, such a device may be coupled to a server to facilitate the transfer of units for performing the methods described herein. Alternatively, the various methods described herein may be provided via a storage unit (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.) such that the user terminal and / or the base station can obtain the various methods when the storage unit is coupled to or provided to the device. Additionally, any other suitable technique for providing the methods and techniques described herein to the device may be used.

[0196] It should be understood that the claims are not limited to the exact configurations and components shown above. Various modifications, changes, and variations may be made in the arrangement, operation, and details of the methods and apparatuses described above without departing from the scope of the claims.

Claims

1. A device for wireless communication, comprising: a memory; and at least one processor coupled to the memory, the memory and the at least one processor being configured to: determine, at least in part based on one or more parameters, one or more durations for buffering packets at a radio link control (RLC) layer and / or a packet data convergence protocol (PDCP) layer, the one or more durations being different from a duration of a configured timer for buffering the packets, wherein the one or more parameters include one or more low layer block error rates (BLER); and buffer the packets within one of the determined one or more durations.

2. The device according to claim 1, wherein, At least one of the one or more durations is shorter than the duration of the configured timer.

3. The device according to claim 1, wherein, At least one of the one or more durations is longer than the duration of the configured timer.

4. The device according to claim 1, wherein: the configured timer includes a PDCP reordering timer, or an RLC re - assembly timer or a reordering timer.

5. The apparatus according to claim 1, wherein, The one or more parameters further include historical values associated with the one or more parameters.

6. The device according to claim 1, wherein, The one or more parameters include one or more HARQ re - transmission counts for determining a hybrid automatic repeat request (HARQ) delay.

7. The device according to claim 1, wherein, The one or more parameters include one or more RLC re - transmission counts for determining an RLC delay.

8. The device according to claim 1, wherein The one or more parameters include one or more dual - connection configurations of the device.

9. The apparatus according to claim 1, wherein The one or more parameters include one or more of the following: reordering timer expiration history, reassembly timer expiration history, number of times one or more lost packets are received, one or more previous durations at which one or more lost packets are received, minimum previous duration at which one or more lost packets are received, maximum previous duration at which one or more lost packets are received, one or more logical channel identifiers (LCIDs) associated with the packet, remaining memory amount for buffering, one or more radio resource control (RRC) configurations, one or more evolved universal mobile telecommunications system (UMTS) terrestrial radio access (EUTRA) new radio (NR) dual connectivity (ENDC) configurations, one or more split bearer configurations, overall CPU utilization, clock frequency, digital scheme, downlink (DL) transport block (TB) size, uplink (UL) grant size, maximum number of hybrid automatic repeat request (HARQ) retransmissions used, HARQ round-trip time (RTT), time required to send an uplink status protocol data unit (PDU), histogram of holes received in one or more duration bins, throughput for a radio bearer associated with the one or more packets, type of traffic associated with the one or more packets, latency between dual connectivity links, offload time, gain status, average signal-to-noise ratio (SNR), geographical location information, carrier information, number of active component carriers, transport block size, average packet data convergence protocol (PDCP) packet size, time-division duplex (TDD) configuration, frequency-division duplex (FDD) configuration, application profile, radio bearer mode, single subscriber identity module (SSIM) configuration, multi-SIM (MSIM) configuration, modem operating conditions, application data protocol, quality of service (QoS) profile associated with the application, or a combination thereof.

10. The apparatus according to claim 9, wherein, One or more of the one or more parameters are parameters per carrier.

11. The device according to claim 1, wherein, The one or more durations are determined by a machine learning algorithm.

12. The device according to claim 1, wherein, The apparatus includes a user equipment (UE) or a base station (BS).

13. The apparatus according to claim 1, wherein, The memory and the at least one processor are further configured to: Detect lost packets; Start the configured timer; and Stop the buffering after one of the one or more durations.

14. The device according to claim 1, wherein, The memory and the at least one processor are further configured to: Detect lost packets; Determine an updated timer duration based on one of the one or more durations; and Start the configured timer with the updated timer duration.

15. The device according to claim 1, wherein, The memory and the at least one processor are further configured to: after buffering the packet within one of the one or more durations, perform the following: Flush a first protocol layer buffer containing the buffered packet; and Send the buffered packet to a second protocol layer, where the first protocol layer is a lower protocol layer than the second protocol layer.

16. The device according to claim 1, wherein, The memory and the at least one processor are further configured to: After buffering the packet for one of the one or more durations, send a radio link control (RLC) status protocol data unit (PDU) from a first protocol layer to a second protocol layer, where the RLC status PDU indicates one or more lost PDUs for retransmission, and where the second protocol layer is a lower layer than the first protocol layer.

17. A method for wireless communication by a node, comprising: Determine one or more durations for buffering a packet at a radio link control (RLC) layer and / or a packet data convergence protocol (PDCP) layer, at least in part based on one or more parameters, the one or more durations being different from a duration of a configured timer for buffering the packet, where the one or more parameters include one or more lower layer block error rates (BLER); and Buffering the packet for one of the determined one or more durations.

18. An apparatus for wireless communication, comprising: Means for determining one or more durations for buffering a packet at a radio link control (RLC) layer and / or a packet data convergence protocol (PDCP) layer, at least in part based on one or more parameters, the one or more durations being different from a duration of a configured timer for buffering the packet, where the one or more parameters include one or more lower layer block error rates (BLER); and Means for buffering the packet for one of the determined one or more durations.

19. A computer-readable medium having stored thereon computer-executable code for wireless communication by a node, comprising: Code for determining one or more durations for buffering a packet at a radio link control (RLC) layer and / or a packet data convergence protocol (PDCP) layer, at least in part based on one or more parameters, the one or more durations being different from a duration of a configured timer for buffering the packet, where the one or more parameters include one or more lower layer block error rates (BLER); and Code for buffering the packet for one of the determined one or more durations.

Citation Information

Patent Citations

  • Out-of-order packet handling in 5g / new radio

    US20190268801A1