Managing uplink transmit latency

By optimizing uplink data arrival times and CG frame patterns, the UE modem addresses uplink transmission latency issues in low-latency applications, ensuring efficient data transmission and reduced buffer storage times.

JP2026504837APending Publication Date: 2026-02-10QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025540235
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-25
Filing Date
2023-11-30
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Existing communication technologies face challenges in managing uplink transmission latency for low-latency applications such as online gaming and extended reality (XR) applications, where strict latency requirements are not adequately met due to inefficiencies in scheduling uplink data transmission using configured grants (CGs).

Method used

A user equipment (UE) modem determines an optimal initial offset time and CG frame pattern to minimize the average time between uplink data arrival and transmission, adjusting data arrival times based on known CG frame patterns and traffic periods to reduce latency.

Benefits of technology

This approach effectively reduces uplink data storage time in buffers, meeting strict latency requirements by optimizing data transmission scheduling, thereby enhancing the performance of low-latency applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026504837000001_ABST
    Figure 2026504837000001_ABST
Patent Text Reader

Abstract

Various aspects include a method for managing uplink transmission latency. In some embodiments, a user equipment (UE) modem determines, for each of two or more initial offset times, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot during a configured grant (CG) frame pattern, selects the initial offset time corresponding to the shortest average time, and receives uplink data at the UE modem for transmission to a communication network according to the selected initial offset time. In some embodiments, the UE modem determines, for each of two or more CG frame patterns, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern, selects the CG frame pattern corresponding to the shortest average time, and transmits the selected CG frame pattern to the communication network.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Related Applications This application claims the benefit of priority from U.S. Non-Provisional Patent Application No. 18 / 159,657, filed January 25, 2023, the entire contents of which are incorporated herein by reference. [Background technology]

[0002] Long Term Evolution (LTE), Fifth Generation (5G), New Radio (NR), and other communication technologies enable improved communication and data services. Some applications, such as online gaming and extended reality (XR) applications, utilize traffic flows with relatively low latency requirements to send and receive information. For such applications, audio, video, and multimedia information can be carried in downlink data traffic, and information about input and / or orientation from a controller or XR hardware can be carried in uplink data traffic. Summary of the Invention

[0003] Various aspects include a method performed by a user equipment (UE) for managing uplink transmission latency. Various aspects may include, for each of two or more initial offset times indicating a first uplink data arrival time at the UE modem after the start of a configured grant (CG) frame pattern configured in the UE, determining an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern, selecting an initial offset time from among the two or more initial offset times that corresponds to the shortest average time, and receiving uplink data at the UE modem for transmission to a communication network according to the selected initial offset time. In some aspects, the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern may include an average amount of slots in the CG frame pattern. In some aspects, the CG frame pattern may be non-uniform.

[0004] In some aspects, the uplink data arrival time may be periodic according to a traffic period of uplink data transmitted by an application to the UE modem. Some aspects may further include receiving, by the UE modem from the application, an indication of the timing of each of the two or more initial offset times based on the traffic period of the uplink data.

[0005] In some aspects, each of the two or more offset times can correspond to a traffic period of uplink data. In some aspects, receiving the uplink data at the UE modem for transmission to the communication network in accordance with the selected initial offset time can include providing the selected initial offset time by the UE modem to an application executing at the UE and receiving the uplink data from the application at the UE modem in accordance with the selected initial offset time.

[0006] Further aspects include a method performed by a UE for managing uplink transmission latency, the method including: determining, by a user equipment (UE) modem, for each of two or more configured grant (CG) frame patterns, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern, selecting a CG frame pattern from among the two or more CG frame patterns corresponding to the shortest average time, and transmitting the selected CG frame pattern to the communication network to enable transmission of uplink data to the communication network in accordance with the selected CG frame pattern. In some aspects, determining, for each of the two or more CG patterns, the average time between an uplink data arrival time at the UE modem and a subsequent CG of each CG pattern can include determining a length of each of the two or more CG patterns based on a length of the frame pattern and a traffic duration of the uplink data.

[0007] Some aspects may further include receiving a CG frame pattern configuration from the communication network subsequent to transmitting the selected CG frame pattern to the communication network.

[0008] In some aspects, transmitting the selected CG frame pattern to the communication network can include transmitting a length of the CG frame pattern and a bitmap indicative of the CG frame pattern to the communication network. In some aspects, transmitting the selected CG frame pattern to the communication network can include transmitting the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.

[0009] Further aspects include a UE having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include a processing device for use in a UE configured with processor-executable instructions for performing operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium storing processor-executable instructions configured to cause a processor of the UE to perform operations of any of the methods summarized above. Further aspects include a UE having means for performing the functions of any of the methods summarized above. Further aspects include a system-on-chip for use in a UE including a processor configured to perform one or more operations of any of the methods summarized above. [Brief explanation of the drawings]

[0010] [Figure 1A] FIG. 1 is a system block diagram illustrating an exemplary communication system suitable for implementing any of the various embodiments. [Figure 1B] FIG. 1 is a system block diagram illustrating an exemplary split base station architecture suitable for implementing any of the various embodiments. [Figure 2] FIG. 1 is a component block diagram illustrating an exemplary computing and wireless modem system suitable for implementing any of the various embodiments. [Figure 3]FIG. 1 is a component block diagram illustrating a software architecture including radio protocol stacks for user and control planes in wireless communications suitable for implementing any of the various embodiments. [Figure 4A] FIG. 1 is a timing diagram illustrating a method for managing uplink transmission latency according to various embodiments. [Figure 4B] 4 is a timing diagram illustrating a method 400b for managing uplink transmission latency according to various embodiments. [Figure 5A] FIG. 10 is a process flow diagram illustrating a method that may be performed by a processor of a modem of a UE for managing uplink transmission latency, according to various embodiments. [Figure 5B] FIG. 4 is a process flow diagram illustrating operations that may be performed by a processor of a modem of a UE as part of a method for managing uplink transmission latency, according to various embodiments. [Figure 5C] FIG. 4 is a process flow diagram illustrating operations that may be performed by a processor of a modem of a UE as part of a method for managing uplink transmission latency, according to various embodiments. [Figure 6A] FIG. 10 is a process flow diagram illustrating a method that may be performed by a processor of a modem of a UE for managing uplink transmission latency, according to various embodiments. [Figure 6B] FIG. 1 is a process flow diagram illustrating operations that may be performed by a processor of a UE modem as part of a method for managing uplink transmission latency, according to various embodiments. [Figure 7] FIG. 1 is a component block diagram of a UE suitable for use with the various embodiments. [Figure 8] FIG. 1 is a component block diagram of a network device suitable for use with the various embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0011] Various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to specific examples and implementations are for illustrative purposes only and do not limit the scope of the claims.

[0012] Various embodiments include a UE in a data streaming session using a first communication link identifying parameters of the second communication link in response to the data streaming session changing from the first communication link to the second communication link. The UE can use the identified parameters of the second communication link to select an initial congestion window size larger than a default congestion window size and then apply the selected initial congestion window size to the data streaming session. Various embodiments enable the UE to increase the efficiency of streaming data packet communication when the UE is mobile, such as when the UE frequently changes wireless communication links. This can improve the operation and performance of streaming data applications and services when the UE changes data connections.

[0013] The term "user equipment (UE)" is used herein to refer to any one or all of wireless communication devices, wireless appliances, cellular telephones, smartphones, portable computing devices, personal or mobile multimedia players, laptop computers, tablet computers, smartbooks, ultrabooks, palmtop computers, wireless email receivers, multimedia Internet-enabled cellular telephones, extended reality (XR) head-mounted displays and glasses, entertainment devices (e.g., wireless game controllers, music and video players, satellite radio, etc.), wireless router devices, medical devices and equipment, wearable devices including smart watches, smart clothing, smart glasses, and smart wristbands, wireless network-enabled Internet of Things (IoT) devices including smart meters / sensors, industrial manufacturing equipment, large and small machines and appliances for home or business use, wireless communication elements in vehicles, wireless devices fixed or embedded in various mobile platforms, and similar electronic devices containing memory, wireless communication components, and programmable processors.

[0014] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that includes multiple resources or processors integrated on a single substrate. A single SOC may include circuits for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose or special-purpose processors (such as digital signal processors, modem processors, video processors, etc.), memory blocks (such as ROM, RAM, flash, etc.), and resources (such as timers, voltage regulators, oscillators, etc.). A SOC may also include software for controlling the integrated resources and processors, as well as for controlling peripheral devices.

[0015] The term "system in package" (SIP) may be used herein to refer to a single module or package that includes multiple resources, computing units, cores, or processors on two or more IC chips, substrates, or SOCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged in a singulated substrate. A SIP may also include multiple independent SOCs packaged in close proximity and coupled to each other via high-speed communication circuits, such as on a single motherboard or within a single wireless device. The proximity of the SOCs facilitates high-speed communication and sharing of memory and resources.

[0016] As used herein, the terms “network,” “system,” “wireless network,” “cellular network,” and “wireless communications network” may interchangeably refer to some or all of a wireless network of a carrier associated with a wireless device and / or a subscription on the wireless device. The techniques described herein may be used for various wireless communications networks, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), FDMA, Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), and other networks. Generally, any number of wireless networks may be deployed in a given geographic area. Each wireless network may support at least one radio access technology, which may operate on one or more frequencies or ranges of frequencies. For example, a CDMA network may implement Universal Terrestrial Radio Access (UTRA) (including the Wideband Code Division Multiple Access (WCDMA) standard), CDMA2000 (including the IS-2000, IS-95, and / or IS-856 standards), etc. In another example, a TDMA network may implement Enhanced Data rates for GSM Evolution (EDGE). In another example, an OFDMA network may implement Evolved UTRA (E-UTRA) (including the LTE standard), Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc. Wireless networks using the LTE standard may be referenced, and thus the terms "Universal Terrestrial Radio Access," "E-UTRAN," and "eNodeB" may also be used interchangeably herein to refer to wireless networks.(registered trademark), however, such references are provided by way of example only and are not intended to exclude wireless networks using other communication standards. For example, although various third-generation (3G), fourth-generation (4G), and fifth-generation (5G) systems are described herein, these systems are referenced by way of example only, and future generation systems (e.g., sixth-generation (6G) or higher systems) may be used instead in various instances.

