Techniques to support predictive scheduling for low latency communications
Predictive scheduling in 5G networks using machine learning to project resource demands addresses the inefficiencies of existing techniques, reducing latency and improving resource utilization, thereby enhancing the performance and usability of telecommunications systems.
Patent Information
- Application Number
- PCT/US2024/037818
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-13
- Filing Date
- 2024-07-12
- Publication Date
- 2025-01-16
AI Technical Summary
Existing techniques for low latency communications in 5G networks fail to adapt dynamically to varying traffic, leading to inefficiencies such as excessive resource allocation, poor resource utilization, and increased latency, which limits the usability and applicability of telecommunications systems.
The implementation of predictive scheduling techniques that utilize machine learning models to project resource demands, allowing for proactive resource requests based on predicted traffic patterns, including the use of scheduling requests and buffer status reports to request resources before data packets arrive in the buffer, and conditional multiple grants to optimize resource allocation.
This approach reduces average data buffer size and uplink latency, improving accessibility and resource utilization, and enhancing the capabilities of telecommunications systems by enabling more efficient and responsive communication.
Smart Images

Figure US2024037818_16012025_PF_FP_ABST
Abstract
Description
TECHNIQUES TO SUPPORT PREDICTIVE SCHEDULING FOR LOW LATENCYCOMMUNICATIONSCROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit and priority to U.S. Provisional Application No. 63 / 513,416, filed July 13, 2023, entitled “Techniques to Support Predictive Scheduling for Low Latency Communications.” The content of which is incorporated herein by reference in its entirety.FIELD OF DISCLOSURE
[0002] This disclosure related generally to wireless technology and more particularly to techniques to support predictive scheduling for low latency communications.BACKGROUND
[0003] In telecommunications, 5G is the fifth-generation technology standard for broadband cellular networks. Like its predecessors, 5G networks are cellular networks, in which the service area is divided into small geographical areas called network cells (or cells). The 3rd Generation Partnership Project (3GPP) is the industry consortium that sets standards for 5G. One of the techniques supported by 5G includes low latency communications, such as ultra reliable low latency communications (URLLC). Generally, URLLC refers to using the network for mission critical applications that require uninterrupted and robust data exchange. For example, mission critical applications may include one or more of public safety, remote diagnosis / surgery, emergency response, autonomous driving, industrial automation, and smart energy / grid. Oftentimes, URLLC requires an availability greater than 99.999% and an end-to-end system delay not exceeding 5 milliseconds. Other uses for low latency communications may include extended reality, cloud gaming, streaming, and haptic communications.BRIEF SUMMARY
[0004] Processes, machines, and articles of manufacture for supporting predictive scheduling in low latency communications are described. It will be appreciated that the embodiments may be combined in any number of ways without departing from the scope of this disclosure.
[0005] Embodiments may include determining a projected resource demand for uplink wireless communications, the projected resource demand for uplink wireless communications determined with a machine learning (ML) model trained on historical resource demands for uplink wireless communications by one or more UEs; transmitting a resource request message comprising an indication of the projected resource demand for uplink wireless communications to a base station (BS); and identifying a resource grant including granted resources corresponding to the projected resource demand for uplink wireless communications.
[0006] Embodiments may include identifying historical resource demands for uplink wireless communications of a user equipment (UE); training a machine learning model to determine projected resource demands for uplink wireless communications of the UE; transmitting the ML model to the UE; identifying an indication of a projected resource demand for uplink wireless communications of the UE in a resource request message; and granting resources to the UE based on the projected resource demand for wireless communications of the UE.
[0007] Other processes, machines, and articles of manufacture are also described hereby, which may be combined in any number of ways, such as with the embodiments of the brief summary, without departing from the scope of this disclosure.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced.
[0009] FIG. 1 illustrates an example wireless communication system according to some embodiments.
[0010] FIG. 2 illustrates a base station (BS) in communication with a user equipment (UE) device according to some embodiments.
[0011] FIG. 3 illustrates an example block diagram of a UE according to some embodiments.
[0012] FIG. 4 illustrates an example block diagram of a BS according to some embodiments.
[0013] FIG. 5 illustrates an example block diagram of cellular communication circuitry according to some embodiments.
[0014] FIG. 6 illustrates an example block diagram of a network message according to some embodiments.
[0015] FIG. 7 illustrates an exemplary block diagrams of a UE in conjunction with a BS according to some embodiments.
[0016] FIG. 8 illustrates a process diagram for predictive scheduling according to some embodiments.
[0017] FIG. 9 illustrates various aspects of predictive scheduling according to some embodiments.
[0018] FIG. 10 illustrates an exemplary operational configuration for predictive scheduling according to some embodiments.
[0019] FIGS. 11 A and 1 IB illustrate exemplary operational configurations for predictive scheduling according to some embodiments.
[0020] FIG. 12 illustrates an exemplary flow chart for predictive scheduling according to some embodiments.
[0021] FIG. 13 illustrates a process diagram for predictive scheduling according to some embodiments.
[0022] FIG. 14 illustrates a logic flow of an exemplary technique for predictive scheduling at a UE according to some embodiments.
[0023] FIG. 15 illustrates a logic flow of an exemplary technique for predictive scheduling at a UE according to some embodiments.DETAILED DESCRIPTION
[0024] Generally, this disclosure describes techniques to support predictive scheduling for low latency communications. More specifically, embodiments are directed to utilizing projected resource demands to reduce scheduling latency. In the following description, numerous specific details are set forth to provide thorough explanation of embodiments of the present disclosure. It will be apparent, however, to one skilled in the art, that embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known components, structures, and techniques have not been shown in detail in order not to obscure the understanding of this description.
[0025] Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.
[0026] In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. “Coupled” may be used to indicate that two or more elements, which may or may not be in direct physical or electrical contact with each other, co-operate or interact with each other. “Connected” may be used to indicate the establishment of communication between two or more elements that are coupled with each other.
[0027] The processes depicted in the figures that follow, are performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, et cetera), software (such as is run on a general-purpose computer system or a dedicated machine), or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in different order. Moreover, some operations may be performed in parallel rather than sequentially.
[0028] The terms “server,” “client,” and “device” are intended to refer generally to data processing systems rather than specifically to a particular form factor for the server, client, and / or device.
[0029] Existing techniques for low latency communications fail to provide the ability to adapt to dynamically varying traffic. For example, scheduling of resources is performed in a reactive manner that waits until data packets are in a buffer before requesting resources for transmitting the data packets. Adding further complexity, oftentimes low latency communications applications require uplink communications for varying packet data unit size with possible jitter. Further, the uplink communications may periodic, quasi-periodic, or nonperiodic. Uplink communications with low latency may be required for applications such as gaming, video streaming, autonomous driving, and the like. However, granting uplink resources for such applications with existing techniques (e.g., semi -persistent scheduling, grant free access, or proactive grants) results in numerous inefficiencies, such as excessive resource allocation, poor resource utilization, inflated overhead, andexcessive latency. These limitations can drastically reduce the usability and applicability of telecommunication systems, contributing to poor user experiences and inefficient systems, devices, and techniques with limited capabilities.
[0030] Accordingly, many embodiments disclosed hereby provide resource-efficient techniques to adapt to dynamically varying traffic using predictive scheduling. Various embodiments may project resource demands and request resources based on the projected resource demands. For example, embodiments may utilize scheduling requests (SRs) and / or buffer status reports (BSRs) to proactively request resources from a base station based on predicted traffic, such as predicted traffic at the time that uplink resource grants are expected. In some embodiments conditional multiple grants may be utilized. For example, multiple grants may be configured simultaneously, and the later grants may be used by the UE only if it cannot fully utilize the previous grants. In many embodiments, only one of the multiple grants may be utilized for uplink transmissions corresponding to the projected resource demand and other ones of the multiple grants prior to the uplink transmission corresponding to the projected resource demand may be utilized for transmitting other data, such as from other buffers, transmit. In several embodiments, artificial intelligence and / or machine learning may be utilized to predict (or project) future data packet size and packet arrival times. In several such embodiments, these predictions may be used to request resources for data packets prior to their arrival in a buffer.
[0031] In these and other ways, components / techniques described hereby may provide many technical advantages. For instance, the computer-based techniques of the current disclosure improve the functioning of a telecommunications system as compared to conventional approaches because the techniques enable predictive scheduling that can improve accessibility, reduce latency, lower overhead, and provide expanded capabilities for telecommunication systems versus conventional approaches. In many embodiments, predictive scheduling can reduce the average amount of data in a buffer and / or reduce the average uplink latency. Further, embodiments disclosed hereby can be practically utilized to improve the functioning of a computer and / or to improve a variety of technical fields including telecommunications, computer networks, scheduling, resource utilization, low latency communications, URLLC, artificial intelligence, machine learning, and / or user experience.
[0032] It will be appreciated that various aspects of telecommunication networks, capabilities, protocols, formats, and procedures relevant to the techniques described andterms referenced herein can be found in 3GPP technical specifications (TS), such as TS 38.300 and TS 38.321.
[0033] FIG. 1 illustrates a simplified example wireless communication system, according to some embodiments. It is noted that the system of FIG. 1 is merely one example of a possible system, and that features of this disclosure may be implemented in any of various systems, as desired.
[0034] As shown, the example wireless communication system includes a base station 102A which communicates over a transmission medium with one or more user devices 106A, 106B, et cetera, through 106N. Each of the user devices may be referred to herein as a “user equipment” (UE) or UE device. Thus, the user devices 106 are referred to as UEs or UE devices.
[0035] The base station (BS) 102A may be a base transceiver station (BTS) or cell site (a “cellular base station”) and may include hardware that enables wireless communication with the UEs 106 A through 106N.
[0036] The communication area (or coverage area) of the base station may be referred to as a “cell.” The base station 102A and the UEs 106 may be configured to communicate over the transmission medium using any of various radio access technologies (RATs), also referred to as wireless communication technologies, or telecommunication standards, such as GSM, UMTS (associated with, for example, WCDMA or TD-SCDMA air interfaces), LTE, LTE-Advanced (LTE-A), 5G new radio (5G NR), HSPA, 3GPP2 CDMA2000 (e g., IxRTT, IxEV-DO, HRPD, eHRPD), 6G, et cetera. Note that if the base station 102A is implemented in the context of LTE, it may alternately be referred to as an ‘eNodeB’ or ‘eNB’. Note that if the base station 102A is implemented in the context of 5G NR, it may alternately be referred to as ‘gNodeB’ or ‘gNB’. A next generation eNB (ng-eNB) may comprise an enhanced version of eNB that connects 5G UE to 5G core network using 4G LTE air interface.
[0037] As shown, the base station 102A may also be equipped to communicate with a network 100 (e.g., a core network of a cellular service provider, a telecommunication network such as a public switched telephone network (PSTN), and / or the Internet, among various possibilities). Thus, the base station 102A may facilitate communication between the user devices and / or between the user devices and the network 100. In particular, the cellular base station 102A may provide UEs 106 with various telecommunication capabilities, such as voice, SMS and / or data services. It will be appreciated that in variousembodiments, the term network may be utilized to collectively refer to one or more devices and components that form the telecommunications network. For example, reference to the network sending or receiving data to / from a UE may refer to one or more portions of the core network of a cellular service provider and / or one or more base stations. In some such examples, data to send to the UE may be determined by core network components and then relayed to the UE via a base station. In other such examples, data to send to the UE may be determined and sent to the UE by a base station.
[0038] Base station 102A and other similar base stations (such as base stations 102B . . . 102N) operating according to the same or a different cellular communication standard may thus be provided as a network of cells, which may provide continuous or nearly continuous overlapping service to UEs 106A-N and similar devices over a geographic area via one or more cellular communication standards.
[0039] Thus, while base station 102A may act as a “serving cell” for UEs 106A-N as illustrated in FIG. 1, each UE 106 may also be capable of receiving signals from (and possibly within communication range of) one or more other cells (which might be provided by base stations 102B-N and / or any other base stations), which may be referred to as “neighboring cells”. Such cells may also be capable of facilitating communication between user devices and / or between user devices and the network 100. Such cells may include “macro” cells, “micro” cells, “pico” cells, and / or cells which provide any of various other granularities of service area size. For example, base stations 102A-B illustrated in FIG. 1 might be macro cells, while base station 102N might be a micro cell. Other configurations are also possible.
[0040] In some embodiments, base station 102 A may be a next generation base station, e.g., a 5G New Radio (5G NR) base station, or “gNB”. In some embodiments, a gNB may be connected to a legacy evolved packet core (EPC) network and / or to a NR core (NRC) network. In addition, a gNB cell may include one or more transition and reception points (TRPs). In addition, a UE capable of operating according to 5G NR may be connected to one or more TRPs within one or more gNBs.
[0041] Note that a UE 106 may be capable of communicating using multiple wireless communication standards. For example, the UE 106 may be configured to communicate using a wireless networking (e.g., Wi-Fi) and / or peer-to-peer wireless communication protocol (e.g., Bluetooth, Wi-Fi peer-to-peer, etc.) in addition to at least one cellular communication protocol (e.g., GSM, UMTS (associated with, for example, WCDMA orTD-SCDMA air interfaces), LTE, LTE-A, 5G NR, 6G, HSPA, 3GPP2 CDMA2000 (e.g., IxRTT, IxEV-DO, HRPD, eHRPD), et cetera). The UE 106 may also or alternatively be configured to communicate using one or more global navigational satellite systems (GNSS, e.g., GPS or GLONASS), one or more mobile television broadcasting standards (e.g., ATSC-M / H or DVB-H), and / or any other wireless communication protocol, if desired. Other combinations of wireless communication standards (including more than two wireless communication standards) are also possible.
[0042] FIG. 2 illustrates user equipment 106 (e.g., one of the devices 106 A through 106N) in communication with a base station 102, according to some embodiments. The UE 106 may be a device with cellular communication capability such as a mobile phone, a hand-held device, a computer or a tablet, or virtually any type of wireless device.
[0043] The UE 106 may include a processor that is configured to execute program instructions stored in memory. The UE 106 may perform any of the method embodiments described herein by executing such stored instructions. Alternatively, or in addition, the UE 106 may include a programmable hardware element such as an FPGA (field- programmable gate array) that is configured to perform any of the method embodiments described herein, or any portion of any of the method embodiments described herein.
[0044] The UE 106 may include one or more antennas for communicating using one or more wireless communication protocols or technologies. In some embodiments, the UE 106 may be configured to communicate using, for example, 5G NR, CDMA2000 (IxRTT / lxEV-DO / HRPD / eHRPD), 6G, or LTE using a single shared radio and / or GSM or LTE using the single shared radio. The shared radio may couple to a single antenna, or may couple to multiple antennas (e.g., for MIMO) for performing wireless communications. In general, a radio may include any combination of a baseband processor, analog RF signal processing circuitry (e.g., including filters, mixers, oscillators, amplifiers, etc.), or digital processing circuitry (e.g., for digital modulation as well as other digital processing). Similarly, the radio may implement one or more receive and transmit chains using the aforementioned hardware. For example, the UE 106 may share one or more parts of a receive and / or transmit chain between multiple wireless communication technologies, such as those discussed above.
[0045] In some embodiments, the UE 106 may include separate transmit and / or receive chains (e.g., including separate antennas and other radio components) for each wireless communication protocol with which it is configured to communicate. As a furtherpossibility, the UE 106 may include one or more radios which are shared between multiple wireless communication protocols, and one or more radios which are used exclusively by a single wireless communication protocol. For example, the UE 106 might include a shared radio for communicating using either of LTE or 5GNR (or LTE or IxRTTor LTE or GSM or 6G), and separate radios for communicating using each of Wi-Fi and Bluetooth. Other configurations are also possible.
[0046] FIG. 3 illustrates an example simplified block diagram of a communication device 106, according to some embodiments. It is noted that the block diagram of the communication device of FIG. 3 is only one example of a possible communication device. According to embodiments, communication device 106 may be a user equipment (UE) device, a mobile device or mobile station, a wireless device or wireless station, a desktop computer or computing device, a mobile computing device (e.g., a laptop, notebook, or portable computing device), a tablet and / or a combination of devices, among other devices. As shown, the communication device 106 may include a set of components 300 configured to perform core functions. For example, this set of components may be implemented as a system on chip (SOC), which may include portions for various purposes. Alternatively, this set of components 300 may be implemented as separate components or groups of components for the various purposes. The set of components 300 may be coupled (e.g., communicatively; directly or indirectly) to various other circuits of the communication device 106.
[0047] For example, the communication device 106 may include various types of memory (e.g., including NAND flash 310), an input / output interface such as connector I / F 320 (e.g., for connecting to a computer system; dock; charging station; input devices, such as a microphone, camera, keyboard; output devices, such as speakers; etc.), the display 360, which may be integrated with or external to the communication device 106, and cellular communication circuitry 330 such as for 5G NR, LTE, GSM, etc., and short to medium range wireless communication circuitry 329 (e.g., Bluetooth™ and WLAN circuitry). In some embodiments, communication device 106 may include wired communication circuitry (not shown), such as a network interface card, e.g., for Ethernet.
[0048] The cellular communication circuitry 330 may couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 335 and 336 as shown. The short to medium range wireless communication circuitry 329 may also couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 337and 338 as shown. Alternatively, the short to medium range wireless communication circuitry 329 may couple (e.g., communicatively; directly or indirectly) to the antennas 335 and 336 in addition to, or instead of, coupling (e.g., communicatively; directly or indirectly) to the antennas 337 and 338. The short to medium range wireless communication circuitry 329 and / or cellular communication circuitry 330 may include multiple receive chains and / or multiple transmit chains for receiving and / or transmitting multiple spatial streams, such as in a multiple-input multiple output (MIMO) configuration.
[0049] In some embodiments, as further described below, cellular communication circuitry 330 may include dedicated receive chains (including and / or coupled to, e.g., communicatively; directly or indirectly, dedicated processors and / or radios) for multiple radio access technologies (RATs) (e.g., a first receive chain for LTE and a second receive chain for 5G NR). In addition, in some embodiments, cellular communication circuitry 330 may include a single transmit chain that may be switched between radios dedicated to specific RATs. For example, a first radio may be dedicated to a first RAT, e.g., LTE, and may be in communication with a dedicated receive chain and a transmit chain shared with an additional radio, e.g., a second radio that may be dedicated to a second RAT, e.g., 5G NR, and may be in communication with a dedicated receive chain and the shared transmit chain.
[0050] The communication device 106 may also include and / or be configured for use with one or more user interface elements. The user interface elements may include any of various elements, such as display 360 (which may be a touchscreen display), a keyboard (which may be a discrete keyboard or may be implemented as part of a touchscreen display), a mouse, a microphone and / or speakers, one or more cameras, one or more buttons, and / or any of various other elements capable of providing information to a user and / or receiving or interpreting user input.
[0051] The communication device 106 may further include one or more smart cards 345 that include SIM (Subscriber Identity Module) functionality, such as one or more UICC(s) (Universal Integrated Circuit Card(s)) cards 345.
[0052] As shown, the SOC 300 may include processor(s) 302, which may execute program instructions for the communication device 106 and display circuitry 304, which may perform graphics processing and provide display signals to the display 360. The processor(s) 302 may also be coupled to memory management unit (MMU) 340, whichmay be configured to receive addresses from the processor(s) 302 and translate those addresses to locations in memory (e.g., memory 306, read only memory (ROM) 350, NAND flash memory 310) and / or to other circuits or devices, such as the display circuitry 304, short range wireless communication circuitry 229, cellular communication circuitry 330, connector I / F 320, and / or display 360. The MMU 340 may be configured to perform memory protection and page table translation or set up. In some embodiments, the MMU 340 may be included as a portion of the processor(s) 302.
[0053] As noted above, the communication device 106 may be configured to communicate using wireless and / or wired communication circuitry. The communication device 106 may be configured to transmit a request to attach to a first network node operating according to the first RAT (e.g., 5G NR, 4G LTE, Bluetooth, Wi-Fi, et cetera) and transmit an indication that the wireless device is capable of maintaining substantially concurrent connections with the first network node and a second network node that operates according to the second RAT (e.g., 5GNR, 4G LTE, Bluetooth, Wi-Fi, et cetera). The wireless device may also be configured transmit a request to attach to the second network node. The request may include an indication that the wireless device is capable of maintaining substantially concurrent connections with the first and second network nodes. Further, the wireless device may be configured to receive an indication that dual connectivity with the first and second network nodes has been established.
[0054] As described herein, the communication device 106 may include hardware and software components for implementing the above features for supporting predictive scheduling. The processor 302 of the communication device 106 may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). Alternatively (or in addition), processor 302 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array), or as an ASIC (Application Specific Integrated Circuit). Alternatively (or in addition) the processor 302 of the communication device 106, in conjunction with one or more of the other components 300, 304, 306, 310, 320, 329, 330, 340, 345, 350, 360 may be configured to implement part or all of the features described herein.
[0055] In addition, as described herein, processor 302 may include one or more processing elements. Thus, processor 302 may include one or more integrated circuits (ICs) that are configured to perform the functions of processor 302. In addition, eachintegrated circuit may include circuitry (e.g., first circuitry, second circuitry, et cetera) configured to perform the functions of processor(s) 302.
[0056] Further, as described herein, cellular communication circuitry 330 and short range wireless communication circuitry 329 may each include one or more processing elements. In other words, one or more processing elements may be included in cellular communication circuitry 330 and, similarly, one or more processing elements may be included in short range wireless communication circuitry 329. Thus, cellular communication circuitry 330 may include one or more integrated circuits (ICs) that are configured to perform the functions of cellular communication circuitry 330. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, et cetera) configured to perform the functions of cellular communication circuitry 330. Similarly, the short range wireless communication circuitry 329 may include one or more ICs that are configured to perform the functions of short range wireless communication circuitry 329. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, et cetera) configured to perform the functions of short range wireless communication circuitry 329.
[0057] FIG. 4 illustrates an example block diagram of a base station 102, according to some embodiments. It is noted that the base station of FIG. 4 is merely one example of a possible base station. As shown, the base station 102 may include processor(s) 404 which may execute program instructions for the base station 102. The processor(s) 404 may also be coupled to memory management unit (MMU) 440, which may be configured to receive addresses from the processor(s) 404 and translate those addresses to locations in memory (e.g., memory 460 and read only memory (ROM) 450) or to other circuits or devices.
[0058] The base station 102 may include at least one network port 470. The network port 470 may be configured to couple to a telephone network and provide a plurality of devices, such as UE devices 106, access to the telephone network as described above in FIGS. 1 and 2.
[0059] The network port 470 (or an additional network port) may also or alternatively be configured to couple to a cellular network, e.g., a core network of a cellular service provider. The core network may provide mobility related services and / or other services to a plurality of devices, such as UE devices 106. In some cases, the network port 470 may couple to a telephone network via the core network, and / or the core network may providea telephone network (e.g., among other UE devices serviced by the cellular service provider).
[0060] In some embodiments, base station 102 may be a next generation base station, e.g., a 5G New Radio (5G NR) base station, or “gNB”. In such embodiments, base station 102 may be connected to a legacy evolved packet core (EPC) network and / or to a NR core (NRC) network. In addition, base station 102 may be considered a 5G NR cell and may include one or more transition and reception points (TRPs). In addition, a UE capable of operating according to 5G NR may be connected to one or more TRPs within one or more gNBs.
[0061] The base station 102 may include at least one antenna 434, and possibly multiple antennas, such as an array of antennas (see e.g., FIG. 12). The at least one antenna 434 may be configured to operate as a wireless transceiver and may be further configured to communicate with UE devices 106 via radio 430. The antenna 434 communicates with the radio 430 via communication chain 432. Communication chain 432 may be a receive chain, a transmit chain or both. The radio 430 may be configured to communicate via various wireless communication standards, including, but not limited to, 5G NR, LTE, LTE-A, GSM, UMTS, CDMA2000, Wi-Fi, etc.
[0062] The base station 102 may be configured to communicate wirelessly using multiple wireless communication standards. In some instances, the base station 102 may include multiple radios, which may enable the base station 102 to communicate according to multiple wireless communication technologies. For example, as one possibility, the base station 102 may include an LTE radio for performing communication according to LTE as well as a 5GNR radio for performing communication according to 5G NR. In such a case, the base station 102 may be capable of operating as both an LTE base station and a 5GNR base station. As another possibility, the base station 102 may include a multi-mode radio which is capable of performing communications according to any of multiple wireless communication technologies (e.g., 5G NR and Wi-Fi, LTE and Wi-Fi, LTE and UMTS, LTE and CDMA2000, UMTS and GSM, etc.).
[0063] As described further subsequently herein, the BS 102 may include hardware and software components for implementing or supporting implementation of features described herein. The processor 404 of the base station 102 may be configured to implement or support implementation of part or all of the methods described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitorycomputer-readable memory medium). Alternatively, the processor 404 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array), or as an ASIC (Application Specific Integrated Circuit), or a combination thereof Alternatively (or in addition) the processor 404 of the BS 102, in conjunction with one or more of the other components 430, 432, 434, 440, 450, 460, 470 may be configured to implement or support implementation of part or all of the features described herein.
[0064] In addition, as described herein, processor(s) 404 may be comprised of one or more processing elements. In other words, one or more processing elements may be included in processor(s) 404. Thus, processor(s) 404 may include one or more integrated circuits (ICs) that are configured to perform the functions of processor(s) 404. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc.) configured to perform the functions of processor(s) 404.
[0065] Further, as described herein, radio 430 may be comprised of one or more processing elements. In other words, one or more processing elements may be included in radio 430. Thus, radio 430 may include one or more integrated circuits (ICs) that are configured to perform the functions of radio 430. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc.) configured to perform the functions of radio 430.
[0066] FIG. 5 illustrates an example simplified block diagram of cellular communication circuitry, according to some embodiments. It is noted that the block diagram of the cellular communication circuitry of FIG. 5 is only one example of a possible cellular communication circuit. According to embodiments, cellular communication circuitry 330 may be include in a communication device, such as communication device 106 described above. As noted above, communication device 106 may be a user equipment (UE) device, a mobile device or mobile station, a wireless device or wireless station, a desktop computer or computing device, a mobile computing device (e.g., a laptop, notebook, or portable computing device), a tablet and / or a combination of devices, among other devices.
[0067] The cellular communication circuitry 330 may couple (e.g., communicatively; directly or indirectly) to one or more antennas, such as antennas 335 a-b and 336 as shown. In some embodiments, cellular communication circuitry 330 may include dedicated receive chains (including and / or coupled to, e.g., communicatively; directly or indirectly, dedicated processors and / or radios) for multiple RATs (e.g., a first receive chain for LTE and a second receive chain for 5G NR). For example, as shown in FIG. 5, cellularcommunication circuitry 330 may include a modem 510 and a modem 520. Modem 510 may be configured for communications according to a first RAT, e.g., such as LTE or LTE-A, and modem 520 may be configured for communications according to a second RAT, e.g., such as 5G NR.
[0068] As shown, modem 510 may include one or more processors 512 and a memory 516 in communication with processors 512. Modem 510 may be in communication with a radio frequency (RF) front end 530. RF front end 530 may include circuitry for transmitting and receiving radio signals. For example, RF front end 530 may include receive circuitry (RX) 532 and transmit circuitry (TX) 534. In some embodiments, receive circuitry 532 may be in communication with downlink (DL) front end 550, which may include circuitry for receiving radio signals via antenna 335a.
[0069] Similarly, modem 520 may include one or more processors 522 and a memory 526 in communication with processors 522. Modem 520 may be in communication with an RF front end 540. RF front end 540 may include circuitry for transmitting and receiving radio signals. For example, RF front end 540 may include receive circuitry 542 and transmit circuitry 544. In some embodiments, receive circuitry 542 may be in communication with DL front end 560, which may include circuitry for receiving radio signals via antenna 335b.
[0070] In some embodiments, a switch 570 may couple transmit circuitry 534 to uplink (UL) front end 572. In addition, switch 570 may couple transmit circuitry 544 to UL front end 572. UL front end 572 may include circuitry for transmitting radio signals via antenna 336. Thus, when cellular communication circuitry 330 receives instructions to transmit according to the first RAT (e.g., as supported via modem 510), switch 570 may be switched to a first state that allows modem 510 to transmit signals according to the first RAT (e.g., via a transmit chain that includes transmit circuitry 534 and UL front end 572). Similarly, when cellular communication circuitry 330 receives instructions to transmit according to the second RAT (e.g., as supported via modem 520), switch 570 may be switched to a second state that allows modem 520 to transmit signals according to the second RAT (e.g., via a transmit chain that includes transmit circuitry 544 and UL front end 572).
[0071] As described herein, the modem 510 may include hardware and software components for implementing the above features or for supporting predictive scheduling, as well as the various other techniques described herein. The processors 512 may be configured to implement part or all of the features described herein, e.g., by executingprogram instructions stored on a memory medium (e.g., a non-transitory computer- readable memory medium). Alternatively (or in addition), processor 512 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array), or as an ASIC (Application Specific Integrated Circuit). Alternatively (or in addition) the processor 512, in conjunction with one or more of the other components 530, 532, 534, 550, 570, 572, 335 and 336 may be configured to implement part or all of the features described herein.
[0072] In addition, as described herein, processors 512 may include one or more processing elements. Thus, processors 512 may include one or more integrated circuits (ICs) that are configured to perform the functions of processors 512. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, et cetera) configured to perform the functions of processors 512.
[0073] As described herein, the modem 520 may include hardware and software components for implementing the above features for supporting predictive scheduling, as well as the various other techniques described herein. The processors 522 may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer- readable memory medium). Alternatively (or in addition), processor 522 may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array), or as an ASIC (Application Specific Integrated Circuit). Alternatively (or in addition) the processor 522, in conjunction with one or more of the other components 540, 542, 544, 550, 570, 572, 335 and 336 may be configured to implement part or all of the features described herein.
[0074] In addition, as described herein, processors 522 may include one or more processing elements. Thus, processors 522 may include one or more integrated circuits (ICs) that are configured to perform the functions of processors 522. In addition, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, et cetera) configured to perform the functions of processors 522.
[0075] FIG. 6 illustrates a network message 602 comprising a plurality of information elements (IES) 604a, 604b, 604c, 604d (collectively referred to as IES 604). In various embodiments, a variety of network messages 602 composed of one or more information elements may be utilized for communication between different components. In various such embodiments, one or more network messages 602 of one or more formats may beexchanged between the one or more UEs and one or more network components to perform one or more procedures or techniques disclosed hereby. For example, predictive scheduling of resources may involve the exchange of several network messages 602 between UEs and / or a BS. It will be appreciated that the network message 602 and IES 604 may come in a variety of formats and carry a variety of information. Oftentimes, various standards and technical specifications define the various network messages 602, IEs 604, and procedures, such as 3GPP technical specifications (e.g., TS 38.300 and TS 38.321). Embodiments are not limited in this context.
[0076] Various techniques to support predictive scheduling for low latency communications, such as utilizing projected resource demands to reduce scheduling latency, are described in more detail below. Many embodiments disclosed hereby provide resource-efficient techniques to adapt to dynamically varying traffic using predictive scheduling. Various embodiments may project resource demands and request resources based on the projected resource demands. For example, embodiments may utilize scheduling requests (SRs) and / or buffer status reports (BSRs) to proactively request resources from a base station based on predicted traffic, such as predicted traffic at the time that uplink resource grants are expected. In some embodiments conditional multiple grants may be utilized. For example, multiple grants may be configured simultaneously, and the later grants may be used by the UE only if it cannot fully utilize the previous grants. In several embodiments, artificial intelligence and / or machine learning may be utilized to predict data packet size and packet arrival times. In several such embodiments, these predictions may be used to request resources for data packets prior to their arrival in a buffer.
[0077] In these and other ways, components / techniques described hereby may provide many technical advantages. For instance, the computer-based techniques of the current disclosure improve the functioning of a telecommunications system as compared to conventional approaches because the techniques enable predictive scheduling that can improve accessibility, reduce latency, lower overhead, and provide expanded capabilities for telecommunication systems versus conventional approaches. Further, embodiments disclosed hereby can be practically utilized to improve the functioning of a computer and / or to improve a variety of technical fields including telecommunications, computer networks, scheduling, resource utilization, low latency communications, URLLC, artificial intelligence, machine learning, and / or user experience.
[0078] FIG. 7 illustrates exemplary block diagrams of a UE 702 in conjunction with a BS 704 according to some embodiments. In various embodiments, UE 702 and BS 704 may operate to support predictive scheduling, such as by using scheduling requests and buffer status reports to proactively request resources from the BS 704 based on predicted traffic at the time an uplink resource grant is expected and / or through conditional multiple grants where multiple grants are configured simultaneously with the later grants being used by the UE if it cannot fully utilize the previous grants. In the illustrated embodiment, UE 702 includes one or more packet generation processes 706, a buffer 708 with packets 710a, 710b, 710c (collectively referred to as packets 710), buffer monitor 712, predictor 714 with ML model 716, error monitor 718, and wireless communication manager 720; and BS 704 includes resource manager 722 and model trainer 724. It will be appreciated that one or more components of FIG. 7 may be the same or similar to one or more other components disclosed hereby. For example, BS 804 may be the same or similar to BS 102. In another example, UE 702 may be the same or similar to UE 106. In a further example, wireless communication manager 720 may include one or more portions of SOC 300 and / or cellular communication circuitry 330. Further, aspects discussed with respect to various components in FIG. 7 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. For example, model trainer 724 may be included in UE 702. Embodiments are not limited in this context.
[0079] In many embodiments, predictive scheduling may generally operate as follows with various aspects and / or alternatives of the operations being described in more detail below, such as with respect to FIGS. 8-15. The UE 702 may include one or more packet generation processes 706, such as applications, that generate data for transmission to BS 704. This data for transmission may be stored in buffer 708 as data packets 710 until granted resources are available for usage by wireless communication manager 720 to transmit the data packets 710 to the BS 704. In some embodiments, the buffer 708 may comprise a MAC buffer. With predictive scheduling, the wireless communication manager 720 may proactively request transmission resources, such as based on the output of predictor 714, prior to data packets actually arriving in the buffer 708 for transmission. For example, predictor 714 can include an ML model 716 for determining the projected resource demand for uplink wireless communications (i.e., resources for transmitting payload data from the UE 702 to the BS 704). In some embodiments, projected resourcedemands may be determined in response to arrival of a data packet (e.g., packet 710a) in buffer 708. In various embodiments, the projected resource demand may include, or be based on, one or more of a predicted size of buffer 708 (i.e., size of contents in buffer 708), a predicted size of a projected data packet (i.e., a data packet that has not arrived in the buffer 708 yet), a predicted arrival time of a projected data packet in the buffer 708.
[0080] The predictor 714 may utilize ML model 716 to determine the projected resource demand. The ML model 716 may be trained on historical resource demands for uplink wireless communications by one or more UEs. In some embodiments, the historical resource demands may include one or more of an actual buffer size, an actual size of a transmitted data packet(s), and an actual arrival time of the transmitted data packet(s) in the buffer 708. In some embodiments, the historical resource demands may be monitored and retained by the buffer monitor 712. As will be discussed in more detail below, the BS 704 may utilize model trainer 724 to train and / or retrain the ML model 716. However, the UE 702 or another computing resource (e.g., cloud server) may be utilized to train and / or retrain the ML model 716 without departing from the scope of this disclosure.
[0081] In several embodiments, the ML model 716 may utilize one or more of a current packet size and a current packet arrival time as input to generate a projected resource demand as output. For example, buffer monitor 712 may detect the arrival of a current packet (e.g., packet 710a) in buffer 708, determine the size of the current packet, and determine a time between arrival of the current data packet in the buffer 708 and arrival of a preceding data packet (e.g., packet 710b) in buffer 708. In response, the buffer monitor 712 may provide the size of the current data packet and the time between arrival of the current data packet and the preceding data packet as input to the ML model 716 to determine the projected resource demand for uplink wireless communications. In such examples, the projected resource demand for uplink wireless communications may include a predicted size and arrival time for the next data packet to arrive at the buffer 708. In some embodiments, the ML model 716 may include a recurrent neural network (RNN), such as a long short-term memory network (LTSM), any feed forward neural networks, random forest. In some embodiments, the model can be auto regressive models such as ARIMA, SARIMA etc. In various embodiments, the data packet size prediction may utilize an LTSM network with 0 hidden nodes and the packet arrival time prediction may utilize an LTSM network with 60 hidden nodes. In some embodiments, the ML model 716 may include one or more ML models.
[0082] The wireless communication manager 720 may transmit a resource request message comprising an indication of the projected resource demand for uplink wireless communications (i.e., a predictive indication) to the BS 704. In some embodiments, the resource request message may be transmitted during a scheduling request opportunity or in response to a trigger event. For example, as discussed in more detail below, the trigger events may include, or be based on, one or more of a determining difference between a predicted buffer size and an actual buffer size exceeds a threshold, determining a predicted buffer size exceeds a threshold, determining a confidence level for the projected resource demand for uplink wireless communications exceeds a threshold, determining current resource grants fail to satisfy latency requirements of predicted future latency-sensitive traffic, and determining excess resources or excess padding bits in current grants.
[0083] The resource request message may include one or more of a buffer status report message, a scheduling request message, a media access control (MAC) control element (CE) message. In various embodiments, the resource request message may include, or indicate, a time when the projected resource demand is needed. For example, the resource request message may indicate an earliest possible grant time and / or a latest possible grant time for the projected resource demand. In some embodiments, resource request messages may include predictive indications and / or legacy indications. Legacy indications may refer to indications that utilize scheduling techniques described in existing standards. For example, a legacy BSR may refer to a BSR that indicates the actual size of the buffer instead of a projected size of the buffer. As another example, a legacy BSR may also refer to a BSR that indicates queueing delay information of the buffer (e.g. remaining time till the delivery deadline of buffered data). Based on the resource request message and the predictive and / or legacy indications included therein, the resource manager 722 may assign resources, via one or more grants, to the UE 702 for transmitting data packets. When predictive and legacy indications are included in a resource request message, the resource manager 722 may select which one to utilize in granting resources based on a variety of factors, such as overall network resource utilization, confidence levels, and prediction errors.
[0084] In various embodiments, the indication of the projected resource demand for uplink wireless communications may include a predicted buffer status report value. In various such embodiments, the BS 704 (e.g., resource manager 722) may map the indication of the projected resource demand to a buffer size, such as by using a look-uptable. The resource manager 722 of BS 704 may utilize resource request message including the indication of the projected resource demand to proactively grant resources to the UE 702 for uplink wireless communications. In some embodiments, the predictor 714 may generate confidence levels regarding projected resource demands. In some such embodiments, an indication of the confidence levels may be included in the resource request messages. In various embodiments, the confidence levels may be utilized to determine whether or not to proactively request or proactively grant resources based on projected resource demands. For example, when a resource request message includes a predictive BSR, a legacy BSR, and a confidence level, the resource manager 722 may utilize the confidence level to determine whether to grant resources based on the predictive BSR or the legacy BSR, such as by comparing the confidence level to a threshold.
[0085] In various embodiments, error monitor 718 may operate to track errors associated with projected resource demands. In some embodiments, the error may be utilized to determine confidence levels associated with projected resource demands. In various embodiments, when the projected resource demand for uplink wireless communications comprises a predicted size of a projected data packet, the error monitor 718 may identify an actual size of the projected data packet when the projected data packet actually arrives in the buffer 708 and determine the error based on the difference between the predicted size and the actual size. In a further, or alternative, example, when the projected resource demand for uplink wireless communications comprises a predicted arrival time of the projected data packet in a buffer, the error monitor 718 may identify an actual arrival time of the projected data packet when the projected data packet actually arrives in the buffer 708 and determine the error based on the difference between the predicted arrival time and the actual arrival time of the projected data packet in the buffer 708.
[0086] In some embodiments, various fallback and / or mediating mechanism may be used when an error condition exists (e.g., the error exceeds a threshold) or if the UE underutilizes resources granted based on projected resource demands. For instance, the error monitor 718 may monitor the mean / max error between a predictive BSR and a corresponding actual BSR (legacy BSR) and, if the error exceeds a threshold one or more fallback and / or mediating mechanisms may be implemented. The threshold for an error condition may be based on one or more of the BS 704, the UE 702 (e.g., based on implementation), and fixed by specification.
[0087] The various fallback and / or mediating mechanisms implemented in response to an error condition may include one or more of the following examples. In a first example, the UE may perform retraining to determine a new ML model when the error exceeds a threshold. In some examples, the UE 702 may utilize a predetermined number of preceding data samples (e.g., packet sizes, arrival times, et cetera) before the inputs that caused the error condition to retrain the ML model (i.e., generate a new ML model). In other such examples, the UE 702 may utilize a subset of the data samples that cause the maximum prediction error to retrain the ML model. In a second example, the UE 702 may send data samples (e.g., packet sizes, arrival times, et cetera) to the BS 704 to perform retraining (e.g., with model trainer 724) and send a new ML model back to the UE 702. In such examples, the UE 702 may utilize a predetermined number of preceding data samples (e.g., packet sizes, arrival times, et cetera) before the inputs that caused the error condition. In various embodiments, the BS 704 may utilize data samples from one or more other UEs using the same application to generate a new ML model. In a third example, the UE 702 may send a subset of the data samples that cause the maximum prediction error to the BS 704 for retraining. In some such examples, the UE may send only the samples from the predetermined number of preceding data samples before the inputs causing the error condition that caused the prediction performance to degrade beyond a certain level. In a fourth example, the UE 702 may fall back to non-predictive mode using legacy BSR, which may lead to an increase in scheduling latency. The various modes for the UE 702 are described in more detail below, such as with respect to FIG. 8.
[0088] The various fallback and / or mediating mechanisms implemented in response to the UE 702 underutilizing, or failing to utilize, resources granted based on projected resource demands may include one or more of the following examples. In a first example, the BS 704 may direct the UE to retrain the ML model 716. In such examples, the BS 704 may utilize one or more of a radio resource control (RRC) message, a MAC CE message, or a DCI message to inform the UE 702. In a second example, the BS 704 may direct the UE 702 to switch to a different mode, including non-predictive mode. In such examples, the BS 704 may utilize one or more of a radio resource control (RRC) message, a MAC CE message, or a DCI message to inform the UE 702. In a third example, the BS 704 may allocate additional transmission resources at a later time to accommodate possibly late- arriving traffic at the UE. In many embodiments, the third exemplary mechanism may be utilized when the UE fails to fully utilize original granted resources (i.e., first granted,such as in a conditional multiple grant) for transmitted predicted data packets. In some embodiments, failure to fully utilize original granted resources may be due to one or more of traffic prediction error at the UE 702 and time jitter for the incoming traffic (e.g., packet data units (PDUs)). When the UE fails to fully utilize the first granted resources for transmitting predicted data packets, the UE may utilize the first granted resource to transmit PDUs from other buffers (e.g., non-latency sensitive), the UE may refrain from transmitting any PDUs, and / or the UE may transmit dummy or null data to prevent soft combining at the BS 704.
[0089] In many embodiments, as described in more detail below, the format and contents of the resource request message and / or other operational aspects may be determined based on a selected mode being utilized for predictive scheduling. In many such embodiments, the mode utilized for predictive scheduling may be selected based on various factors including confidence levels, errors, network utilization, traffic levels, latency requirements, UE capabilities, BS capabilities, and the like.
[0090] FIG. 8 illustrates a process diagram 800 for predictive scheduling according to some embodiments. Process diagram 800 includes a UE 802 and a BS 804. In various embodiments, process diagram 800 may illustrate various operations performed and messages sent and / or received to implement predictive scheduling using a predictive buffer status report. It will be appreciated that one or more components of FIG. 8 may be the same or similar to one or more other components disclosed hereby. For example, UE 802 may be the same or similar to UE 702. In another example, BS 804 may be the same or similar to BS 704. Further, aspects discussed with respect to various components in FIG. 8 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0091] In many embodiments, predictive scheduling may utilize a new BSR format / fram ework, referred to as a predictive BSR. The predictive BSR may be transmitted as either a new BSR format or a new type of MAC CE. Transmission of the predictive BSR may be either periodic or trigger based. In various embodiments, the trigger conditions may include one or more of the following examples. In a first example, if there is extra space in a grant, then a predictive BSR may be transmitted in the spare resources or padding bits. In one embodiment, this first example may utilize features / mechanisms similar to feature / mechanisms associated with legacy padding BSRs described in the TS38.321. In a second example, if there are no grants to satisfy a latency requirement of predicted future latency-sensitive traffic, then the UE 802 may send a predictive BSR or SR in SR opportunities. In a third example, the predictive BSR may be sent when a predicted buffer size exceeds a threshold. In a fourth example, the predictive BSR may be sent when the difference between a predicted buffer size and a current (actual) buffer size exceeds a threshold. In a fifth example, the predictive BSR may be sent when a prediction confidence level exceeds a threshold. In various embodiments, UE capabilities may include support for predictive BSR features and UE preferences for specific modes described below.
[0092] Process diagram 800 may begin with the UE 802 and BS 804 engaging in predictive BSR mode configuration & activation 812. During this process, multiple UE BSR feedback modes may be configured and the UE 802 and / or BS 804 may activate one of them at a time for the UE 802. Based on the mode, the UE may send, along with data packets, at least one of the following in message 806. In a first mode, a legacy BSR including an exact / quantized BSR may be sent. The first mode may be referred to as a non- predictive or legacy mode. The remaining modes, which determine projected resource demands may be referred to as predictive modes. In a second mode, a predictive BSR with an indication of the predictive BSR value (for mapping to a table) at the expected grant time (e.g., a number of transmission time intervals (TTIs)). In various embodiments, the second mode may assume a fixed scheduling delay. In a third mode, a predictive BSR and a time when resources are requested may be sent. In some embodiments of the third mode, the predictive BSR and the time when resources may be sent as a tuple. In some such embodiments, multiple tuples may be sent to provide the BS 804 with some scheduling flexibility. In various embodiments of the third mode, each BSR value may be accompanied by two time values, an earliest possible grant time and a latest acceptable grant time (to satisfy latency requirements). In a fourth mode, a combination of a legacy BSR and a predictive BSR may be sent. In the fourth mode, the BS 804 may adjust the grants for the predictive part based on factors such as overall network resource utilization, prediction accuracy, and the like. In various embodiments, additional information may be added to the predictive BSR (e.g., confidence level) in one or more of the above modes. In various such embodiments, a range may be specified for the confidence level (e.g., an upper and / or lower bound of prediction error).
[0093] In various such embodiments, a UE may determine which mode (or BSR format) to utilize when multiple BSRs are triggered and there is an upper limit of allowed number of BSR (e.g. up to 1, as in 5G NR) in a transport block (i.e. MAC PDU). For example, the UE may always prioritize the legacy BSR, always prioritize the predictive BSR, determine based on priority levels of LCHs / LCGs associating to each triggered BSR, and / or determine based on configuration of the BS 804.
[0094] In various embodiments, padding bits may be available in uplink communications. In various such embodiments, a UE may determine which mode (or BSR format) to utilize when there are padding bits available. For example, the UE may always prioritize the legacy BSR, always prioritize the predictive BSR, determine based on priority levels of LCHs / LCGs associating to each BSR, determine based on configuration of the BS 804, and / or determine based on how many padding bits are available. In some embodiments, predictive scheduling may be activated and / or deactivated based on various parameters, such as prediction accuracy. Accordingly, in various embodiments, projected resource demands may be generated and error levels tracked regardless of whether they are being used to proactively request resources. For example, projected resource demands may only be used to proactively request resources while a current prediction accuracy level is above a threshold accuracy level.
[0095] In many embodiments, activation of prediction, specific predictive feedback mode, fallback, and / or deactivation procedures may include one or more of the following. In some embodiments, the predictive BSR feedback at the UE may be configured for a specific traffic stream and / or logical channel group (LCG). For example, the UE 802 and BS 804 may first negotiate which LCG or logical channel (LCH) can utilize predictive scheduling modes, then the BS 804 can configure accordingly. In some embodiments, the UE 802 may activate a previously configured predictive BSR feedback mode by either sending a MAC-CE or BSR for the configured LCG or LCH.
[0096] In various embodiments, the predictive BSR feedback at the UE may be configured with reporting criteria (e.g., the network may configure the UE to provide predictive BSR only if the confidence is higher than a certain threshold). In various such embodiments, the network may change the threshold based on various parameters, such as load, traffic category, assigned quality of service (QoS), et cetera. For instance, functionality of the predictive BSR may be enabled when the confidence level at UE exceeds a threshold. In such instances, the UE starts predicting, but only reports thepredictions (i.e., communicate them to the BS) while the threshold confidence level is exceeded.
[0097] In many embodiments, the different modes may be activated / deactivated by either the UE 802 or the BS 804 under different conditions. For example, the UE 802 may deactivate predictive modes when the error exceeds a threshold or when no uplink low- latency traffic is available. The UE 802 may utilize one or more of a MAC-CE or a BSR with a value of zero to deactivate predictive modes. In another example, the BS 804 may deactivate predictive modes when the prediction error exceeds a threshold by sending a MAC-CE, a DCI, or an RRC message.
[0098] In several embodiments, the addition of predictive scheduling and predictive modes may utilize modified or additional BSR tables (e.g., corresponding to BSR values). For example, the legacy BSR table may be modified to reassign some of the values to predictive BSR feedback (e.g., projected resource demands). In another example, an additional BSR table for predictive BSR feedback may be utilized. In one embodiment, a different table may be utilized for each mode. In either of the preceding examples, the modified or additional predictive BSR mode tables may be either preconfigured by the network and communicated to the UE, such as via system information block (SIB) and / or RRC messages, or the modified or additional predictive BSR mode tables may be negotiated between the UE and the BS. The negotiation may utilize some signaling exchange to reach a common understanding about the structure, format, and / or contents of the table. For example, the UE / BS can indicate the maximum and / or minimum values and step sizes in the table for predicted buffer size.
[0099] Referring back to process diagram 800, in the illustrated embodiment, message 806 includes data and a predictive BSR. In response to message 806, BS 804 may grant resources to UE 802 based on projected resource demands in message 808, which comprises a downlink control information (DCI) grant. Next, UE 802 may transmit data and another predictive BSR to BS 804 in message 810. In many embodiments, data in message 810 may correspond to a predicted or projected data packet indicated by the predictive BSR in message 806.
[0100] FIG. 9 illustrates various aspects of predictive scheduling according to some embodiments. The illustrated embodiment includes a schematic 900 showing the exchange of messages 912a, 912b, 912c, 912d, 912e, 912f (collectively referred to as messages 912) corresponding to predictive scheduling between a BS 902 and a UE 904 in conjunctionwith contents of a UE data buffer 906. Schematic 900 includes a time-axis 930 with time increasing towards the right of the page. Accordingly, schematic 900 illustrates the exchange of messages 912 and the contents of UE data buffer 906 over time in an exemplary embodiment of predictive scheduling. Additionally, the boxes correspond to transmission slots for sending and receiving signals between the BS 902 and UE 904 with the shaded boxes corresponding to periodic scheduling request opportunities 908. Schematic 900 also includes prediction times 910a, 910b, 910c, 91 Od (collectively referred to as prediction times 910). It will be appreciated that one or more components of FIG. 9 may be the same or similar to one or more other components disclosed hereby. For example, UE data buffer 906 may be the same or similar to buffer 708. In another example, message 912c may be the same or similar to message 806 and message 912d may be the same or similar to message 808. Further, aspects discussed with respect to various components in FIG. 9 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0101] In schematic 900, initially data packet 914 may arrive in UE data buffer 906. Next, data packet 916 may arrive in UE data buffer 906. Then, at prediction time 910a, UE 904 may send a message 912a comprising a scheduling request with an indication of a projected resource demand including resources for a predicted arrival of data packet 918. After transmission of message 912a, data packet 918 may actually arrive in the UE data buffer 906. In response to message 912a, the BS 902 may send message 912b comprising a DCI with a grant of resources based on the projected resource demand. The BS 904 may then utilize the resources granted based on the projected resource demand to transmit data packets 914, 916, 918 (corresponding to transmitted packets 922) along with a new projected resource demand included in a predictive BSR to the BS 902 in message 912c at prediction time 910b. Accordingly, by communicating projected resource demands, the scheduling latency for data packet 918 is reduced. Additionally, the contents of UE data buffer 906 is reduced by an amount proportional to the size of the transmitted packets 922 (i.e., data packets 914, 916, 918) and only data packet 920 remains in the UE data buffer 906.
[0102] After transmission of message 912c, data packet 924 may arrive in UE data buffer 906. Next, in response to message 912c, the BS 902 may send message 912d comprising a DCI with a grant of resources based on the new projected resource demand. The UE 904may then utilize the resources granted based on the new projected resource demand to transmit data packets 920, 924 (corresponding to transmitted packets 926) to the BS 902 in message 912e. Accordingly, by communicating projected resource demands, the scheduling latency for data packet 924 is reduced. Additionally, the contents of UE data buffer 906 is reduced by an amount proportional to the size of the transmitted packets 926 (i.e., data packets 920, 924) and no data packets remain in the UE data buffer 906. Further, because sufficient resources were granted based on the new projected resource demand to transmit all packets in UE data buffer 906, message 912e does not include another new projected resource demand at prediction time 910c. Instead, for example, message 912e may include a BSR value of zero that is configured to deactivate the predictive BSR mode and fall back to a non-predictive BSR mode. Subsequently, data packet 928 may arrive at UE data buffer 906 and, at prediction time 910d, UE 904 may send message 912f comprising a scheduling request with an indication of a projected resource demand including resources for a predicted arrival of a future data packet.
[0103] FIG. 10 illustrates an operational configuration 1000 for predictive scheduling according to some embodiments. In various embodiments, lower layers (e.g., one or more layers or sublayers below the application layer of the open systems interconnection (OSI) model) may be utilized to perform predictions and monitor prediction errors. Accordingly, the illustrated embodiment includes application 1002 and lower layers 1004 with predictor 1006 and error monitor 1008. In many embodiments, application 1002 may provide the lower layers with data 1010 for transmissions and / or for performing the predictions (e.g., such as expected traffic parameters). It will be appreciated that one or more components of FIG. 10 may be the same or similar to one or more other components disclosed hereby. For example, application 1002 may be the same or similar to packet generation processes 706. In another example, predictor 1006 may be the same or similar to predictor 714 and / or error monitor 1008 may be the same to similar to error monitor 718. Further, aspects discussed with respect to various components in FIG. 10 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0104] FIGS. 11A and 11B illustrate operational structures 1100a, 1100b for predictive scheduling according to some embodiments. In various embodiments, the applications may perform predictions while the lower layers are utilized to monitor prediction errors. Accordingly, FIG. 11A includes application 1102 with predictor 1106 and lower layers1104 with error monitor 1108 and FIG. 11B includes application 1114a with predictor 1118a, application 1114b with predictor 1118b, and lower layers 1116 with aggregator 1120 and error monitor 1126. In many embodiments, applications performing predictions may provide the lower layers with data including data for transmissions and packet prediction reports. Additionally, the lower layers may provide the applications with data for configuration and error status reporting. It will be appreciated that one or more components of FIG. 11 A and / or FIG. 1 IB may be the same or similar to one or more other components disclosed hereby. For example, applications 1114a, 1114b may be the same or similar to packet generation processes 706. In another example, predictors 1118a, 1118b may be the same or similar to predictor 714 and / or error monitor 1126 may be the same to similar to error monitor 718. Further, aspects discussed with respect to various components in FIG. 11 A and / or FIG. 1 IB may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0105] In FIGS. 11A and 11B, the application layer may assist the lower layers in predicting future packet arrivals. As such, application 1102 may transmit data and prediction report 1110 to lower layers 1104 and receive configuration and error status 1112 from the lower layers 1104. Similarly, application 1114a may transmit data and prediction report 1122a to lower layers 1116 and receive configuration and error status 1124a from lower layers 1116 and application 1114b may transmit data and prediction report 1122b to lower layers 1116 and receive configuration and error status 1124b from lower layers 1116. More generally, cooperation between the applications and the lower layers may include context-aware predictive scheduling (e.g., predictive scheduling utilizing contextual data). In some embodiments, the contextual data may include information indicative of future resource demands, such as expected traffic parameters. For example, contextual data may include data indicative of how the application is being used or is about to be used that provides relevant information regarding future resource demands (e.g., single-player mode, online mode, streaming mode, et cetera).
[0106] In various embodiments, the applications 1102, 1114a, 1114b may comprise instances of a URLLC application that provides the lower layers 1104, 1116 with the expected traffic parameters. In various such embodiments, the lower layers 1104, 1116 (e.g., the MAC) may perform one or more of the following exemplary operations. In a first example, the lower layers may aggregate reports from multiple applications (e.g., ifmultiple applications run over the same QoS flow). Accordingly, aggregator 1120 may aggregate reports from applications 1114a, 1114b, which operate over the same QoS flow. In a second example, the lower layers may map the upper layer prediction report to a predictive BSR. In a third example, the lower layers may monitor the traffic and check the accuracy of upper layer prediction reports. In a fourth example, the lower layers may provide the upper layer with prediction configuration (e.g., mode) and / or monitoring statuses.
[0107] FIG. 12 illustrates a flow chart 1200 for predictive scheduling according to some embodiments. Aspects of flow chart 1200 may relate to various embodiments described hereby. In many embodiments, the processes of flow chart 1200 may be performed by one or more UEs. It will be appreciated that aspects of flow chart 1200 discussed with respect to various components may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0108] Flow chart 1200 begins at block 1202. At block 1202 a predictive BSR mode may be configured and activated. For example, UE 702 and BS 704 may operate to configure and activate a predictive BSR mode. Proceeding to decision block 1204, it may be determined whether the buffer is empty. For example, buffer monitor 712 of UE 702 may determine whether buffer 708 is empty. If the buffer is empty, the flow chart 1200 may return to decision block 1204. For example, buffer monitor 712 may periodically check the buffer until it is no longer empty, such as due to packet 710a arriving in the buffer 708. In some embodiments, the buffer may include a MAC buffer.
[0109] When the buffer is not empty, the flow chart 1200 may continue to block 1206. At block 1206 a scheduling request may be transmitted in a scheduling request opportunity. For example, UE 702 may transmit a scheduling request to BS 704. In many such examples, the scheduling request may include a projected resource demand for uplink wireless communications needed by the UE 702. In some embodiments, the projected resource demand for uplink wireless communications may be determined by predictor 714. For example, in response to arrival of a packet in the buffer 708, the predictor 714 may utilize ML model 716 to determine the projected resource demand. In several embodiments, the projected resource demand may include a predicted size of a future packet and a predicted time of arrival in the buffer 708 for the future packet. In several such embodiments, the ML model 716 may utilize a size of a current packet (e.g., thepacket that transitioned the buffer 708 from being empty to not being empty) and an arrival time of the current packet as input to determine the projected resource demand. In many embodiments, the arrival time of the current packet may comprise an inter-arrival time from a previous packet. In other words, the arrival time of the current packet may be an amount of time between arrival of an immediately preceding packet and arrival of the current packet.
[0110] In response to transmission of the scheduling request, a DCI may be received at block 1208. For example, UE 702 may receive a DCI from BS 704 including a resource grant in response to transmission of the scheduling request. The resource grant in the DCI may include resources determined, such as by resource manager 722, based on the projected resource demand indicated in the scheduling request. In many embodiments, the resource grant in the DCI may include a plurality of grants and a plurality of times corresponding to the plurality of grants (e.g., a conditional multiple grant).[OHl] At decision block 1210 it may be determined whether data arrived in the buffer before the first grant time. For example, buffer monitor 712 and / or wireless communication manager 720 of UE 702 may determine whether the predicted packet corresponding to the projected resource demand arrived in the buffer 708 prior to the first grant time. If the data has arrived in the buffer before the first grant time, then it may be transmitted to the BS along with a new predictive BSR to the BS at block 1212. In some embodiments, the new predictive BSR may be generated based the predicted packet in response to arrival of the predicted packet in the buffer 708. However, if the data has not arrived in the buffer before the first grant time, the UE may transmit data from another buffer, if available, in the granted resources at block 1214. In various embodiments, the UE may transmit the data packet that caused the buffer to no longer be empty at decision block 1204 in the granted resources. In one embodiment, data from another buffer and the data packet that caused the buffer to no longer be empty at decision block 1204 may be transmitted in the granted resources. If no data is available for transmission at block 1214, dummy or null data may be transmitted. The dummy or null data may include a predetermined bit sequence configured to prevent soft combining at the BS.
[0112] Proceeding to decision block 1216, it may be determined whether the data arrived before an additional grant time after the first grant time. For example, buffer monitor 712 and / or wireless communication manager 720 of UE 702 may determine whether the predicted packet corresponding to the projected resource demand arrived in the buffer 708prior to the additional grant time. If the data has arrived in the buffer before the additional grant time, then it may be transmitted to the BS along with a new predictive BSR to the BS at block 1218. In some embodiments, the new predictive BSR may be generated based on the predicted packet in response to arrival of the predicted packet in the buffer 708. However, if the data has not arrived in the buffer before the additional grant time, the UE may transmit data from another buffer, if available, in the granted resource at block 1214. In some embodiments, the UE may transmit the data packet that caused the buffer to no longer be empty at decision block 1204 in the granted resources. In one embodiment, data from another buffer and the data packet that caused the buffer to no longer be empty at decision block 1204 may be transmitted in the granted resources. If no data is available for transmission at block 1220, dummy or null data may be transmitted. The dummy or null data may include a predetermined bit sequence configured to prevent soft combining at the BS.
[0113] Continuing to decision block 1222, it may be determined if conditions for UE fallback are met. For example, error monitor 718 may determine whether the prediction accuracy is below a threshold, such as by comparing actual arrival times and predicted arrival times and / or actual data packet sizes and predicted data packet sizes of one or more preceding data packets. UE fallback may refer to switching to a different mode, such as from a predictive BSR mode to a non-predictive BSR mode. If the conditions for UE fallback are met (e.g., error exceeding a threshold), then the UE may transmit the outlying input values to the BS for retraining at block 1224. For example, the outlying input values may comprise the values provided to the ML model 716 that ultimately resulted in the error. For example, the predicted arrival time and the predicted size of a data packet that still had not arrived in the buffer at decision block 1216. In some embodiments, based on the outlying input values, BS 704 may generate a new machine learning model and send it to UE 702 to replace ML model 716. In one embodiment, retraining may be performed by the UE 702 or a cloud server. If the conditions for UE fallback are not met, the flow chart 1200 may return to decision block 1204 and determine whether or not the buffer is empty.
[0114] FIG. 13 illustrates a process diagram 1300 for predictive scheduling according to some embodiments. Process diagram 1300 includes a UE 1302 and a BS 1304. In various embodiments, process diagram 1300 may illustrate various aspects of operations performed and messages sent and / or received to implement predictive scheduling using a predictive buffer status report. It will be appreciated that one or more components of FIG.13 may be the same or similar to one or more other components disclosed hereby. For example, UE 1302 may be the same or similar to UE 702 and / or UE 106. In another example, BS 1304 may be the same or similar to BS 704 and / or BS 102. Further, aspects discussed with respect to various components in FIG. 13 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0115] Process diagram 1300 may begin with process 1306 where the predictive BSR mode is configured. For example, configuration of the predictive BSR mode may include one or more of setting the mode of the predictive scheduling (e.g., contents / format of the resource request message), determining whether or not other traffic is allowed, such as from other buffers when predicted latency-sensitive traffic is not available for transmission, determining the predictive BSR table configurations, and the activation configuration (e.g., threshold prediction accuracy before transmitting projected resource demands). At process 1308a, the UE 1302 may begin generating projected resource demands and tracking error levels of the projected resource demands. At process 1308b, the UE 1302 may determine the prediction error is low enough to begin transmitting projected resource demands to the BS 1304 for predictive scheduling.
[0116] Continuing to process 1310a, the UE 1302 may activate the predictive BSR mode by sending a predictive BSR mode activation request to the BS 1304. In various embodiments, this request may include one or more of an indicated BSR fallback mode (e.g., retrain the ML model, send data samples to BS for retraining the ML model, send a subset of data samples to the BS for retraining the ML model, switch to non-predictive BSR mode), the BSR table configuration, and a Conditional Multiple Grant Configuration (e.g., CMG activation status, number of additional grants, CMG resource group, UE behavior for unutilized grants (transmit from other queues / buffers, transmit dummy or null data, leave vacant)). At process 1310b, the BS 1304 may send a predictive BSR mode activation response indicating successful activation of the predictive mode.
[0117] Proceeding to process 1312a, the UE 1302 may send a scheduling request including projected resource demands (or an indication thereof) to the BS 1304. For example, the projected resource demands may include a predicted size of a future data packet and a predicted arrival time of the future data packet in the buffer. At process 1312b, BS 1304 may transmit a resource grant to the UE 1302 in response to the scheduling request. The resource grant may be based on the projected resource demand and includemultiple resource grants (e.g., conditional multiple grants). In various embodiments, the number of grants may be dynamically varied, such as based on prediction error. The future data packet may arrive in the buffer at process 1314 prior to process 1312c.
[0118] At process 1312c, the data packet along with a predictive B SR may be transmitted to the BS 1304 in the first grant of the granted resources. The predictive BSR may indicate projected resource demands, such as based on arrival of the data packet in the buffer at process 1314. The projected resource demands may, again, include a predicted size of another future data packet and a predicted arrival time of the other future data packet in the buffer. At process 1316a, the UE 1302 may receive another grant of multiple resources, such as in a DCI. The predicted arrival time of the other future data packet in the buffer may be indicated by process 1318a. However, this time the future data packet does not actually arrive until process 1318a, which is after the first grant of the multiple resources. Accordingly, at process 1316b, the first grant may be utilized to send data from other buffers and / or queues. At process 1316c, a DCI with a second grant is received at the UE 1302. Thus, in various embodiments, each grant in a conditional multiple grant may be indicated on an individual basis, such as with separate DCIs (e.g., at process 1316a and 1316c). However, in other embodiments, only a single DCI may be used to indicate each of the conditional multiple grants (e.g., process 1316a indicates the grants and grant times corresponding to process 1316b and 1316d).
[0119] Continuing to process 1318b, the future data packet may actually be received in the buffer. Accordingly, the future data packet and another predictive BSR may be transmitted to the BS 1304 at process 1316d. Additionally, the prediction error may be determined, at least in part, based on the difference between the predicted arrival time at process 1318a and the actual arrival time at process 1318b. At process 1320a the UE 1302 may transmit a predictive BSR mode deactivation request to the BS 1304, such as in response to the calculated error exceeding a threshold (e.g., multiple predictions errors in previous one or more predictions, such as previous four predictions). At process 1320b, the BS 1304 may transmit a response to the predictive BSR mode deactivation request to acknowledgement deactivation of the predictive BSR mode. In some embodiments, the BS 1304 may transmit the predictive BSR mode deactivation request to the UE and the UE 1302 may acknowledge the deactivation.
[0120] FIG. 14 illustrates a logic flow 1400 of an exemplary technique associated with predictive scheduling according to some embodiments. In some embodiments, the logicflow 1400 may be performed by a UE. Aspects of logic flow 1400 may relate to various embodiments described hereby. Logic flow 1400 may begin at block 1402. Block 1402 may include determining a projected resource demand for uplink wireless communications. The projected resource demand for uplink wireless communications may be determined with a ML model trained on historical resource demands for uplink wireless communications by one or more UEs. For example, UE 702 may utilize ML model 716 of predictor 714 to determine a projected resource demand for uplink wireless communications. In several embodiments, the model trainer 724 of BS 704 may be utilized to train the ML model 716 based on historical resource demands for uplink wireless communications by one or more UEs. Once trained, the BS 704 may transmit the ML model 716 to the UE 702.
[0121] At block 1404 a resource request message comprising an indication of the projected resource demand for uplink wireless communications may be transmitted to a base station. For example, wireless communication manager 720 of UE 702 may transmit a resource request message to BS 704. Continuing to block 1406, a resource grant including granted resources corresponding to the projected resource demand for uplink wireless communications may be identified. For example, UE 702 may identify a DCI granting resources corresponding to the projected resource demand for uplink wireless communications.
[0122] FIG. 15 illustrates a logic flow 1500 of an exemplary technique associated with predictive scheduling according to some embodiments. In some embodiments, the logic flow 1500 may be performed by a BS. Aspects of logic flow 1500 may relate to various embodiments described hereby. Logic flow 1500 may begin at block 1502. Block 1502 may include identifying historical resource demands for uplink wireless communications of aUE. For example, BS 704 may identify historical resource demands for uplink wireless communications of UE 702.
[0123] Continuing to block 1504, a machine learning model may be trained to determine projected resource demands for uplink wireless communications of the UE. For example, model trainer 724 of BS 704 may train ML model 716 to determine projected resource demands for uplink wireless communications of UE 702. At block 1506 the ML model may be transmitted to the UE. For example, BS 804 may transmit ML model 716 to UE 702 after training.
[0124] Proceeding to block 1508, an indication of a proj ected resource demand for uplink wireless communications of the UE may be identified in a resource request message. For example, an indication of a proj ected resource demand for uplink wireless communications of UE 702 may be identified by BS 704 based on a transmission from UE 702 including a projected resource demand for uplink wireless communications determined by ML model 716. At block 1510 resources may be granted to the UE based on the projected resource demand for wireless communications of the UE. For example, BS 704 may transmit a DCI with one or more resource grants determined based on the indication of a projected resource demand for uplink wireless communications of the UE.
[0125] Portions of what was described above may be implemented with logic circuitry such as a dedicated logic circuit or with a microcontroller or other form of processing core that executes program code instructions. Thus, processes taught by the discussion above may be performed with program code such as machine-executable instructions that cause a machine that executes these instructions to perform certain functions. In this context, a “machine” may be a machine that converts intermediate form (or “abstract”) instructions into processor specific instructions (e.g., an abstract execution environment such as a “virtual machine” (e.g., a Java Virtual Machine), an interpreter, a Common Language Runtime, a high-level language virtual machine, etc.), and / or, electronic circuitry disposed on a semiconductor chip (e.g., “logic circuitry” implemented with transistors) designed to execute instructions such as a general-purpose processor and / or a special-purpose processor. Processes taught by the discussion above may also be performed by (in the alternative to a machine or in combination with a machine) electronic circuitry designed to perform the processes (or a portion thereof) without the execution of program code.
[0126] The present disclosure also relates to an apparatus for performing the operations described herein. This apparatus may be specially constructed for the required purpose, or it may comprise a general -purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
[0127] A machine readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine readable medium includes read only memory (“ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; et cetera.
[0128] An article of manufacture may be used to store program code. An article of manufacture that stores program code may be embodied as, but is not limited to, one or more memories (e.g., one or more flash memories, random access memories (static, dynamic or other)), optical disks, CD-ROMs, DVD ROMs, EPROMs, EEPROMs, magnetic or optical cards or other type of machine-readable media suitable for storing electronic instructions. Program code may also be downloaded from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a propagation medium (e.g., via a communication link (e.g., a network connection)).
[0129] There are a number of example embodiments described herein.
[0130] Example l is a method for wireless communication by a user equipment (UE), the method comprising: determining a projected resource demand for uplink wireless communications, the projected resource demand for uplink wireless communications determined with a machine learning (ML) model trained on historical resource demands for uplink wireless communications by one or more UEs; transmitting a resource request message comprising an indication of the projected resource demand for uplink wireless communications to a base station (BS); and identifying a resource grant including granted resources corresponding to the projected resource demand for uplink wireless communications.
[0131] Example 2 is the method of Example 1 that may optionally include that the projected resource demand for uplink wireless communications comprises a predicted buffer size.
[0132] Example 3 is the method of Example 1 that may optionally include that the projected resource demand for uplink wireless communications comprises a predicted size of a projected data packet and a predicted arrival time of the projected data packet in a buffer.
[0133] Example 4 is the method of Example 3 that may optionally include identifying an actual size of the projected data packet; and determining an error for the projected resource demand for uplink wireless communications based on comparison of the predicted size of the projected data packet and the actual size of the projected data packet in the buffer.
[0134] Example 5 is the method of Example 3 that may optionally include identifying an actual arrival of the projected data packet in the buffer; and determining an error for the projected resource demand for uplink wireless communications based on comparison of the predicted arrival time of the projected data packet in the buffer and the actual arrival time of the projected data packet in the buffer.
[0135] Example 6 is the method of Example 1 that may optionally include determining the projected resource demand for uplink wireless communications in response to arrival of a current data packet in a buffer.
[0136] Example 7 is the method of Example 1 that may optionally include providing input to the ML model based on one or more of a current packet size and current packet arrival time in a buffer to determine the projected resource demand for uplink wireless communications.
[0137] Example 8 is the method of Example 1 that may optionally include detecting arrival of a current data packet in a buffer; determining a size of the current data packet; determining a time between arrival of the current data packet in the buffer and arrival of a preceding data packet in the buffer; and providing the size of the current data packet and the time between arrival of the current data packet and the preceding data packet as input to the ML model to determine the projected resource demand for uplink wireless communications.
[0138] Example 9 is the method of Example 1 that may optionally include that the ML model comprises a recurrent neural network (RNN).
[0139] Example 10 is the method of Example 9 that may optionally include that the RNN comprises a long short-term memory network.
[0140] Example 11 is the method of Example 1 that may optionally include that the historical resource demands for uplink wireless communications includes an actual size of a transmitted data packet and an actual arrival time of the transmitted data packet in a buffer.
[0141] Example 12 is the method of Example 1 that may optionally include that the resource request message comprises one or more of a buffer status report (BSR) message, a scheduling request (SR) message, and a media access control (MAC) control element (CE) message.
[0142] Example 13 is the method of Example 12 that may optionally include that the resource request message is transmitted during a SR opportunity.
[0143] Example 14 is the method of Example 1 that may optionally include that the indication of the projected resource demand for uplink wireless communications transmitted to the BS comprises a predicted buffer status report value.
[0144] Example 15 is the method of Example 1 that may optionally include that the resource request message transmitted to the BS comprises a time when the projected resource demand is needed.
[0145] Example 16 is the method of Example 15 that may optionally include that the time when the projected resource demand is needed comprises an earliest possible grant time and a latest acceptable grant time.
[0146] Example 17 is the method of Example 1 that may optionally include determining a confidence level for the projected resource demand for uplink wireless communications.
[0147] Example 18 is the method of Example 17 that may optionally include transmitting the resource request message in response to the confidence level exceeding a threshold confidence level.
[0148] Example 19 is the method of Example 17 that may optionally include that the resource request message includes the confidence level for the projected resource demand.
[0149] Example 20 is the method of Example 1 that may optionally include that the projected resource demand for uplink wireless communications is determined and the resource request message is transmitted to the BS based on a preconfigured periodicity.
[0150] Example 21 is the method of Example 1 that may optionally include that the resource request message is transmitted to the BS based on a trigger event.
[0151] Example 22 is the method of Example 21 that may optionally include that the trigger event comprises determining a difference between a predicted buffer size and an actual buffer size exceeds a threshold.
[0152] Example 23 is the method of Example 21 that may optionally include that the trigger event comprises determining a predicted buffer size exceeds a threshold.
[0153] Example 24 is the method of Example 21 that may optionally include that the trigger event comprises determining a confidence level for the projected resource demand for uplink wireless communications exceeds a threshold.
[0154] Example 25 is the method of Example 21 that may optionally include that the trigger event comprises determining current grants fail to satisfy latency requirements of predicted future latency-sensitive traffic.
[0155] Example 26 is the method of Example 21 that may optionally include that the trigger event comprises determining excess resources or excess padding bits in current grants.
[0156] Example 27 is the method of Example 1 that may optionally include determining a difference between the projected resource demand for uplink wireless communications and an actual resource demand for uplink wireless communications; and initiating retraining of the ML model when the difference between the projected resource demand and the actual resource demand exceeds a threshold.
[0157] Example 28 is the method of Example 1 that may optionally include that the resource grant includes a conditional multiple grant comprising a plurality grants and a plurality grant times corresponding to the plurality of grants.
[0158] Example 29 is a user equipment (UE) comprising one or more processors configured to perform the method of any of Example 1 to Example 28.
[0159] Example 30 is a non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform the method of any of Example 1 to Example 28.
[0160] Example 31 is a method for wireless communication resource assignment by a base station (BS), the method comprising: identifying historical resource demands for uplink wireless communications of a user equipment (UE); training a machine learning model to determine projected resource demands for uplink wireless communications of the UE; transmitting the ML model to the UE; identifying an indication of a projected resource demand for uplink wireless communications of the UE in a resource request message; and granting resources to the UE based on the projected resource demand for wireless communications of the UE.
[0161] Example 32 is the method of Example 31 that may optionally include that the ML model comprises a recurrent neural network (RNN).
[0162] Example 33 is the method of Example 32 that may optionally include that the RNN comprises a long short-term memory network.
[0163] Example 34 is the method of Example 31 that may optionally include that the resource request message comprises one or more of a buffer status report (BSR) message, a scheduling request (SR) message, and a media access control (MAC) control element (CE) message.
[0164] Example 35 is the method of Example 31 that may optionally include that the historical resource demands for uplink wireless communications includes an actual size of a transmitted data packet and an actual arrival time of the transmitted data packet in a buffer.
[0165] Example 36 is the method of Example 31 that may optionally include that the indication of the projected resource demand for uplink wireless communications comprises a predicted buffer status report (BSR).
[0166] Example 37 is the method of Example 36 that may optionally include that the predictive BSR is received in conjunction with a legacy BSR.
[0167] Example 38 is the method of Example 37 that may optionally include determining an overall network resource utilization; and granting the resources to the UE based on the predictive BSR instead of the legacy BSR based on the overall network resource utilization.
[0168] Example 39 is the method of Example 37 that may optionally include that the predictive BSR is received in conjunction with a confidence level for the predictive BSR and the method further comprising: determining the confidence level for the predictive BSR exceeds a threshold; and granting the resources to the UE based on the predictive BSR instead of the legacy BSR based on the confidence level exceeding the threshold.
[0169] Example 40 is the method of Example 31 that may optionally include that the indication of the projected resource demand for uplink wireless communications comprises a time when the projected resource demand is needed and the resources are granted to the UE based on the time when the projected resource demand is needed.
[0170] Example 41 is the method of Example 40 that may optionally include that the time when the projected resource demand is needed comprises an earliest possible grant time and a latest acceptable grant time.
[0171] Example 42 is the method of Example 31 that may optionally include identifying updated historical resource demands for uplink wireless communications of the UE, the updated historical resource demands corresponding to a prediction error; and retrainingthe ML model based on the updated historical resource demands for uplink wireless communications of the UE.
[0172] Example 43 is the method of Example 31 that may optionally include that the resources granted to the UE include a plurality of grants and a plurality grant times corresponding to the plurality of grants.
[0173] Example 44 is a base station (BS) comprising one or more processors configured to perform the method of any of claim 31 to claim 43.
[0174] Example 45 is a non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform the method of any of claim 31 to claim 43.
[0175] Example 46 is a baseband processor configured to perform the method of any of claim 31 to claim 43.
[0176] Example 47 is a baseband processor configured to perform the method of any of Example 1 to Example 28.
[0177] The preceding detailed descriptions are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the tools used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0178] It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “selecting,” “determining,” “receiving,” “forming,” “grouping,” “aggregating,” “generating,” “removing,” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0179] The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general -purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the operations described. The required structure for a variety of these systems will be evident from the description below. In addition, the present disclosure is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosure as described herein.
[0180] It is well understood that the use of personally identifiable information should follow privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. In particular, personally identifiable information data should be managed and handled so as to minimize risks of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to users.
[0181] The foregoing discussion merely describes some exemplary embodiments of the present disclosure. One skilled in the art will readily recognize from such discussion, the accompanying drawings and the claims that various modifications can be made without departing from the spirit and scope of the disclosure.
Claims
CLAIMS1. A method for wireless communication by a user equipment (UE), the method comprising: determining a projected resource demand for uplink wireless communications, the projected resource demand for uplink wireless communications determined with a machine learning (ML) model trained on historical resource demands for uplink wireless communications by one or more UEs; transmitting a resource request message comprising an indication of the projected resource demand for uplink wireless communications to a base station (BS); and identifying a resource grant including granted resources corresponding to the projected resource demand for uplink wireless communications.
2. The method of claim 1, wherein the projected resource demand for uplink wireless communications comprises a predicted buffer size.
3. The method of claim 1, wherein the projected resource demand for uplink wireless communications comprises a predicted size of a projected data packet and a predicted arrival time of the projected data packet in a buffer.
4. The method of claim 3, further comprising: identifying an actual size of the projected data packet; and determining an error for the projected resource demand for uplink wireless communications based on comparison of the predicted size of the projected data packet and the actual size of the projected data packet in the buffer.
5. The method of claim 3, further comprising: identifying an actual arrival of the projected data packet in the buffer; and determining an error for the projected resource demand for uplink wireless communications based on comparison of the predicted arrival time of the projected data packet in the buffer and the actual arrival time of the projected data packet in the buffer.
6. The method of claim 1, further comprising determining the projected resource demand for uplink wireless communications in response to arrival of a current data packet in a buffer.
7. The method of claim 1, further comprising providing input to the ML model based on one or more of a current packet size and current packet arrival time in a buffer to determine the projected resource demand for uplink wireless communications.
8. The method of claim 1, further comprising: detecting arrival of a current data packet in a buffer; determining a size of the current data packet; determining a time between arrival of the current data packet in the buffer and arrival of a preceding data packet in the buffer; and providing the size of the current data packet and the time between arrival of the current data packet and the preceding data packet as input to the ML model to determine the projected resource demand for uplink wireless communications.
9. The method of claim 1, wherein the ML model comprises a recurrent neural network (RNN).
10. The method of claim 9, wherein the RNN comprises a long short-term memory network.
11. The method of claim 1, wherein the historical resource demands for uplink wireless communications includes an actual size of a transmitted data packet and an actual arrival time of the transmitted data packet in a buffer.
12. The method of claim 1, wherein the resource request message comprises one or more of a buffer status report (BSR) message, a scheduling request (SR) message, and a media access control (MAC) control element (CE) message.
13. The method of claim 12, wherein the resource request message is transmitted during a SR opportunity.
14. The method of claim 1, wherein the indication of the projected resource demand for uplink wireless communications transmitted to the BS comprises a predicted buffer status report value.
15. The method of claim 1, wherein the resource request message transmitted to the BS comprises a time when the projected resource demand is needed.
16. The method of claim 15, wherein the time when the projected resource demand is needed comprises an earliest possible grant time and a latest acceptable grant time.
17. The method of claim 1, further comprising determining a confidence level for the projected resource demand for uplink wireless communications.
18. The method of claim 17, further comprising transmitting the resource request message in response to the confidence level exceeding a threshold confidence level.
19. The method of claim 17, wherein the resource request message includes the confidence level for the projected resource demand.
20. The method of claim 1, wherein the projected resource demand for uplink wireless communications is determined and the resource request message is transmitted to the BS based on a preconfigured periodicity.
21. The method of claim 1, wherein the resource request message is transmitted to the BS based on a trigger event.
22. The method of claim 21, wherein the trigger event comprises determining a difference between a predicted buffer size and an actual buffer size exceeds a threshold.
23. The method of claim 21, wherein the trigger event comprises determining a predicted buffer size exceeds a threshold.
24. The method of claim 21, wherein the trigger event comprises determining a confidence level for the projected resource demand for uplink wireless communications exceeds a threshold.
25. The method of claim 21, wherein the trigger event comprises determining current grants fail to satisfy latency requirements of predicted future latency-sensitive traffic.
26. The method of claim 21, wherein the trigger event comprises determining excess resources or excess padding bits in current grants.
27. The method of claim 1, further comprising:determining a difference between the projected resource demand for uplink wireless communications and an actual resource demand for uplink wireless communications; and initiating retraining of the ML model when the difference between the projected resource demand and the actual resource demand exceeds a threshold.
28. The method of claim 1, wherein the resource grant includes a conditional multiple grant comprising a plurality grants and a plurality grant times corresponding to the plurality of grants.
29. A user equipment (UE) comprising one or more processors configured to perform the method of any of claim 1 to claim 28.
30. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform the method of any of claim 1 to claim 28.
31. A method for wireless communication resource assignment by a base station (BS), the method comprising: identifying historical resource demands for uplink wireless communications of a user equipment (UE); training a machine learning model to determine projected resource demands for uplink wireless communications of the UE; transmitting the ML model to the UE; identifying an indication of a projected resource demand for uplink wireless communications of the UE in a resource request message; and granting resources to the UE based on the projected resource demand for wireless communications of the UE.
32. The method of claim 31, wherein the ML model comprises a recurrent neural network (RNN).
33. The method of claim 32, wherein the RNN comprises a long short-term memory network.
34. The method of claim 31, wherein the resource request message comprises one or more of a buffer status report (BSR) message, a scheduling request (SR) message, and a media access control (MAC) control element (CE) message.
35. The method of claim 31, wherein the historical resource demands for uplink wireless communications includes an actual size of a transmitted data packet and an actual arrival time of the transmitted data packet in a buffer.
36. The method of claim 31, wherein the indication of the projected resource demand for uplink wireless communications comprises a predicted buffer status report (BSR).
37. The method of claim 36, wherein the predictive BSR is received in conjunction with a legacy BSR.
38. The method of claim 37, further comprising: determining an overall network resource utilization; and granting the resources to the UE based on the predictive BSR instead of the legacy BSR based on the overall network resource utilization.
39. The method of claim 37, wherein the predictive BSR is received in conjunction with a confidence level for the predictive BSR and the method further comprising: determining the confidence level for the predictive BSR exceeds a threshold; and granting the resources to the UE based on the predictive BSR instead of the legacy BSR based on the confidence level exceeding the threshold.
40. The method of claim 31, wherein the indication of the projected resource demand for uplink wireless communications comprises a time when the projected resource demand is needed and the resources are granted to the UE based on the time when the projected resource demand is needed.
41. The method of claim 40, wherein the time when the projected resource demand is needed comprises an earliest possible grant time and a latest acceptable grant time.
42. The method of claim 31, further comprising: identifying updated historical resource demands for uplink wireless communications of the UE, the updated historical resource demands corresponding to a prediction error; andretraining the ML model based on the updated historical resource demands for uplink wireless communications of the UE.
43. The method of claim 30, wherein the resources granted to the UE include a plurality grants and a plurality grant times corresponding to the plurality of grants.
44. The method of claim 31, wherein the resources granted to the UE include a plurality grants and a plurality grant times corresponding to the plurality of grants.
45. A base station (BS) comprising one or more processors configured to perform the method of any of claim 31 to claim 43.
46. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform the method of any of claim 31 to claim 43.
Citation Information
Patent Citations
Controlling scheduling requests
US20150289287A1
Method and apparatus for buffer state report
US20230217304A1
Cited By
Method and apparatus for predicted buffer status reporting
WO2026108209A1
Method and apparatus for carrying out communication in wireless communication system
WO2026205674A1