Congestion control algorithm

By selecting and applying appropriate congestion control algorithms in user equipment (UE) and dynamically adjusting transmission parameters, the problems of degradation of communication quality and waste of resources in wireless communication systems during network congestion are solved, and more efficient communication performance is achieved.

CN119422361APending Publication Date: 2025-02-11QUALCOMM INC
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202380049832.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-07-08
Filing Date
2023-04-26
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

When existing wireless communication systems face network congestion, it is difficult to effectively adjust transmission parameters, resulting in reduced communication quality and waste of resources.

Method used

The user equipment (UE) selects and applies the congestion control algorithm selected from the set of candidate congestion control algorithms to dynamically adjust the transmission parameters by obtaining the parameters associated with the communication to be sent.

Benefits of technology

By dynamically adjusting transmission parameters, UE can optimize communication quality in the case of network congestion, improve throughput, reduce latency and packet loss rate, and improve resource utilization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422361A_ABST
    Figure CN119422361A_ABST
Patent Text Reader

Abstract

Aspects of the present disclosure generally relate to wireless communications. In some aspects, a user equipment (UE) may obtain one or more communication parameters associated with one or more communications to be transmitted by the UE. The UE may transmit the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters. Numerous other aspects are described.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This patent application claims priority to U.S. non-provisional patent application No. 17 / 811,423, entitled “CONGESTION CONTROL ALGORITHMS,” filed on July 8, 2022, which is hereby expressly incorporated herein by reference. Technical Field

[0003] Aspects of the present disclosure relate generally to wireless communications, and to techniques and apparatus for congestion control algorithms. Background Art

[0004] Wireless communication systems are widely deployed to provide a variety of telecommunication services, such as telephone, video, data, messaging, and broadcasting. Typical wireless communication systems may employ 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 technologies include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single carrier frequency division multiple access (SC-FDMA) systems, time division synchronous code division multiple access (TD-SCDMA) systems, and long term evolution (LTE). LTE / LTE-Advanced is a set of enhancements to the Universal Mobile Telecommunications System (UMTS) mobile standard promulgated by the Third Generation Partnership Project (3GPP).

[0005] A wireless network may include one or more network nodes that support communications for wireless communication devices, such as user equipment (UE) or multiple UEs. A UE may communicate with a network node via downlink communications and uplink communications. A "downlink" (or "DL") refers to a communication link from a network node to a UE, and an "uplink" (or "UL") refers to a communication link from a UE to a network node. Some wireless networks may support device-to-device communications, such as via a local link (e.g., a side link (SL), a wireless local area network (WLAN) link, and / or a wireless personal area network (WPAN) link, etc.).