[0017] Some applications, such as online games and XR applications (including virtual reality (VR), augmented reality (AR), mixed reality (MR), and other similar applications), utilize traffic flows with relatively low latency requirements for sending and receiving information. For such applications, audio, video, and multimedia information can be carried in downlink data traffic, while information about input from controllers or XR hardware, position information, and / or orientation information (“posture information”) can be carried in uplink data traffic. In some embodiments, such downlink traffic can be quasi-periodically encoded video with a burst per frame at a rate of one frame per second (fps), or with two possibly staggered “eye buffers” per frame at a rate of one every two fps. When the network receives the uplink posture information flow, the network computing device uses this information to generate corresponding video frames.

[0018] The process of converting motion into rendered video is sometimes referred to as "motion-to-photon" (M2F2P). In some embodiments, the user's experience (UX) with low-latency applications may depend at least in part on the round trip time (RTT) between uplink packets carrying attitude or controller information and downlink frame packets, which may have strict latency requirements, such as an RTT requirement of less than 20 milliseconds. Such uplink packets may be relatively small (e.g., around 100 bytes) but are typically transmitted relatively frequently, for example, with a cadence of around 500 hertz (Hz). Due to such strict latency requirements, one efficient way to transmit this type of small uplink traffic is through the use of configured grants (CGs) to schedule uplink transmission time slots, sometimes referred to as uplink transmission resources.

[0019] As defined for 5G by the 3rd Generation Partnership Project (3GPP®), the use of CG scheduling allows a communication network to pre-allocate uplink transmission resources to a UE, reducing or eliminating the need for the UE to request uplink resources for each packet transmission. The communication network can indicate the CG period via the ConfiguredGrantConfig Radio Resource Control (RRC) information element (IE) or another appropriate IE. In some embodiments, the configured grant can include a slot pattern or slot configuration (referred to as a "CG frame pattern") provided to the UE by the communication network. When supporting multimedia services such as cloud gaming and XR services, the CG frame pattern can be non-uniform and can be configured differently, such as according to outer and inner cycles, periods defined based on multimedia data cadence, irrational numbers, or another configuration means. The CG frame pattern can include one or more uplink slots occurring aperiodically or at non-uniform times during a CG frame. In some embodiments, the CG frame pattern is as shown in Figures 4A and 4B, such as DDDSU or DDDSUUDDDD, where "D" indicates a downlink slot, "U" indicates an uplink slot, and "S" indicates a special slot that can be used as an uplink or downlink slot.

[0020] To meet strict latency requirements for low-latency applications, the UE may attempt to reduce the amount of time between when data is received from an application (e.g., an XR application) by the UE's modem and stored in a buffer (or other memory), and when the data is transmitted to the communications network. In some embodiments, the UE may be configured to perform operations to reduce such buffer storage time by reducing the amount of time between the arrival of the data at the modem and the next available uplink slot in a CG frame pattern.

[0021] In some embodiments, the UE modem (e.g., a modem processor) can be configured to determine a preferred arrival time of uplink data at the UE modem based on a known CG frame pattern. In some embodiments, the UE modem can be configured to determine, for each of two or more initial offset times indicating a first uplink data arrival time at the modem after the start of a CG frame pattern configured in the UE, an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern. The modem may select an initial offset time corresponding to the shortest average time from among the two or more initial offset times and may receive uplink data for transmission to the communication network according to the selected initial offset time. In some embodiments, the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern can include an average amount of slots in the CG frame pattern. In some embodiments, the CG frame pattern can be non-uniform.

[0022] For example, the modem may be configured to calculate the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern as a function of the initial offset time. In some embodiments, such calculation may be expressed as avgDistance = f(initialOffset), where avgDistance represents the average time and initialOffset represents the initial offset time. In such embodiments, the modem may calculate the number (N) of uplink data arrival times (N_arrivalTimes) that occur during the CG frame pattern. Each arrival time may be represented as j from 1 to N_arrivalTimes. The modem may calculate the timing (e.g., slot position, or slot timing) of each arrival time j relative to the start of the CG frame pattern, which is Pos_j = initialOffset + (j-1) * The modem may express the time or "distance" dj from each Pos_j to the subsequent uplink slot (CG uplink opportunity). In some embodiments, the subsequent uplink slot may be at least k2min slots after Pos_j. The modem's calculation of the average time between the uplink data arrival time at the UE modem during a CG frame pattern and the subsequent uplink slot of the CG frame pattern may be expressed as avgDistance=(Σdj) / N_arrivalTimes.

[0023] In some embodiments, the modem can calculate avgDistance(i) for all possible initial offsets (i) during the uplink traffic period. In some embodiments, the uplink data arrival time may be periodic according to the traffic period of uplink data transmitted by an application to the UE modem. In some embodiments, the modem can calculate the uplink data arrival time using a fixed step (e.g., 1 slot) or a configurable number of steps that may be provided by the application. In such embodiments, the modem can receive from the application an indication of the timing of each of two or more initial offset times based on the traffic period of the uplink data. In some embodiments, the modem can receive from the application an indication of the possible timing of each possible initial offset. For example, if the uplink data traffic period is 4 ms, the possible initial offsets may be {0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5}. In some embodiments, each of the two or more offset times may correspond to a traffic period of uplink data.

[0024] In some embodiments, the modem may provide one or more parameters to the application via a cross-layer application programming interface (API), such as a selected initial offset and / or the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern. In response to receiving the one or more parameters, the application may adjust the timing of when the uplink data is provided to the modem, such as by adjusting the initial offset timing. In some embodiments, the application may select an initial offset that reduces the average time. In some embodiments, the application may select an initial offset that minimizes the average time.

[0025] In some embodiments, the application can enable or disable (e.g., via cross-layer API signaling) one or more operations of the modem to determine the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern. In some embodiments, the application can provide the modem with time interval(s) (e.g., in steps of 0.5 ms) that the modem can use to determine one or more initial offset times. In some embodiments, the UE modem can provide the initial offset time selected by the UE modem to an application running in the UE. In such an embodiment, the UE modem can receive uplink data from the application in the UE modem according to the selected initial offset time. In some embodiments, the UE modem can be configured to determine a suitable CG frame pattern to reduce uplink data transmission latency based on the arrival time of the uplink data at the UE modem.

[0026] In some embodiments, a modem (e.g., a modem processor) of the UE can be configured to determine a preferred CG frame pattern based on one or more known traffic arrival times. In some embodiments, the modem of the UE can be configured to determine, for each of two or more CG frame patterns, an average time between the uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern. In some embodiments, the modem can select a CG frame pattern from among the two or more CG frame patterns that corresponds to the shortest average time and transmit the selected CG frame pattern to the communication network to enable transmission of uplink data to the communication network in accordance with the selected CG frame pattern.

[0027] For example, the modem can be configured to calculate the length (duration) of the CG frame pattern (CG Length) as the least common multiple of the length (duration) of the CG frame pattern (e.g., 2.5 ms for a DDDSU pattern) and the uplink data traffic period. In some embodiments, the modem can initialize (or generate) a bitmap (CG_Bitmap) having a length indicating the number of uplink (U) slots during the period of the CG frame pattern. The generated bitmap can indicate a selected CG frame pattern. In some embodiments, each bit in the bitmap can represent a candidate slot for CG uplink transmission in the CG frame pattern. The modem can calculate the number (N) of arrival times of uplink data that can occur during the period of the CG frame pattern (N_arrivalTimes). In some embodiments, for each arrival time j (from 1 to N_arrivalTimes), the modem can calculate the timing of each arrival time j relative to the start of the CG frame pattern, which is Pos_j=InitialOffset+(j-1) * In some embodiments, the modem can determine the next uplink (U) slot to be at least k2min slots after Pos_j (modulo the length of the CG frame pattern). In some embodiments, the modem can set the corresponding bit in the CG_Bitmap to 1.

[0028] In some embodiments, the modem can determine the length of each of the two or more CG patterns based on the frame pattern length and the uplink data traffic duration. In some embodiments, the modem can receive a CG frame pattern configuration from the communication network following transmission of the selected CG frame pattern to the communication network, for example, via an RRC reconfiguration message. In some embodiments, the communication network can use a bitmap (including the bitmap length) for the configuration of the CG frame pattern. In some embodiments, the modem can transmit the CG frame pattern length and the bitmap indicating the CG frame pattern to the communication network. In some embodiments, the modem can transmit the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.

[0029] Various embodiments improve data communications in applications where transmission delay (latency) should be reduced by enabling a UE to determine an appropriate uplink data traffic arrival time when a CG frame pattern is known to the UE. Various embodiments enable a UE to determine an appropriate CG frame pattern when uplink data traffic arrival times are known to the UE. Various embodiments enable a UE to meet strict latency requirements of low latency applications by reducing the amount of time data arriving at the UE's modem is stored in a buffer (or other memory) before being transmitted to a communications network.

[0030] 1A is a system block diagram illustrating an exemplary communication system 100 suitable for implementing any of the various embodiments. The communication system 100 may be a 5G New Radio (NR) network or any other suitable network, such as a Long Term Evolution (LTE) network. While FIG. 1A illustrates a 5G network, later generation networks may include the same or similar elements. Accordingly, references to a 5G network or 5G network elements in the following description are for illustrative purposes and not intended to be limiting.

