Modem doze mode for UE power saving
The modem doze mode in 5G systems addresses power consumption issues by optimizing modem activity through QoE-aware traffic shaping and SDT, ensuring efficient power savings without degrading user experience.
Patent Information
- Application Number
- PCT/KR2025/009781
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-02-21
- Filing Date
- 2025-07-07
- Publication Date
- 2026-01-29
AI Technical Summary
The increased power consumption of user equipment (UE) in 5G wireless communication systems, particularly due to consistent modem activity, is a challenge, especially when there is little traffic from active applications, impacting battery life without compromising Quality of Experience (QoE).
Implementing a modem doze mode that includes QoE-aware traffic shaping, intelligent RRC state management, and leveraging Small Data Transmission (SDT) to reduce unnecessary modem activity and power consumption by delaying or batching packets based on priority and location.
The modem doze mode effectively reduces power consumption while maintaining QoE by optimizing modem activity based on traffic patterns and application priorities, allowing deeper sleep states and reducing RRC connected time.
Smart Images

Figure KR2025009781_29012026_PF_FP_ABST
Abstract
Description
MODEM DOZE MODE FOR UE POWER SAVING
[0001] This disclosure relates generally to wireless communication devices. More specifically, this disclosure relates to a modem doze mode for user equipment power saving.
[0002] Fifth generation (5G) wireless communication systems is implemented to include higher frequency (mmWave) bands, such as 28 GHz or 60 GHz bands or, in general, above 6 GHz bands, so as to accomplish higher data rates, or in lower frequency bands, such as below 6 GHz, to enable robust coverage and mobility support. A communication system includes a DownLink (DL) that conveys signals from transmission points such as Base Stations (BSs), eNodeBs, gNodeBs or transmission reception points (TRPs) to User Equipments (UEs). Additionally, the communication system includes an UpLink (UL) that conveys signals from UEs to reception points such as gNodeBs. A UE, also commonly referred to as a terminal or a mobile station, may be fixed or mobile and may be a cellular phone, a personal computer device, etc. A gNodeB, which is generally a fixed station, may also be referred to as an access point or other equivalent terminology.
[0003] Modern network traffic is managed under the Internet protocol suite. The Transmission Control Protocol (TCP), User Datagram Protocol (UDP) and the Internet Protocol (IP) provides the foundation of how network data is packetized, addressed and routed between the sender and the receiver devices, and is responsible for establishing and maintaining a reliable connection.
[0004] The UE assistance information (UAI) framework is introduced in Release 16 of 3GPP specifications, and provides a framework wherein a UE can inform the base station (BS) about parameters that the UE prefers, including UE-preferred radio configurations. In particular, the UE can request its preferred (Radio Resource Control) RRC state. The UE maintains an active connection with the network in the RRC connected state, allowing for data transfer and signaling. In RRC idle state, the UE is not actively communicating with the network but can still receive broadcast information and can initiate the connection when necessary. The RRC inactive state allows the UE to quickly resume an active connection. Different RRC states incur different levels of power consumption for the UE: RRC connected state the highest, RRC inactive state lower and RRC idle state the lowest.
[0005] Small data transmission (SDT) is a feature introduced in Release 17 of 3GPP specifications on 5G new radio(NR). The SDT feature allows a UE that has an infrequent need to transmit a small amount of data to perform the transmission while staying in RRC inactive state, thus saving power. The UE can multiplex its data payload with the RRC Resume Request message during Random Access Channel (RACH) or through previously configured grants (CG).
[0006] This disclosure provides a modem doze mode for UE power saving.
[0007] In one embodiment, a method for a modem doze mode for UE power saving is provided. The method includes identifying context information of a UE. The method includes determining whether the context information satisfies a triggering condition. The triggering condition includes presence of a foreground application; total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold; and a location of UE is within a cell of a gNB. The method includes in response to a determination the triggering condition is satisfied, starting a doze period including executing a doze-mode function to reduce power consumption of a modem of the UE during the doze period. The doze-mode function includes at least one of: reducing a wake-up frequency of the modem, including delaying transmission of UL packets in the traffic buffer based on different priority classifications; selecting to transmit UL packets in the traffic buffer using a small data transmission (SDT) instead of selecting a transition to RRC connected state to transmit the UL packets; or transmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.
[0008] In another embodiment, an electronic device supporting a modem doze mode for UE power saving is provided. The electronic device includes a modem and a processor operably connected to the modem. The processor is configured to identify context information of the electronic device. The processor is configured to determine whether the context information satisfies a triggering condition. The triggering condition includes presence of a foreground application; total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold; and a location of UE is within a cell of a gNB. The processor is configured to in response to a determination the triggering condition is satisfied, start a doze period including executing a doze-mode function to reduce power consumption of the modem during the doze period. The doze-mode function includes at least one of: reducing a wake-up frequency of the modem, including delaying transmission of UL packets in the traffic buffer based on different priority classifications; selecting to transmit UL packets in the traffic buffer using a SDT instead of selecting a transition to RRC connected state to transmit the UL packets; or transmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.
[0009] Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
[0010] Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms "transmit," "receive," and "communicate," as well as derivatives thereof, encompass both direct and indirect communication. The terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation. The term "or" is inclusive, meaning and / or. The phrase "associated with," as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like.
[0011] Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A "non-transitory" computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
[0012] As used here, terms and phrases such as "have," "may have," "include," or "may include" a feature (like a number, function, operation, or component such as a part) indicate the existence of the feature and do not exclude the existence of other features. Also, as used here, the phrases "A or B," "at least one of A and / or B," or "one or more of A and / or B" may include all possible combinations of A and B. For example, "A or B," "at least one of A and B," and "at least one of A or B" may indicate all of (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B. Further, as used here, the terms "first" and "second" may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate different user devices from each other, regardless of the order or importance of the devices. A first component may be denoted a second component and vice versa without departing from the scope of this disclosure.
[0013] It will be understood that, when an element (such as a first element) is referred to as being (operatively or communicatively) "coupled with / to" or "connected with / to" another element (such as a second element), it can be coupled or connected with / to the other element directly or via a third element. In contrast, it will be understood that, when an element (such as a first element) is referred to as being "directly coupled with / to" or "directly connected with / to" another element (such as a second element), no other element (such as a third element) intervenes between the element and the other element.
[0014] As used here, the phrase "configured (or set) to" may be interchangeably used with the phrases "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of" depending on the circumstances. The phrase "configured (or set) to" does not essentially mean "specifically designed in hardware to." Rather, the phrase "configured to" may mean that a device can perform an operation together with another device or parts. For example, the phrase "processor configured (or set) to perform A, B, and C" may mean a generic-purpose processor (such as a CPU or application processor) that may perform the operations by executing one or more software programs stored in a memory device or a dedicated processor (such as an embedded processor) for performing the operations.
[0015] The terms and phrases as used here are provided merely to describe some embodiments of this disclosure but not to limit the scope of other embodiments of this disclosure. It is to be understood that the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. All terms and phrases, including technical and scientific terms and phrases, used here have the same meanings as commonly understood by one of ordinary skill in the art to which the embodiments of this disclosure belong. It will be further understood that terms and phrases, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined here. In some cases, the terms and phrases defined here may be interpreted to exclude embodiments of this disclosure.
[0016] Definitions for other certain words and phrases may be provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
[0017] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
[0018] FIG. 1 illustrates an example wireless network according to this disclosure;
[0019] FIG. 2 illustrates an example gNodeB (gNB) according to this disclosure;
[0020] FIG. 3 illustrates an example UE according to this disclosure;
[0021] FIG. 4 illustrates an example method for determining whether to enter or exit a modem doze mode, according to this disclosure;
[0022] FIG. 5 illustrates an example rule-based method for determining whether to enter or exit a modem doze mode, according to this disclosure;
[0023] FIG. 6 illustrates an example method for collecting training data for training a machine-learning based (ML-based) model to generate a modem doze opportunity prediction, according to this disclosure;
[0024] FIG. 7 illustrates an example architecture of artificial intelligence (AI) based model for generating a modem doze opportunity prediction, where multi-modal input data at the UE are processed locally into a context information embedding vector, according to this disclosure;
[0025] FIG. 8 illustrates an example federated learning framework for doze opportunity prediction, according to this disclosure;
[0026] FIG. 9 illustrates an example work-flow operation of a packet priority classifier, according to this disclosure;
[0027] FIG. 10 illustrates an example method for rule-based traffic priority classification based on job information, according to this disclosure;
[0028] FIG. 11 illustrates an example method for classifying packet priority using a ML-based policy, according to this disclosure;
[0029] FIG. 12 illustrates an example method for collecting user feedback and updating a list of exempt applications and ML classification policy based on the user feedback collected, according to this disclosure;
[0030] FIG. 13 illustrates an example method for traffic shaping that includes buffering on multiple priority queues, according to this disclosure;
[0031] FIG. 14 illustrates an example method for traffic shaping that includes batching based on transmit (TX) buffer size, according to this disclosure;
[0032] FIG. 15 illustrates an example method of RRC state management for uplink data, according to this disclosure;
[0033] FIG. 16 illustrates an example RRC state modelling, according to this disclosure; and
[0034] FIG. 17 illustrates a method for a modem doze mode for UE power saving, according to this disclosure.
[0035] The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope of the disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
[0036] The terms and words used in the following description and claims are not be limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of various embodiments of the disclosure is provided for illustration purpose only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.
[0037] It is to be understood that the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more of such surfaces.
[0038] In various examples of the disclosure described below, a hardware approach will be described as an example. However, since various embodiments of the disclosure may include a technology that utilizes both the hardware-based and the software-based approaches, they are not intended to exclude the software-based approach.
[0039] As used herein, the terms referring to merging (e.g., merging, grouping, combination, aggregation, joint, integration, unifying), the terms referring to signals (e.g., packet, message, signal, information, signaling), the terms referring to resources (e.g. section, symbol, slot, subframe, radio frame, subcarrier, resource element (RE), resource block (RB), bandwidth part (BWP), opportunity), the terms used to refer to any operation state (e.g., step, operation, procedure), the terms referring to data (e.g. packet, message, user stream, information, bit, symbol, codeword), the terms referring to a channel, the terms referring to a network entity (e.g., distributed unit (DU), radio unit (RU), central unit (CU), control plane (CU-CP), user plane (CU-UP), O-DU -open radio access network (O-RAN) DU), O-RU (O-RAN RU), O-CU (O-RAN CU), O-CU-UP (O-RAN CU-CP), O-CU-CP (O-RAN CU-CP)), the terms referring to the components of an apparatus or device, or the like are only illustrated for convenience of description in the disclosure. Therefore, the disclosure is not limited to those terms described below, and other terms having the same or equivalent technical meaning may be used therefor. Further, as used herein, the terms, such as '~ module', '~ unit', '~ part', '~ body', or the like may refer to at least one shape of structure or a unit for processing a certain function.
[0040] Further, throughout the disclosure, an expression, such as e.g., 'above' or 'below' may be used to determine whether a specific condition is satisfied or fulfilled, but it is merely of a description for expressing an example and is not intended to exclude the meaning of 'more than or equal to' or 'less than or equal to'. A condition described as 'more than or equal to' may be replaced with an expression, such as 'above', a condition described as 'less than or equal to' may be replaced with an expression, such as 'below', and a condition described as 'more than or equal to and below' may be replaced with 'above and less than or equal to', respectively. Furthermore, hereinafter, 'A' to 'B' means at least one of the elements from A (including A) to B (including B). Hereinafter, 'C' and / or 'D' means including at least one of 'C' or 'D', that is, {'C', 'D', or 'C' and 'D'}.
[0041] The disclosure describes various embodiments using terms used in some communication standards (e.g., 3rd Generation Partnership Project (3GPP), extensible radio access network (xRAN), open-radio access network (O-RAN) or the like), but it is only of an example for explanation, and the various embodiments of the disclosure may be easily modified even in other communication systems and applied thereto.
[0042] FIGS. 1 through 17, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably-arranged wireless communication system.
[0043] Aspects of the present disclosure are applicable to fifth generation (5G) communication systems, 6G or even later releases which may use THz bands. The 5G cellular communication systems deliver high data rate and low latency to support a wide range of applications, mainly achieved through means such as larger bandwidths and more antennas. An increase in power consumption associated with 5G is particularly challenging for user equipments (UEs) that rely on battery power.
[0044] The connectivity power consumption of a UE is heavily dependent on a traffic pattern of the UE. Consistent traffic requires consistent activity of the modem of the UE, thus consuming more power. On the other hand, bursty and sporadic traffic allows the modem to enter sleep states more often, which consumes less power. Embodiments of this disclosure provide advantages including significant power saving in a UE by enabling the UE to shape traffic of the UE: delaying traffic from different applications (apps) into patterns more conducive to modem sleep behavior while not impacting the Quality of Experience (QoE). On the other hand, not all packets have the same impact on the QoE: some are more tolerant to delay than others. Identifying and leveraging the priority of different packets allows the UE to save more power while providing a more robust performance on the QoE.
[0045] Embodiments of this disclosure focuses on power saving in the scenario where there is little traffic (namely, an insignificant amount of traffic that is less than a threshold amount of network activity) from the active apps on a device (such as a UE), for example, in a scenario of no set of apps (including a set of multiple apps or set of only one app) with which the user is currently interacting generate significant amounts of data. This disclosure provides solutions for QoE-aware power saving when there is little cellular traffic from active apps at the UE. The solution includes QoE-aware traffic shaping and intelligent radio resource control (RRC) state management to reduce the cellular connectivity power consumption.
[0046] More particularly, solutions provided in this disclosure includes: (i) separation of traffic packets based on their QoE requirements; (ii) traffic shaping to reduce modem active time and increase the amount of time that the modem of the UE sleeps; (iii) and intelligent usage of Small Data Transmission (SDT) and early RRC release to reduce RRC connected time. These solutions determine times when RRC connected state is unnecessary to reduce unnecessary RRC connected time. Traffic shaping techniques can increase delay, but might not affect the overall QoE of the user due to a carefully designed doze mode trigger and exit mechanism as well as QoE-aware traffic shaping solutions, which are described in this disclosure.
[0047] Note that the modem doze mode in this disclosure is different from a doze mode in an AndroidTMoperating system (OS). The AndroidTMdoze mode operates on an application level and batches activity of mobile applications thus affecting the behavior of multiple components, including the CPU, the memory, and the modem. In comparison, the modem doze mode in this disclosure manages the cellular traffic and only affects behavior of the modem. Furthermore, AndroidTMDoze mode requires the UE to be idle, which entails no user-interaction with any app, no active apps, and the device being stationary. In comparison, the modem doze mode defined in this disclosure requires the UE to be idle in terms of its cellular network activity. The UE can enter the modem doze mode as long as there is little traffic from the active apps, which intuitively includes scenarios in which the user is actively interacting with the UE (such as smartphone) and where the UE has limited mobility in the cellular management sense.
[0048] To meet the demand for wireless data traffic having increased since deployment of 4G communication systems and to enable various vertical applications, 5G / NR communication systems have been developed and are currently being deployed. The 5G / NR communication system is considered to be implemented in higher frequency (mmWave) bands, e.g., 28 GHz or 60 GHz bands, so as to accomplish higher data rates or in lower frequency bands, such as 6 GHz, to enable robust coverage and mobility support. To decrease propagation loss of the radio waves and increase the transmission distance, the beamforming, massive multiple-input multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, an analog beam forming, large scale antenna techniques are discussed in 5G / NR communication systems.
[0049] In addition, in 5G / NR communication systems, development for system network improvement is under way based on advanced small cells, cloud radio access networks (RANs), ultra-dense networks, device-to-device (D2D) communication, wireless backhaul, moving network, cooperative communication, coordinated multi-points (CoMP), reception-end interference cancelation and the like.
[0050] The discussion of 5G systems and frequency bands associated therewith is for reference as certain embodiments of the present disclosure may be implemented in 5G systems. However, the present disclosure is not limited to 5G systems or the frequency bands associated therewith, and embodiments of the present disclosure may be utilized in connection with any frequency band. For example, aspects of the present disclosure may also be applied to deployment of 5G communication systems, 6G or even later releases which may use terahertz (THz) bands.
[0051] FIGS. 1-3 below describe various embodiments implemented in wireless communications systems and with the use of orthogonal frequency division multiplexing (OFDM) or orthogonal frequency division multiple access (OFDMA) communication techniques. The descriptions of FIGS. 1-3 are not meant to imply physical or architectural limitations to the manner in which different embodiments may be implemented. Different embodiments of the present disclosure may be implemented in any suitably arranged communications system.
[0052] FIG. 1 illustrates an example wireless network according to embodiments of the present disclosure. The embodiment of the wireless network shown in FIG. 1 is for illustration only. Other embodiments of the wireless network 100 could be used without departing from the scope of this disclosure.
[0053] As shown in FIG. 1, the wireless network includes a gNB 101 (e.g., base station, BS), a gNB 102, and a gNB 103. The gNB 101 communicates with the gNB 102 and the gNB 103. The gNB 101 also communicates with at least one network 130, such as the Internet, a proprietary Internet Protocol (IP) network, or other data network.
[0054] The gNB 102 provides wireless broadband access to the network 130 for a first plurality of user equipments (UEs) within a coverage area 120 of the gNB 102. The first plurality of UEs includes a UE 111, which may be located in a small business; a UE 112, which may be located in an enterprise; a UE 113, which may be a WiFi hotspot; a UE 114, which may be located in a first residence; a UE 115, which may be located in a second residence; and a UE 116, which may be a mobile device, such as a cell phone, a wireless laptop, a wireless PDA, or the like. The gNB 103 provides wireless broadband access to the network 130 for a second plurality of UEs within a coverage area 125 of the gNB 103. The second plurality of UEs includes the UE 115 and the UE 116. In some embodiments, one or more of the gNBs 101-103 may communicate with each other and with the UEs 111-116 using 5G / NR, long term evolution (LTE), long term evolution-advanced (LTE-A), WiMAX, WiFi, or other wireless communication techniques.
[0055]
[0056] Dotted lines show the approximate extents of the coverage areas 120 and 125, which are shown as approximately circular for the purposes of illustration and explanation only. It should be clearly understood that the coverage areas associated with gNBs, such as the coverage areas 120 and 125, may have other shapes, including irregular shapes, depending upon the configuration of the gNBs and variations in the radio environment associated with natural and man-made obstructions.
[0057] Although FIG. 1 illustrates one example of a wireless network, various changes may be made to FIG. 1. For example, the wireless network could include any number of gNBs and any number of UEs in any suitable arrangement. Also, the gNB 101 could communicate directly with any number of UEs and provide those UEs with wireless broadband access to the network 130. Similarly, each gNB 102-103 could communicate directly with the network 130 and provide UEs with direct wireless broadband access to the network 130. Further, the gNBs 101, 102, and / or 103 could provide access to other or additional external networks, such as external telephone networks or other types of data networks.
[0058] FIG. 2 illustrates an example gNB 102 according to embodiments of the present disclosure. The embodiment of the gNB 102 illustrated in FIG. 2 is for illustration only, and the gNBs 101 and 103 of FIG. 1 could have the same or similar configuration. However, gNBs come in a wide variety of configurations, and FIG. 2 does not limit the scope of this disclosure to any particular implementation of a gNB.
[0059] As shown in FIG. 2, the gNB 102 includes multiple antennas 205a-205n, multiple transceivers 210a-210n, a controller / processor 225, a memory 230, and a backhaul or network interface 235.
[0060] The transceivers 210a-210n receive, from the antennas 205a-205n, incoming RF signals, such as signals transmitted by UEs in the network 100. The transceivers 210a-210n down-convert the incoming RF signals to generate IF or baseband signals. The IF or baseband signals are processed by receive (RX) processing circuitry in the transceivers 210a-210n and / or controller / processor 225, which generates processed baseband signals by filtering, decoding, and / or digitizing the baseband or IF signals. The controller / processor 225 may further process the baseband signals.
[0061] Transmit (TX) processing circuitry in the transceivers 210a-210n and / or controller / processor 225 receives analog or digital data (such as voice data, web data, e-mail, or interactive video game data) from the controller / processor 225. The TX processing circuitry encodes, multiplexes, and / or digitizes the outgoing baseband data to generate processed baseband or IF signals. The transceivers 210a-210n up-converts the baseband or IF signals to RF signals that are transmitted via the antennas 205a-205n.
[0062] The controller / processor 225 can include one or more processors or other processing devices that control the overall operation of the gNB 102. For example, the controller / processor 225 could control the reception of UL channel signals and the transmission of DL channel signals by the transceivers 210a-210n in accordance with well-known principles. The controller / processor 225 could support additional functions as well, such as more advanced wireless communication functions. For instance, the controller / processor 225 could support beam forming or directional routing operations in which outgoing / incoming signals from / to multiple antennas 205a-205n are weighted differently to effectively steer the outgoing signals in a desired direction. Any of a wide variety of other functions could be supported in the gNB 102 by the controller / processor 225.
[0063] The controller / processor 225 is also capable of executing programs and other processes resident in the memory 230, such as an OS. The controller / processor 225 can move data into or out of the memory 230 as required by an executing process.
[0064] The controller / processor 225 is also coupled to the backhaul or network interface 235. The backhaul or network interface 235 allows the gNB 102 to communicate with other devices or systems over a backhaul connection or over a network. The interface 235 could support communications over any suitable wired or wireless connection(s). For example, when the gNB 102 is implemented as part of a cellular communication system (such as one supporting 5G / NR, LTE, or LTE-A), the interface 235 could allow the gNB 102 to communicate with other gNBs over a wired or wireless backhaul connection. When the gNB 102 is implemented as an access point, the interface 235 could allow the gNB 102 to communicate over a wired or wireless local area network or over a wired or wireless connection to a larger network (such as the Internet). The interface 235 includes any suitable structure supporting communications over a wired or wireless connection, such as an Ethernet or transceiver.
[0065] The memory 230 is coupled to the controller / processor 225. Part of the memory 230 could include a RAM, and another part of the memory 230 could include a Flash memory or other ROM.
[0066] Although FIG. 2 illustrates one example of gNB 102, various changes may be made to FIG. 2. For example, the gNB 102 could include any number of each component shown in FIG. 2. Also, various components in FIG. 2 could be combined, further subdivided, or omitted and additional components could be added according to particular needs.
[0067] FIG. 3 illustrates an example UE 116 according to embodiments of the present disclosure. The embodiment of the UE 116 illustrated in FIG. 3 is for illustration only, and the UEs 111-115 of FIG. 1 could have the same or similar configuration. However, UEs come in a wide variety of configurations, and FIG. 3 does not limit the scope of this disclosure to any particular implementation of a UE.
[0068] As shown in FIG. 3, the UE 116 includes antenna(s) 305, a transceiver(s) 310, and a microphone 320. The UE 116 also includes a speaker 330, a processor 340, an input / output (I / O) interface (IF) 345, an input 350, a display 355, and a memory 360. The memory 360 includes an operating system (OS) 361 and one or more applications 362.
[0069] The transceiver(s) 310 receives, from the antenna 305, an incoming RF signal transmitted by a gNB of the network 100. The transceiver(s) 310 down-converts the incoming RF signal to generate an intermediate frequency (IF) or baseband signal. The IF or baseband signal is processed by RX processing circuitry in the transceiver(s) 310 and / or processor 340, which generates a processed baseband signal by filtering, decoding, and / or digitizing the baseband or IF signal. The RX processing circuitry sends the processed baseband signal to the speaker 330 (such as for voice data) or is processed by the processor 340 (such as for web browsing data).
[0070] TX processing circuitry in the transceiver(s) 310 and / or processor 340 receives analog or digital voice data from the microphone 320 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the processor 340. The TX processing circuitry encodes, multiplexes, and / or digitizes the outgoing baseband data to generate a processed baseband or IF signal. The transceiver(s) 310 up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna(s) 305.
[0071] The processor 340 can include one or more processors or other processing devices and execute the OS 361 stored in the memory 360 in order to control the overall operation of the UE 116. For example, the processor 340 could control the reception of DL channel signals and the transmission of UL channel signals by the transceiver(s) 310 in accordance with well-known principles. In some embodiments, the processor 340 includes at least one microprocessor or microcontroller.
[0072] The processor 340 is also capable of executing other processes and programs resident in the memory 360. The processor 340 can move data into or out of the memory 360 as required by an executing process. In some embodiments, the processor 340 is configured to execute the applications 362 based on the OS 361 or in response to signals received from gNBs or an operator. The processor 340 is also coupled to the I / O interface 345, which provides the UE 116 with the ability to connect to other devices, such as laptop computers and handheld computers. The I / O interface 345 is the communication path between these accessories and the processor 340.
[0073] The processor 340 is also coupled to the input 350, which includes for example, a touchscreen, keypad, etc., and the display 355. The operator of the UE 116 can use the input 350 to enter data into the UE 116. The display 355 may be a liquid crystal display, light emitting diode display, or other display capable of rendering text and / or at least limited graphics, such as from web sites.
[0074] The memory 360 is coupled to the processor 340. Part of the memory 360 could include a random-access memory (RAM), and another part of the memory 360 could include a Flash memory or other read-only memory (ROM).
[0075] Although FIG. 3 illustrates one example of UE 116, various changes may be made to FIG. 3. For example, various components in FIG. 3 could be combined, further subdivided, or omitted and additional components could be added according to particular needs. As a particular example, the processor 340 could be divided into multiple processors, such as one or more central processing units (CPUs), one or more graphics processing units (GPUs). In another example, the transceiver(s) 310 may include any number of transceivers and signal processing chains and may be connected to any number of antennas. Also, while FIG. 3 illustrates the UE 116 configured as a mobile telephone or smartphone, UEs could be configured to operate as other types of mobile or stationary devices.
[0076] As another example, the processor 340 could be divided into multiple processors, such as one or more application processors (APs) and one or more communications processors (CPs). The memory 360 includes a modem doze mode 363 that the processor 340 (such as a CP) is configured to enter and exit thereby starting and ending a doze period, respectively. The processor 340 executes a doze-mode function to reduce power consumption of a modem of the UE during the doze period. The processor 340 controls the UE to enter and exit the modem doze mode 363 based on context information and signals from the OS 361, applications 363, gNBs, or an operator of the UE. The memory 360 includes a traffic buffer 364 where incoming packets (uplink packets and downlink packets) are stored before being processed or forwarded. The memory 360 also includes a transmit buffer (TX buffer) 365, where packets in the TX buffer are transmitted immediately without delay. The UE 116 includes a modem, which can include the transceiver(s) 310 and / or one or more of the CPs.
[0077] FIG. 4 illustrates an example method 400 for determining whether to enter or exit a modem doze mode, according to this disclosure. The embodiment of the method 400 shown in FIG. 4 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure. The method 400 can be executed by the UE 116 of FIG. 3, such as by the processor 340 executing instructions of the modem doze mode 363, which includes a carefully designed doze mode trigger and exit mechanism, and one or more doze opportunity detection mechanisms.
[0078] The doze mode of the modem is defined as a power saving operation mode. During a doze period while the UE has entered modem doze mode, the UE will batch and delay network cellular traffic, prioritize the use of SDT, and more aggressively request RRC release so that the modem can enter deeper sleep states more often. Generally, the modem enters the doze mode when network activity from apps that are active (herein referred to as "active apps") is below a threshold. An app is active if the app is running in the foreground and has an ongoing interaction with the user. Active apps typically have an interactive user interface (UI) or notification / status bar displayed to the user. Interruptions to active apps are more likely to be perceptible to the user and may cause degradations in the QoE. While the operator is viewing or listening to output from a active app, the operator can perceive (e.g., see or hear) an increase of latency increase or a reduction of responsiveness of active apps.
[0079] At block 405, the UE updates context information. For example, the UE identifies context information of the UE. The UE collects context information, which includes the location, user activity on the device, traffic generated on the device, time of day, etc.
[0080] At block 410, the UE determines whether context information changed. If the context information changes, the UE determines whether to enter or exit the modem doze mode.
[0081] At block 415, the UE determines whether the UE is in modem doze mode. For example, the UE determines whether modem doze mode is in an ON state or an OFF state. If the UE is not in modem doze mode (OFF state), the method proceeds from block 415 to block 420. Alternatively, if the UE is in modem doze mode (ON state), the method proceeds from block 415 to block 425.
[0082] The operating system 361 of the UE provides a setting option to enable / disable modem doze mode, which the OS can display in a settings menu for user selection, is distinct from the ON / OFF state of modem doze mode. While the setting option to enable / disable modem doze mode is disabled, the UE refrains from performing methods to determine whether to enter or exit a doze period, and refrain from executing the various methods various methods disclosed herein. On the other hand, while the setting option to enable / disable modem doze mode is enabled, the UE executes the various methods disclosed herein.
[0083] The method 400 combines the two modem-doze opportunity detection methods: rule-based and AI-based. In other words, there are two general approaches to determine whether the UE can enter the modem doze mode: based on user patterns that are heuristics-based or AI-learned. Human experts, applying their understanding of likely activity patterns, can specify rule-based conditions to enter and exit the modem doze mode. The decision logic (for example, blocks 415-435 and 445-455) is event-driven, namely, activated when the context information changes. If the UE is operating normally and not in modem doze mode, then the UE first checks whether any of the human-specified doze start conditions is satisfied. If no such specified scenarios apply, then the UE calls or triggers the ML model to predict whether current context information is a doze opportunity. Particularly at blocks 420 and 430-440, the UE determines whether to enter modem doze mode, which is to start a doze period. At blocks 425 and 445-455, the UE determines whether to exit modem doze mode, which is to end a doze period that has already begun.
[0084] In this disclosure, a doze opportunity occurs when context information at the current time satisfies a trigger condition to switch to the ON state of the modem doze mode, and the term "doze opportunity" interchangeably refers to a doze period during which the current time and context information periodically update as time progresses so that the UE repeatedly determines whether context information at the current time satisfies the trigger condition. If any specified doze start condition is satisfied or a doze opportunity is predicted, the UE enters the modem doze mode. While the UE is currently in the modem doze mode, the UE exits the modem doze mode if exit conditions are detected, including when the user selects to exit the current active app or the user stops consuming media offline as further described with FIG. 5. If the modem doze mode is already activated due to a doze opportunity predicted by the ML model, the UE calls the doze exit prediction model to determine whether to exit doze mode.
[0085] At block 420, the UE determines whether specified doze start conditions are satisfied, thereby determining whether to doze due to specified doze start conditions. For example, the UE, using a rule-based doze opportunity detection mechanism (also referred to as rule-based detector), determines whether the context information satisfies the doze start conditions. In some embodiments, the specified doze start conditions can be included within a triggering condition to start a doze period. In such embodiments, the UE, using the rule-based detector, determines whether the context information satisfies the triggering condition. In response to a determination by the rule-based detector that the specified doze start conditions are not satisfied, the method proceeds to block 430. In response to an alternative determination by the rule-based detector that the doze start conditions are satisfied, the method proceeds to block 440 at which the UE determines to start a doze period and subsequently starts the doze period based on the doze start prediction.
[0086] At block 430, the UE uses an artificial intelligence (AI) based doze opportunity detection mechanism (also referred to as AI-based detector) trained to generate a doze start prediction, thereby inputting the updated context information into the AI-based detector. At block 435, the UE determines whether a doze start is predicted, namely, determining whether the doze start prediction output by the AI-based detector indicates a doze start is predicted. The method proceeds from block 435 to block 440 if the UE determines that the doze start is predicted, but the method restarts and returns to block 405 if a doze start is not predicted.
[0087] The procedure at block 425 is same as to procedure at block 420, as such, the UE determines whether specified doze start conditions are satisfied. In response to a determination by the rule-based detector that the doze start conditions are satisfied, the method proceeds to block 445 at which the UE determines whether specified doze end conditions are detected (for example, satisfied). In response to an alternative determination by the rule-based detector that the doze start conditions are not satisfied, the method proceeds to block 450 followed by block 455.
[0088] The method proceeds from block 445 to block 460 if the UE determines that specified doze end conditions are detected (for example, using the rule-based detector). The method restarts and returns to block 405 if the updated context information does not satisfy he doze end conditions.
[0089] At block 450, the UE uses an AI-based detector trained to generate a doze end prediction. That is, the updated context information is input to the AI-based detector.
[0090] At block 455, the UE determines whether a doze end is predicted. For example, the UE determines whether the AI-based detector output a doze end prediction indicating a doze end is predicted. The method restarts and returns to block 405 if a doze end is not predicted, for example, based on the doze end prediction output by AI-based detector not indicating a doze end. The method proceeds to block 460 if a doze end is predicted, for example, based on the doze end prediction output by AI-based detector indicating a doze end. At block 460, the UE determines to end the doze period and subsequently ends the doze period based on the doze end prediction.
[0091] Various changes can be made to the method 400 of FIG. 4, including alternative embodiments that include one or both of the rule-based and AI-based doze opportunity detection mechanisms.
[0092] FIG. 5 illustrates an example rule-based method 500 for determining whether to enter or exit a modem doze mode, according to this disclosure. The embodiment of the method 500 shown in FIG. 5 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure. The method 500 can be executed by the UE 116 of FIG. 3, such as by the processor 340 executing instructions of the modem doze mode 363, which includes the rule-based detector, as introduced herein. For ease of description, the method 500 is described as performed by the rule-based detector. The procedures at blocks 505, 510, 540, and 560 of FIG. 5 can be the same as or similar to the procedures of corresponding blocks 405, 410, 440, and 460 of FIG. 4.
[0093] The rule-based detector is configured to detect rule-based doze start conditions, which can define a scenario in which the user is consuming media offline such as when the user is viewing a downloaded video, listening to downloaded audio (such as songs, podcasts, or audiobooks), or reading downloaded printable material (such as books, magazines, or textual contents) offline. Consuming media offline not only includes consumption of media in an app that in offline mode, but also includes consumption of media that has been downloaded to the UE even if the app is in online mode. Accordingly, the rule-based detector checks for online media streaming during media consumption to exit or not enter modem doze mode when a media consumption app requires a higher data rate than modem doze mode allows. The rule-based doze start conditions can be design parameters configured by a manufacturer. To detect scenarios of offline consumption of media, the UE monitors whether the user is actively using a list of media consumption apps.
[0094] On top of that, the modem doze mode 363 provides higher-level settings to users of the UE, such as a user-configurable setting for whitelisting particular apps (such as one or more selected from among the applications 362) that are exempted from modem doze mode. Particularly, a set of whitelisted applications includes each respective whitelisted application, which is selected by the user or pre-selected by the manufacturer. These whitelisted apps may have an online usage mode, where the media content (such as video, audio, textual contents, or still image contents) are streamed or downloaded on demand in real time.
[0095] At block 515, the rule-based detector determines whether any from among the list of media consumption apps is a foreground application (such as an application in focus on the display of the UE). If so, the method proceeds to block 520, but if not, the method proceeds to block 560.
[0096]
[0097] The UE may also monitor the app activity such as the app intent in the OS, to determine whether the user is trying to consume a new video, song, podcast, audiobook or book / magazine. For instance, in the AndroidTMOS, viewing a new video involves the app launching a new activity with viewing intent for a different video ID.
[0098] At block 520, the rule-based detector determines whether the user is consuming a new piece of content. If so, the method proceeds to block 530, but if not, the method restarts and returns to block 505. Consuming a new piece of media content is not equivalent to opening a media consumption app. Rather, consuming a new piece of media content includes opening a media content for playback or display in an app, even if the app is already opened.
[0099]
[0100]
[0101] Although FIG. 5 is described in terms of consuming media offline, the rule-based detector can be configured to detect rule-based doze start conditions that define a different scenario. Other scenarios in which there is likely to be little traffic generated by active apps include: (i) when the user is editing photos, videos, and documents locally; or (ii) when the user is using fitness apps to track workouts, with no other apps requiring network connectivity. These scenarios include an activity that is unlikely to be short-lived, and the UE can maintain a list of such long-lived low-data-consumption activities. Editing documents locally can include the user writing in a journal or taking notes in a productivity app. These media editing, productivity, and fitness apps can be referred to as infrequent-connection apps that mostly operate offline with occasional network activity, such as to sync data. The UE maintains a list of such infrequent-connection apps, and detects such scenarios when these apps are active and in focus, namely, when these apps are running in the foreground and are actively being used by the user.
[0102] This list of infrequent-connection apps can include audio apps, such as music apps, podcast apps, and navigation apps in which the screen may be turned off while the user is still actively using the apps. The other scenarios in which there is likely to be little traffic generated by active apps further includes: (iii) when the user is listening to these apps while the display screen is off. The UE enters the modem doze mode when these specified scenarios are detected, and exits the doze mode when the UE is no longer in these scenarios.
[0103] FIG. 6 illustrates an example method 600 for collecting training data for training a machine-learning based (ML-based) model to generate a modem doze opportunity prediction, according to this disclosure. The embodiment of the method 600 shown in FIG. 6 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0104]
[0105] At block 608, the UE determines whether there is any traffic from active apps. For example, the UE can determine whether an active app has added any new packets to the traffic buffer, or can determine whether the traffic buffer includes any packets originated by the active app. In response to a determination that there is no traffic from active apps, the method returns to block 604 to the current time t updates and increments. In response to a determination that there is traffic from active apps, the method includes other procedures described further below.
[0106] At block 610, updating context information can be the same as or similar to the procedure of corresponding block 405 of FIG. 4. In addition to expert human-specified scenarios, the UE can identify opportunities for entering and exiting modem doze mode by learning from the UE's context information accumulated over time. The UE collects context information including the time of day, GPS, nearby Wi-Fi SSIDs, recent app activities, current active apps and focus settings such as "do not disturb" and scheduled sleep times. Given the context information as inputs, machine learning (ML) models can be trained to predict opportunities to enter and exit modem doze mode. An example method for collecting training data is described further below with FIG. 7 and utilizes a context information buffer (V) 611 that is generated by and updated by the method 600 of FIG. 6. The buffer 611 can be stored in the memory 360 of FIG. 3.
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115] FIG. 7 illustrates an example architecture 700 of AI-based model for generating a modem doze opportunity prediction, where multi-modal input data at the UE are processed locally into a context information embedding vector, according to this disclosure. The embodiment of the architecture 700 shown in FIG. 7 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure. The architecture 700 includes an example method for collecting training data for machine learning-based modem doze opportunity prediction. The architecture 700 includes a context information embedding neural network (NN) 702 and NN architecture 704 for doze opportunity prediction.
[0116]
[0117]
[0118] Active app data 710 includes presence of an active app per category, where k denotes the number of categories defined, and a denotes a number of active apps from each category. Similarly, background app data 712 includes presence of background app per category, where b denotes a number of background apps from each category. The active and background apps are multi-hot vectors representing the presence (1) or absence (0) of a apps from each category. Example categories may include video streaming, music, news, browsing, fitness, social media and productivity. Each of the above input modalities 706-712 is passed through a multilayer perceptron (MLP) network 714a-714d to obtain a corresponding modality embedding vector 716-722.
[0119] The Wi-Fi SSID with the strongest RSSI is abbreviated as WSSR data 722 for simplicity. The data format of the WSSR data 722 is text. The WSSR data 722 is the SSID used as a complement to the GPS coordinates. The WSSR data 722 is first processed through a text embedding model 724 such as Word2Vec to obtain an embedding vector, then processed through an MLP 726 to obtain the modality embedding vector (MSSID) 728.
[0120]
[0121]
[0122] The context information embedding NN 702 processes the vembed740 through a fully connected network 750 to obtain (for example, to generate) the doze opportunity prediction 760. The fully connected network 750 includes a sequence of a first batch normalization with a fully connected layer 752, a dense layer 754, a second batch normalization with a fully connected layer 756, and a sigmoid activation function 758 of a second dense layer. The doze opportunity prediction 760 can be the doze start prediction 430 or the doze end prediction 450 of FIG. 4.
[0123]
[0124] FIG. 8 illustrates an example federated learning framework 800 for doze opportunity prediction, according to this disclosure. The embodiment of the framework 800 shown in FIG. 8 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0125] A federated server 810 as well as all UEs within a set of UEs 820 keep (for example, store) a copy of the NN model 812 including model weights. The set of UEs 820 includes multiple UEs, including UE1 821, UE2 822, and UE3 823. For example, the NN model 812 stored in the federated server 810 can be a remote, cloud-based copy referred to as a global model 812r. Each of the UEs locally stores a copy of the NN model 812 received from the federated server 810.
[0126] Each UE 821, 822, 823 collects its own training dataset and performs local training. In one embodiment, each UE uploads feedback 831, 832, 833 including a respective gradient update of the UE's entire local NN model to the federated server 810. Then, the federated server 810 combines the gradients received from the set of UEs 820 to update the global model 812r. Then, the federated server 810 broadcasts the updated global model 812r to all UEs in the set of UEs 820, triggering each respective UE 821, 822, 823 to update its local NN model 812. As a technical advantage, the set of UEs 820 only feedback 831, 832, 833 their gradients to the federated server 810, and as a result, no sensitive information is shared (transmitted from a respective UE) and user privacy is preserved.
[0127]
[0128] Although FIG. 8 illustrates an example an example federated learning framework 800 for doze opportunity prediction, various changes may be made to FIG. 8. For example, the NN model 812 stored locally within the memory a respective UE (such as UE1 821) can be a single model for all active apps. In such embodiment, the UE collects its training dataset and trains its doze opportunity prediction models, which are agnostic to the active app. Alternatively, the UE may collect separate training datasets for each different active app and train doze opportunistic prediction models for each app. In some cases, app-specific models can perform better than an app-agnostic model because the data is more homogeneous in the app-specific models, although multiple app-specific models consume more storage and require more data to train.
[0129]
[0130] From among the multiple doze-mode functions, if the UE only performs traffic shaping to save power, the modem doze mode can be activated even when the UE is mobile (for example, when a motion sensor or inertial measurement unit (IMU) indicates that the UE is moving). If the UE is also actively managing its RRC connection state, the modem doze mode is activates when the UE stays within the same cell (such as coverage area 120 of FIG. 1) and is either stationary or has very little mobility. This is to prevent any impact on cellular mobility management including handover.
[0131] FIG. 9 illustrates an example work-flow operation 900 of a packet priority classifier 910, according to this disclosure. The embodiment of the method 900 shown in FIG. 9 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0132] In order to differentially schedule data transmission without impacting user's QoE, the UE determines a priority of the network packets 920. For example, the network packets 920 can be incoming packets in the traffic buffer 364 of FIG. 1. This disclosure focuses on uplink packets at the UE because there is very little influence a UE can exert on the downlink traffic behavior.
[0133] The traffic shaping solution in this disclosure introduces an additional delay before transmitting uplink packets. Therefore, the packets are categorized into groups: high, normal and low priority based on their tolerance of the additional delay. Generally, high priority packets are critical to the user's QoE and need to be processed immediately. These high priority packets are typically generated directly from the user's interaction with the UE, such as launching an app, clicking on a new piece of content, or activities in the active apps such as watching a video playback. Normal priority packets can tolerate a moderate amount of delay, such as tens of seconds. Normal priority packets include most packets generated by background apps or by activities that do not directly interact with the user, and have little perceivable impact on the QoE. The low priority packets can tolerate a larger amount of delay, usually on the order of tens of minutes, and even hours in some cases. Packets generated due to app updates and system backups fall into this low priority class.
[0134] The packet priority classifier 910 can be rule-based or a ML-based model trained from data. The priority of packets can be determined based on system information 930 and the user's configuration 940. The system information 930 can be OS job information , which includes the priority, timing, service and originating app associated with packets. The packet priority classifier 910 assigns a priority to each packet in the traffic buffer. In one embodiment, packet priority classifier 910 puts the packet are then put into high, normal, and low priority queues 950, 960, 970 based on the priority classification of the packet. These different queues 950, 960, and 970 can represent the traffic buffer 364 of FIG. 3. The priority classification of the packet corresponds to or determines a transmission delay for the UL packet. More particularly, each of the high, normal, and low priority queues 950, 960, 970 respectively corresponds high, normal, and low scheduling periodicities (th, tn, tl) that limit a tolerable amount of transmission delay for the UL packets in the corresponding priority queue. In another embodiment, instead of transferring the packets 920 into a selected queue from among the different priority queues 950, 960, 970, the packet priority classifier 910 keeps the packets 920 in the traffic buffer and associates each packet with the priority classification of the packet.
[0135] For example, the AndroidTMOS provides a unified framework for apps to request and schedule tasks to be executed. Apps can specify the priority level and the connectivity and timing requirement of these tasks, in addition to the underlying app and process responsible for the tasks. WorkManager in the AndroidTMOS is a framework for apps to schedule jobs, and uses a combination of JobScheduler and AlarmManager to schedule jobs for efficient execution. The UE can obtain a list of jobs that are currently being executed or are going to be executed, as well as their connectivity requirements. Apps can specify the priority of jobs to either high, default, or low, which determines the scheduling priority of jobs. Additionally, jobs can be expedited to be executed as soon as possible. Although the WorkManager does not directly map each job to its packets, the UE may establish an indirect mapping by cross-referencing the app responsible for each job and the responsible app's active sockets. For instance, the UE can obtain an internet protocol (IP) table that includes the originating app ID of each active TCP / IP link, which is identified by the TCP / IP 5-tuple. For each job in the WorkManager framework, the UE can identify active TCP / IP links that are created for the app by matching the app IDs in the IP table to the originating app of the job. Packets with the matching TCP / IP 5-tuples are generated by the app for the job, so that their priority level can be classified according to the information associated with the job. In another embodiment, this mapping can be provided by the app: the UE can provide an API for apps to specify the priority level of packets as well as the TCP / IP 5-tuple to filter such packets. The packets are then put into different queues 950, 960, 970 based on their priority level.
[0136] FIG. 10 illustrates an example method 1000 for rule-based traffic priority classification based on job information, according to this disclosure. More particularly, the method 1000 is an example method for a rule-based packet priority classifier leveraging OS job information while allowing user customization. The embodiment of the method 1000 shown in FIG. 10 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0137] The UL packet 1002 can be a respective packet from among the packets 920 of FIG. 9. The high priority queue 1050, normal priority queue 1060, and low priority queue 1070 of FIG. 10 can represent corresponding priority queues 950, 960, 970 of FIG. 9. Accordingly, when the UL packet 1002 is assigned a high, normal, or low priority classification, the UE puts the UL packet 1002 into the corresponding high, normal, or low priority queue 1050, 1060, and 1070, respectively.
[0138] This disclosure primarily describes scenarios in which there is little network activity from the active apps, most packets originate from background apps and background processes, and most packets belong to the normal priority class. In such scenarios, high priority packets are expected to arrive infrequently. The operating system of the UE can provide a set of whitelisted applications in addition to the user-toggleable setting option to enable / disable modem doze mode, to which the user can add apps whose packets the user desires to be prioritized as the high priority. That is, packets originated by apps in this list are placed in the high priority queue 1050. While setting option to enable / disable modem doze mode is enabled, the user can specify a list of user-selected apps that are included within the set . This provides more customizability to the user, who now has the option to make sure the QoE from the whitelisted apps are not compromised due to modem doze mode.
[0139] Packets from current in-focus or active apps likely have a significant impact on QoE, and are therefore placed in the high priority queue 1050. Some jobs in WorkManager of the AndroidTMOS also need to be prioritized higher than the normal priority class, including on-going expedited jobs in JobScheduler and jobs that have a recently expired alarm in AlarmManager. The packets associated with these jobs are placed in the high priority queue 1050.
[0140] At block 1004, the UE determines an originating app (indexed by i) that originating the packet 1002 in to the traffic buffer. At block 1006, the UE determines whether the originating app i is an exempted apps or exempted services from among the set of whitelisted apps . At block 1008, the UE determines whether the originating app i is from among a list of currently active apps. At block 1010, the UE determines whether the packet 1002 is associated with an on-going expedited job from the originating app i in JobScheduler. At block 1012, the UE determines whether the packet 1002 is associated with a job that a recently expired alarm from the originating app i in the AlarmManager. The UE assigns a high priority classification to the packet 1002 based on a "yes" determination at any of blocks 1006-1012, but otherwise the method proceeds to block 1020 based on "yes" determination at blocks 1006, 1008, 1010, and 1012. Although blocks 1006-1012 are shown as a series of decision blocks, these procedures can be performed concurrently.
[0141] At block 1020, the UE determines whether the packet 1002 is associated with a high-priority jobs or a default-priority jobs from the originating app i in JobScheduler. Packets associated with high-priority jobs or default-priority jobs in JobScheduler are placed in the normal priority queue 1060.
[0142] At block 1030, the UE determines whether the packet 1002 is associated with a low-priority job or a default-priority jobs from the originating app i in JobScheduler. At block 1032, the UE determines whether originating app i in generated the packet 1002 due to an on-going update or a prefetch. Packets associated with low-priority jobs in JobScheduler as well as those packets generated due to app update and system update and app prefetch are placed in the low priority queue 1070.
[0143] In some embodiments, the rest of the packets are placed in the normal priority queue 1060. In some embodiments, the UE assigns a low priority classification to the packet 1002 based on a "yes" determination at any of blocks 1030-1032, but otherwise the method proceeds to block 1040 based on "no" determination at blocks 1030 and 1032. That is, The remaining packets, which are not put into priority queues 1050, 1060, 1070 up by the rule-based mechanism, are then classified using the ML-based classification policy.
[0144] At block 1040, an ML-based priority classification procedure is activated. That is, an ML-based priority classifier is triggered to generate and output a priority classification prediction 1042, in response to the packet 1002 as input. The UE assigns a low priority classification to the packet 1002, based on a determination (at block 1044) the priority classification prediction 1042 predicted (or indicates) a low priority. The UE assigns a high priority classification to the packet 1002, based on a determination (at block 1046) the priority classification prediction 1042 predicts a high priority. The UE assigns a normal priority classification to the packet 1002, based on a determination (at block 1046) the priority classification prediction 1042 predicts neither low priority nor high priority.
[0145] FIG. 11 illustrates an example method 1100 for classifying packet priority using a ML-based policy, according to this disclosure. The embodiment of the 1100 shown in FIG. 11 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure. The method 1100 can be the same as or similar to the ML-based priority classification procedure at block 1040 of FIG. 10.
[0146] This disclosure is not limited to a rule-based solution, and provides a solution in which the UE learns a traffic priority classification policy based on user feedback through reinforcement learning (RL). The method 1100 can be executed during deployment, which is after the ML-based model has been trained.
[0147] The UL packet 1102 can be a respective packet from among the packets 920 of FIG. 9, or can be the UL packet 1002 of FIG. 10. At block 1104, the UE obtains a context vector s. The procedure at block 1104 can be the same as or similar to the procedure at block 610 of FIG. 6, or context information embedding neural network (NN) 702 of FIG. 7.
[0148]
[0149] At block 1108, the UE generates and stores a record (s, a) that includes the context data (such as the context vector s) and action data a. At block 1110, the priority prediction a is output.
[0150] FIG. 12 illustrates an example method 1200 for collecting user feedback and updating a list of exempt applications and ML classification policy based on the user feedback collected, according to this disclosure. The embodiment of the method 1200 shown in FIG. 12 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0151]
[0152] At block 1204, the UE determine whether to exit a doze period that has already begun. At block 1206, after the UE exits the modem doze mode to end the doze period, the UE selectively asks for the user's feedback regarding the QoE during the modem doze session. The UE may show a pop-up notification window that enables the user to indicate whether the user is satisfied with the experience when the UE had been in modem doze mode. The user may provide a yes / no feedback on the overall experience.
[0153]
[0154]
[0155] Additionally, the UE may also record the specific app activities that generated traffic during the modem doze period. Such information can be extracted from the tag of jobs in WorkManager or from system activity log. If an app did not meet the QoE requirement as indicated by the user feedback, the app's activities during the modem doze period are added to a list of exempted services so that packets generated from the same activity by the same app will be prioritized in the future.
[0156] At blocks 1210-1212 the UE learns a traffic priority classification policy based on user feedback through reinforcement learning (RL). At block 1210, the UE generates a data-tuple of (s, a, r) by computing a reward value (r) for a stored record that includes the context vector (s) and a priority prediction (a).
[0157]
[0158]
[0159] As described above, FIGS. 10, 11, and 12 relate to packet priority classification. The packet priority classification procedure in the method 1000 of FIG. 10 combines a rule-based algorithm described with FIG. 10 and the ML-based algorithm 1100 described with FIG. 11. The method 1200 of FIG. 12 improves the ML-model used at block 1040 and 1106 of FIGS. 10 and 11, respectively.
[0160] FIGS. 13 and 14 each provides an example method of traffic shaping to reduce the wake-up frequency of the modem for data transmission. In FIG. 13, different scheduling periodicities delay triggering the UE to empty different priority queues (such as 1050, 1060, and 1070 of FIG. 10) into the TX buffer 365. In FIG. 14, differently sized batching thresholds qnor qldelay transmission of packets assigned a normal priority or low priority.
[0161] FIG. 13 illustrates an example method 1300 for traffic shaping that includes buffering on multiple priority queues, according to this disclosure. The embodiment of the method 1300 shown in FIG. 13 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0162]
[0163]
[0164]
[0165] Block 1302 can be the same as block 1202 of FIG. 12. A first periodic timer at block 1310 resets at an interval defined by the high-priority scheduling periodicity th. For example, a determination is made at block 1312, every time zero is the output from a timer function that compares the current time t to the high-priority scheduling periodicity th. At block 1312, the UE determines whether the high priority queue 1050 is not empty, namely, determining whether the packet length of the high priority queue 1050 is greater than zero. At block 1314, in response to a determination that the high priority queue 1050 is not empty, the UE empties the high priority queue 1050 into the TX buffer 365, thereby transferring all high priority uplink packets into the TX buffer. The method proceeds to block 1320 in response to a determination (at block 1310) that the interval thhas not elapsed, or in response to a determination (block 1312) that the high priority queue 1050 is empty, or after completion of the procedure of block 1314.
[0166] The method 1300 repeats a similar procedure for normal priority. A second periodic timer at block 1320 resets at periodic intervals tn. At block 1322, the UE determines whether the packet length of the normal priority queue 1060 is greater than the normal priority batching threshold qn. At block 1324, in response to a determination that the normal priority queue 1060 satisfies the normal batching threshold qncondition, the UE empties the normal priority queue 1060 into the TX buffer 365, thereby transferring all normal priority uplink packets into the TX buffer. The method proceeds to block 1330 in response to a determination (at block 1330) that the second periodic interval tnhas not elapsed, or in response to a determination (at block 1322) that the normal priority queue 1060 does not satisfy the normal batching threshold qncondition, or after completion of the procedure of block 1324.
[0167] The method 1300 repeats a similar procedure for low priority. A third periodic timer at block 1330 resets or restarts at periodic intervals tl. At block 1332, the UE determines whether the packet length of the low priority queue 1070 is greater than the low priority batching threshold ql. At block 1334, in response to a determination that the low priority queue 1070 satisfies the low batching threshold qlcondition, the UE empties the low priority queue 1070 into the TX buffer 365, thereby transferring all low priority uplink packets into the TX buffer. The method proceeds to block 1340 in response to a determination (at block 1330) that the third periodic interval tlhas not elapsed, or in response to a determination (at block 1332) that the low priority queue 1070 does not satisfy the low batching threshold qlcondition, or after completion of the procedure of block 1334.
[0168] At block 1340, the UE determines whether the packet length of the TX buffer 365 is greater than zero, thereby determining that the TX buffer includes at least one UL packet. At block 1342, the UE transmits packets from the TX buffer. If the TX buffer 365 is empty, then the method ends and restarts by returning to block 1302.
[0169] FIG. 14 illustrates an example method 1400 for traffic shaping that includes batching based on transmit (TX) buffer size, according to this disclosure. The embodiment of the method 1400 shown in FIG. 14 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0170]
[0171] Blocks 1402, 1410, 1412, 1414, 1420, 1422, 1424, 1430, 1432, and 1434 in FIG. 14 can be the same as or similar to corresponding blocks 1302, 1310, 1312, 1314, 1320, 1322, 1324, 1330, 1332, and 1334 in FIG. 13. To avoid duplication, this disclosure will describe the unique features of the method 1400.
[0172]
[0173] At intervals of tn, UE can check for a case in which the normal priority queue 1060 contains an UL packet. After the UE empties the normal priority queue 1060 into the TX buffer 365, the method 1400 proceeds to block 1426 followed by block 1430. At block 1426, the UE sets a normal priority flag.
[0174]
[0175]
[0176] At block 1444, the UE transmits packets from TX buffer 365. At block 1446, the UE resets the high priority and normal priority flags.
[0177] FIG. 15 illustrates an example method 1500 of RRC state management for uplink data, according to this disclosure. The embodiment of the method 1500 shown in FIG. 15 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0178] In some instances, the UE needs to be in RRC connected state in order to perform data transmission. However, resuming the RRC connection is a costly procedure for the modem of the UE, particularly when the need to transmit data is infrequent and the amount of data to be transmitted is little. In Rel. 17 of the 3GPP 5G specification, small data transmission (SDT) enables UEs to send a small amount of data while staying in RRC inactive state. This disclosure enables a UE to determine a UE-preferred RRC state for UL data transmission during the modem doze mode.
[0179]
[0180]
[0181]
[0182] Whenever the UE needs to transmit data in the modem doze mode (namely, the TX buffer is non-empty as determined at block 1520 or 1522), the UE determines a most efficient RRC state based on the amount of data and an expected duration for transmission. At block 1550, the UE sends its data (such as UL packets) without delay if the UE is already in RRC connected state. Otherwise, the UE is not already in RRC connected state, and at block 1560, the UE determines whether SDT or RRC reestablishment is more efficient to transmit the UL packets.
[0183]
[0184]
[0185]
[0186] FIG. 16 illustrates an example RRC state transition model 1600 that includes a modem power consumption measurements of current draw during a ping test during different RRC states, according to this disclosure. The embodiment of the model 1600 shown in FIG. 16 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure.
[0187] By default, the UE is in RRC connected state whenever there is a packet in the uplink or the downlink. IF there is no traffic, the UE transitions to RRC inactive state after 10 seconds.
[0188] A data burst is defined as a group of packets whose inter-arrival time is smaller than 0.32 seconds, which is the connected mode discontinuous reception (CDRX) periodicity observed in our data. Packets arriving within a CDRX cycle keeps the UE awake and tends to prevent the UE from going into CDRX sleep state. From a power consumption perspective, there is active data communication within a burst and the UE consumes the highest amount of power.
[0189]
[0190]
[0191] FIG. 17 illustrates a method 1700 for a modem doze mode for UE power saving, according to this disclosure. The embodiment of the method 1700 shown in FIG. 17 is for illustration only, and other embodiments could be used without departing from the scope of this disclosure. The method 1700 is implemented by an electronic device, such as the UE 116 of FIG. 3. More particularly, the method 1700 could be performed by a processor 340 of the UE 116 executing the modem-doze mode 363. For ease of explanation, the method 1700 is described as being performed by the processor 340.
[0192] At block 1710, the processor 340 identifies context information of a UE 116. At block 1712, the processor 340 updates the context information of the UE 116. Updating the context information of the UE 116 can be the same as identifying context information of the UE, and is performed outside of a doze period and performed during a doze period. The procedure of identifying or updating context information can be the same as or similar to the procedure of block 405 of FIG. 4, or block 610 of FIG. 6, or the context information embedding NN 702. At block 1714, the processor 340 determines the RRC state of the modem of the UE as context information.
[0193]
[0194]
[0195] At block 1724, the processor 340 determines that the context information includes information indicating which application(s) 362 if any is currently executing in the foreground, such as input 710 of FIG. 7. An example of context information that includes a presence of a foreground application is an application(s) 362 that is listed as currently executing in the foreground of the UE. Additionally, the context information includes information indicating which application(s) 362 if any is currently executing in the background, thereby indicating a presence of a background application.
[0196] At block 1726, the processor 340 determines that the context information includes of the TX buffer 365, or of the traffic buffer 364, or of the total packet length 17# that the foreground application originated into a traffic buffer. The procedure at block 1726 can be similar to the procedure at block 1560 of FIG. 15.
[0197] At block 1728, the processor 340 determines that the context information includes a location of the UE 116 that is within a coverage area 120 of a gNB 102, such as GPS input 706 of FIG. 7 or network configuration information that indicates the serving gNB. In some embodiments, when a change of context information that indicates the location of the UE is near a border of the coverage area of the gNB, or indicates that location of the UE is likely to result in a handover, then the processor 340 can exit doze mode to prevent the UE from having to perform an initial access procedure with a new gNB instead of allowing the UE to handover.
[0198] At block 1730, the processor 340 inputs the context information to a trained AI-based model, such as after training the NN 750 of FIG. 7 or model 812 of FIG. 8. The AI-based model is trained to recognize the first user pattern and output a doze start prediction as the determination that the context information satisfies the triggering condition. The AI-based model is trained to recognize the second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.
[0199] To determine whether to start or to end the doze period, the AI-based detector, executes the following: in response to the determination by the rule-based detector, input the context information or the updated context information to the trained AI-based model; determine to start the doze period and subsequently starting the doze period based on the doze start prediction; and determine to end the doze period and subsequently ending the doze period based on the doze end prediction.
[0200]
[0201]
[0202] During the doze period at block 1746, the processor 340 classifies uplink packets into high, normal, and low priority queues based on different quality of experience (QoE) impacts of the uplink packets that respectively correspond to the different priority classifications.
[0203] At block 1760, the processor 340 transfers UL packets to the TX buffer 365. The processor 340 transmits or schedules transmission of the UL packets to occur at a time that is based on the priority classification. For example, the processor 340 can transfer UL packets from the low priority queue to the TX buffer after the packet length of the low priority queue exceeds a low packet length threshold ql, based on a determination that the high and normal priority queues are empty.
[0204] The method proceeds to block 1750 based on a determination that the trigger condition is not satisfied. At block 1750, the processor 340 ends the doze period. Based on a determination that the updated context information does not satisfy the triggering condition, the UE ends the doze period, for example by inputting the updated context information to the trained AI-based model to recognize a second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.
[0205]
[0206] In some embodiments, the processor 340 updates a set of whitelisted applications associated with a high priority classification for packets a respective whitelisted application originates into the traffic buffer, based on the user feedback collected at block 1754. Further, the processor 340 computes a reward value (r) for a vector (s) of context data and a priority classification action (a) corresponding to the vector. The processor 340 updates an ML-based priority classification algorithm based on a data-tuple of (s, a, r).
[0207] In some embodiments, the rule-based detector determines that the context information satisfies the triggering condition based on at least one of: identifying that user activity on the UE corresponds to a list of long-lived low-data-consumption activities; or identifying the foreground application is a fitness application, and a presence of foreground and background applications includes no other applications that require network connectivity.
[0208] In some embodiments, the rule-based detector determines that the context information satisfies the triggering condition based on: identifying the foreground application among a list of different media consumption applications; determining that user activity on the UE corresponds to opening a new piece of content within the foreground application; and determining the total packet length that the foreground application originated into the traffic buffer within a detection window relative to the opening of the new piece of content is less than a doze-mode traffic threshold. The list of different media consumption applications correspond to different detection windows and different doze-mode traffic thresholds.
[0209] In some embodiments, the processor 340 transfers uplink packets, to a TX buffer for immediate transmission, from the high priority queue, the normal priority queue, and the low priority queue, sequentially according to high, normal, and low scheduling periodicities that limit a tolerable amount of transmission delay for the UL packets in the corresponding priority queue. In some embodiments, the processor 340 can transfer UL packets from the high, normal, and low priority queues to a transmit buffer for immediate transmission, based on a determination that the high priority queue is not empty. The processor 340 transfers UL packets from the normal and low priority queues to the TX buffer after a combined packet length of the normal and low priority queues exceeds a normal packet length threshold, based on a determination that the high priority queue is empty and that the normal priority queue is not empty. The processor 340 transfers UL packets from the low priority queue to the TX buffer after the packet length of the low priority queue exceeds a low packet length threshold, based on a determination that the high and normal priority queues are empty.
[0210] In some embodiments, the processor 340 selects to transmit and subsequently transmitting the UL packets using the SDT, based on a determination that a SDT transmission condition is satisfied. The processor 340 selects to transition to RRC connected state to transmit the UL packets, based on a determination that the SDT transmission condition is not satisfied. Satisfaction of the SDT transmission condition can be the same as described herein with block 1580 of FIG. 15.
[0211] Although FIG. 17 illustrates an example a method 1700 for a modem doze mode for UE power saving, various changes may be made to FIG. 17. For example, while shown as a series of steps, various steps in FIG. 17 could overlap, occur in parallel, occur in a different order, or occur any number of times. As a particular example, the rule-based detector can operate in parallel with the ML-based detector to concurrently determine whether context information satisfies a triggering condition, and thereby determine whether to enter / start or exit / end the modem-doze mode 363.
[0212] According to an embodiment, a method may comprise identifying context information of a user equipment (UE), determining whether the context information satisfies a triggering condition, and in response to a determination the triggering condition is satisfied, starting a doze period including executing a doze-mode function to reduce power consumption of communication circuitry of the UE during the doze period.
[0213] For example, the triggering condition may include presence of a foreground application, total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold, and a location of UE is within a cell of a gNB. The doze-mode function may include at least one of reducing a wake-up frequency of the communication circuitry, including delaying transmission of uplink (UL) packets in the traffic buffer based on different priority classifications, selecting to transmit UL packets in the traffic buffer using a small data transmission (SDT) instead of selecting a transition to RRC connected state to transmit the UL packets, or transmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.
[0214] For example, the method may comprise adding the context information to a first dataset for training an artificial intelligence (AI) based model to generate a doze start prediction based on a first user pattern learned from the first dataset, updating the context information during the doze period, adding the updated context information to a second dataset for training the AI-based model to generate a doze end prediction based on a second user pattern learned from the second dataset, inputting the context information to the trained AI-based model to recognize the first user pattern and output a doze start prediction as the determination that the context information satisfies the triggering condition, and ending the doze period including based on a determination that the updated context information does not satisfy the triggering condition, including: inputting the updated context information to the trained AI-based model to recognize the second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.
[0215] For example, the method may comprise determining, by a rule-based detector, that the context information does not satisfy the triggering condition, and determining, by an AI-based detector, whether to start or to end the doze period, including: in response to the determination by the rule-based detector, inputting the context information or the updated context information to the trained AI-based model, determining to start the doze period and subsequently starting the doze period based on the doze start prediction, and determining to end the doze period and subsequently ending the doze period based on the doze end prediction.
[0216] For example, the method may comprise determining, by a rule-based detector, that the context information satisfies the triggering condition based on at least one of: identifying that user activity on the UE corresponds to a list of long-lived low-data-consumption activities, or identifying the foreground application is a fitness application, and a presence of foreground and background applications includes no other applications that require network connectivity.
[0217] For example, the method may comprise determining, by a rule-based detector, that the context information satisfies the triggering condition based on identifying the foreground application among a list of different media consumption applications, determining that user activity on the UE corresponds to opening a new piece of content within the foreground application, and determining the total packet length that the foreground application originated into the traffic buffer within a detection window relative to the opening of the new piece of content is less than a doze-mode traffic threshold.
[0218] For example, the list of different media consumption applications correspond to different detection windows and different doze-mode traffic thresholds.
[0219] For example, the method may comprise classifying uplink packets into high, normal, and low priority queues based on different quality of experience (QoE) impacts of the uplink packets that respectively correspond to the different priority classifications, and transferring uplink packets, to a transmit buffer for immediate transmission, from the high priority queue, the normal priority queue, and the low priority queue, sequentially according to high, normal, and low scheduling periodicities that limit a tolerable amount of transmission delay for the UL packets in the corresponding priority queue.
[0220] For example, the method may comprise classifying uplink packets into high, normal, and low priority queues based on different quality of experience (QoE) impacts of the UL packets that respectively correspond to the different priority classifications, transferring UL packets from the high, normal, and low priority queues to a transmit (TX) buffer for immediate transmission, based on a determination that the high priority queue is not empty, transferring UL packets from the normal and low priority queues to the TX buffer after a combined packet length of the normal and low priority queues exceeds a normal packet length threshold, based on a determination that the high priority queue is empty and that the normal priority queue is not empty, and transferring UL packets from the low priority queue to the TX buffer after the packet length of the low priority queue exceeds a low packet length threshold, based on a determination that the high and normal priority queues are empty.
[0221] For example, the method may comprise selecting to transmit and subsequently transmitting the UL packets using the SDT, based on a determination that a SDT transmission condition is satisfied, and selecting to transition to RRC connected state to transmit the UL packets, based on a determination that the SDT transmission condition is not satisfied. Satisfaction of the SDT transmission condition includes the communication circuitry in RRC inactive state, the total packet length that the foreground application originated into the traffic buffer is less than a data threshold that is limited by the SDT, and an expected burst duration is less than a burst duration threshold.
[0222] According to an embodiment, an electronic device may comprise communication circuitry (e.g., modem), at least one processor including processing circuitry, memory, including one or more storage media, storing instructions. The instructions, when executed by the at least one processor individually or collectively, may cause the electronic device to identify context information of the electronic device, determine whether the context information satisfies a triggering condition, and in response to a determination the triggering condition is satisfied, start a doze period including executing a doze-mode function to reduce power consumption of the communication circuitry during the doze period.
[0223] For example, the triggering condition includes presence of a foreground application, total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold, and a location of electronic device is within a cell of a gNB. The doze-mode function includes at least one of reducing a wake-up frequency of the communication circuitry, including delaying transmission of uplink (UL) packets in the traffic buffer based on different priority classifications, selecting to transmit UL packets in the traffic buffer using a small data transmission (SDT) instead of selecting a transition to RRC connected state to transmit the UL packets, or transmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.
[0224] For example, the instructions, when executed by the at least one processor individually or collectively, may cause the electronic device to add the context information to a first dataset for training an artificial intelligence (AI) based model to generate a doze start prediction based on a first user pattern learned from the first dataset, update the context information during the doze period, add the updated context information to a second dataset for training the AI-based model to generate a doze end prediction based on a second user pattern learned from the second dataset, input the context information to the trained AI-based model to recognize the first user pattern and output a doze start prediction as the determination that the context information satisfies the triggering condition, and end the doze period including based on a determination that the updated context information does not satisfy the triggering condition, including to input the updated context information to the trained AI-based model to recognize the second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.
[0225] For example, the instructions, when executed by the at least one processor individually or collectively, may cause the electronic device to determine, by a rule-based detector, that the context information does not satisfy the triggering condition, and determine, by an AI-based detector, whether to start or to end the doze period, including in response to the determination by the rule-based detector, input the context information or the updated context information to the trained AI-based model, determine to start the doze period and subsequently starting the doze period based on the doze start prediction, and determine to end the doze period and subsequently ending the doze period based on the doze end prediction.
[0226] According to an embodiment, a non-transitory computer readable storage media may store one or more programs. The one or more programs include instructions, when executed by at least one processor of an electronic device, may cause the electronic device to identify context information of the electronic device, determine whether the context information satisfies a triggering condition, and in response to a determination the triggering condition is satisfied, start a doze period including executing a doze-mode function to reduce power consumption of the communication circuitry during the doze period.
[0227] The above flowcharts illustrate example methods that can be implemented in accordance with the principles of the present disclosure and various changes could be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of steps, various steps in each figure could overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, steps may be omitted or replaced by other steps.
[0228] Although the figures illustrate different examples of user equipment, various changes may be made to the figures. For example, the user equipment can include any number of each component in any suitable arrangement. In general, the figures do not limit the scope of this disclosure to any particular configuration(s). Moreover, while figures illustrate operational environments in which various user equipment features disclosed in this patent document can be used, these features can be used in any other suitable system.
[0229] Although the present disclosure has been described with exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims. None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claims scope. The scope of patented subject matter is defined by the claims.
[0230] For one or more embodiments, at least one of the components set forth in one or more of the preceding figures may be configured to perform one or more operations, techniques, processes, and / or methods as set forth herein. For example, a processor (e.g., baseband processor) as described herein in connection with one or more of the preceding figures may be configured to operate in accordance with one or more of the examples set forth herein. For another example, circuitry associated with a UE, base station, network element, etc. as described above in connection with one or more of the preceding figures may be configured to operate in accordance with one or more of the examples set forth herein.
[0231] Any of the above described embodiments may be combined with any other embodiment (or combination of embodiments), unless explicitly stated otherwise. The foregoing description of one or more implementations provides illustration and description, but is not intended to be exhaustive or to limit the scope of embodiments to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of various embodiments.
[0232] The methods according to various embodiments described in the claims and / or the specification of the disclosure may be implemented in hardware, software, or a combination of hardware and software.
[0233] When implemented by software, a computer-readable storage medium storing one or more programs (software modules) may be provided. One or more programs stored in such a computer-readable storage medium (e.g., non-transitory storage medium) are configured for execution by one or more processors in an electronic device. The one or more programs include instructions that cause the electronic device to execute the methods according to embodiments described in the claims or specification of the disclosure.
[0234] Such a program (e.g., software module, software) may be stored in a random-access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), digital versatile discs (DVDs), other types of optical storage devices, or magnetic cassettes. Alternatively, it may be stored in a memory configured with a combination of some or all of the above. In addition, respective constituent memories may be provided in a multiple number.
[0235] Further, the program may be stored in an attachable storage device that can be accessed via a communication network, such as e.g., Internet, Intranet, local area network (LAN), wide area network (WAN), or storage area network (SAN), or a communication network configured with a combination thereof. Such a storage device may access an apparatus performing an embodiment of the disclosure through an external port. Further, a separate storage device on the communication network may be accessed to an apparatus performing an embodiment of the disclosure.
[0236] In the above-described specific embodiments of the disclosure, a component included therein may be expressed in a singular or plural form according to a proposed specific embodiment. However, such a singular or plural expression may be selected appropriately for the presented context for the convenience of description, and the disclosure is not limited to the singular form or the plural elements. Therefore, either an element expressed in the plural form may be formed of a singular element, or an element expressed in the singular form may be formed of plural elements.
[0237] Meanwhile, specific embodiments have been described in the detailed description of the disclosure, but it goes without saying that various modifications are possible without departing from the scope of the disclosure.
Claims
1.A method comprising:identifying context information of a user equipment (UE);determining whether the context information satisfies a triggering condition; andin response to a determination the triggering condition is satisfied, starting a doze period including executing a doze-mode function to reduce power consumption of communication circuitry of the UE during the doze period.2.The method of claim 1, wherein the triggering condition includes:presence of a foreground application,total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold, anda location of UE is within a cell of a gNB; andwherein the doze-mode function includes at least one of:reducing a wake-up frequency of the communication circuitry, including delaying transmission of uplink (UL) packets in the traffic buffer based on different priority classifications;selecting to transmit UL packets in the traffic buffer using a small data transmission (SDT) instead of selecting a transition to RRC connected state to transmit the UL packets; ortransmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.3.The method of Claim 2, wherein the method comprises:adding the context information to a first dataset for training an artificial intelligence (AI) based model to generate a doze start prediction based on a first user pattern learned from the first dataset;updating the context information during the doze period;adding the updated context information to a second dataset for training the AI-based model to generate a doze end prediction based on a second user pattern learned from the second dataset;inputting the context information to the trained AI-based model to recognize the first user pattern and output a doze start prediction as the determination that the context information satisfies the triggering condition; andending the doze period including based on a determination that the updated context information does not satisfy the triggering condition, including:inputting the updated context information to the trained AI-based model to recognize the second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.4.The method of Claim 3, wherein the method comprises:determining, by a rule-based detector, that the context information does not satisfy the triggering condition; anddetermining, by an AI-based detector, whether to start or to end the doze period, including:in response to the determination by the rule-based detector, inputting the context information or the updated context information to the trained AI-based model;determining to start the doze period and subsequently starting the doze period based on the doze start prediction; anddetermining to end the doze period and subsequently ending the doze period based on the doze end prediction.5.The method of Claim 1, wherein the method comprises:determining, by a rule-based detector, that the context information satisfies the triggering condition based on at least one of:identifying that user activity on the UE corresponds to a list of long-lived low-data-consumption activities; oridentifying the foreground application is a fitness application, and a presence of foreground and background applications includes no other applications that require network connectivity.6.The method of Claim 1, wherein the method comprises:determining, by a rule-based detector, that the context information satisfies the triggering condition based on:identifying the foreground application among a list of different media consumption applications;determining that user activity on the UE corresponds to opening a new piece of content within the foreground application; anddetermining the total packet length that the foreground application originated into the traffic buffer within a detection window relative to the opening of the new piece of content is less than a doze-mode traffic threshold.7.The method of Claim 6, wherein the list of different media consumption applications correspond to different detection windows and different doze-mode traffic thresholds.8.The method of Claim 2, wherein the method comprises:classifying uplink packets into high, normal, and low priority queues based on different quality of experience (QoE) impacts of the uplink packets that respectively correspond to the different priority classifications; andtransferring uplink packets, to a transmit buffer for immediate transmission, from the high priority queue, the normal priority queue, and the low priority queue, sequentially according to high, normal, and low scheduling periodicities that limit a tolerable amount of transmission delay for the UL packets in the corresponding priority queue.9.The method of Claim 2, wherein the method comprises:classifying uplink packets into high, normal, and low priority queues based on different quality of experience (QoE) impacts of the UL packets that respectively correspond to the different priority classifications;transferring UL packets from the high, normal, and low priority queues to a transmit (TX) buffer for immediate transmission, based on a determination that the high priority queue is not empty;transferring UL packets from the normal and low priority queues to the TX buffer after a combined packet length of the normal and low priority queues exceeds a normal packet length threshold, based on a determination that the high priority queue is empty and that the normal priority queue is not empty; andtransferring UL packets from the low priority queue to the TX buffer after the packet length of the low priority queue exceeds a low packet length threshold, based on a determination that the high and normal priority queues are empty.10.The method of Claim 2, wherein the method comprises:selecting to transmit and subsequently transmitting the UL packets using the SDT, based on a determination that a SDT transmission condition is satisfied; andselecting to transition to RRC connected state to transmit the UL packets, based on a determination that the SDT transmission condition is not satisfied,wherein satisfaction of the SDT transmission condition includes:the communication circuitry in RRC inactive state;the total packet length that the foreground application originated into the traffic buffer is less than a data threshold that is limited by the SDT; andan expected burst duration is less than a burst duration threshold.11.An electronic device comprising:communication circuitry;at least one processor including processing circuitry; andmemory, including one or more storage media, storing instructions;wherein the instructions, when executed by the at least one processor individually or collectively, cause the electronic device to:identify context information of the electronic device;determine whether the context information satisfies a triggering condition; andin response to a determination the triggering condition is satisfied, start a doze period including executing a doze-mode function to reduce power consumption of the communication circuitry during the doze period.12.The electronic device of Claim 11, wherein the triggering condition includes:presence of a foreground application,total packet length that the foreground application originated into a traffic buffer is less than a total packet length threshold, anda location of electronic device is within a cell of a gNB; andwherein the doze-mode function includes at least one of:reducing a wake-up frequency of the communication circuitry, including delaying transmission of uplink (UL) packets in the traffic buffer based on different priority classifications;selecting to transmit UL packets in the traffic buffer using a small data transmission (SDT) instead of selecting a transition to RRC connected state to transmit the UL packets; ortransmitting an early request for RRC release to the gNB based on a time since a latest packet in the traffic buffer exceeding a threshold waiting period.13.The electronic device of Claim 12, wherein the instructions, when executed by the at least one processor individually or collectively, cause the electronic device to:add the context information to a first dataset for training an artificial intelligence (AI) based model to generate a doze start prediction based on a first user pattern learned from the first dataset;update the context information during the doze period;add the updated context information to a second dataset for training the AI-based model to generate a doze end prediction based on a second user pattern learned from the second dataset;input the context information to the trained AI-based model to recognize the first user pattern and output a doze start prediction as the determination that the context information satisfies the triggering condition; andend the doze period including based on a determination that the updated context information does not satisfy the triggering condition, including to:input the updated context information to the trained AI-based model to recognize the second user pattern and output a doze end prediction as the determination that the updated context information does not satisfy the triggering condition.14.The electronic device of Claim 13, wherein the instructions, when executed by the at least one processor individually or collectively, cause the electronic device to:determine, by a rule-based detector, that the context information does not satisfy the triggering condition; anddetermine, by an AI-based detector, whether to start or to end the doze period, including:in response to the determination by the rule-based detector, input the context information or the updated context information to the trained AI-based model;determine to start the doze period and subsequently starting the doze period based on the doze start prediction; anddetermine to end the doze period and subsequently ending the doze period based on the doze end prediction.15.A non-transitory computer readable storage media storing one or more programs, wherein the one or more programs include instructions, when executed by at least one processor of an electronic device, cause the electronic device to:identify context information of the electronic device;determine whether the context information satisfies a triggering condition; andin response to a determination the triggering condition is satisfied, start a doze period including executing a doze-mode function to reduce power consumption of the communication circuitry during the doze period.
Citation Information
Patent Citations
Power save method, access point device, and station device
EP2966915B1
Control method for doze mode of mobile terminal and mobile terminal
EP3905651B1
Mobile terminal performing a different operation based on a type of a tap applied to a display and control method thereof
US20180373388A1
Network control and signaling for power circuitry configuration
US20200260376A1
Power savings in a multi-connectivity user equipment
US20230247559A1