[0006] These multiple access technologies have been adopted in various telecommunication standards to provide a common protocol that enables different UEs to communicate at a city, country, region, or global level. New Radio (NR), which may also be referred to as 5G, is a set of enhancements to the LTE mobile standard promulgated by 3GPP. NR is designed to better support mobile broadband Internet access by using orthogonal frequency division multiplexing (OFDM) (CP-OFDM) with a cyclic prefix (CP) on the downlink, using CP-OFDM or single carrier frequency division multiplexing (SC-FDM) (also known as discrete Fourier transform spread OFDM (DFT-s-OFDM) on the uplink, and supporting beamforming, multiple-input multiple-output (MIMO) antenna technology, and carrier aggregation to improve spectrum efficiency, reduce costs, improve services, utilize new spectrum, and better integrate with other open standards. Summary of the invention

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

[0008] Some aspects described herein relate to a method of wireless communication performed by a user equipment (UE). The method may include obtaining one or more communication parameters associated with one or more communications to be sent by the UE. The method may include sending the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected based at least in part on the one or more communication parameters.

[0009] Some aspects described herein relate to a UE for wireless communication. The user equipment may include a memory and one or more processors coupled to the memory. The one or more processors may be configured to obtain one or more communication parameters associated with one or more communications to be sent by the UE. The one or more processors may be configured to send the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected based at least in part on the one or more communication parameters.

[0010] Some aspects described herein relate to a non-transitory computer-readable medium storing an instruction set for wireless communication by a UE. The instruction set, when executed by one or more processors of the UE, may cause the UE to obtain one or more communication parameters associated with one or more communications to be sent by the UE. The instruction set, when executed by one or more processors of the UE, may cause the UE to send the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected based at least in part on the one or more communication parameters.

[0011] Some aspects described herein are directed to an apparatus for wireless communication. The apparatus may include means for obtaining one or more communication parameters associated with one or more communications to be sent by the apparatus. The apparatus may include means for sending the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

[0012] The various aspects generally include methods, apparatuses, systems, computer program products, non-transitory computer-readable media, user equipment, base stations, network entities, network nodes, wireless communication devices and / or processing systems as fully described herein with reference to the drawings and description and as illustrated in the drawings or description.

[0013] The features and technical advantages of examples according to the present disclosure have been outlined quite broadly above so that the following specific embodiments may be better understood. Additional features and advantages will be described below. The disclosed concepts and specific examples may be easily used as a basis for modifying or designing other structures for achieving the same purpose of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. The characteristics of the concepts disclosed herein, both in terms of their organization and method of operation, and the associated advantages will be better understood by considering the following description in conjunction with the accompanying drawings. Each of the figures in the accompanying drawings is provided for the purpose of illustration and description and not as a definition of limitations to the claims.

[0014] Although various aspects are described in the present disclosure by illustrating some examples, it will be understood by those skilled in the art that such aspects can be implemented in many different arrangements and scenarios. The technology described herein can be implemented using different platform types, devices, systems, shapes, sizes and / or packaging arrangements. For example, some aspects can be implemented via integrated chip implementations or other devices based on non-module components (e.g., end-user devices, vehicles, communication equipment, computing equipment, industrial equipment, retail / shopping equipment, medical equipment, and / or artificial intelligence devices). Various aspects can be implemented in chip-level components, modular components, non-modular components, non-chip-level components, device-level components and / or system-level components. The equipment incorporating the various aspects and features described may include additional components and features for implementing and practicing the various aspects claimed and described. For example, the transmission and reception of wireless signals may include one or more components (e.g., hardware components, including antennas, radio frequency (RF) chains, power amplifiers, modulators, buffers, processors, interleavers, adders and / or summers) for analog and digital purposes. The various aspects described herein are intended to be practiced in various devices, components, systems, distributed arrangements, and / or end-user devices of various sizes, shapes and configurations. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to fully understand the above-mentioned features of the present disclosure, a more specific description of the invention briefly summarized above can be obtained by referring to various aspects (some of which are illustrated in the accompanying drawings). However, it should be noted that the accompanying drawings only illustrate certain typical aspects of the present disclosure and are therefore not to be considered as limiting the scope thereof, as the specification may admit of other equally effective aspects. The same reference numerals in different drawings may identify the same or similar elements.

[0016] Figure 1 is a diagram illustrating an example of a wireless network according to the present disclosure.

[0017] Figure 2 is a diagram illustrating an example of communication between a network node and a user equipment (UE) in a wireless network according to the present disclosure.

[0018] Figure 3 is a diagram illustrating an example decomposed base station architecture.

[0019] Figure 4 is a diagram illustrating an example of using a congestion control algorithm in a wireless network.

[0020] Figure 5 to Figure 6 is a diagram illustrating an example associated with a congestion control algorithm according to the present disclosure.

[0021] Figure 7 is a diagram illustrating an example process associated with a congestion control algorithm according to the present disclosure.

[0022] Figure 8 is a diagram of an example apparatus for wireless communications according to the present disclosure. DETAILED DESCRIPTION

[0023] The various aspects of the present disclosure are described more fully below with reference to the accompanying drawings. However, the present disclosure can be embodied in many different forms, and should not be interpreted as being limited to any specific structure or function presented throughout the present disclosure. On the contrary, these aspects are provided so that the present disclosure will be thorough and complete, and the scope of the present disclosure will be fully conveyed to those skilled in the art. It should be understood by those skilled in the art that the scope of the present disclosure is intended to cover any aspect of the present disclosure disclosed herein, whether it is implemented independently or in combination with any other aspect of the present disclosure. For example, any number of aspects set forth herein may be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such devices or methods implemented using other structures, functions, or structures and functions in addition to or different from the various aspects of the disclosure set forth herein. It should be understood that any aspect of the disclosure disclosed herein may be embodied by one or more elements of the claims.

[0024] Several aspects of telecommunication systems will now be presented with reference to various devices and techniques. These devices and techniques will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, components, circuits, steps, processes, algorithms, etc. (collectively referred to as "elements"). These elements can be implemented using hardware, software, or a combination thereof. Whether these elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system.

[0025] Although various aspects may be described herein using terms generally associated with 5G or new radio (NR) radio access technology (RAT), various aspects of the present disclosure may be applied to other RATs, such as 3G RAT, 4G RAT, and / or post-5G RATs (e.g., 6G).

[0026] Figure 11 is a diagram illustrating an example of a wireless network 100. The wireless network 100 may be a 5G (e.g., NR) network or a 4G (e.g., Long Term Evolution (LTE)) network, or may include elements of a 5G (e.g., NR) network or elements of a 4G (e.g., Long Term Evolution (LTE)) network, etc. The wireless network 100 may include one or more network nodes 110 (shown as network node 110a, network node 110b, network node 110c, and network node 110d), user equipment (UE) 120 or multiple UEs 120 (shown as UE 120a, UE 120b, UE 120c, UE 120d, and UE 120e), or other entities. The network node 110 is an example of a network node that communicates with the UE 120. As shown, the network node 110 may include one or more network nodes. For example, the network node 110 may be a converged network node, which means that the converged network node is configured to utilize a radio protocol stack that is physically or logically integrated within a single RAN node (e.g., within a single device or unit). As another example, the network node 110 may be a disaggregated network node (sometimes referred to as a disaggregated base station), which means that the network node 110 is configured to utilize a protocol stack that is physically or logically distributed between two or more nodes (such as one or more central units (CUs), one or more distributed units (DUs), or one or more radio units (RUs)).

[0027] In some examples, the network node 110 is or includes a network node that communicates with the UE 120 via a radio access link, such as an RU. In some examples, the network node 110 is or includes a network node that communicates with other network nodes 110 via a fronthaul link or a midhaul link, such as a DU. In some examples, the network node 110 is or includes a network node that communicates with other network nodes 110 via a midhaul link or communicates with the core network via a backhaul link, such as a CU. In some examples, the network node 110 (such as an aggregated network node 110 or a decomposed network node 110) may include multiple network nodes, such as one or more RUs, one or more CUs, and / or one or more DUs. For example, the network node 110 may include an NR base station, an LTE base station, a Node B, an eNB (e.g., in 4G), a gNB (e.g., in 5G), an access point, a transmit receive point (TRP), a DU, a RU, a CU, a mobility element of a network, a core network node, a network element, a network equipment, a RAN node, or a combination thereof. In some examples, network nodes 110 may be interconnected to each other or to one or more other network nodes 110 in wireless network 100 via various types of fronthaul, midhaul, and / or backhaul interfaces, such as direct physical connections, air interfaces, or virtual networks, using any suitable transport network.

[0028] In some examples, the network node 110 may provide communication coverage for a particular geographic area. In the Third Generation Partnership Project (3GPP), the term "cell" may refer to the coverage area of ​​the network node 110 or a network node subsystem serving the coverage area, depending on the context in which the term is used. The network node 110 may provide communication coverage for a macro cell, a pico cell, a femto cell, or another type of cell. A macro cell may cover a relatively large geographic area (e.g., a radius of several thousand meters) and may allow unrestricted access by a UE 120 with a service subscription. A pico cell may cover a relatively small geographic area and may allow unrestricted access by a UE 120 with a service subscription. A femto cell may cover a relatively small geographic area (e.g., a residence) and may allow restricted access by a UE 120 associated with the femto cell (e.g., a UE 120 in a closed subscriber group (CSG)). A network node 110 for a macro cell may be referred to as a macro network node. A network node 110 for a pico cell may be referred to as a pico network node. The network node 110 for a femto cell may be referred to as a femto network node or a home network node. Figure 1 In the example shown in , network node 110a may be a macro network node for macro cell 102a, network node 110b may be a pico network node for pico cell 102b, and network node 110c may be a femto network node for femto cell 102c. A network node may support one or more (e.g., three) cells. In some examples, a cell may not necessarily be stationary, and the geographic area of ​​a cell may move depending on the location of a mobile network node 110 (e.g., a mobile network node).

[0029] In some aspects, the term "base station" or "network node" may refer to an aggregated base station, a decomposed base station, an integrated access and backhaul (IAB) node, a relay node, or one or more components thereof. For example, in some aspects, a "base station" or "network node" may refer to a CU, a DU, a RU, a near real-time (near RT) RAN intelligent controller (RIC), or a non-real-time (non-RT) RIC, or a combination thereof. In some aspects, the term "base station" or "network node" may refer to a device configured to perform one or more functions (such as those described herein in conjunction with the network node 110). In some aspects, the term "base station" or "network node" may refer to a plurality of devices configured to perform one or more functions. For example, in some distributed systems, each of a number of different devices (which may be located in the same geographic location or in different geographic locations) may be configured to perform at least a portion of a function, or to repeat the execution of at least a portion of the function, and the term "base station" or "network node" may refer to any one or more of these different devices. In some aspects, the term "base station" or "network node" may refer to one or more virtual base stations or one or more virtual base station functions. For example, in some aspects, two or more base station functions may be instantiated on a single device. In some aspects, the term "base station" or "network node" may refer to one of the base station functions but not the other. In this way, a single device may include more than one base station.

[0030] The wireless network 100 may include one or more relay stations. A relay station is a network node that receives transmissions of data from an upstream node (e.g., a network node 110 or a UE 120) and transmits transmissions of data to a downstream node (e.g., a UE 120 or a network node 110). A relay station may be a UE 120 that is capable of relaying transmissions for other UEs 120. Figure 1 In the example shown in , a network node 110d (e.g., a relay network node) may communicate with a network node 110a (e.g., a macro network node) and a UE 120d to facilitate communications between the network node 110a and the UE 120d. A network node 110 that relays communications may be referred to as a relay station, a relay base station, a relay network node, a relay node, a relay, etc.

[0031] The wireless network 100 may be a heterogeneous network that includes different types of network nodes 110, such as macro network nodes, pico network nodes, femto network nodes, or relay network nodes. These different types of network nodes 110 may have different transmit power levels, different coverage areas, or different effects on interference in the wireless network 100. For example, a macro network node may have a high transmit power level (e.g., 5 to 40 watts), while a pico network node, a femto network node, and a relay network node may have a lower transmit power level (e.g., 0.1 to 2 watts).

[0032] The network controller 130 may be coupled to or in communication with a set of network nodes 110 and may provide coordination and control for the network nodes 110. The network controller 130 may communicate with the network nodes 110 via a backhaul communication link or a midhaul communication link. The network nodes 110 may communicate with each other directly or indirectly via a wireless backhaul communication link or a wired backhaul communication link. In some aspects, the network controller 130 may be or may include a CU or a core network device.

[0033] UE 120 can be distributed throughout the wireless network 100, and each UE 120 can be stationary or mobile. UE 120 can include, for example, an access terminal, a terminal, a mobile station, or a subscriber unit. UE 120 can be a cellular phone (e.g., a smart phone), a personal digital assistant (PDA), a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet device, a camera, a gaming device, a netbook, a smartbook, an ultrabook, a medical device, a biometric device, a wearable device (e.g., a smart watch, smart clothing, smart glasses, a smart wristband, smart jewelry (e.g., a smart ring or a smart bracelet)), an entertainment device (e.g., a music device, a video device, or a satellite radio), a vehicle-mounted component or sensor, a smart meter / sensor, an industrial manufacturing equipment, a global positioning system device, a UE function of a network node, or any other suitable device configured to communicate via a wireless or wired medium.

[0034] Some UEs 120 may be considered as machine type communication (MTC) or evolved or enhanced machine type communication (eMTC) UEs. MTC UEs or eMTC UEs may include, for example, robots, drones, remote devices, sensors, meters, monitors, or location tags, which may communicate with a network node, another device (e.g., a remote device), or some other entity. Some UEs 120 may be considered as Internet of Things (IoT) devices, or may be implemented as NB-IoT (narrowband IoT) devices. Some UEs 120 may be considered as customer premises equipment. UE 120 may be included inside a housing that houses components of UE 120, such as a processor component or a memory component. In some examples, the processor component and the memory component may be coupled together. For example, a processor component (e.g., one or more processors) and a memory component (e.g., a memory) may be operably coupled, communicatively coupled, electronically coupled, or electrically coupled.

[0035] In general, any number of wireless networks 100 may be deployed in a given geographic area. Each wireless network 100 may support a specific RAT and may operate on one or more frequencies. RAT may also be referred to as a radio technology or air interface. Frequency may also be referred to as a carrier or frequency channel. Each frequency may support a single RAT in a given geographic area to avoid interference between wireless networks of different RATs. In some cases, NR or 5G RAT networks may be deployed.

[0036] In some examples, two or more UEs 120 (e.g., shown as UE 120a and UE 120e) may communicate directly using one or more sidelink channels (e.g., without using network node 110 as an intermediary to communicate with each other). For example, UE 120 may communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocols (e.g., which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or vehicle-to-pedestrian (V2P) protocols), or mesh networks. In such examples, UE 120 may perform scheduling operations, resource selection operations, or other operations described elsewhere herein as being performed by network node 110.

[0037] Devices of the wireless network 100 may communicate using an electromagnetic spectrum, which may be subdivided into various categories, bands, or channels by frequency or wavelength. For example, devices of the wireless network 100 may communicate using one or more operating bands. In 5G NR, two initial operating bands have been identified as frequency ranges designated FR1 (410 MHz–7.125 GHz) and FR2 (24.25 GHz–52.6 GHz). Although a portion of FR1 is greater than 6 GHz, FR1 is often (interchangeably) referred to as the “below 6 GHz” band in various documents and articles. Similar naming issues sometimes occur with respect to FR2, which is often (interchangeably) referred to as the “millimeter wave” band in documents and articles, although different from the extremely high frequency (EHF) band (30 GHz–300 GHz) identified as the “millimeter wave” band by the International Telecommunication Union (ITU).

[0038] Frequencies between FR1 and FR2 are generally referred to as mid-band frequencies. Recent 5G NR research has identified the operating bands for these mid-band frequencies as frequency range designation FR3 (7.125GHz–24.25GHz). The bands falling within FR3 can inherit FR1 characteristics or FR2 characteristics, and thus the features of FR1 or FR2 can be effectively extended to mid-band frequencies. In addition, higher frequency bands are currently being explored to extend 5G NR operations to more than 52.6GHz. For example, three higher operating bands have been identified as frequency range designations FR4a or FR4-1 (52.6GHz–71GHz), FR4 (52.6GHz–114.25GHz), and FR5 (114.25GHz–300GHz). Each of these higher frequency bands falls within the EHF band.

[0039] With these examples in mind, unless otherwise specifically stated, if the term "sub-6 GHz" is used herein, it may broadly refer to frequencies that may be less than 6 GHz, frequencies that may be within FR1, or frequencies that may include mid-band frequencies. Additionally, unless otherwise specifically stated, if the term "millimeter wave" is used herein, it may broadly refer to frequencies that may include mid-band frequencies, frequencies that may be within FR2, FR4, FR4-a, FR4-1, or FR5, or frequencies that may be within the EHF band. It is contemplated that the frequencies included in these operating bands (e.g., FR1, FR2, FR3, FR4, FR4-a, FR4-1, or FR5) may be modified, and that the techniques described herein are applicable to those modified frequency ranges.

[0040] In some aspects, the UE 120 may include a communications manager 140. As described in greater detail elsewhere herein, the communications manager 140 may obtain one or more communications parameters associated with one or more communications to be sent by the UE; and send the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communications parameters. Additionally or alternatively, the communications manager 140 may perform one or more other operations described herein.

[0041] Figure 22 is a diagram illustrating an example 200 in which a network node 110 communicates with a UE 120 in a wireless network 100. The network node 110 may be equipped with a set of antennas 234a to 234t, such as T antennas (T≥1). The UE 120 may be equipped with a set of antennas 252a to 252r, such as R antennas (R≥1). The network node 110 of example 200 includes one or more radio frequency components, such as an antenna 234 and a modem 254. In some examples, the network node 110 may include an interface, a communication component, or another component that facilitates communication with the UE 120 or another network node. Some network nodes 110 may not include a radio frequency component that facilitates direct communication with the UE 120, such as one or more CUs or one or more DUs.

[0042] At the network node 110, the transmit processor 220 may receive data intended for the UE 120 (or a set of UEs 120) from the data source 212. The transmit processor 220 may use one or more channel quality indicators (CQIs) received from the UE 120 to select one or more modulation and coding schemes (MCSs) for the UE 120. The network node 110 may process (e.g., encode and modulate) the data for the UE 120 using the MCS selected for the UE 120 and may provide data symbols to the UE 120. The transmit processor 220 may process system information (e.g., for semi-static resource partitioning information (SRPI)) and control information (e.g., CQI requests, grants, or upper layer signaling) and provide overhead symbols and control symbols. The transmit processor 220 may generate reference symbols for reference signals (e.g., cell-specific reference signals (CRS) or demodulation reference signals (DMRS)) and synchronization signals (e.g., primary synchronization signals (PSS) or secondary synchronization signals (SSS)). The transmit (TX) multiple-input multiple-output (MIMO) processor 230 may perform spatial processing (e.g., pre-coding) on ​​data symbols, control symbols, overhead symbols, or reference symbols, where applicable, and may provide a set of output symbol streams (e.g., T output symbol streams) to a corresponding set of modems 232 (e.g., T modems) (shown as modems 232a to 232t). For example, each output symbol stream may be provided to a modulator component (shown as MOD) of the modem 232. Each modem 232 may process a corresponding output symbol stream (e.g., for OFDM) using a corresponding modulator component to obtain an output sample stream. Each modem 232 may also process (e.g., convert to analog, amplify, filter, or up-convert) the output sample stream using a corresponding modulator component to obtain a downlink signal. The modems 232a to 232t may transmit a set of downlink signals (e.g., T downlink signals) via a corresponding set of antennas 234 (e.g., T antennas) (shown as antennas 234a to 234t).

[0043] At the UE 120, a set of antennas 252 (shown as antennas 252a to 252r) may receive downlink signals from the network node 110 or other network nodes 110, and may provide a set of received signals (e.g., R received signals) to a set of modems 254 (e.g., R modems) (shown as modems 254a to 254r). For example, each received signal may be provided to a demodulator component (shown as DEMOD) of the modem 254. Each modem 254 may use a corresponding demodulator component to condition (e.g., filter, amplify, downconvert, or digitize) the received signal to obtain input samples. Each modem 254 may use a demodulator component to further process the input samples (e.g., for OFDM) to obtain received symbols. A MIMO detector 256 may obtain received symbols from the modem 254, may perform MIMO detection on the received symbols where applicable, and may provide detected symbols. The receive processor 258 may process (e.g., demodulate and decode) the detected symbols, may provide decoded data for the UE 120 to a data sink 260, and may provide decoded control information and system information to a controller / processor 280. The term "controller / processor" may refer to one or more controllers, one or more processors, or a combination thereof. A channel processor may determine a reference signal received power (RSRP) parameter, a received signal strength indicator (RSSI) parameter, a reference signal received quality (RSRQ) parameter, or a CQI parameter, among other things. In some examples, one or more components of the UE 120 may be included in a housing.

[0044] The network controller 130 may include a communication unit 294, a controller / processor 290, and a memory 292. The network controller 130 may include, for example, one or more devices in a core network. The network controller 130 may communicate with the network node 110 via the communication unit 294.

[0045] One or more antennas (e.g., antennas 234a to 234t or antennas 252a to 252r) may include or may be included in one or more antenna panels, one or more antenna groups, one or more group antenna elements, or one or more antenna arrays, etc. An antenna panel, antenna group, set of antenna elements, or antenna array may include one or more antenna elements (in a single housing or multiple housings), a set of coplanar antenna elements, a set of non-coplanar antenna elements, or coupled to one or more transmit or receive components (such as Figure 2 One or more antenna elements of one or more components).

[0046] On the uplink, at the UE 120, the transmit processor 264 may receive and process data from the data source 262 and control information from the controller / processor 280 (e.g., for reports including RSRP, RSSI, RSRQ, or CQI). The transmit processor 264 may generate reference symbols for one or more reference signals. The symbols from the transmit processor 264 may be precoded by the TX MIMO processor 266, where applicable, further processed by the modem 254 (e.g., for DFT-s-OFDM or CP-OFDM), and sent to the network node 110. In some examples, the modem 254 of the UE 120 may include a modulator and a demodulator. In some examples, the UE 120 includes a transceiver. The transceiver may include any combination of an antenna 252, a modem 254, a MIMO detector 256, a receive processor 258, a transmit processor 264, or a TX MIMO processor 266. The transceiver may be used by a processor (eg, controller / processor 280) and memory 282 to perform aspects of any of the processes described herein.

[0047] At the network node 110, uplink signals from the UE 120 or other UEs may be received by the antenna 234, processed by the modem 232 (e.g., a demodulator component of the modem 232, shown as DEMOD), detected by the MIMO detector 236 where applicable, and further processed by the receive processor 238 to obtain decoded data and control information transmitted via the UE 120. The receive processor 238 may provide the decoded data to the data sink 239 and provide the decoded control information to the controller / processor 240. The network node 110 may include a communication unit 244 and may communicate with the network controller 130 via the communication unit 244. The network node 110 may include a scheduler 246 to schedule one or more UEs 120 for downlink or uplink communication. In some examples, the modem 232 of the network node 110 may include a modulator and a demodulator. In some examples, the network node 110 includes a transceiver. The transceiver may include any combination of an antenna 234, a modem 232, a MIMO detector 236, a receive processor 238, a transmit processor 220, or a TX MIMO processor 230. The transceiver may be used by a processor (e.g., controller / processor 240) and memory 242 to perform aspects of any of the processes described herein.

[0048] In some aspects, the controller / processor 280 may be a component of a processing system. A processing system may generally be a system or series of machines or components that receives input and processes the input to produce a set of outputs that may be communicated to other systems or components, such as the UE 120. For example, the processing system of the UE 120 may be a system that includes various other components or subcomponents of the UE 120.

[0049] The processing system of UE 120 may interface with one or more other components of UE 120, may process information (such as input or signal) received from one or more other components, or may output information to one or more other components. For example, a chip or modem of UE 120 may include: a processing system, a first interface for receiving or obtaining information, and a second interface for outputting, sending, or providing information. In some examples, the first interface may be an interface between a processing system of the chip or modem and a receiver, so that UE 120 may receive information or signal input, and may pass information to the processing system. In some examples, the second interface may be an interface between a processing system of the chip or modem and a transmitter, so that UE 120 may send information output from the chip or modem. One of ordinary skill in the art will readily recognize that the second interface may also obtain or receive information or signal input, and the first interface may also output, send, or provide information.

[0050] In some aspects, controller / processor 240 may be a component of a processing system. A processing system may generally be a system or series of machines or components that receives inputs and processes the inputs to produce a set of outputs that may be passed to other systems or components, such as network node 110. For example, a processing system of network node 110 may be a system that includes various other components or subcomponents of network node 110.

[0051] The processing system of the network node 110 may interface with one or more other components of the network node 110, may process information (such as input or signal) received from one or more other components, or may output information to one or more other components. For example, a chip or modem of the network node 110 may include: a processing system, a first interface for receiving or obtaining information, and a second interface for outputting, sending, or providing information. In some examples, the first interface may be an interface between the processing system of the chip or modem and a receiver, so that the network node 110 may receive information or signal input, and may pass information to the processing system. In some examples, the second interface may be an interface between the processing system of the chip or modem and a transmitter, so that the network node 110 may send information output from the chip or modem. Those of ordinary skill in the art will readily recognize that the second interface may also obtain or receive information or signal input, and the first interface may also output, send, or provide information.

[0052] The controller / processor 240 of the network node 110, the controller / processor 280 of the UE 120, or Figure 2 Any other component of the network node 110 may perform one or more techniques associated with cross-link interference (CLI) measurement resource indication, as described in more detail elsewhere herein. For example, the controller / processor 240 of the network node 110, the controller / processor 280 of the UE 120, or Figure 2 Any other component (or combination of components) may perform or direct, for example Figure 7 10 or other processes as described herein. Memory 242 and memory 282 may store data and program codes for network node 110 and UE 120, respectively. In some examples, memory 242 and memory 282 may include a non-transitory computer-readable medium storing one or more instructions (e.g., code or program code) for wireless communication. For example, one or more instructions, when executed (e.g., directly, or after compilation, conversion, or interpretation) by one or more processors of network node 110 or UE 120, may cause one or more processors, UE 120, or network node 110 to perform or direct, for example, Figure 7 The operations of process 700 or other processes as described herein. In some examples, executing instructions may include running instructions, converting instructions, compiling instructions, or interpreting instructions.

[0053] In some aspects, the UE includes: a component for obtaining one or more communication parameters associated with one or more communications to be sent by the UE; and / or a component for sending the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected based at least in part on the one or more communication parameters. The components for the UE to perform the operations described herein may include, for example, one or more of the following: a communication manager 140, an antenna 252, a modem 254, a MIMO detector 256, a receive processor 258, a transmit processor 264, a TX MIMO processor 266, a controller / processor 280, or a memory 282.

[0054] although Figure 2 The blocks in the 200 and 210 are illustrated as distinct components, but the functions described with respect to these blocks may be implemented with a single hardware, software, or combined component or various combinations of components. For example, the functions described with respect to the transmit processor 264, the receive processor 258, the TX MIMO processor 266, or another processor may be performed by the controller / processor 280 or under the control of the controller / processor.

[0055] The deployment of a communication system (such as a 5G NR system) can be arranged with various components or components in a variety of ways. In a 5G NR system or network, a network node, a network entity, a mobility element of a network, a radio access network (RAN) node, a core network node, a network element, a base station or network equipment can be implemented in an aggregated or decomposed architecture. For example, a base station (such as a node B (NB), an evolved NB (eNB), an NR base station (BS), a 5G NB, a gNodeB (gNB), an access point (AP), a TRP or a cell) or one or more units (or one or more components) performing base station functionality can be implemented as an aggregated base station (also called a stand-alone base station or a monolithic base station) or a decomposed base station. "Network entity" or "network node" may refer to a decomposed base station or one or more units of a decomposed base station (such as one or more CUs, one or more DUs, one or more RUs, or a combination thereof).

[0056] A converged base station may be configured to utilize a radio protocol stack that is physically or logically integrated within a single RAN node (e.g., within a single device or unit). A decomposed base station may be configured to utilize a protocol stack that is physically or logically distributed between two or more units (such as one or more CUs, one or more DUs, or one or more RUs). In some aspects, a CU may be implemented within a RAN node, and one or more DUs may be co-located with the CU, or alternatively, may be geographically or virtually distributed in one or more other RAN nodes. A DU may be implemented to communicate with one or more RUs. Each of a CU, a DU, and a RU may also be implemented as a virtual unit (e.g., a virtual central unit (VCU), a virtual distributed unit (VDU), or a virtual radio unit (VRU)).

[0057] Base station type operations or network designs may take into account the aggregated nature of base station functionality. For example, a decomposed base station may be used in an IAB network, an open radio access network (O-RAN (such as a network configuration initiated by the O-RAN Alliance)), or a virtualized radio access network (vRAN, also known as a cloud radio access network (C-RAN)) to facilitate expansion of the communication system by separating base station functionality into one or more units that can be deployed separately. A decomposed base station may include functionality implemented across two or more units at various physical locations, as well as functionality implemented virtually for at least one unit, which may enable flexibility in network design. Individual units of a decomposed base station may be configured for wired or wireless communication with at least one other unit of the decomposed base station.

[0058] Figure 3 3 is a diagram illustrating an example decomposed base station architecture 300 according to the present disclosure. The decomposed base station architecture 300 may include a CU 310, which may communicate directly with a core network 320 via a backhaul link, or indirectly with the core network 320 through one or more decomposed control units (such as a near-RT RIC 325 via an E2 link, or a non-RT RIC 315 associated with a service management and orchestration (SMO) framework 305, or both). The CU 310 may communicate with one or more DUs 330 via respective midhaul links, such as via an F1 interface. The DU 330 may communicate with one or more RUs 340 via respective fronthaul links. Each of the RUs 340 may communicate with one or more UEs 120 via respective radio frequency (RF) access links. In some implementations, a UE 120 may be served by multiple RUs 340 simultaneously.

[0059] Each of the units (including CU 310, DU 330, RU 340) and the near-RT RIC 325, non-RT RIC 315, and SMO framework 305 may include or be coupled to one or more interfaces configured to receive or send signals, data, or information (collectively referred to as signals) via a wired or wireless transmission medium. Each of the units or an associated processor or controller that provides instructions to one or more communication interfaces of the corresponding unit may be configured to communicate with one or more of the other units via a transmission medium. In some examples, each of the units may include a wired interface and a wireless interface, the wired interface being configured to receive signals or send signals to one or more of the other units via a wired transmission medium, and the wireless interface being configured to receive signals or send signals to one or more of the other units via a wireless transmission medium, or both.

[0060] In some aspects, CU 310 may host one or more higher layer control functions. Such control functions may include radio resource control (RRC) functions, packet data convergence protocol (PDCP) functions, or service data adaptation protocol (SDAP) functions, etc. Each control function may be implemented using an interface that is configured to communicate signals with other control functions hosted by CU 310. CU 310 may be configured to handle user plane functionality (e.g., central unit-user plane (CU-UP) functionality), control plane functionality (e.g., central unit-control plane (CU-CP) functionality), or a combination thereof. In some specific implementations, CU 310 may be logically split into one or more CU-UP units and one or more CU-CP units. When implemented in an O-RAN configuration, the CU-UP unit may communicate bidirectionally with the CU-CP unit via an interface such as an E1 interface. As needed, CU 310 may be implemented to communicate with DU 330 for network control and signaling.

[0061] Each DU 330 may correspond to a logical unit that includes one or more base station functions for controlling the operation of one or more RUs 340. In some aspects, the DU 330 may host one or more of a radio link control (RLC) layer, a MAC layer, and one or more high physical (PHY) layers, at least in part, according to a functional partition such as that defined by 3GPP. In some aspects, one or more high PHY layers may be implemented by one or more modules for forward error correction (FEC) coding and decoding, scrambling, modulation and demodulation, etc. In some aspects, the DU 330 may also host one or more low PHY layers, such as one or more modules for fast Fourier transform (FFT), inverse FFT (iFFT), digital beamforming or physical random access channel (PRACH) extraction and filtering, etc. Each layer (which may also be referred to as a module) may be implemented using an interface that is configured to communicate signals with other layers (and modules) hosted by the DU 330 or with control functions hosted by the CU 310.

[0062] Each RU 340 may implement lower layer functionality. In some deployments, the RU 340 controlled by the DU 330 may correspond to a logical node that hosts RF processing functions or low PHY layer functions such as performing FFT, performing iFFT, digital beamforming, or PRACH extraction and filtering based on functional splitting (e.g., functional splitting defined by 3GPP) (such as lower layer functional splitting). In this architecture, each RU 340 may be operated to handle over-the-air (OTA) communications with one or more UEs 120. In some specific implementations, real-time and non-real-time aspects of control plane and user plane communications with the RU 340 may be controlled by the corresponding DU 330. In some scenarios, this configuration may enable each DU 330 and CU 310 to be implemented in a cloud-based RAN architecture such as a vRAN architecture.

[0063] The SMO framework 305 may be configured to support RAN deployment and provisioning of non-virtualized network elements and virtualized network elements. For non-virtualized network elements, the SMO framework 305 may be configured to support the deployment of dedicated physical resources for RAN coverage requirements, which may be managed via an operation and maintenance interface (such as an O1 interface). For virtualized network elements, the SMO framework 305 may be configured to interact with a cloud computing platform (such as an open cloud (O-Cloud) platform 335) to perform network element lifecycle management (such as instantiating virtualized network elements) via a cloud computing platform interface (such as an O2 interface). Such virtualized network elements may include, but are not limited to, CU 310, DU 330, RU 340, non-RT RIC 315, and near-RT RIC 325. In some specific implementations, the SMO framework 305 may communicate with hardware aspects of the 4G RAN (such as an open eNB (O-eNB) 311) via the O1 interface. Additionally, in some implementations, the SMO framework 305 can communicate directly with each of the one or more RUs 340 via a corresponding O1 interface. The SMO framework 305 can also include a non-RT RIC 315 configured to support the functionality of the SMO framework 305.

[0064] The non-RT RIC 315 may be configured to include logic functions that enable non-real-time control and optimization of RAN elements and resources, artificial intelligence / machine learning (AI / ML) workflows including model training and updating, or policy-based guidance of applications / features in the near-RT RIC 325. The non-RT RIC 315 may be coupled to or in communication with the near-RT RIC 325 (such as via an A1 interface). The near-RT RIC 325 may be configured to include logic functions that enable near-real-time control and optimization of RAN elements and resources via data collection and actions through an interface (such as via an E2 interface) that connects one or more CUs 310, one or more DUs 330, or both, and the O-eNB with the near-RT RIC 325.

[0065] In some implementations, in order to generate an AI / ML model to be deployed in the near-RT RIC 325, the non-RT RIC 315 may receive parameters or external enrichment information from an external server. Such information may be utilized by the near-RT RIC 325 and may be received from a non-network data source or from a network function at the SMO framework 305 or the non-RT RIC 315. In some examples, the non-RT RIC 315 or the near-RT RIC 325 may be configured to regulate RAN behavior or performance. For example, the non-RT RIC 315 may monitor long-term trends and patterns of performance and employ AI / ML models to perform corrective measures through the SMO framework 305 (such as via reconfiguration of the O1 interface) or via the creation of RAN management policies (such as A1 interface policies).

[0066] As indicated above, Figure 3 are provided as examples. Other examples can be found in the Figure 3 Described differently.

[0067] Figure 4 4 is a diagram illustrating an example 400 of using a congestion control algorithm in a wireless network. Figure 4 As shown, the UE and the network node may communicate via a wireless network. The network node may be associated with a core network that connects the UE to an application server with which the UE communicates. The network node may include or may be included in a base station 110, a CU, a DU, a RU, a wireless router, a wired router, a local area network node, a wide area network node, and / or a non-telecom-based node, etc. The core network may route communications from multiple UEs and / or other devices to any number of application servers through the core network. The core network may become congested due to communications, which may delay routing and increase the round trip time (RTT) of communications between the UE and the network node.

[0068] In some networks, the UE may be configured with a congestion control algorithm. For example, as shown by reference numeral 405, the UE may receive a configuration of the congestion control algorithm from a network node. As shown by reference numeral 410, the UE may configure the congestion control algorithm for communication with the network node. In some networks, the UE may be configured with a congestion control algorithm based at least in part on receiving the configuration from the network node and / or based at least in part on a communication protocol.

[0069] As indicated by reference numeral 415, the UE may send communications based at least in part on the configured congestion control algorithm.Based at least in part on using the congestion control algorithm, the UE may communicate in a configuration based at least in part on adapting to congestion to improve communications via the network.

[0070] In some networks, the UE may be configured to apply a cubic congestion control algorithm. As used herein, a cubic congestion control algorithm may refer to any algorithm that controls services that reduce network congestion based on packet loss events. For example, cubic congestion control may use a cubic function to increase the bandwidth of the network between congestion events. In this way, the cubic function may spend most of the time in high bandwidth periods, but may cause delays as the bandwidth increases again after a congestion event. The cubic congestion control algorithm may improve the throughput of communications. However, the cubic congestion control algorithm may increase buffer expansion, resulting in increased delays, which may cause the UE to back off transmission unnecessarily, and / or may assume that any transmission failures are related to congestion (e.g., even if the loss associated with the wireless link will be temporary).

[0071] In some networks, the UE may be configured with a bottleneck bandwidth and round trip time (BBR) congestion control algorithm. As used herein, BBR may refer to any algorithm that controls traffic based at least in part on measured or predicted delays (e.g., round trip time) within the network. The BBR congestion control algorithm may improve latency (e.g., delay) compared to the cubic congestion control algorithm, but may reduce throughput under some conditions.

[0072] Other congestion control algorithms may be configurable for a UE, each with different advantages and disadvantages. However, a UE may be configured with only one congestion control algorithm to use during a connection with a network node and / or may be configured with only one congestion control algorithm for communicating via a Transmission Control Protocol (TCP) connection.

[0073] As indicated above, Figure 4 are provided as examples. Other examples can be found in the Figure 4 Described differently.

[0074] In some aspects described herein, a UE may identify a scheme over which TCP cubic or TCP BBR improves communication efficiency (e.g., throughput and / or latency, etc.). For example, the UE may use a machine learning (ML) model (e.g., a decision tree, an ensemble model, a neural network model, a reinforcement learning model, etc.) to identify a congestion control algorithm to apply based at least in part on one or more communication parameters associated with one or more communications to be sent by the UE.

[0075] The UE may obtain the one or more communications parameters based at least in part on a configuration indicated from a network node, measurements performed by the UE, feedback regarding previous communications, and / or other indications from a network node, etc. The UE may select a congestion control algorithm based at least in part on the one or more communications parameters and send the one or more communications based at least in part on the congestion control algorithm.

[0076] In some aspects, the UE may select a congestion control algorithm at the beginning of a TCP connection (e.g., switch to a congestion control algorithm). In some aspects, the UE may select a congestion control algorithm midway through a TCP connection (e.g., after beginning to communicate via the TCP connection).

[0077] In some aspects, the UE may provide an indication of a congestion control algorithm to an application client associated with a TCP connection. In this way, the application client may generate data based at least in part on the congestion control algorithm to improve throughput and / or latency of communications sent.

[0078] In some aspects, the ML model can be a decision tree (e.g., a basic decision tree, XGBoost, or random forest, etc.). The decision tree can receive one or more inputs, such as loss rate (e.g., average), 95th percentile RTT, minimum RTT, bandwidth delay product (e.g., average), bottleneck bandwidth (e.g., average and / or standard deviation), rate percentile difference values ​​over different windows (e.g., 90th to 10th) (e.g., average over windows in the range [0.5s, 4s]).

[0079] The ML model may output a selection of a congestion control algorithm that optimizes a metric for communication. In some aspects, the output may indicate a first congestion control algorithm having a first throughput and a second congestion control algorithm having a second throughput. In some aspects, the ML model may optimize throughput based at least in part on the first throughput and the second throughput having a difference that satisfies a threshold (e.g., throughput (BBR) / throughput (CUBIC)>±5% tolerance). If the difference fails to meet the threshold, the ML model may optimize for a combination of throughput and RTT (e.g., throughput / RTT).

[0080] In some aspects, the ML model may indicate to continue using the current congestion control algorithm. In some aspects, the ML model may indicate to switch to a different congestion control algorithm. In some aspects, the ML model may indicate that the first congestion control algorithm and the second congestion control algorithm are substantially equivalent. For example, if the throughput of the first congestion control algorithm (e.g., BBR) / the second congestion control algorithm (e.g., three times) is <±5% tolerance, the first congestion control algorithm and the second congestion control algorithm may be considered to be substantially equivalent. The ML model may indicate to switch from the current congestion control algorithm based at least in part on an additional congestion control algorithm that improves a communication metric (e.g., throughput and / or RTT) by an amount that satisfies a threshold when compared to the current congestion control algorithm. In this way, the ML model can avoid indicating a switch between congestion control algorithms (e.g., ping-ponging) when a minimum gain is expected by switching.

[0081] Based at least in part on the UE being configured to select a congestion control algorithm based at least in part on one or more communication parameters, the UE can optimize the congestion control algorithm for communicating in different scenarios. In this way, the UE can improve communication throughput, reduce dropped packets (e.g., when a buffer is full) and / or reduce delays for communications between the UE and a network node, etc.

[0082] Figure 5 is a diagram of an example 500 associated with a congestion control algorithm according to the present disclosure. Figure 5 As shown, a network node (e.g., base station 110, CU, DU, RU, wireless router, wired router, local area network node, wide area network node and / or non-telecom-based node) can communicate with a UE (e.g., UE 120). In some aspects, the network node and the UE can be part of a wireless network (e.g., wireless network 100). The UE and the network node can be in Figure 5 The illustrated operations are preceded by establishing a wireless connection. In some aspects, a UE may communicate with an application (App) server via a network node and / or a core network associated with the network node.

[0083] As indicated by reference numeral 505, the network node may send configuration information, and the UE may receive the configuration information and / or start a TCP connection. In some aspects, the UE may receive the configuration information via one or more of RRC signaling, one or more medium access control (MAC) control elements (CEs), and / or downlink control information (DCI), etc. In some aspects, the configuration information may include an indication of one or more configuration parameters for the UE to select (e.g., known to the UE and / or previously indicated by the network node or other network device) and / or explicit configuration information for the UE to configure the UE, etc.

[0084] In some aspects, the configuration information may indicate that the UE is to select a congestion control algorithm for one or more communications based at least in part on one or more communication parameters. In some aspects, the configuration information may indicate that the UE is to use an ML model (e.g., provided by a network node or trained by the UE, etc.) to select a congestion control algorithm. In some aspects, the configuration information may provide a configuration for subsequent communications indicating one or more communication parameters associated with selecting a congestion control algorithm.

[0085] The UE may configure itself based at least in part on the configuration information.In some aspects, the UE may be configured to perform one or more operations described herein based at least in part on the configuration information.

[0086] In some aspects, the UE and the network node may start a TCP connection. In some aspects, the TCP connection may be associated with an application client on the UE and an application associated with an application server. In some aspects, the TCP connection may indicate parameters for the UE to use to send one or more communications to the network node.

[0087] As indicated by reference numeral 510, the UE may send an indication of the ability to dynamically switch congestion control algorithms based at least in part on one or more communication parameters, and the network node may receive the indication. For example, the UE may send an indication of the ability to dynamically switch congestion control algorithms (e.g., based at least in part on a determination at the UE, and not just based at least in part on a configuration from the network node) at the beginning of a connection (e.g., a TCP connection) or during a connection (e.g., after sending or receiving communications via the connection).

[0088] As indicated by reference numeral 515, the UE may receive one or more ML models for selecting a congestion control algorithm, and the network node may transmit the one or more ML models. For example, the network node may train the one or more ML models, or may receive the one or more ML models from another device (e.g., an additional network node such as a core network (CN) network node) and may provide the one or more ML models for use by the UE.

[0089] As indicated by reference numeral 520, the UE may train one or more ML models for selecting a congestion control algorithm. In some aspects, the UE may train the one or more ML models using one or more communication parameters and a performance metric (such as throughput or RTT) from past communications. The UE may train the model to predict which congestion control algorithm will optimize a performance metric (such as throughput or RTT) based at least in part on the one or more communication parameters associated with the current connection.

[0090] In some aspects, the one or more ML models include a decision tree, an ensemble ML model, a neural network model, or a reinforcement learning model, etc. In some aspects, the UE may train multiple ML models and select an ML model for use based at least in part on the accuracy of predictions and / or selections from the multiple ML models.

[0091] As indicated by reference numeral 525, the UE may obtain one or more communication parameters. In some aspects, the UE may obtain the one or more communication parameters based at least in part on measuring one or more metrics of the one or more communications, an updated configuration indicated from a network node, feedback regarding previous communications, updates to an application client associated with the one or more communications, and / or other indications from a network node, etc.

[0092] In some aspects, the one or more communication parameters may include metrics associated with throughput and / or RTT of one or more communications. For example, the one or more communication metrics may include channel conditions, historical data associated with congestion control using a congestion control algorithm with the one or more communication parameters, a currently applied congestion control algorithm, bottleneck link rate statistics, delay statistics, RTT statistics, OTA link rate estimates, and the like. In some aspects, the one or more communication metrics may include application preferences (e.g., preferences associated with an application and / or dynamic preferences based at least in part on the current use and / or state of an application client, etc.), network information, and / or a time series of one or more of bandwidth, delay or loss (e.g., packet loss and / or discarded packets, etc.). In some aspects, the one or more communication metrics may include loss rate, percentile values ​​of RTT, minimum RTT, bandwidth-delay product, bottleneck bandwidth, and / or rate percentile difference values ​​for different windows, and the like.

[0093] As indicated by reference numeral 530, the UE may select a congestion control algorithm. For example, the UE may select the congestion control algorithm based at least in part on the one or more communication parameters. In some aspects, the UE may use an ML model (such as an ML model trained by the UE or received from a network node) to select the congestion control algorithm based at least in part on the one or more communication parameters.

[0094] In some aspects, the ML model may select a congestion control algorithm based at least in part on the congestion control algorithm's expectation of optimizing throughput and / or RTT relative to one or more other congestion control algorithms in a set of candidate congestion control algorithms. In some aspects, the ML model may select a congestion control algorithm based at least in part on the congestion control algorithm optimizing a first performance metric (e.g., throughput) by an amount of improvement that satisfies a threshold compared to other congestion control algorithms. In some aspects, the ML model may select a congestion control algorithm based at least in part on the congestion control algorithm optimizing a second performance metric (e.g., RTT) based at least in part on the congestion control algorithm optimizing the first performance metric by an amount of improvement that fails to meet the threshold. In some aspects, the ML model may select a congestion control algorithm based at least in part on the congestion control algorithm optimizing a combination of the first performance metric and the second performance metric (e.g., with different priorities and / or weights).

[0095] In some aspects, the UE may select a congestion control algorithm from the set of candidate congestion control algorithms based at least in part on providing one or more communication parameters as input to the ML model. In some aspects, the UE may configure the set of candidate congestion control algorithms via communication from a network node and / or via a communication protocol, etc.

[0096] In some aspects, the congestion control algorithm includes a TCP congestion control algorithm. For example, the congestion control algorithm may include a tertiary congestion control algorithm (e.g., a TCP tertiary congestion control algorithm) or a BBR congestion control algorithm (e.g., a TCP BBR congestion control algorithm), and the like.

[0097] In some aspects, the UE may select a congestion control algorithm at the beginning of a TCP connection. In some aspects, the UE may select a congestion control algorithm after sending or receiving a communication via a TCP connection (eg, during a TCP connection).

[0098] In some aspects, the UE may provide an indication of one or more communication parameters or an indication of a recommendation to use a congestion control algorithm to an application client at the UE. In this way, the application client may generate data for transmission based at least in part on the congestion control algorithm. In some aspects, the UE may receive from the application client an indication of using a congestion control algorithm to transmit one or more communications generated at the application client. In some aspects, the application client includes an application operating on the UE. The indication from the UE to the application client may be a cross-layer communication, where the application client operates in the application layer and one or more parts of the UE (e.g., a modem) operate at the physical layer.

[0099] As shown by reference numeral 535, the UE may provide, via the network node, and the application server may receive, via the network node, an indication of one or more communication parameters and / or an indication of a congestion control algorithm. In this manner, the application server may prepare to receive communications from the UE based at least in part on the type of congestion control algorithm used by the UE. In some aspects, the UE may receive from the application server an indication to use a congestion control algorithm to send one or more communications generated at the application client.

[0100] As shown by reference numeral 540, the UE may send one or more communications based at least in part on a congestion control algorithm, and the network node may receive one or more communications based at least in part on the congestion control algorithm. The network node may provide the one or more communications to an application server via a network associated with the network node. In some aspects, the network node and the application server may be co-located.

[0101] As indicated by reference numeral 545, the UE may obtain updates to one or more communication parameters. In some aspects, the UE may obtain updates based at least in part on measuring one or more metrics of the one or more communications, an updated configuration indicated from a network node, feedback regarding previous communications, updates to application clients associated with the one or more communications, and / or other indications from a network node, etc.

[0102] As shown by reference numeral 550, the UE may switch congestion control algorithms. For example, the UE may use a first congestion control algorithm for one or more communications and may use a second congestion control algorithm for one or more additional communications sent after the switch. In some aspects, the first congestion control algorithm may be a first congestion control algorithm type that is different from a second congestion control algorithm type of congestion control algorithm used to send the one or more communications.

[0103] In some aspects, the UE may switch the congestion control algorithm to the second congestion control algorithm based at least in part on one or more first performance indicators associated with the second congestion control algorithm improving by a threshold amount (e.g., an amount that satisfies a threshold) compared to one or more second performance indicators associated with the first congestion control algorithm. In some aspects, the threshold amount may be configured at least in part based on the UE, the application client, an indication from a network node, and / or a communication protocol, etc.

[0104] As indicated by reference numeral 555, the UE may send one or more additional communications based at least in part on the additional congestion control algorithm. For example, the UE may send one or more communications using a congestion control algorithm that optimizes for a performance metric based at least in part on the updated communication parameters.

[0105] Based at least in part on the UE being configured to select a congestion control algorithm based at least in part on one or more communication parameters, the UE can optimize the congestion control algorithm for communicating in different scenarios. In this way, the UE can improve communication throughput, reduce dropped packets (e.g., when a buffer is full) and / or reduce delays for communications between the UE and a network node, etc.

[0106] As indicated above, Figure 5 are provided as examples. Other examples can be found in relation to Figure 5 Described differently.

[0107] Figure 6 is a diagram of an example 600 associated with a congestion control algorithm according to the present disclosure. Figure 6 , a network node (e.g., base station 110, CU, DU, and / or RU) may communicate with a UE (e.g., UE 120). In some aspects, the network node and the UE may be part of a wireless network (e.g., wireless network 100). The UE and the network node may be in Figure 6 The illustrated operations are preceded by an established radio connection.The UE may select a congestion control algorithm for sending communications associated with an application client to a network node.

[0108] The UE may provide one or more communication parameters 605 to the ML model 610 for selecting a congestion control algorithm to apply to one or more subsequent communications. Figure 6 As shown, the one or more communication parameters 605 may include a currently applied congestion control algorithm, bottleneck link rate statistics, delay statistics, delay and / or RTT statistics, packet loss statistics, OTA link rate estimates, application preferences, information about network specifications, and / or one or more time series of bandwidth (BW) delay and / or loss, etc. In some aspects, the one or more communication parameters 605 may include additional and / or alternative metrics, such as loss rate, percentile values ​​of RTT, minimum RTT, bandwidth delay product, bottleneck bandwidth, and / or rate percentile difference values ​​for different windows, etc.

[0109] The ML model 610 may use the one or more communication parameters 605 to output a congestion control algorithm selection 615. The congestion control algorithm selection 615 may optimize communications (e.g., transmissions) based at least in part on the communication parameters 605. In some aspects, the congestion control algorithm selection 615 may optimize one or more performance metrics of the communication, such as throughput or RTT, among others.

[0110] As indicated above, Figure 6 are provided as examples. Other examples can be found in relation to Figure 6 Described differently.

[0111] Figure 7 is a diagram illustrating an example process 700 performed, for example, by a UE in accordance with the present disclosure. Example process 700 is an example in which a UE (eg, UE 120) performs operations associated with a congestion control algorithm.

[0112] like Figure 7 As shown, in some aspects, process 700 may include obtaining one or more communication parameters associated with one or more communications to be sent by a UE (block 710). For example, a UE (e.g., using Figure 8 The communication manager 140, the communication manager 808, and / or the receiving component 802 depicted in FIG. 8 may obtain one or more communication parameters associated with one or more communications to be sent by the UE, as described above.

[0113] like Figure 7 As further shown, in some aspects, process 700 may include sending the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters (block 720). Figure 8The communication manager 140 and / or sending component 804 depicted in FIG. 1 may send the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected at least in part based on the one or more communication parameters, as described above.

[0114] Process 700 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in conjunction with one or more other processes described elsewhere herein.

[0115] In a first aspect, process 700 includes selecting a congestion control algorithm from a set of candidate congestion control algorithms based at least in part on providing one or more communication parameters as input to a machine learning model.

[0116] In a second aspect, either alone or in combination with the first aspect, the machine learning model comprises a decision tree, an integrated machine learning model, a neural network model, or a reinforcement learning model.

[0117] In a third aspect, either alone or in combination with one or more of the first and second aspects, the congestion control algorithm comprises one or more of a Transmission Control Protocol congestion control algorithm, a Cubic Congestion Control Algorithm, or a BBR Congestion Control Algorithm.

[0118] In a fourth aspect, either alone or in combination with one or more of the first to third aspects, process 700 includes obtaining an update to the one or more communication parameters, and sending one or more additional communications based at least in part on an additional congestion control algorithm that is a first congestion control algorithm type that is different from a second congestion control algorithm type of the congestion control algorithm.

[0119] In a fifth aspect, alone or in combination with one or more of the first to fourth aspects, process 700 includes selecting the congestion control algorithm at the beginning of a TCP connection, or selecting the congestion control algorithm after sending or receiving communications via the TCP connection.

[0120] In a sixth aspect, either alone or in combination with one or more of the first to fifth aspects, process 700 includes providing an indication of one or more of the following to an application client associated with the one or more communications: an indication of the one or more communication parameters or a recommendation to use the congestion control algorithm, and receiving an indication to use the congestion control algorithm.

[0121] In a seventh aspect, either alone or in combination with one or more of the first to sixth aspects, process 700 includes providing an indication of one or more of the following to an application server associated with the one or more communications: an indication of the one or more communication parameters or a recommendation to use the congestion control algorithm, and receiving an indication to use the congestion control algorithm.

[0122] In an eighth aspect, either alone or in combination with one or more of the first to seventh aspects, the one or more communication parameters include one or more of the following: channel conditions, historical data associated with congestion control using the congestion control algorithm with the one or more communication parameters, a currently applied congestion control algorithm, bottleneck link rate statistics, delay statistics, RTT statistics, OTA link rate estimates, application preferences, network information, or a time series of one or more of bandwidth, delay, or loss.

[0123] In a ninth aspect, either alone or in combination with one or more of the first to eighth aspects, the one or more communication parameters include one or more of the following: loss rate, percentile value of RTT, minimum RTT, bandwidth-delay product, bottleneck bandwidth, or rate percentile difference for different windows.

[0124] In a tenth aspect, either alone or in combination with one or more of the first to ninth aspects, the congestion control algorithm is selected from the set of congestion control algorithms based at least in part on the congestion control algorithm's expectation to optimize one or more of throughput or RTT relative to one or more other congestion control algorithms in the set of congestion control algorithms.

[0125] In an eleventh aspect, either alone or in combination with one or more of aspects one to ten, process 700 includes selecting an additional congestion control algorithm for one or more additional communications based at least in part on one or more first performance indicators associated with the additional congestion control algorithm being improved by a threshold amount over one or more second performance indicators associated with the congestion control algorithm.

[0126] although Figure 7 An example block diagram of process 700 is shown, but in some aspects, process 700 may include Figure 7 Additional blocks, fewer blocks, different blocks, or blocks arranged in a different manner than those depicted in the process 700. Additionally or alternatively, two or more blocks of the blocks of process 700 may be performed in parallel.

[0127] Figure 8800 is a diagram of an example apparatus 800 for wireless communication. Apparatus 800 may be a UE, or a UE may include apparatus 800. In some aspects, apparatus 800 includes a receiving component 802 and a transmitting component 804 that may communicate with each other (e.g., via one or more buses and / or one or more other components). As shown, apparatus 800 may communicate with another apparatus 806 (such as a UE, a base station, or another wireless communication device) using receiving component 802 and transmitting component 804. As further shown, apparatus 800 may include a communication manager 808 (e.g., communication manager 140).

[0128] In some aspects, the apparatus 800 may be configured to perform Figure 5 to Figure 6 Additionally or alternatively, the apparatus 800 may be configured to perform one or more processes described herein, such as Figure 7 In some aspects, the apparatus 800 and / or Figure 8 One or more of the components shown in the figure may include a combination of Figure 2 Additionally or alternatively, Figure 8 One or more of the components shown may be combined with Figure 2 Additionally or alternatively, one or more components in the set of components may be implemented at least in part as software stored in a memory. For example, a component (or a portion of a component) may be implemented as instructions or code stored in a non-transitory computer-readable medium and may be executed by a controller or processor to perform the function or operation of the component.

[0129] The receiving component 802 may receive communications from the device 806, such as reference signals, control information, data communications, or combinations thereof. The receiving component 802 may provide the received communications to one or more other components of the device 800. In some aspects, the receiving component 802 may perform signal processing (such as filtering, amplification, demodulation, analog-to-digital conversion, demultiplexing, deinterleaving, demapping, equalization, interference cancellation, or decoding, etc.) on the received communications and may provide the processed signals to one or more other components of the device 800. In some aspects, the receiving component 802 may include combining Figure 2 One or more antennas, modems, demodulators, MIMO detectors, receive processors, controllers / processors, memories, or combinations thereof of the described UE.

[0130] The transmitting component 804 may transmit communications, such as reference signals, control information, data communications, or combinations thereof, to the device 806. In some aspects, one or more other components of the device 800 may generate communications and may provide the generated communications to the transmitting component 804 for transmission to the device 806. In some aspects, the transmitting component 804 may perform signal processing (such as filtering, amplification, modulation, digital-to-analog conversion, multiplexing, interleaving, mapping, or encoding, etc.) on the generated communications and may transmit the processed signals to the device 806. In some aspects, the transmitting component 804 may include combining Figure 2 One or more antennas, modems, modulators, transmit MIMO processors, transmit processors, controllers / processors, memories, or combinations thereof of the described UE. In some aspects, the transmit component 804 can be co-located with the receive component 802 in a transceiver.

[0131] The communication manager 808 and / or the receiving component 802 can obtain one or more communication parameters associated with one or more communications to be sent by the UE. The sending component 804 can send the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

[0132] The communications manager 808 may select a congestion control algorithm from a set of candidate congestion control algorithms based at least in part on providing one or more communications parameters as input to a machine learning model.

[0133] Communications manager 808 and / or receiving component 802 can obtain updates to one or more communications parameters.

[0134] Transmitting component 804 can transmit one or more additional communications based at least in part on an additional congestion control algorithm of a first congestion control algorithm type that is different than a second congestion control algorithm type of the congestion control algorithm.

[0135] The communications manager 808 may select a congestion control algorithm at the start of a TCP connection.

[0136] The communication manager 808 may select a congestion control algorithm after sending or receiving a communication via a TCP connection.

[0137] The communications manager 808 may provide an indication of one or more of one or more communication parameters or a recommendation to use a congestion control algorithm to an application client associated with one or more communications.

[0138] Receiving component 802 can receive an indication to use a congestion control algorithm.

[0139] Communications manager 808 and / or sending component 804 can provide an indication of one or more of one or more communication parameters or a recommendation to use a congestion control algorithm to an application server associated with one or more communications.

[0140] Receiving component 802 can receive an indication to use a congestion control algorithm.

[0141] Communications manager 808 can select an additional congestion control algorithm for one or more additional communications based at least in part on one or more first performance indicators associated with the additional congestion control algorithm being improved over one or more second performance indicators associated with the congestion control algorithm.

[0142] Figure 8 The number and arrangement of components shown are provided as examples. In practice, there may be Figure 8 Additional components, fewer components, different components, or components arranged in a different manner than those shown. Figure 8 Two or more components shown may be implemented in a single component, or Figure 8 The single component shown may be implemented as multiple distributed components. Additionally or alternatively, Figure 8 The component set (one or more components) shown may be described as being executable by Figure 8 Another component shown may be a collection of components that perform one or more functions.

[0143] The following provides an overview of some aspects of the disclosure:

[0144] Aspect 1: A method of wireless communication performed by a user equipment (UE), the method comprising: obtaining one or more communication parameters associated with one or more communications to be sent by the UE; and sending the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm being selected at least in part based on the one or more communication parameters.

[0145] Aspect 2: The method according to Aspect 1 further comprises: selecting the congestion control algorithm from the set of candidate congestion control algorithms based at least in part on providing the one or more communication parameters as input to a machine learning model.

[0146] Aspect 3: The method according to Aspect 2, wherein the machine learning model comprises a decision tree, an integrated machine learning model, a neural network model or a reinforcement learning model.

[0147] Aspect 4: A method according to any one of Aspects 1 to 3, wherein the congestion control algorithm comprises one or more of the following: a transmission control protocol congestion control algorithm, a cubic congestion control algorithm, or a bottleneck bandwidth and round-trip time (BBR) congestion control algorithm.

[0148] Aspect 5: According to the method described in any one of Aspects 1 to 4, the method also includes: obtaining an update to the one or more communication parameters, and sending one or more additional communications based at least in part on an additional congestion control algorithm as a first congestion control algorithm type, wherein the first congestion control algorithm type is different from a second congestion control algorithm type of the congestion control algorithm.

[0149] Aspect 6: According to the method described in any one of Aspects 1 to 5, the method further includes: selecting the congestion control algorithm at the beginning of a Transmit Control Protocol (TCP) connection, or selecting the congestion control algorithm after sending or receiving communication via the TCP connection.

[0150] Aspect 7: According to the method described in any one of Aspects 1 to 6, the method also includes: providing an indication of one or more of the following to an application client associated with the one or more communications: an indication of the one or more communication parameters or a recommendation to use the congestion control algorithm; and receiving an indication to use the congestion control algorithm.

[0151] Aspect 8: According to the method described in any one of Aspects 1 to 7, the method also includes: providing an indication of one or more of the following to an application server associated with the one or more communications: an indication of the one or more communication parameters or a recommendation to use the congestion control algorithm; and receiving an indication to use the congestion control algorithm.

[0152] Aspect 9: A method according to any one of Aspects 1 to 8, wherein the one or more communication parameters include one or more of the following: channel conditions, historical data associated with congestion control using the congestion control algorithm with the one or more communication parameters, a currently applied congestion control algorithm, bottleneck link rate statistics, delay statistics, round-trip time (RTT) statistics, over-the-air (OTA) link rate estimates, application preferences, network information, or a time series of one or more of bandwidth, delay or loss.

[0153] Aspect 10: A method according to any one of Aspects 1 to 9, wherein the one or more communication parameters include one or more of the following: loss rate, percentile value of round-trip time (RTT), minimum RTT, bandwidth-delay product, bottleneck bandwidth, or rate percentile difference values ​​for different windows.

[0154] Aspect 11: A method according to any one of Aspects 1 to 10, wherein the congestion control algorithm is selected from the set of congestion control algorithms at least in part based on the congestion control algorithm's expectation to optimize one or more of throughput or round-trip time (RTT) relative to one or more other congestion control algorithms in the set of congestion control algorithms.

[0155] Aspect 12: According to the method described in any one of Aspects 1 to 11, the method also includes: selecting an additional congestion control algorithm for one or more additional communications based at least in part on the fact that one or more first performance indicators associated with the additional congestion control algorithm are improved by a threshold amount compared to one or more second performance indicators associated with the congestion control algorithm.

[0156] Aspect 13: An apparatus for performing wireless communications at a device, the apparatus comprising: a processor; a memory coupled to the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform one or more of the methods described in Aspects 1 to 12.

[0157] Aspect 14: A device for wireless communication, the device comprising: a memory; and one or more processors, the one or more processors coupled to the memory, the one or more processors configured to execute the method according to one or more of aspects 1 to 12.

[0158] Aspect 15: An apparatus for wireless communication, the apparatus comprising: at least one component for performing the method according to one or more of aspects 1 to 12.

[0159] Aspect 16: A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by a processor to perform the method according to one or more of aspects 1 to 12.

[0160] Aspect 17: A non-transitory computer-readable medium storing an instruction set for wireless communication, the instruction set comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform one or more of the methods described in aspects 1 to 12.

[0161] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the various aspects.

[0162] As used herein, the term "component" is intended to be broadly interpreted as hardware, and / or a combination of hardware and software. Whether referred to as software, firmware, middleware, microcode, hardware description language or other names, "software" should be broadly interpreted as meaning instructions, instruction sets, codes, code segments, program codes, programs, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures and / or functions, etc. As used herein, "processor" is implemented by a combination of hardware and / or hardware and software. It will be apparent that the system and / or method described herein can be implemented by a combination of hardware and / or hardware and software in different forms. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit various aspects. Therefore, the operation and behavior of the system and / or method are not described herein with reference to specific software codes, because it will be understood by those skilled in the art that software and hardware can be designed to implement the system and / or method based at least in part on the description herein.

[0163] As used herein, "satisfying a threshold" may refer to a value being greater than a threshold, greater than or equal to a threshold, less than a threshold, less than or equal to a threshold, equal to a threshold, not equal to a threshold, etc., depending on the context.

[0164] Although the specific combination of features is set forth in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. Many of these features can be combined in a manner that is not specifically listed in the claims and / or is not disclosed in the specification. The disclosure of various aspects includes each dependent claim combined with each other claim in the claim set. As used herein, the phrase "at least one of" the list of items refers to any combination of these items (which includes a single member). As an 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, and any combination with multiple identical 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).

[0165] Any element, action or instruction used herein should not be interpreted as key or necessary, unless clearly stated so. In addition, as used herein, the article "one" is intended to include one or more projects, and can be used interchangeably with "one or more". In addition, as used herein, the article "said" is intended to include one or more projects connected with the article "said", and can be used interchangeably with "one or more". In addition, as used herein, the terms "set" and "group" are intended to include one or more projects, and can be used interchangeably with "one or more". If only want to refer to a project, the phrase "only one" or similar terms will be used. In addition, as used herein, the terms "have", "have", "have" etc. are intended to be open terms, which do not limit the elements they modify (for example, "an element with" A can also have B). In addition, the phrase "based on" is intended to represent "based at least in part on", unless explicitly stated otherwise. Furthermore, as used herein, the term "or" when used in a series is intended to be open-ended and can be used interchangeably with "and / or" unless expressly stated otherwise (eg, if used in conjunction with "either" or "only one of").

Claims

1. A user equipment (UE) for wireless communication, the user equipment (UE) comprising: Memory; and one or more processors coupled to the memory and configured to: obtaining one or more communication parameters associated with one or more communications to be sent by the UE; and The one or more communications are sent based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

2. The UE of claim 1, wherein the one or more processors are further configured to: The congestion control algorithm is selected from the set of candidate congestion control algorithms based at least in part on providing the one or more communication parameters as input to a machine learning model.

3. The UE according to claim 2, wherein the machine learning model comprises: Decision trees; Ensemble machine learning models; Neural network models; or Reinforcement learning model.

4. The UE according to claim 1, wherein the congestion control algorithm comprises one or more of the following: Send control protocol congestion control algorithm; The tertiary congestion control algorithm; or Bottleneck bandwidth and round trip time (BBR) congestion control algorithm.

5. The UE of claim 1, wherein the one or more processors are further configured to: obtaining an update to the one or more communication parameters; and One or more additional communications are sent based at least in part on an additional congestion control algorithm of a first congestion control algorithm type that is different than a second congestion control algorithm type of the congestion control algorithm.

6. The UE of claim 1, wherein the one or more processors are further configured to: selecting the congestion control algorithm at the start of a Transmission Control Protocol (TCP) connection; or The congestion control algorithm is selected after sending or receiving a communication via the TCP connection.

7. The UE of claim 1, wherein the one or more processors are further configured to: Providing an indication to an application client associated with the one or more communications of one or more of: the one or more communication parameters; or an indication of a recommendation to use the congestion control algorithm; and An indication to use the congestion control algorithm is received.

8. The UE of claim 1, wherein the one or more processors are further configured to: providing, to an application server associated with the one or more communications, an indication of one or more of: the one or more communication parameters; or an indication of a recommendation to use the congestion control algorithm; and An indication to use the congestion control algorithm is received.

9. The UE of claim 1, wherein the one or more communication parameters include one or more of the following: Channel conditions; historical data associated with congestion control using the congestion control algorithm with the one or more communication parameters; The currently used congestion control algorithm; Bottleneck link rate statistics; Delay statistics; Round Trip Time (RTT) statistics; Over-the-air (OTA) link rate estimation; Application preferences; Network information; or A time series of one or more of bandwidth, latency, or loss.

10. The UE of claim 1, wherein the one or more communication parameters include one or more of the following: Loss rate; Percentile value of round-trip time (RTT); Minimum RTT; Bandwidth-delay product; bottleneck bandwidth; or Rate percentile differences for different windows.

11. The UE of claim 1 , wherein selecting the congestion control algorithm from the set of congestion control algorithms is based at least in part on the congestion control algorithm being expected to optimize one or more of throughput or round trip time (RTT) relative to one or more other congestion control algorithms in the set of congestion control algorithms.

12. The UE of claim 1, wherein the one or more processors are further configured to: An additional congestion control algorithm is selected for one or more additional communications based at least in part on one or more first performance indicators associated with the additional congestion control algorithm being improved over one or more second performance indicators associated with the congestion control algorithm.

13. A method of wireless communication performed by a user equipment (UE), the method comprising: obtaining one or more communication parameters associated with one or more communications to be sent by the UE; as well as The one or more communications are sent based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

14. The method according to claim 13, further comprising: The congestion control algorithm is selected from the set of candidate congestion control algorithms based at least in part on providing the one or more communication parameters as input to a machine learning model.

15. The method of claim 14, wherein the machine learning model comprises: Decision trees; Ensemble machine learning models; Neural network models; or Reinforcement learning model.

16. The method of claim 13, wherein the congestion control algorithm comprises one or more of the following: Send control protocol congestion control algorithm; The tertiary congestion control algorithm; or Bottleneck bandwidth and round trip time (BBR) congestion control algorithm.

17. The method according to claim 13, further comprising: obtaining an update to the one or more communication parameters; as well as One or more additional communications are sent based at least in part on an additional congestion control algorithm of a first congestion control algorithm type that is different than a second congestion control algorithm type of the congestion control algorithm.

18. The method according to claim 13, further comprising: Selecting the congestion control algorithm at the beginning of a TCP connection; or The congestion control algorithm is selected after sending or receiving a communication via the TCP connection.

19. The method according to claim 13, further comprising: Providing an indication to an application client associated with the one or more communications of one or more of: the one or more communication parameters; or an indication of a recommendation to use the congestion control algorithm; and An indication to use the congestion control algorithm is received.

20. The method according to claim 13, further comprising: providing, to an application server associated with the one or more communications, an indication of one or more of: the one or more communication parameters; or an indication of a recommendation to use the congestion control algorithm; and An indication to use the congestion control algorithm is received.

21. The method of claim 13, wherein the one or more communication parameters include one or more of: Channel conditions; historical data associated with congestion control using the congestion control algorithm with the one or more communication parameters; The currently used congestion control algorithm; Bottleneck link rate statistics; Delay statistics; Round Trip Time (RTT) statistics; Over-the-air (OTA) link rate estimation; Application preferences; Network information; or A time series of one or more of bandwidth, latency, or loss.

22. The method of claim 13, wherein the one or more communication parameters include one or more of: Loss rate; Percentile value of round-trip time (RTT); Minimum RTT; Bandwidth-delay product; bottleneck bandwidth; or Rate percentile differences for different windows.

23. The method of claim 13, wherein selecting the congestion control algorithm from the set of congestion control algorithms is based at least in part on the congestion control algorithm being expected to optimize one or more of throughput or round-trip time (RTT) relative to one or more other congestion control algorithms in the set of congestion control algorithms.

24. The method according to claim 13, further comprising: The additional congestion control algorithm is selected for one or more additional communications based at least in part on one or more first performance indicators associated with the additional congestion control algorithm improving by a threshold amount as compared to one or more second performance indicators associated with the congestion control algorithm.

25. A non-transitory computer readable medium storing an instruction set for wireless communication, the instruction set comprising: One or more instructions that, when executed by one or more processors of a user equipment (UE), cause the UE to: obtaining one or more communication parameters associated with one or more communications to be sent by the UE; and The one or more communications are sent based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

26. The non-transitory computer readable medium of claim 25, wherein the one or more instructions further cause the UE to: The congestion control algorithm is selected from the set of candidate congestion control algorithms based at least in part on providing the one or more communication parameters as input to a machine learning model.

27. The non-transitory computer readable medium of claim 25, wherein the one or more instructions further cause the UE to: obtaining an update to the one or more communication parameters; and One or more additional communications are sent based at least in part on an additional congestion control algorithm of a first congestion control algorithm type that is different than a second congestion control algorithm type of the congestion control algorithm.

28. An apparatus for wireless communication, the apparatus comprising: means for obtaining one or more communication parameters associated with one or more communications to be sent by the apparatus; and Means for transmitting the one or more communications based at least in part on a congestion control algorithm selected from a set of candidate congestion control algorithms, the congestion control algorithm selected based at least in part on the one or more communication parameters.

29. The apparatus according to claim 28, further comprising: Means for selecting the congestion control algorithm from the set of candidate congestion control algorithms based at least in part on providing the one or more communication parameters as input to a machine learning model.

30. The apparatus of claim 28, further comprising: means for obtaining an update to the one or more communication parameters; and Means for sending one or more additional communications based at least in part on an additional congestion control algorithm of a first congestion control algorithm type that is different than a second congestion control algorithm type of the congestion control algorithm.

Citation Information

Cited By

  • RAN and UE driven L4S marking and processing for congestion management in an O-RAN based network architecture

    US12684410B2

  • RAN and UE Driven L4S Marking and Processing for Congestion Management in an O-RAN Based Network Architecture

    US20240334244A1