[0031] Communications system 100 may include a heterogeneous network architecture including core network 140 and various UEs (shown in FIG. 1A as UEs 120a-120e). Communications system 100 may also include several network devices 110a, 110b, 110c, and 110d and other network entities such as base stations and network nodes. A network device is an entity that communicates with UEs and, in various embodiments, may be referred to as a Node B, an LTE Evolved Node B (eNodeB or eNB), an access point (AP), a radio head, a transmit receive point (TRP), a New Radio base station (NR BS), a 5G Node B (Node B, NB), a Next Generation Node B (gNode B or gNB), etc. In various communication network implementations or architectures, the network devices may be implemented as aggregated base stations, as non-aggregated base stations, as integrated access and backhaul (IAB) nodes, relay nodes, sidelink nodes, etc., e.g., in a virtualized Radio Access Network (vRAN) or an Open Radio Access Network (O-RAN).Also, in various communication network implementations or architectures, network devices (or network entities) may be implemented in a centralized or monolithic base station architecture, or alternatively, in a non-centralized base station architecture, and may include one or more of a centralized unit (CU), a distributed unit (DU), a radio unit (RU), a near-real-time (RT) RAN intelligent controller (RIC), or a non-real-time RIC. Each network device may provide communication coverage for a particular geographic area. In 3GPP, the term "cell" may refer to a network device coverage area, a network device subsystem serving this coverage area, or a combination thereof, depending on the context in which the term is used. The core network 140 may be any type of core network, such as an LTE core network (e.g., an evolved packet core (EPC) network), a 5G core network, etc.

[0032] The network devices 110a-110d may provide communication coverage for a macro cell, a pico cell, a femto cell, another type of cell, or a combination thereof. A macro cell may cover a relatively large geographic area (e.g., a radius of several kilometers) and may allow unrestricted access by UEs with service subscriptions. A pico cell may cover a relatively small geographic area and may allow unrestricted access by UEs with service subscriptions. A femto cell may cover a relatively small geographic area (e.g., a home) and may allow restricted access by UEs that have an association with the femto cell (e.g., UEs in a Closed Subscriber Group (CSG)). A network device for a macro cell may be referred to as a macro node or a macro base station. A network device for a pico cell may be referred to as a pico node or a pico base station. A network device for a femto cell may be referred to as a femto node, a femto base station, a home node, or a home network device. 1A, network device 110a may be a macro node for macro cell 102a, network device 110b may be a pico node for pico cell 102b, and network device 110c may be a femto node for femto cell 102c. Network devices 110a-110d may support one or more (e.g., three) cells. The terms “network device,” “network node,” “eNB,” “base station,” “NR BS,” “gNB,” “TRP,” “AP,” “Node B,” “5G NB,” and “cell” may be used interchangeably herein.

[0033] In some embodiments, the cells may not be fixed, and the geographic area of ​​the cells may move according to the location of a network device, such as a network node or a mobile network device. In some embodiments, the network devices 110a-110d may be interconnected to each other and to one or more other network devices (e.g., base stations or network nodes (not shown)) in the communication system 100 via various types of backhaul interfaces, such as direct physical connections, virtual networks, or combinations thereof, using any suitable transport network.

[0034] The network devices 110a-110d may communicate with the core network 140 over wired or wireless communication links 126. The UEs 120a-120e may communicate with the network nodes 110a-110d over wireless communication links 122. The wired communication links 126 may use various wired networks (such as Ethernet, TV cable, telephony, optical fiber, and other forms of physical network connections) that may use one or more wired communication protocols, such as Ethernet, Point-to-Point Protocol, High-Level Data Link Control (HDLC), Advanced Data Communication Control Protocol (ADCCP), and Transmission Control Protocol / Internet Protocol (TCP / IP).

[0035] The communication system 100 may also include a relay station (such as relay network device 110d). A relay station is an entity that can receive data transmissions from an upstream station (e.g., a network device or UE) and transmit data to a downstream station (e.g., a UE or network device). A relay station may also be a UE that can relay transmissions for other UEs. In the example shown in FIG. 1A, relay station 110d may communicate macroscopically with network device 110a and UE 120d to facilitate communication between network device 110a and UE 120d. A relay station may also be referred to as a relay network device, a relay base station, a repeater, etc.

[0036] Communications system 100 may be a heterogeneous network including different types of network devices, such as macro network devices, pico network devices, femto network devices, relay network devices, etc. These different types of network devices may have different transmit power levels, different coverage areas, and may have different impacts on interference in communications system 100. For example, macro nodes may have high transmit power levels (e.g., 5-40 watts), while pico network devices, femto network devices, and relay network devices may have lower transmit power levels (e.g., 0.1-2 watts).

[0037] Network controller 130 may couple to a set of network devices and provide coordination and control for these network devices. Network controller 130 may communicate with the network devices via a backhaul. The network devices may also communicate with each other directly or indirectly, for example, via wireless or wireline backhaul.

[0038] The UEs 120a, 120b, 120c may be dispersed throughout the communication system 100, and each UE may be fixed or mobile. A UE may also be called an access terminal, a terminal, a mobile station, a subscriber unit, a station, a wireless device, etc.

[0039] The macro network device 110a can communicate with the communication network 140 over a wired or wireless communication link 126. The UEs 120a, 120b, 120c can communicate with the network devices 110a-110d over a wireless communication link 122.

[0040] The wireless communication links 122 and 124 may include multiple carrier signals, frequencies, or frequency bands, each of which may include multiple logical channels. The wireless communication links 122 and 124 may use one or more radio access technologies (RATs). Examples of RATs that may be used in the wireless communication links include 3GPP LTE, 3G, 4G, 5G (such as NR), GSM, code division multiple access (CDMA), wideband code division multiple access (WCDMA), Worldwide Interoperability for Microwave Access (WiMAX), time division multiple access (TDMA), and other mobile telephony communication technology cellular RATs. Further examples of RATs that may be used in one or more of the various wireless communication links in communication system 100 include medium-range protocols such as Wi-Fi, LTE-U, LTE-Direct, LAA, and MuLTEfire, as well as relatively short-range RATs such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE).

[0041] Some wireless networks (e.g., LTE) use orthogonal frequency division multiplexing (OFDM) on the downlink and single-carrier frequency division multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM partition the system bandwidth into multiple (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier may be modulated with data. Generally, modulation symbols are sent in the frequency domain with OFDM and in the time domain with SC-FDM. The spacing between adjacent subcarriers may be fixed, and the total number of subcarriers (K) may depend on the system bandwidth. For example, the subcarrier spacing may be 15 kHz, and the minimum resource allocation (called a "resource block") may be 12 subcarriers (or 180 kHz). Thus, the nominal fast file transfer (FFT) size may be equal to 128, 256, 512, 1024, or 2048 for system bandwidths of 1.25, 2.5, 5, 10, or 20 megahertz (MHz), respectively. The system bandwidth may also be partitioned into subbands. For example, a subband may cover 1.08 MHz (i.e., 6 resource blocks), and there may be 1, 2, 4, 8, or 16 subbands for system bandwidths of 1.25, 2.5, 5, 10, or 20 MHz, respectively.

[0042] Although the description of some implementations may use terminology and examples related to LTE technology, some implementations may be applicable to other wireless communication systems, such as New Radio (NR) or 5G networks. NR may utilize OFDM with cyclic prefix (CP) on the uplink (UL) and downlink (DL) and may include support for half-duplex operation using time division duplex (TDD). A single component carrier bandwidth of 100 MHz may be supported. An NR resource block may span 12 subcarriers with a subcarrier bandwidth of 75 kHz over a duration of 0.1 milliseconds (ms). Each radio frame may consist of 50 subframes with a length of 10 ms. Thus, each subframe may be 0.2 ms long. Each subframe may indicate a link direction (i.e., DL or UL) for data transmission, and the link direction for each subframe may be dynamically switched. Each subframe may contain DL / UL data as well as DL / UL control data. Beamforming may be supported, and the beam direction may be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding may also be supported. MIMO configurations in the DL may support up to eight transmit antennas, with multi-layer DL transmission of up to eight streams and up to two streams per UE. Multi-layer transmission with up to two streams per UE may be supported. Aggregation of multiple cells may be supported, with up to eight serving cells. Alternatively, NR may support an air interface other than an OFDM-based air interface.

[0043] Some UEs may be considered machine-type communication (MTC) UEs or evolved or enhanced machine-type communication (eMTC) UEs. MTC UEs and eMTC UEs include, for example, a robot, a remote device, a sensor, a meter, a monitor, a location tag, etc. that can communicate with a network device, another device (e.g., a remote device), or some other entity. A wireless computing platform may provide, for example, connectivity for or to a network (e.g., a wide area network such as the Internet or a cellular network) via a wired or wireless communication link. Some UEs may be considered Internet of Things (IoT) devices or may be implemented as NB-IoT (narrowband Internet of Things) devices. UEs 120a-120e may be included within a housing that houses components of the UEs 120a-120e, such as a processor component, a memory component, similar components, or a combination thereof.

[0044] In general, any number of communication systems and any number of wireless networks may be deployed in a given geographic area. Each communication system and wireless network may support a particular radio access technology (RAT) and may operate on one or more frequencies. A RAT may also be referred to as a radio technology, air interface, etc. A frequency may also be referred to as a carrier, frequency channel, etc. Each frequency may support a single RAT in a given geographic area to avoid interference between communication systems of different RATs. In some cases, 4G / LTE and / or 5G / NR RAT networks may be deployed. For example, a 5G non-standalone (NSA) network may utilize both a 4G / LTE RAT on the 4G / LTE RAN side of the 5G NSA network and a 5G / NR RAT on the 5G / NR RAN side of the 5G NSA network. Both the 4G / LTE RAN and the 5G / NR RAN may be connected to each other and to a 4G / LTE core network (e.g., an EPC network) within the 5G NSA network. Other example network configurations may include a 5G standalone (SA) network in which a 5G / NR RAN connects to a 5G core network.

[0045] In some implementations, two or more UEs 120a-120e (e.g., shown as UE 120a and UE 120e) can communicate directly (e.g., without using network nodes 110a-110d as an intermediary to communicate with each other) using one or more sidelink channels 124. For example, the UEs 120a-120e can communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, a mesh network or similar network, a vehicle-to-everything (V2X) protocol (which may include a vehicle-to-vehicle (V2V) protocol, a vehicle-to-infrastructure (V2I) protocol, or a similar protocol), or a combination thereof. In this case, the UEs 120a-120e may perform scheduling operations, resource selection operations, and other operations described elsewhere herein as being performed by the network nodes 110a-110d.

[0046] The deployment of a communication system, such as a 5G NR system, can be configured in multiple ways using various components or parts. In a 5G NR system, or network, network equipment, such as a network node, network entity, network mobility element, Radio Access Network (RAN) node, core network node, network element, or base station (BS), or one or more units (or components) performing base station functionality, can be implemented in an aggregated or disaggregated architecture. For example, a base station (such as a Node B (NB), evolved NB (eNB), NR BS, 5G NB, access point (AP), transmit / receive point (TRP), or cell) can be implemented as an aggregated base station (also known as a standalone BS or monolithic BS) or a disaggregated base station.

[0047] A centralized base station may be configured to utilize a radio protocol stack that is physically or logically integrated within a single RAN node. A disaggregated base station may be configured to utilize a protocol stack that is physically or logically distributed among two or more units (e.g., one or more centralized units (CUs), one or more distributed units (DUs), or one or more radio units (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 geographically or virtually distributed throughout one or more other RAN nodes. A DU may be implemented to communicate with one or more RUs. Each of the CU, DU, and RU may also be realized as a virtual unit, referred to as a virtual central unit (VCU), virtual distributed unit (VDU), or virtual radio unit (VRU).

[0048] The operation of a base station type or network design can take into account the aggregation characteristics of base station functions. For example, disaggregated base stations can be utilized in an integrated access backhaul (IAB) network, an open radio access network (O-RAN, such as the network configuration supported by the O-RAN Alliance), or a virtualized radio access network (vRAN, also known as a cloud radio access network (C-RAN)). Disaggregation can include distributing functionality across two or more units in different physical locations, as well as virtually distributing the functionality of at least one unit, which can enable flexibility in network design. Various units of a disaggregated base station, or a disaggregated RAN architecture, can be configured for wired or wireless communication with at least one other unit.

[0049] FIG. 1B is a system block diagram illustrating an exemplary separated base station 160 architecture suitable for implementing any of the various embodiments. Referring to FIGS. 1A and 1B , the separated base station 160 architecture may include one or more central units (CUs) 162 that can communicate directly with the core network 180 via a backhaul link or indirectly with the core network 180 through one or more separated base station units (e.g., a near-real-time (near-RT) RAN intelligent controller (RIC) 164 via an E2 link, or a non-real-time (non-RT) RIC 168 associated with a service management and orchestration (SMO) framework 166, or both). The CUs 162 can communicate with one or more distributed units (DUs) 170 via respective midhaul links, such as an F1 interface. The DUs 170 can communicate with one or more radio units (RUs) 172 via respective fronthaul links. The RUs 172 can communicate with respective UEs 120 via one or more radio frequency (RF) access links. In some implementations, the UE 120 may be served by multiple RUs 172 simultaneously.

[0050] Each of the units (i.e., CU 162, DU 170, RU 172), as well as quasi-RT RIC 164, non-RT RIC 168, and SMO framework 166, may include or be coupled to one or more interfaces configured to receive or transmit signals, data, or information (collectively, signals) over a wired or wireless transmission medium. Each of the units, or an associated processor or controller that provides instructions to the unit's communication interface, may be configured to communicate with one or more of the other units over a transmission medium. For example, a unit may include a wired interface configured to receive signals from or transmit signals to one or more of the other units over a wired transmission medium. In addition, the units may include a wireless interface, which may include a receiver, transmitter, or transceiver (such as a radio frequency (RF) transceiver) configured to receive, transmit, or transmit signals over a wireless transmission medium to one or more of the other units.

[0051] In some aspects, the CU 162 can host one or more higher-layer control functions. Such control functions may include Radio Resource Control (RRC), Packet Data Convergence Protocol (PDCP), Service Data Adaptation Protocol (SDAP), etc. Each control function may be implemented using an interface configured to communicate signals with other control functions hosted by the CU 162. The CU 162 may be configured to handle user plane functions (i.e., Central Unit-User Plane (CU-UP)), control plane functions (i.e., Central Unit-Control Plane (CU-CP)), or a combination thereof. In some implementations, the CU 162 may be logically divided into one or more CU-UP units and one or more CU-CP units. The CU-UP units, when implemented in an O-RAN configuration, may communicate bidirectionally with the CU-CP units via an interface, such as an E1 interface. The CU 162 may be implemented to communicate with the DU 170, as needed, for network control and signaling.

[0052] The DU 170 may correspond to a logical unit including one or more base station functions for controlling the operation of one or more RUs 172. In some aspects, the DU 170 may host one or more of a radio link control (RLC) layer, a medium access control (MAC) layer, and one or more upper physical (PHY) layers (such as modules for forward error correction (FEC) encoding and decoding, scrambling, modulation and demodulation, etc.) at least in part according to a functional division such as that defined by the 3rd Generation Partnership Project (3GPP). In some aspects, the DU 170 may further host one or more lower PHY layers. Each layer (or module) may be implemented with an interface configured to communicate signals with other layers (and modules) hosted by the DU 170 or with control functions hosted by the CU 162.

[0053] Lower layer functions may be realized by one or more RUs 172. In some deployments, the RUs 172 controlled by the DU 170 may correspond to logical nodes hosting RF processing functions, lower PHY layer functions (such as performing fast Fourier transforms (FFTs), inverse FFTs (iFFTs), digital beamforming, physical random access channel (PRACH) extraction and filtering, etc.), or both, based at least in part on a functional division, such as a lower layer functional division. In such an architecture, the RU(s) 172 may be implemented to handle over-the-air (OTA) communications with one or more UEs 120. In some implementations, real-time and non-real-time aspects of control and user plane communications with the RU(s) 172 may be controlled by the corresponding DU 170. In some scenarios, this configuration may enable the DU(s) 170 and CU 162 to be implemented in a cloud-based RAN architecture, such as a vRAN architecture.

[0054] The SMO framework 166 can be configured to support RAN deployment and provisioning of non-virtualized and virtualized network elements. For non-virtualized network elements, the SMO framework 166 can be configured to support deployment of dedicated physical resources related to RAN coverage requirements, which can be managed via an operation and maintenance interface (e.g., an O1 interface). For virtualized network elements, the SMO framework 166 can be configured to interact with a cloud computing platform (e.g., an open cloud (O-cloud) 176) via a cloud computing platform interface (e.g., an O2 interface) to perform network element lifecycle management (e.g., instantiate virtualized network elements). Such virtualized network elements can include, but are not limited to, the CU 162, the DU 170, the RU 172, and the quasi-RT RIC 164. In some implementations, the SMO framework 166 can communicate with hardware aspects of a 4G RAN, such as an open eNB (O-eNB) 174, via the O1 interface. Additionally, in some implementations, the SMO framework 166 can communicate directly with one or more RUs 172 via an O1 interface. The SMO framework 166 can also include a non-RT RIC 168 configured to support the functionality of the SMO framework 166.

[0055] The non-RT RIC 168 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 updates, or policy-based guidance of applications / features in the quasi-RT RIC 164. The non-RT RIC 168 may be coupled to or in communication with the quasi-RT RIC 164 (e.g., via an A1 interface). The quasi-RT RIC 164 may be configured to include logic functions that enable near-real-time control and optimization of RAN elements and resources through data collection and action via one or more CUs 162, one or more DUs 170, or both, and an interface connecting the O-eNB to the quasi-RT RIC 164 (e.g., via an E2 interface).

[0056] In some implementations, the non-RT RIC 168 may receive parameters or external enrichment information from an external server to generate the AI / ML models deployed to the quasi-RT RIC 164. Such information may be utilized by the quasi-RT RIC 164 or may be received at the SMO framework 166 or the non-RT RIC 168 from non-network data sources or from network functions. In some examples, the non-RT RIC 168 or the quasi-RT RIC 164 may be configured to adjust RAN behavior or performance. For example, the non-RT RIC 168 may employ AI / ML models to monitor long-term trends and patterns in performance and take corrective action through the SMO framework 166 (e.g., reconfiguration via O1) or through the creation of RAN management policies (e.g., A1 policies).

[0057] 2 is a component block diagram illustrating an exemplary computing and wireless modem system 200 suitable for implementing any of the various embodiments. The various embodiments may be implemented on a number of single-processor and multi-processor computer systems, including systems-on-chips (SOCs) or systems-in-packages (SIPs).

[0058] 1A-2 , the illustrated exemplary computing device 200 (which may be a SIP in some embodiments) includes two SOCs 202, 204 coupled to a clock 206, a voltage regulator 208, and a wireless transceiver 266 configured to transmit and receive wireless communications to and from a UE (e.g., 120a-120e) or network device (e.g., 110a-110d) via an antenna (not shown). In some implementations, the first SOC 202 may operate as a central processing unit (CPU) of the UE, executing instructions of a software application program by performing arithmetic, logic, control, and input / output (I / O) operations specified by the instructions. In some implementations, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing high-capacity, high-speed (e.g., 5 Gbps), and / or very short wavelength (e.g., 28 GHz mm-wave spectrum) communications.

[0059] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor 216, one or more coprocessors 218 (such as a vector coprocessor) connected to one or more of the processors, memory 220, custom circuitry 222, system components and resources 224, an interconnect / bus module 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) component 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple mmWave transceivers 256, memory 258, and various additional processors 260, such as application processors, packet processors, etc.

[0060] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independently of the other processors / cores. For example, a first SOC 202 may include a processor that runs a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor that runs a second type of operating system (e.g., MICROSOFT WINDOWS 10). Additionally, any or all of the processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).

[0061] The first SOC 202 and the second SOC 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 224 of the first SOC 202 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components used to support the processor and software client running on the UE. The system components and resources 224 and / or custom circuitry 222 may also include circuitry for interfacing with peripheral devices, such as cameras, electronic displays, wireless communication devices, external memory chips, etc.

[0062] The first SOC 202 and the second SOC 204 may communicate via an interconnect / bus module 250. The various processors 210, 212, 214, 216, 218 may be interconnected to one or more memory elements 220, system components and resources 224, custom circuitry 222, and a thermal management unit 232 via an interconnect / bus module 226. Similarly, the processor 252 may be interconnected to a power management unit 254, a mm-wave transceiver 256, memory 258, and various additional processors 260 via an interconnect / bus module 264. The interconnect / bus modules 226, 250, 264 may include arrays of reconfigurable logic gates and / or implement a bus architecture (e.g., CoreConnect, AMBA, etc.). Communication may occur via advanced interconnects such as high-performance networks-on-chip (NoCs).

[0063] The first SOC 202 and / or the second SOC 204 may further include input / output modules (not shown) for communicating with resources external to the SOC, such as a clock 206 and a voltage regulator 208. Resources external to the SOC (such as the clock 206 and the voltage regulator 208) may be shared by two or more of the internal SOC processors / cores.

[0064] In addition to the exemplary SIP 200 described above, some implementations may be realized in a wide variety of computing systems, which may include a single processor, multiple processors, multi-core processors, or any combination thereof.

[0065] 3 is a component block diagram illustrating a software architecture 300 including radio protocol stacks for user and control planes in wireless communications, suitable for implementing any of the various embodiments. Referring to FIGS. 1A-3, a UE 320 may implement software architecture 300 to facilitate communications between the UE 320 (e.g., UEs 120a-120e, 200) and a network device 350 (e.g., network devices 110a-110d) of a communications system (e.g., 100). In various embodiments, layers in software architecture 300 may form logical connections with corresponding layers in the software of network device 350. Software architecture 300 may be distributed among one or more processors (e.g., processors 212, 214, 216, 218, 252, 260). Although illustrated with respect to one radio protocol stack in a UE with multiple subscriber identity modules (SIMs), software architecture 300 may include multiple protocol stacks, each associated with a different SIM (e.g., two protocol stacks associated with each of the two SIMs in a dual-SIM wireless communication device). Although described below with respect to an LTE communication layer, software architecture 300 may support any of a variety of standards and protocols for wireless communication and / or may include additional protocol stacks supporting any of a variety of standards and protocols for wireless communication.

[0066] Software architecture 300 may include a non-access stratum (NAS) 302 and an access stratum (AS) 304. NAS 302 may include functions and protocols to support packet filtering, security management, mobility control, session management, and traffic and signaling between a UE's SIM(s) (e.g., SIM(s) 204) and its core network 140. AS 304 may include functions and protocols to support communication between a SIM(s) (e.g., SIM(s) 204) and supported access network entities (e.g., network devices, network nodes, RUs, base stations, etc.). Specifically, AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may include various sublayers.

[0067] In the user and control plane, Layer 1 (L1) of the AS 304 may be a physical layer (PHY) 306 that may oversee functions that enable transmission and / or reception over the air interface via a wireless transceiver (e.g., 266). Examples of such physical layer 306 functions may include cyclic redundancy check (CRC) attachment, coding blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, etc. The physical layer may include various logical channels, including a physical downlink control channel (PDCCH) and a physical downlink shared channel (PDSCH).

[0068] In the user and control planes, Layer 2 (L2) of the AS 304 may carry the link between the UE 320 and the network node 350 over the physical layer 306. In some implementations, Layer 2 may include a Medium Access Control (MAC) sublayer 308, a Radio Link Control (RLC) sublayer 310, and a Packet Data Convergence Protocol (PDCP) sublayer 312, and a Service Data Adaptation Protocol (SDAP) sublayer 317, each of which form a logical connection that terminates at the network node 350.

[0069] In the control plane, Layer 3 (L3) of the AS 304 may include a radio resource control (RRC) sublayer 3. Although not shown, the software architecture 300 may include additional Layer 3 sublayers, as well as various upper layers above Layer 3. In some implementations, the RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signaling connections between the UE 320 and the network node 350.

[0070] In various embodiments, the SDAP sublayer 317 may provide mapping between Quality of Service (QoS) flows and Data Radio Bearers (DRBs). In various implementations, the PDCP sublayer 312 may provide uplink functions including multiplexing between different radio bearers and logical channels, sequence numbering, handover data processing, integrity protection, ciphering, and header compression. In the downlink, the PDCP sublayer 312 may provide functions including in-order delivery of data packets, duplicate data packet detection, integrity verification, decryption, and header recovery.

[0071] In the uplink, the RLC sublayer 310 may provide segmentation and concatenation of upper layer data packets, retransmission of lost data packets, and automatic repeat request (ARQ). In the downlink, the RLC sublayer 310 functions may include reordering of data packets to compensate for out-of-order reception, reassembly of upper layer data packets, and ARQ.

[0072] In the uplink, the MAC sublayer 308 may provide functions including multiplexing between logical and transport channels, random access procedures, logical channel priorities, and Hybrid ARQ (HARQ) operations. In the downlink, MAC layer functions may include channel mapping within a cell, demultiplexing, discontinuous reception (DRX), and HARQ operations.

[0073] While the software architecture 300 may provide functionality for transmitting data over a physical medium, the software architecture 300 may further include at least one host layer 314 for providing data transfer services to various applications in the UE 320. In some implementations, the application-specific functionality provided by the at least one host layer 314 may provide an interface between the software architecture and a general-purpose processor (e.g., 202).

[0074] In other implementations, software architecture 300 may include one or more upper logical layers (e.g., transport, session, presentation, application) that provide host layer functionality. For example, in some implementations, software architecture 300 may include a network layer (e.g., an Internet Protocol (IP) layer) in which a logical connection terminates at a packet data network (PDN) gateway (PGW). In some implementations, software architecture 300 may include an application layer in which a logical connection terminates at another device (e.g., an end-user device, a server). In some implementations, software architecture 300 may further include a hardware interface 316 between physical layer 306 and communications hardware (e.g., one or more radio frequency (RF) transceivers) in AS 304.

[0075] In various network implementations or architectures, in the network device 350, the different logical layers 308-317 can be realized in an aggregated or monolithic base station architecture, or alternatively, in a disaggregated network device architecture, and the various logical layers can be implemented in one or more of a CU, DU, RU, quasi-RT RAN intelligent controller (RIC), or non-real-time (non-RT) RIC. Furthermore, the network device 350 can be implemented as an aggregated base station, as a disaggregated base station, as an integrated access and backhaul (IAB) node, as a relay node, as a sidelink node, etc.

[0076] 4A is a timing diagram illustrating a method 400a for managing uplink transmission latency according to various embodiments. In some embodiments, a modem (e.g., 252) of a UE (e.g., 120a-120e, 200, 320) can be configured to determine an appropriate traffic arrival time based on a determined CG frame pattern.

[0077] In some embodiments, uplink traffic (e.g., uplink traffic for online gaming or XR applications) may have a 4 ms uplink traffic period 402. In this example, the UE is configured by the communication network with a CG frame pattern 404 appropriate for the 4 ms uplink traffic period 402. In various embodiments, the UE (e.g., UE modem) may be configured to determine, for each of two or more initial offset times indicating a first uplink data arrival time at the UE modem, the average time between the uplink data arrival time at the UE modem in the CG frame pattern 404 and a subsequent uplink slot of the CG frame pattern.

[0078] For example, for a first initial offset time 406 ("offset #1"), the UE may determine uplink data arrival times 408a, 408b, 408c, 408d, and 408e. The UE may determine the amount of time (also referred to as the distance in slots or the distance in time amounts) between the uplink data arrival times 408a, 408b, 408c, 408d, and 408e and the corresponding uplink slots (U) 410a, 410b, 410c, 410d, and 410e that follow each of the uplink data arrival times 408a, 408b, 408c, 408d, and 408e. For example, the UE may determine that the amount of time between uplink data arrival time 408a and the subsequent uplink slot 410a is 3.25 ms 412a, the amount of time between uplink data arrival time 408b and the subsequent uplink slot 410b is 1.75 ms 412b, the amount of time between uplink data arrival time 408c and the subsequent uplink slot 410c is 2.75 ms 412c, the amount of time between uplink data arrival time 408d and the subsequent uplink slot 410d is 1.25 ms 412d, and the amount of time between uplink data arrival time 408e and the subsequent uplink slot 410e is 2.25 ms 412e. Based on the amount of time 412a-412e between the uplink data arrival times 408a-408e and the subsequent uplink slots 410a-410e, the UE can determine an average time 2.25 ms 414 that represents the average time between the uplink data arrival times 408a-408e at the UE modem during the CG frame pattern 404 and the subsequent uplink slots 410a-410e of the CG frame pattern 404.

[0079] Continuing with this example, for a second initial offset time 420 ("offset #2"), the UE may determine uplink data arrival times 422a, 422b, 422c, 422d, and 422e. The UE may determine the amount of time (also referred to as the distance in slots or the distance in time amounts) between the uplink data arrival times 422a, 422b, 422c, 422d, and 422e and the corresponding uplink slots (U) 424a, 424b, 424c, 424d, and 424e that follow each of the uplink data arrival times 422a, 422b, 422c, 422d, and 422e. For example, the UE may determine that the amount of time between uplink data arrival time 422a and the subsequent uplink slot 424a is 4.75 ms 426a, the amount of time between uplink data arrival time 422b and the subsequent uplink slot 424b is 3.25 ms 426b, the amount of time between uplink data arrival time 422c and the subsequent uplink slot 424c is 4.25 ms 426c, the amount of time between uplink data arrival time 422d and the subsequent uplink slot 424d is 2.75 ms 426d, and the amount of time between uplink data arrival time 422e and the subsequent uplink slot 424e is 3.75 ms 426e. Based on the amount of time 426a-426e between the uplink data arrival times 422a-422e and the subsequent uplink slots 424a-424e, the UE can determine an average time of 3.75 ms 428 that represents the average time between the uplink data arrival times 422a-422e at the UE modem during the CG frame pattern 404 and the subsequent uplink slots 424a-424e of the CG frame pattern 404.

[0080] The UE may determine that the shortest average time (2.25 ms 414) is associated with the first initial offset time 406 (offset #1). The UE may select the initial offset time (i.e., the initial offset time 406) corresponding to the shortest average time from among the two initial offset times 406, 420. In some embodiments, the UE modem may provide the selected initial offset time 406 to an application running in the UE that transmits uplink data to the UE modem. The UE modem may receive the uplink data for transmission to the communication network according to the selected initial offset time 406. For simplicity and clarity, operations performed by the UE with respect to two offset times (406, 420) are shown in FIG. 4A , but this is not intended as a limitation as the UE may perform similar operations for more offset times.

[0081] In some embodiments, the UE modem can be configured to calculate the average time (e.g., 414, 428) between the uplink data arrival time at the UE modem during the CG frame pattern and the subsequent uplink slot of the CG frame pattern as a function of the initial offset time. In some embodiments, this calculation can be expressed as avgDistance=f(initialOffset), where avgDistance represents the average time and initialOffset represents the initial offset time. In such embodiments, the UE modem can calculate the number (N) of uplink data arrival times (N_arrivalTimes) that occur during the CG frame pattern. Each arrival time can be represented as j from 1 to N_arrivalTimes. The UE modem can calculate the timing (e.g., slot position, or slot timing) of each arrival time j relative to the start of the CG frame pattern, which is Pos_j=initialOffset+(j-1) *The UE modem may calculate the distance dj from each Pos_j to the subsequent uplink slot (CG uplink opportunity). In some embodiments, the subsequent uplink slot may be at least k2min slots after Pos_j. The UE modem's calculation of the average time between the uplink data arrival time at the UE modem during a CG frame pattern and the subsequent uplink slot of the CG frame pattern may be expressed as avgDistance=(Σdj) / N_arrivalTimes.

[0082] In some embodiments, the UE modem may calculate avgDistance(i) for all possible initial offsets (i) during the uplink traffic period. In some embodiments, the uplink data arrival time may be periodic according to the traffic period of uplink data transmitted by an application to the UE modem. In some embodiments, the UE modem may calculate the uplink data arrival time using a fixed step (e.g., 1 slot) or a configurable step that may be provided by the application. In such embodiments, the UE modem may receive from the application an indication of the timing of each of two or more initial offset times based on the traffic period of the uplink data. In some embodiments, the UE modem may receive from the application an indication of the possible timing of each possible initial offset. For example, if the uplink data traffic period is 4 ms, the possible initial offsets may be {0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5}. In some embodiments, each of the two or more offset times may correspond to a traffic period of uplink data.

[0083] In some embodiments, the UE modem may provide one or more parameters to the application via a cross-layer application programming interface (API), such as a selected initial offset and / or an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern. In response to receiving the one or more parameters, the application may adjust the timing of the uplink data provided to the modem, such as by adjusting the initial offset timing. In some embodiments, the application may select an initial offset that reduces the average time. In some embodiments, the application may select an initial offset that minimizes the average time.

[0084] 4B is a timing diagram illustrating a method 400b for managing uplink transmission latency according to various embodiments. In some embodiments, a modem (e.g., 252) of a UE (e.g., 120a-120e, 200, 320) can be configured to determine an appropriate CG frame pattern based on determined uplink traffic arrival time(s).

[0085] In some embodiments of method 400b, uplink traffic (e.g., uplink traffic for online gaming or XR applications) may include a 4 ms uplink traffic period 402. In this example, the UE (e.g., UE modem) may be configured to determine the average time between the uplink data arrival time at the UE modem and a subsequent uplink slot of two or more CG frame patterns, such as first CG frame pattern 450 and second CG frame pattern 452. CG frame patterns 450 and 452 may each include a 20 ms outer cycle, but each may have a different inner cycle. For example, CG frame pattern 550 may include an inner cycle having a first portion (#1) of 2 ms, a second portion (#2) of 5 ms, a third portion (#3) of 2.5 ms, etc., as shown, and CG frame pattern 452 may have a first portion (#1) of 4.5 ms, a second portion (#2) of 2.5 ms, a third portion (#3) of 5 ms, etc., as shown.

[0086] In some embodiments, the UE may use the same initial offset time 454 for each of the CG frame patterns 450 and 452. The uplink data traffic may have an uplink traffic period 456 of 4 ms. In various embodiments, the UE (e.g., the UE modem) may be configured to determine the average time between the uplink data arrival time at the UE modem during the CG frame patterns 450 and 452 and the subsequent uplink slot of the CG frame patterns 450 and 452.

[0087] For example, for the first CG frame pattern 450, the UE can determine uplink data arrival times 458a, 458b, 458c, 458d, and 458e and corresponding uplink slots (U) 460a, 460b, 460c, 460d, and 460e following each of the uplink data arrival times. For example, the UE may determine that the amount of time between uplink data arrival time 458a and the subsequent uplink slot 460a is 3.25 ms 462a, the amount of time between uplink data arrival time 458b and the subsequent uplink slot 460b is 1.75 ms 462b, the amount of time between uplink data arrival time 458c and the subsequent uplink slot 460c is 2.75 ms 462c, the amount of time between uplink data arrival time 458d and the subsequent uplink slot 460d is 1.25 ms 462d, and the amount of time between uplink data arrival time 458e and the subsequent uplink slot 460e is 2.25 ms 462e. Based on the amount of time 462a-462e between the uplink data arrival times 458a-458e and the subsequent uplink slots 460a-460e, the UE can determine an average time of 2.25 ms 464 representing the average time between the uplink data arrival times 458a-458e at the UE modem and the subsequent uplink slots 460a-460e of the first CG frame pattern 450.

[0088] Continuing with this example, for the second CG frame pattern 452, the UE can determine uplink data arrival times 468a, 468b, 468c, 468d, and 468e and corresponding uplink slots (U) 470a, 470b, 470c, 470d, and 470e following each of the uplink data arrival times 468a, 468b, 468c, 468d, and 468e. For example, the UE may determine that the amount of time between uplink data arrival time 468a and the subsequent uplink slot 470a is 0.75 ms 472a, the amount of time between uplink data arrival time 468b and the subsequent uplink slot 470b is 4.25 ms 472b, the amount of time between uplink data arrival time 468c and the subsequent uplink slot 470c is 2.75 ms 472c, the amount of time between uplink data arrival time 468d and the subsequent uplink slot 470d is 3.75 ms 472d, and the amount of time between uplink data arrival time 468e and the subsequent uplink slot 470e is 4.75 ms 472e. Based on the amount of time 472a-472e between the uplink data arrival times 468a-468e and the subsequent uplink slots 470a-470e, the UE can determine an average time of 3.25 ms 474 that represents the average time between the uplink data arrival times 468a-468e at the UE modem and the subsequent uplink slots 470a-470e of the second CG frame pattern 452.

[0089] The UE may determine that the shortest average time (2.25 ms 464) is associated with the first GC frame pattern 450. The UE may select the CG frame pattern 450 corresponding to the shortest average time 464 from among two or more CG frame patterns (e.g., 450, 452). In some embodiments, the UE modem may transmit an indication of the selected CG frame pattern 450 to the communication network to enable the UE to transmit uplink data to the communication network according to the selected CG frame pattern. The UE modem may receive a configuration message from the communication network indicating the selected CG frame pattern. Based on the received configuration message, the UE modem may transmit uplink data in a communication message according to the selected CG frame pattern. For brevity and clarity, operations performed by the UE with respect to two CG frame patterns (450, 452) are shown in FIG. 4B, but this is not intended as a limitation, as the UE may perform similar operations for more CG frame patterns.

[0090] In some embodiments, the UE modem can be configured to calculate the length (duration) of the CG frame pattern (CG Length) as the least common multiple of the length (duration) of the CG frame pattern (e.g., 2.5 ms for a DDDSU pattern) and the uplink data traffic period. In some embodiments, the UE modem can initialize (generate) a bitmap (CG_Bitmap) having a length indicating the number of uplink (U) slots during the period of the CG frame pattern. The generated bitmap can indicate a selected CG frame pattern. In some embodiments, each bit in the bitmap can represent a candidate slot for CG uplink transmission in the CG frame pattern. The UE modem can calculate the number (N) of arrival times of uplink data that can occur during the period of the CG frame pattern (N_arrivalTimes). In some embodiments, for each arrival time j (from 1 to N_arrivalTimes), the UE modem can calculate the timing of each arrival time j relative to the start of the CG frame pattern, which is Pos_j=InitialOffset+(j-1) * In some embodiments, the UE modem can determine the next uplink (U) slot that is at least k2min slots after Pos_j (modulo the length of the CG frame pattern). In some embodiments, the UE modem can set the corresponding bit in the CG_Bitmap to 1.

[0091] In some embodiments, the UE modem can determine the length of each of the two or more CG patterns based on the frame pattern length and the uplink data traffic duration. In some embodiments, the UE modem can receive a CG frame pattern configuration from the communication network following transmission of the selected CG frame pattern to the communication network, for example, via an RRC reconfiguration message. In some embodiments, the communication network can use a bitmap (including the bitmap length) for the configuration of the CG frame pattern. In some embodiments, the UE modem can transmit the CG frame pattern length and the bitmap indicating the CG frame pattern to the communication network. In some embodiments, the UE modem can transmit the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.

[0092] 5A is a process flow diagram illustrating a method 500a that may be performed by a processor of a modem of a UE for managing uplink transmission latency in accordance with various embodiments. With reference to FIGS. 1A-5A, means for performing the operations of method 500a may include a UE modem processor (e.g., processor 252) or another suitable processor (e.g., processor 210, 212, 214, 216, 218, 260, etc.) of a UE (e.g., UE 120a-120e, 200, 320, 420, etc.), generally referred to herein as a “processor.”

[0093] In block 502, the processor may determine, for each of two or more initial offset times indicating a first uplink data arrival time at the UE modem after the start of a CG frame pattern configured in the UE, an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern. In some embodiments, the average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern may include an average amount of slots in the CG frame pattern. In some embodiments, the CG frame pattern may be non-uniform. In some embodiments, the uplink data arrival time may be periodic according to a traffic period of uplink data transmitted by an application to the UE modem. In some embodiments, each of the two or more offset times may correspond to a traffic period of uplink data.

[0094] In block 504, the processor may select, from among two or more initial offset times, the initial offset time corresponding to the shortest average time.

[0095] At block 506, the processor may receive uplink data at the UE modem for transmission to the communication network according to the selected initial offset time.

[0096] 5B is a process flow diagram illustrating operations 500b that may be performed by a processor of a modem of a UE as part of a method 500a for managing uplink transmission latency according to various embodiments. With reference to FIGS. 1A-5B, means for performing operations 500b may include a UE modem processor (e.g., processor 252) or another suitable processor (e.g., processor 210, 212, 214, 216, 218, 260, etc.) of a UE (e.g., UE 120a-120e, 200, 320, 420, etc.), generally referred to herein as a “processor.”

[0097] At block 510, the processor may receive from the application an indication of the timing of each of two or more initial offset times based on an uplink data traffic period. In some embodiments, the modem may receive from the application an indication of the possible timing of each possible initial offset. For example, if the uplink data traffic period is 4 ms, the possible initial offsets may be {0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5}. In some embodiments, each of the two or more offset times may correspond to an uplink data traffic period.

[0098] As described, in block 502, the processor may determine, for each of two or more initial offset times indicating a first uplink data arrival time at the UE modem after the start of a CG frame pattern configured in the UE, an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern.

[0099] 5C is a process flow diagram illustrating operations 500c that may be performed by a processor of a modem of a UE as part of a method 500a for managing uplink transmission latency according to various embodiments. With reference to FIGS. 1A-5C, means for performing operations 500c may include a UE modem processor (e.g., processor 252) or another suitable processor (e.g., processor 210, 212, 214, 216, 218, 260, etc.) of a UE (e.g., UE 120a-120e, 200, 320, 420, etc.), generally referred to herein as a “processor.”

[0100] After the processor selects the initial offset time corresponding to the shortest average time from among the two or more initial offset times in block 504 as described, the processor may provide the initial offset time selected by the UE modem to an application running in the UE in block 520.

[0101] In block 522, the processor may receive uplink data from an application at the UE modem according to the selected initial offset time.

[0102] 6A is a process flow diagram illustrating a method 600a that may be performed by a processor of a modem of a UE for managing uplink transmission latency in accordance with various embodiments. With reference to FIGS. 1A-6A, means for performing the operations of method 600a may include a UE modem processor (e.g., processor 252) or another suitable processor (e.g., processor 210, 212, 214, 216, 218, 260, etc.) of a UE (e.g., UEs 120a-120e, 200, 320, 420, etc.), generally referred to herein as a “processor.”

[0103] In block 602, the processor may determine, by the UE modem for each of the two or more CG frame patterns, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern. In some embodiments, the processor may determine the length of each of the two or more CG patterns based on the length of the frame pattern and the traffic duration of the uplink data.

[0104] In block 604, the processor may select, from among two or more CG frame patterns, the CG frame pattern corresponding to the shortest average time.

[0105] At block 606, the processor may transmit the selected CG frame pattern to the communication network to enable transmission of uplink data to the communication network in accordance with the selected CG frame pattern. In some embodiments, the processor may transmit a length of the CG frame pattern and a bitmap indicating the CG frame pattern to the communication network. In some embodiments, the processor may transmit the selected CG frame pattern to the communication network via L3 signaling (e.g., via RRC UE assistance information) or via L2 signaling (e.g., via a MAC Control Element (MAC CE)).

[0106] 6B is a process flow diagram illustrating operations 600b that may be performed by a processor of a UE modem as part of a method 600a for managing uplink transmission latency according to various embodiments. With reference to FIGS. 1A-6B, means for performing operations 600b may include a UE modem processor (e.g., processor 252) or another suitable processor (e.g., processor 210, 212, 214, 216, 218, 260, etc.) of a UE (e.g., UE 120a-120e, 200, 320, 420, etc.), generally referred to herein as a “processor.”

[0107] As described, after transmitting the selected CG frame pattern to the communication network in block 606 to enable transmission of uplink data to the communication network in accordance with the selected CG frame pattern, the processor may receive a CG frame pattern configuration from the communication network in block 610 following transmission of the selected CG frame pattern to the communication network.

[0108] FIG. 7 is a component block diagram of a UE 700 suitable for use with various embodiments. Referring to FIGS. 1A-7, various embodiments may be implemented on various UEs 700 (e.g., UEs 120a-120e, 200, 320, 420), one example of which is shown in FIG. 7 in the form of a smartphone. The UE 700 may include a first SOC 202 (e.g., a SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-enabled SOC). The first SOC 202 and the second SOC 204 may be coupled to internal memory 716, a display 712, and a speaker 714. Additionally, the UE 700 may include an antenna 704 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless transceiver 266 coupled to one or more processors within the first SOC 202 and / or second SOC 204. The UE 700 may include a menu selection button or rocker switch 720 for receiving user input. The UE 700 may include a voice encoding / decoding (CODEC) circuit 710 that digitizes voice received from a microphone into data packets suitable for wireless transmission and decodes the received voice data packets to generate analog signals that are provided to a speaker to generate voice. One or more of the processors in the first SOC 202 and second SOC 204, the wireless transceiver 266, and the CODEC 710 may include digital signal processor (DSP) circuitry (not shown separately).

[0109] FIG. 8 is a component block diagram of a network device suitable for use with various embodiments. Such a network device (e.g., network devices 110a-110d, 350, 406, 410, 414) may include at least the components shown in FIG. 8. Referring to FIGS. 1A-8, network device 800 typically includes a processor 801 coupled to volatile memory 802 and mass non-volatile memory, such as a disk drive 808. Network device 800 may also include a peripheral memory access device 806, such as a floppy disk drive, compact disc (CD) drive, or digital video disc (DVD) drive, coupled to processor 801. Network device 800 may also include a network access port 804 (or interface) coupled to processor 801 for establishing a data connection with a network, such as the Internet or a local area network coupled to other system computers and servers. Network device 800 may include one or more antennas 807 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless communications link. The network device 800 may include additional access ports such as USB, Firewire, Thunderbolt, etc. for coupling to peripherals, external memory, or other devices.

[0110] The processors of the UE 700 and network device 800 may be any programmable microprocessor, microcomputer, or multiple processor chip(s) that can be configured by software instructions (applications) to perform various functions, including the functions of some implementations described below. In some wireless devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions in SOC 204 and one processor dedicated to running other applications in SOC 202. Software applications may be stored in memory 716, 808 before they are accessed and loaded into the processors. The processors may include sufficient internal memory to store application software instructions.

[0111] The various embodiments shown and described are provided merely as examples to illustrate various features of the claims. However, features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiment and may be used with or combined with other embodiments shown and described. Moreover, the claims are not limited by any single exemplary embodiment. For example, one or more of the methods and operations disclosed herein can be substituted for or combined with one or more of the methods and operations disclosed herein.

[0112] Example implementations are described in the following paragraphs. Although some of the following implementation examples are described with reference to example methods, further example implementations may include the example methods described in the following paragraphs executed by a UE including a processor (e.g., a modem processor) configured with processor-executable instructions for performing the operations of the methods of the following implementation examples, the example methods described in the following paragraphs executed by a UE including means for performing the functions of the methods of the following implementation examples, and the example methods described in the following paragraphs may be implemented as a non-transitory processor-readable storage medium storing processor-executable instructions configured to cause a processor (e.g., a modem processor) of a UE to perform the operations of the methods of the following implementation examples.

[0113] Example 1. A method for managing uplink transmission latency, the method comprising: for each of two or more initial offset times indicating a first uplink data arrival time at a UE modem after the start of a configured grant (CG) frame pattern configured in a user equipment (UE), determining an average time between the uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern; selecting an initial offset time from among the two or more initial offset times that corresponds to the shortest average time; and receiving uplink data at the UE modem for transmission to a communication network in accordance with the selected initial offset time.

[0114] Example 2. The method of example 1, wherein the average time between the uplink data arrival time at the UE modem during a CG frame pattern and a subsequent uplink slot of the CG frame pattern comprises an average amount of slots of the CG frame pattern.

[0115] Example 3. The method of example 1 or example 2, wherein the CG frame pattern is non-uniform.

[0116] Example 4. The method according to any one of Examples 1 to 3, wherein the uplink data arrival time is periodic according to the traffic period of the uplink data transmitted by the application to the UE modem.

[0117] Example 5. The method of example 4, further comprising receiving, by the UE modem from the application, an indication of the timing of each of the two or more initial offset times based on an uplink data traffic period.

[0118] Example 6. The method of any one of Examples 1 to 5, wherein each of the two or more offset times corresponds to a traffic period of uplink data.

[0119] Example 7. The method of any one of Examples 1 to 6, wherein receiving uplink data at the UE modem for transmission to the communication network according to the selected initial offset time includes providing the selected initial offset time by the UE modem to an application running at the UE, and receiving the uplink data from the application at the UE modem according to the selected initial offset time.

[0120] Example 8. A method for managing uplink transmission latency, comprising: determining, by a user equipment (UE) modem for each of two or more configured grant (CG) frame patterns, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern; selecting, from among the two or more CG frame patterns, a CG frame pattern corresponding to the shortest average time; and transmitting the selected CG frame pattern to a communications network to enable transmission of uplink data to the communications network in accordance with the selected CG frame pattern.

[0121] Example 9. The method of Example 8, wherein for each of the two or more CG patterns, determining the average time between the uplink data arrival time at the UE modem and the subsequent CG of each CG pattern includes determining the length of each of the two or more CG patterns based on the length of the frame pattern and the traffic duration of the uplink data.

[0122] Example 10. The method of example 8 or 9, further comprising receiving a CG frame pattern configuration from the communication network subsequent to transmitting the selected CG frame pattern to the communication network.

[0123] Example 11. A method according to any one of Examples 8 to 10, wherein transmitting the selected CG frame pattern to the communication network includes transmitting the length of the CG frame pattern and a bitmap indicating the CG frame pattern to the communication network.

[0124] Example 12. The method of any one of Examples 8 to 11, wherein transmitting the selected CG frame pattern to the communication network includes transmitting the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.

[0125] As used herein, terms such as “component,” “module,” and “system” are intended to include, but are not limited to, computer-related entities, such as hardware, firmware, a combination of hardware and software, software, or software in execution, configured to perform particular operations or functions. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, or a computer. By way of example, both an application running on a wireless device and the wireless device may be referred to as a component. One or more components may reside within a process or thread of execution, and a component may be local to one processor or core or distributed among two or more processors or cores. In addition, these components may execute from various non-transitory computer-readable media having various instructions or data structures stored thereon. Components may communicate via local or remote processes, function or procedure calls, electronic signals, data packets, memory read / writes, and other known network-, computer-, processor-, or process-related communication methods.

[0126] Several different cellular and mobile communication services and standards are available or are contemplated in the future, all of which may implement and benefit from various embodiments, such as, for example, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, third generation wireless mobile communication technologies (3G), fourth generation wireless mobile communication technologies (4G), fifth generation wireless mobile communication technologies (5G), and later generations of 3GPP technologies, Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (e.g., cdmaOne, CDMA1020®), Enhanced Data Rates for GSM Evolution (EDGE), Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolution Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), and others. Examples of technologies include Direct Connectivity (DECT), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I & II (WPA, WPA2), and Integrated Digital Enhanced Network (iDEN). Each of these technologies involves, for example, the transmission and reception of voice, data, signaling, and / or content messages. It should be understood that any reference to terminology and / or technical details relating to a particular telecommunications standard or technology is for illustrative purposes only and does not limit the scope of the claims to any particular communications system or technology unless specifically recited in the claim language.

[0127] The above method descriptions and process flow diagrams are provided as illustrative examples only and do not require or imply that the operations of the various embodiments must be performed in the order presented. As will be understood by one of ordinary skill in the art, the order of operations in the above-described embodiments may be performed in any order. Terms such as "thereafter," "then," and "next" do not limit the order of operations. These terms are used to guide the reader through the method descriptions. Furthermore, any reference to claim elements in the singular, for example, using the articles "a," "an," or "the," should not be construed as limiting the element to the singular.

[0128] The various illustrative logical blocks, modules, components, circuits, and algorithmic operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, the various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in varying ways for each particular application, and such implementation decisions should not be interpreted as causing a departure from the scope of the claims.

[0129] The hardware used to implement the various exemplary logic, logic blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed using general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of receiver smart objects, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry specific to a given function.

[0130] In one or more embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. Operations of a method or algorithm disclosed herein may be embodied in a processor-executable software module or processor-executable instructions, which may reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium may be any storage medium that can be accessed by a computer or processor. By way of example, and not limitation, such non-transitory computer-readable or processor-readable storage medium may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage smart objects, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. As used herein, disk and disc include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where disks typically reproduce data magnetically while discs reproduce data optically using lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Furthermore, the operations of a method or algorithm may reside as one or any combination or set of code and / or instructions on a non-transitory processor-readable storage medium and / or a non-transitory computer-readable storage medium, which may be incorporated into a computer program product.

[0131] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.

Claims

1. 1. A method for managing uplink transmission latency, comprising: For each of two or more initial offset times indicating a first uplink data arrival time at a user equipment (UE) modem after the start of a configured grant (CG) frame pattern configured in the UE, determining an average time between an uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern; selecting an initial offset time corresponding to the shortest average time from the two or more initial offset times; receiving uplink data at the UE modem for transmission to a communications network according to the selected initial offset time; A method comprising:

2. 2. The method of claim 1, wherein the average time between an uplink data arrival time at the UE modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern comprises an average amount of slots of the CG frame pattern.

3. The method of claim 1 , wherein the CG frame pattern is non-uniform.

4. The method of claim 1 , wherein the uplink data arrival time is periodic according to a traffic period of the uplink data transmitted by an application to the UE modem.

5. 5. The method of claim 4, further comprising receiving, by the UE modem, from the application, an indication of the timing of each of the two or more initial offset times based on the traffic period of the uplink data.

6. The method of claim 1 , wherein each of the two or more offset times corresponds to a traffic period of the uplink data.

7. receiving the uplink data at the UE modem for transmission to the communications network in accordance with the selected initial offset time; providing the selected initial offset time by the UE modem to an application running on the UE; receiving the uplink data from the application at the UE modem according to the selected initial offset time; Including, The method of claim 1.

8. A user equipment (UE), A transceiver; an application processor; a modem coupled to the transceiver and the application processor; wherein the modem For each of two or more initial offset times indicating a first uplink data arrival time at the modem after a start of a configured grant (CG) frame pattern configured in the UE, determine an average time between uplink data received from the application processor during the CG frame pattern and a subsequent uplink slot of the CG frame pattern; selecting an initial offset time corresponding to the shortest average time from the two or more initial offset times; receiving uplink data from the application processor for transmission to a communications network in accordance with the selected initial offset time; It is configured as follows: UE.

9. 9. The UE of claim 8, wherein the average time between uplink data arrival time at the modem during the CG frame pattern and a subsequent uplink slot of the CG frame pattern comprises an average amount of slots of the CG frame pattern.

10. The UE of claim 8 , wherein the CG frame pattern is non-uniform.

11. 9. The UE of claim 8, wherein the uplink data arrival times are periodic according to a traffic period of the uplink data provided to the modem by an application running on the application processor.

12. 12. The UE of claim 11, wherein the modem is further configured to receive from the application an indication of timing of each of the two or more initial offset times based on the traffic period of the uplink data.

13. The UE of claim 8 , wherein each of the two or more offset times corresponds to a traffic period of the uplink data.

14. 9. The UE of claim 8, wherein the modem is further configured to provide the initial offset time selected by the modem to an application running on the application processor.

15. 1. A method for managing uplink transmission latency, comprising: determining, by a user equipment (UE) modem for each of two or more configured grant (CG) frame patterns, an average time between an uplink data arrival time at the UE modem and a subsequent uplink slot of the CG frame pattern; selecting a CG frame pattern corresponding to the shortest average time from the two or more CG frame patterns; transmitting the selected CG frame pattern to the communications network to enable transmission of uplink data to the communications network in accordance with the selected CG frame pattern; A method comprising:

16. 16. The method of claim 15, wherein for each of the two or more CG patterns, determining the average time between an uplink data arrival time at the UE modem and the subsequent CG of each CG pattern comprises determining a length of each of the two or more CG patterns based on a length of a frame pattern and a traffic period of the uplink data.

17. 16. The method of claim 15, further comprising receiving a CG frame pattern configuration from the communication network subsequent to transmitting the selected CG frame pattern to the communication network.

18. 16. The method of claim 15, wherein transmitting the selected CG frame pattern to the communications network includes transmitting a length of the CG frame pattern and a bitmap indicative of the CG frame pattern to the communications network.

19. 16. The method of claim 15, wherein transmitting the selected CG frame pattern to the communication network comprises transmitting the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.

20. A user equipment (UE), A transceiver; an application processor; a modem coupled to the transceiver and the application processor; wherein the modem determining, for each of two or more configured grant (CG) frame patterns, an average time between an uplink data arrival time at said modem and a subsequent uplink slot of said CG frame pattern; selecting a CG frame pattern corresponding to the shortest average time from the two or more CG frame patterns; transmitting the selected CG frame pattern to the communications network to enable transmission of uplink data to the communications network in accordance with the selected CG frame pattern; It is configured as follows: UE.

21. 21. The UE of claim 20, wherein the modem is further configured to determine the average time between an uplink data arrival time at the modem and the subsequent CG of each CG pattern by determining, for each of the two or more CG patterns, a length of each of the two or more CG patterns based on a length of a frame pattern and a traffic period of the uplink data.

22. 21. The UE of claim 20, wherein the modem is further configured to receive a CG frame pattern configuration from the communication network subsequent to transmitting the selected CG frame pattern to the communication network.

23. 21. The UE of claim 20, wherein the modem is further configured to transmit the selected CG frame pattern to the communication network as a bitmap indicating the length of the CG frame pattern and the CG frame pattern.

24. 21. The UE of claim 20, wherein the modem is further configured to transmit the selected CG frame pattern to the communication network via L3 signaling or L2 signaling.