Device-based system for estimating cellular radio access network latency

By monitoring time slot allocation and channel conditions, wireless devices autonomously estimate cellular network latency, solving the problem of latency estimation dependence in cellular networks and improving data transmission performance and user experience.

CN121220018APending Publication Date: 2025-12-26APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202480033567.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-05-26
Filing Date
2024-04-18
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Wireless devices in cellular wireless networks have difficulty estimating latency autonomously, which leads to data transmission delays that affect application performance. Existing technologies rely on latency estimation support from cellular networks.

Method used

Wireless devices dynamically estimate the maximum data allowance by monitoring the allocation of time slots and channel conditions, compare the actual allocation with the maximum value, infer data traffic bursts, measure and process latency statistics, and trigger latency mitigation actions.

Benefits of technology

Wireless devices can autonomously estimate uplink and downlink latency, improve data transmission performance, optimize user experience, and reduce the impact of latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121220018A_ABST
    Figure CN121220018A_ABST
Patent Text Reader

Abstract

The described embodiments relate to latency estimation of a cellular wireless access link by a wireless device. In one embodiment, a wireless device determines a maximum grant assignment (e.g., a maximum transport block size value) for time slots based on channel conditions, monitors grant assignments to the wireless device, and classifies time slots with non-zero grant assignments based on a comparison of these grant assignments to a maximum possible grant to determine traffic bursts. A wireless device measures a time period within a traffic burst with a zero grant allocation slot to estimate a latency value for the traffic burst. The wireless device statistically processes the latency values to generate a composite (e.g., weighted moving average) latency value to compare to a threshold to determine whether to initiate a latency mitigation action.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The described implementations relate to wireless communication, including systems, methods, and apparatus for estimating the latency of a cellular wireless access network at a wireless device. Background Technology

[0002] Next-generation (5G) cellular wireless networks implementing one or more 3GPP standards are being rapidly developed and deployed by mobile network operators. Furthermore, the 6G standard is under active development. Newer cellular wireless networks offer a range of packet-based services, with 5G (and 6G) ​​technologies providing increased data throughput and lower latency connectivity, ensuring enhanced mobile broadband services for 5G (and 6G)-enabled wireless devices. Access to cellular services provided by an MNO may require cellular credentials and / or security processing provided by a Secure Element (SE) such as a Universal Integrated Circuit Card (UICC) or an embedded UICC (eUICC) included in the wireless device.

[0003] Wireless devices can be configured to use removable UICCs, which include at least a microprocessor and read-only memory (ROM). The ROM is configured to store an MNO profile (also known as a Subscriber Identity Module (SIM) or SIM profile) that the wireless device can use to register with and interact with the MNO's cellular wireless network to gain access to wireless services. The SIM profile hosts subscriber data (such as a digital identity and one or more cryptographic keys) to allow the wireless device to communicate with the cellular wireless network. Typically, the UICC takes the form of a small, removable card (often referred to as a SIM card or physical SIM (pSIM) card) that can be inserted into the UICC receiver area of ​​a mobile wireless device. In more recent implementations, the UICC is embedded directly into the system board of the wireless device as an eUICC, which offers advantages over traditional removable UICCs. The eUICC may include rewritable memory that facilitates the installation, modification, and / or removal of one or more electronic SIMs (eSIMs) on the eUICC, where the eSIMs can provide access to new and / or different services and / or updates for extended features provided by the MNO. eUICC can store several MNO profiles (also referred to as eSIM in this document) and eliminates the need to include the UICC receive area in the wireless device. The use of multiple SIMs and / or eSIMs is expected to provide flexibility for accessing multiple services across multiple wireless networks.

[0004] A wireless device can establish a cellular wireless connection to the access network portion of a cellular wireless network, register with the cellular wireless network for access to cellular services, and transmit data packets via the cellular wireless connection. Data traffic traveling between different nodes (or endpoints) of the cellular wireless network introduces latency. The cellular wireless connection between the wireless device and the access network portion of the cellular wireless network introduces latency for data traversing the cellular wireless connection in the downlink direction from the access network to the wireless device and in the uplink direction from the wireless device to the access network. The wireless device can perform various latency mitigation actions based on the latency introduced by the cellular wireless connection. The latency of the cellular wireless connection at the wireless device needs to be estimated using information available to the wireless device and does not require latency estimation from the cellular wireless network. Summary of the Invention

[0005] The described implementation relates to wireless communication, including systems, methods, and apparatus for estimating latency in a cellular wireless access network at a wireless device. Latency is monitored at the wireless device without requiring support for latency estimation from the cellular wireless network to which the wireless device is connected. The latency at the wireless device is estimated in the uplink direction from the wireless device to a network entity (e.g., a base station) or in the downlink direction from the base station to the wireless device, based on monitoring the allocation of time slots for data transmission during periods of high data traffic at the wireless device (e.g., when there is a backlog of data traffic in the queue for communications to / from the wireless device). The wireless device can monitor channel conditions and dynamically estimate the maximum data allocation for time slots (e.g., the transport block size (TBS)). maxThe system compares the actual data allocation (e.g., the transport block size (TBS) of the slot allocated to the wireless device) with the maximum possible data allocation to infer whether backlogged data traffic exists for the wireless device. In some implementations, the wireless device infers backlogged data traffic when the ratio of the actual TBS to the maximum TBS meets (e.g., exceeds) a predetermined threshold. The wireless device may infer backlogged data traffic for the downlink direction because the wireless device does not have access to the data queue status at the base station. The wireless device may also infer backlogged data traffic for the uplink direction and / or use information from queues within the wireless device to determine when backlogged data traffic exists. A traffic burst is identified by the wireless device, wherein the traffic burst comprises one or more slots with allocations that meet the threshold (referred to as active slots) and ends with a slot with a non-zero allocation that does not meet the threshold (referred to as the last active slot). The threshold may be based on the maximum possible data allocation for the slot. Each service burst begins in an active time slot and ends in the last active time slot. Within a service burst, one or more delay periods may be included, which contain one or more time slots with zero allocation to the wireless device, referred to as busy time slots. Each delay period of a service burst includes one or more consecutive busy time slots. Time slots with zero allocation to the wireless device between service bursts are referred to as idle time slots. The wireless device measures the duration of each delay period as an individual delay value and processes these individual delay values ​​into composite delay statistics. These composite delay statistics may include the average (mean) delay value during a predefined measurement period, a weighted moving average delay value, delay probability distribution characteristics, etc. When one or more composite delay statistics meet a corresponding delay threshold, the wireless device triggers one or more delay mitigation actions using a standardized User Assistance Information (UAI) message or proprietary message transmitted to the base station of the cellular network.

[0006] Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings illustrating the principles of the described embodiments by way of example.

[0007] The content of this invention is provided merely to outline some exemplary embodiments in order to provide a basic understanding of some aspects of the subject matter described herein. Therefore, it should be understood that the above features are merely illustrative and should not be construed as narrowing the scope or substance of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, drawings, and claims. Attached Figure Description

[0008] This disclosure will be more readily understood from the following detailed description taken in conjunction with the accompanying drawings, wherein similar reference numerals denote similar structural elements.

[0009] Figure 1 Block diagrams illustrating different components of an exemplary system configured to perform cellular network latency estimation for wireless devices, according to some implementation schemes.

[0010] Figure 2 A block diagram illustrating an overview of an exemplary set of computing modules for a latency tracking system in a wireless device according to some implementation schemes is provided.

[0011] Figure 3 A diagram illustrating an example of a time slot sequence with applicable classifications according to some implementation schemes is provided.

[0012] Figure 4 A diagram illustrating an example of latency monitoring based on the classification of time slots by a wireless device, according to some implementation schemes.

[0013] Figure 5 A block diagram illustrating an overview of another exemplary set of computing modules for an uplink delay tracking system in a wireless device, according to some implementation schemes.

[0014] Figure 6 A flowchart illustrating an exemplary method for estimating cellular wireless network latency by a wireless device, according to some implementation schemes, is provided.

[0015] Figure 7 A block diagram illustrating exemplary components of a wireless device according to some implementation schemes is shown. Detailed Implementation

[0016] This section describes representative applications of the methods and apparatus according to this application. These examples are provided only to add context and aid in understanding the described embodiments. Therefore, it will be apparent to those skilled in the art that the described embodiments can be practiced without some or all of these specific details. In other instances, well-known processing steps have not been described in detail to avoid unnecessarily obscuring the described embodiments. Other applications are possible, such that the following examples should not be considered limiting.

[0017] The described implementation relates to wireless communication, including systems, methods, and apparatus for estimating latency in a cellular wireless access network at a wireless device. The wireless device can use latency monitoring to trigger latency mitigation actions, such as changing wireless communication parameters, adjusting data service types, selecting between different radio access technologies (RATs), and / or switching to an alternative wireless communication system (if available). Latency can affect the performance of applications running on a wireless device due to delays in transmitting and / or receiving data packets from applications, and latency mitigation can improve performance and thus improve the user experience.

[0018] Data traffic traveling between different nodes (or endpoints) of a cellular wireless network causes latency. The cellular wireless connection between a wireless device and the access network portion of the cellular wireless network causes latency for data traversing the cellular wireless connection in the downlink direction from the access network to the wireless device and in the uplink direction from the wireless device to the access network. Latency can be monitored at the wireless device without the need for latency estimation from the cellular wireless network to which the wireless device is connected. At the wireless device, latency in the uplink direction from the wireless device to network entities in the access network portion of the cellular wireless network (e.g., to a base station to an enhanced NodeB (eNodeB) also known as a 4G LTE cellular wireless network or a gNodeB of a 5G New Radio (NR) cellular wireless network) or from the base station to the wireless device is estimated based on the allocation of time slots available for uplink or downlink data transmission.

[0019] When latency is caused by a wireless device, the wireless device classifies time slots to identify data traffic bursts and identifies the periods of paused transmission (for uplink time slots) or reception (for downlink time slots) during these bursts. During periods of high data traffic for the wireless device, such as when there is a backlog of data traffic in the queues for communications to / from the wireless device, latency will occur for data packets that can be transmitted / received in a timely manner. The wireless device distinguishes between i) sparsely allocated time periods with low data rates attributable to applications used by the wireless device and ii) data traffic burst periods including discontinuously allocated time slots separated by time slots not allocated due to contention for network resources. Latency (also known as inter-grant distance) is measured as the time gap between grants allocated to the wireless device when there is a backlog of data traffic in the queue. While the wireless device is aware of the uplink queues of data traffic to be transmitted to the cellular network, it does not directly know the downlink queues of data traffic to be received from the cellular network. Knowledge of the uplink queue can be used to determine (and / or confirm) the time periods of uplink backlogged data traffic. The wireless device infers data traffic bursts and measures the allowable distance between these bursts. The wireless device uses this method to estimate latency in both the downlink and uplink directions without requiring support from the cellular network, such as active latency probing using test packets.

[0020] Wireless devices can monitor channel conditions and dynamically estimate the maximum possible data allocation (e.g., the transport block size of a time slot (TBS)). maxThe actual data allocation (e.g., the transport block size (TBS value) of the time slot allocated to the wireless device) is compared with the maximum possible data allocation for the time slot to infer whether there is backlog of data traffic for the wireless device. max The value can be calculated by the wireless device using available communication channel parameters, such as the modulation and decoding scheme (MCS) value determined from the channel quality indicator (CQI) value, the number of multiple-input multiple-output (MIMO) layers provided by the wireless device, and the maximum number of radio bearers (RBs) supported for the time slot based on the current radio frequency (RF) bandwidth. In some implementations, when the actual TBS value is compared with the TBS... max When the ratio of the values ​​meets (e.g., exceeds) a predetermined ratio threshold (e.g., 0.5) (which indicates that most of the available resources in the time slot are allocated to the wireless device), the wireless device infers backlogged data traffic. The wireless device infers when backlogged data traffic exists for the downlink direction because it does not have access to the data queue status at the base station. The wireless device can also infer backlogged data traffic for the uplink direction, but additionally, in some cases, it uses uplink queue information within the wireless device to determine when uplink backlogged data traffic exists.

[0021] Wireless devices identify traffic bursts by classifying time slots, where a traffic burst includes one or more active time slots that have been granted allocation and meet a threshold, such as the ratio of time slots TBS / TBS. maxThe ratio threshold (e.g., 0.5) is exceeded. A traffic burst begins in an active time slot and ends in the last active time slot with a non-zero allowance allocation that does not meet the ratio threshold. Each traffic burst beginning in an active time slot and ending in the last active time slot may include one or more delay periods within the traffic burst, which include one or more time slots with zero allowance allocation to the radio device, referred to as busy time slots. Each delay period of the traffic burst includes one or more consecutive busy time slots. Time slots with zero allowance allocation to the radio device that occur outside of the traffic burst are referred to as idle time slots. The radio device measures the duration of each delay period of the traffic burst as an individual delay value. The radio device processes the measured individual delay values ​​into composite delay statistics, which may include an average (mean) delay value during a predefined measurement period, a weighted moving average delay value, delay probability distribution characteristics, etc. When one or more composite delay statistics meet the corresponding delay threshold, the radio device may trigger one or more delay mitigation actions, such as transmitting standardized User Assistance Information (UAI) messages or proprietary messages to the base station of the cellular network. Exemplary mitigation actions include: changing time slot aggregation, configuring periodic fixed uplink grant, changing connection mode discontinuous reception (cDRX) parameters, blocking selected uplink data services, switching radio frequency (RF) carriers, switching RF bands, and / or switching RATs, and switching the wireless communication technology used.

[0022] These and other implementation schemes are referenced below. Figures 1 to 7 Discussions have been conducted; however, those skilled in the art will readily understand that the detailed descriptions given herein with respect to these figures are for illustrative purposes only and should not be construed as restrictive.

[0023] Figure 1 Block diagram 100 illustrates different components of a cellular wireless communication system, including: i) a wireless device 102, which may also be referred to as a mobile wireless device, cellular wireless device, wireless communication device, mobile device, user equipment (UE), device, etc.; ii) a base station 104, such as a 4G LTE eNodeB (eNB) or a 5G NR gNodeB (gNB), which is a network entity of the cellular radio access network; and iii) a core network 108, such as a 4G LTE enhanced packet core (EPC) or a 5G next-generation core (NGC). Wireless device 102 may represent a mobile computing device (e.g., Apple...). ® iPhone ® iPad ® or Apple Watch ®Applications residing on wireless device 102 can advantageously access cellular wireless network services via base station 104 using a 4G LTE or 5G connection. Data traffic from applications on wireless device 102 encounters delays (referred to as latency) when reaching (or being received from) a target endpoint. Each link between disparate nodes can increase latency. In this application, wireless device 102 estimates the network-induced latency on cellular radio access link 106 between wireless device 102 and base station 104. The latency in the uplink direction from wireless device 102 via cellular radio access link 106 to base station 104 and the latency in the downlink direction from base station 104 to wireless device 102 can be estimated separately. Additional latency due to connections between network nodes extending beyond base station 104 of the cellular radio access network is not considered herein. The estimated latency provides information to the wireless device 102 to trigger latency mitigation actions, such as changing the parameters of the cellular wireless communication in use, reselecting to a different radio access technology (RAT), and / or moving to a non-cellular wireless access based on the performance requirements of the application running on the wireless device 102.

[0024] Figure 2 Block diagram 200 illustrates an overview of an exemplary set of computational modules for a latency tracking system for wireless device 102. Wireless device 102 can estimate latency on both the downlink (DL) and uplink (UL) directions of the cellular radio access link 106 between wireless device 102 and base station 104 in the access network portion of the cellular radio network. The latency tracking system described herein is performed at wireless device 102 and does not require support from the cellular radio network to estimate the latency of the cellular radio access link 106 between wireless device 102 and the base station 104 to which wireless device 102 is connected and to which it transmits packet data. Wireless device 102 distinguishes between sparse grant allocations from base station 104 due to relatively low data rates from applications running on wireless device 102 and relatively high data rate periods with backlogged data traffic and gaps in grant allocations to wireless device 102 (which can be attributed to insufficient network resources available to wireless device 102, such as during periods of network congestion). Wireless device 102 monitors packet data services, identifies service bursts with multiple time slots containing data services, and measures the time periods within a service burst during which no data service transmission (for uplink latency) or reception (for downlink latency) occurs.

[0025] The delay tracking system includes a data allocation and channel monitoring module 202, which monitors the communication channel characteristics (key performance indicators) of the cellular radio access link 106 between radio device 102 and base station 104, such as transport block size (TBS) value, modulation and decoding scheme (MCS) value, multiple-input multiple-output (MIMO) layer, radio frequency (RF) bandwidth value, channel quality indicator (CQI) value, packet queue status, and / or block error rate (BLER) value. The data allocation and channel monitoring module 202 also monitors data grants allocated by base station 104 to radio device 102 in time slots available for downlink transmission (from base station 104 to radio device 102) and uplink transmission (from radio device 102 to base station 104). The data allocation and channel monitoring module 202 can provide time slot grant allocation indications and communication channel characteristic information 204 to a time slot classification module 206, which can characterize time slots based on the provided time slot allocation and communication channel characteristic information 204.

[0026] When there is backlogged data traffic for wireless device 102, time slot classification module 206 characterizes time slots and identifies traffic bursts of packet data transmission and reception for wireless device 102. When a time slot has a non-zero permitted allocation that meets a threshold, time slot classification module 206 characterizes the time slot as an active time slot 230. The threshold can be determined by wireless device 102 based on the communication channel characteristics of the time slot. In some embodiments, when most of the available resources of a time slot are allocated to wireless device 102, time slot classification module 206 determines the amount of available resources for that time slot and classifies the time slot as an active time slot 230. In some embodiments, time slot classification module 206 calculates the maximum transport block size (TBS) value of the time slot based on the communication channel characteristics and compares the permitted TBS value for the time slot allocated to wireless device 102 with the maximum TBS value to determine whether to characterize the time slot as an active time slot 230. In some embodiments, the time slot classification module 206 calculates i) the ratio of the time slot's permitted TBS value to the wireless device 102 to ii) the calculated maximum TBS value of the time slot, and compares the calculated ratio to a ratio threshold to determine whether to classify the time slot as an active time slot 230. In some embodiments, the time slot classification module 206 classifies the time slot as an active time slot 230 when the calculated ratio meets (e.g., exceeds) the ratio threshold. In some embodiments, the ratio threshold is at least half and less than one.

[0027] When a time slot has a non-zero permitted allocation that does not meet a threshold, the time slot classification module 206 characterizes that time slot as the last active time slot 234. In some embodiments, when less than a majority of the available resources of a time slot are allocated to the wireless device 102, the time slot classification module 206 characterizes that time slot as the last active time slot 234. In some embodiments, when i) the permitted TBS value of the time slot allocated to the wireless device 102 is equal to ii) the calculated maximum TBS value of the time slot (TBS... max If the calculated ratio does not meet (e.g., does not exceed) the ratio threshold, the time slot classification module 206 characterizes the time slot as the last active time slot. For example, in the case of the ratio threshold T, the time slot classification module 206 classifies the time slot in TBS / TBS. max >T time slot is characterized as active time slot 230, and in TBS / TBS max When T ≤ T, the time slot is represented as the last active time slot 234. TBS max It can be calculated based on channel quality characteristics (e.g., inferred from CQI values ​​and corresponding MCS values, maximum RF bandwidth, and additional device capabilities such as the number of available MIMO layers). The ratio threshold T can be configured as a non-zero value in the interval (0,1].

[0028] When a time slot has zero allocation and there is queued downlink or uplink data traffic for wireless device 102, the time slot classification module 206 characterizes the time slot as a busy time slot 232. Since wireless device 102 has no right to access the downlink queue information of base station 104, wireless device 102 infers that the time slot with zero allocation occurring within a traffic burst including at least one active time slot 230 and the last active time slot 234 is a busy time slot 232, in which base station 104 allocates the available resources of the time slot to other wireless devices 102.

[0029] When a time slot has zero allocation and there is no queued downlink or uplink data traffic for wireless device 102, the time slot classification module 206 characterizes the time slot as an idle time slot 236. Wireless device 102 infers that the time slot with zero allocation occurring between traffic bursts is an idle time slot 236.

[0030] The time slot classification module 206 provides the classified time slots 208 to the delay inference module 210, which determines an individual delay estimate 212 for the time period of busy time slots 232 within a traffic burst. A traffic burst includes at least a first active time slot 230 and a last active time slot 234. A traffic burst may include multiple active time slots 230. A traffic burst may include one or more busy time slots 232, which can be used to estimate the delay of backlogged data traffic that cannot be transmitted to or from the wireless device 102 during busy time slots 232. Traffic bursts may occur consecutively or may be separated by one or more intervening idle time slots 236. The wireless device 102 does not attribute delay to the time period of idle time slots 236 between traffic bursts. The wireless device infers delay from the time period of busy time slots 232 occurring within a traffic burst. Latency can be determined as the time interval (time duration) between two active time slots 230 or between an active time slot 230 and the last active time slot 234 within a traffic burst, and reflects the waiting time for the wireless device 102 to obtain permission to send or receive data services. The latency inference module 210 can measure the time periods of one or more busy time slots 232 within a traffic burst to generate latency estimates 212, which are provided to the latency monitoring module 214. In some embodiments, the latency estimates 212 output by the latency inference module 210 are the time duration of each time period of one or more consecutive busy time slots 232 within a traffic burst. In some embodiments, the latency inference module 210 averages the individual latency estimates of individual time periods of one or more consecutive busy time slots 232 within a traffic burst and outputs a single average latency estimate 212 for each traffic burst.

[0031] The latency monitoring module 214 processes individual latency estimates 212 to generate a set of one or more latency statistics 216. For example, latency statistics 216 may include filtered latency estimates, such as moving averages and / or latency probability distributions of latency estimates 212. The latency monitoring module 214 provides the latency statistics 216 to a latency mitigation module 218, which may trigger one or more latency mitigation actions 220 based on the latency statistics 216. Exemplary latency mitigation actions 220 include: changing time slot aggregation parameters, configuring regular (e.g., periodic) permission allocation for uplink transmission, changing the settings (or preferences) of connected mode discontinuous reception (cDRX), adjusting the settings (or preferences) of the User Equipment (UE) Assistance Information (UAI) release procedure, changing the Random Access Channel (RACH) procedure, and / or blocking selected data services (e.g., background data services) to prioritize other data services (e.g., foreground data services). Additional exemplary mitigation actions 220 include: switching RATs or prioritizing RATs used by wireless device 102, and / or switching between cellular and non-cellular wireless connections to improve the data traffic throughput performance of wireless device 102.

[0032] In some implementations, wireless device 102 transmits one or more standardized UAI messages or proprietary messages to base station 104 of the cellular wireless network to mitigate latency caused by network congestion. The UAI messages inform base station 104 of various internal states of wireless device 102 and allow base station 104 to assign and / or control resources for wireless device 102 based on information indicated by the states in the UAI messages. In some implementations, the UAI messages include capability information of the wireless device, such as maximum settings, which may change dynamically over time. In some implementations, wireless device 102 transmits proprietary messages to base station 104 for enabling or disabling various features to further improve latency in data packet communication with wireless device 102.

[0033] Figure 3A diagram 300 illustrates an example of a sequence of time slots within a service measurement period 310, where time slots are identified, for example, by a time slot classification module 206 using an applicable classification. The service measurement period 310 comprises two service bursts 302 separated by several idle time slots 236. Each service burst 302 begins with an initial active time slot 230 and ends with a last active time slot 234. The first service burst 302 begins after the idle time slots 236 and includes the initial active time slot 230, followed by two additional active time slots 230, then a delay period 304 including two busy time slots 232, followed by additional active time slots 230, and ends with the last active time slot 234. The second service burst includes two active time slots 230, followed by the last active time slot 234, without any busy time slots 232. The delay inference module 210 can determine and output a delay estimate 212 corresponding to the delay period 304 of the first service burst 302. The delay inference module 210 can determine that no delay estimate 212 needs to be output for the second service burst 302 (or, in some cases, output a delay estimate with a time duration equal to that of a single time slot). Idle time slots 236 between service bursts 302 will not generate any delay estimate 212 because the delay estimate 212 is determined only by considering the service burst. In some cases, the service burst 302 may include multiple delay time periods 304 (not shown), and multiple delay estimates 212 corresponding to the multiple delay time periods 304 of the service burst 302 are generated. In some cases, the delay inference module 210 outputs multiple delay estimates 212 for service bursts including multiple delay time periods 304. In some cases, the delay inference module 210 outputs a single combination (e.g., average) delay estimate 212 for service bursts 302 including multiple delay time periods 304.

[0034] Figure 4Figure 400 illustrates an example of delay monitoring based on time slot classification by wireless device 102. Time slot classification module 206 classifies a sequence of time slots based on the time slot allocation granted to wireless device 102 and based on the maximum time slot allocation, which is based on the communication channel characteristics of the cellular radio access link 106 between wireless device 102 and base station 104. Delay inference module 210 identifies traffic bursts 302 based on the time slot classification, identifies delay time periods 304 within traffic bursts 302, and determines a delay estimate 212 for the delay time periods 304. The delay estimate 212 can be averaged across traffic bursts 302 to produce an average delay estimate 402 for each traffic burst 302 including the delay time periods 304. In some cases, traffic bursts 302 without delay time periods 304 do not produce a delay estimate 212 for traffic burst 302. In some implementations, a service burst 302 without a delay time period 304 generates a delay estimate 212 equal to the time duration of a single time slot of the service burst 302. The average delay estimates 402 for each service measurement time period 310 can be further averaged together to generate an average delay estimate 404 for each service measurement time period 310. The average delay estimate 404 for the service measurement time period 310 can be processed to generate a long-term weighted moving average delay estimate 406. The wireless device 102 can use the long-term weighted moving average delay estimate 406 (or another statistical processing of the delay estimate 212) to determine whether to initiate one or more delay mitigation actions 220.

[0035] for Figure 4 The example shown includes a first service measurement period 310-1 comprising a first service burst 302-1, which comprises two separate delay periods 304: a first delay period 304-1 spanning a single busy time slot 232, thereby generating a delay estimate 212 with a delay value L1; and a second delay period 304-2 spanning two busy time slots 232, thereby generating a delay estimate 212 with a delay value L2. The two delay estimates 212 of the first service burst 302-1 can be combined to produce an average delay value L for the first service burst 302-1. B1 The average latency estimate 402. The first service measurement period 310-1 also includes a second service burst 302-2, which includes a single latency period 304-3 that spans four busy time slots 232, thereby generating a latency estimate 212 with a latency value L3, which is also the average latency estimate 402 value L of the service burst 302-2. B2 The average delay estimate 402 for the first service measurement period 310-1 can be averaged together to produce a value L for the first service measurement period 310-1. AVE_1The average delay is estimated at 404. Figure 4 The example also includes a second service measurement period 310-2, which has a first service burst 302-3 without a delay period 304 and a second service burst 302-4 with three delay periods 302-4, 302-5, and 302-6, thereby generating delay estimates 212 with values ​​L4, L5, and L6, which can be averaged together to form a delay estimate 212 with value L for the second service burst 302-4. B3 The average delay estimate 402. In some implementations, the first service burst 302-3 without a delay period produces a delay estimate 212 with a duration equal to that of a single time slot. The delay estimates 212 of the service measurement periods 310-2 can be averaged together to produce a delay estimate L for the second service measurement period 310-2. AVE_2 The average delay estimate 402. The average delay estimate 404 for each business measurement period 310 can be combined using a weighted average formula with a weighting factor α to produce a weighted moving average delay estimate 406.

[0036] L WMA_T =(1-α)L WMA_T-1 +αL AVE_T In an exemplary implementation, the weighting factor is set to α = 1 / 8. In some implementations, each service measurement period 310 spans two seconds. In some implementations, the service measurement period 310 may be configured by software / firmware in the wireless device 102. In some implementations, when the weighted mobile average delay estimate 406 exceeds a predetermined delay threshold, the delay mitigation module 218 triggers one or more delay mitigation actions 220. In some implementations, the wireless device 102 maintains a history of the weighted mobile average delay estimate 406 and estimates a delay probability distribution, such as median, standard deviation, maximum, etc. Exemplary delay mitigation actions 220 include: changing time slot aggregation parameters, configuring regular (e.g., periodic) permission allocation for uplink transmission, changing the settings (or preferences) of connected mode discontinuous reception (cDRX), adjusting the settings (or preferences) of the User Assistance Information (UAI) release procedure, changing the random access channel (RACH) procedure, and / or blocking the selection of data services (e.g., background data services) to prioritize other data services (e.g., foreground data services). Additional exemplary mitigation actions 220 include: switching RATs or prioritizing RATs used by wireless device 102, and / or switching between cellular and non-cellular wireless connections to improve the data traffic throughput performance of wireless device 102.

[0037] In some implementations, when a high application data rate occurs (which may mean a backlog of traffic), wireless device 102 measures the time gap between grant allocations to estimate latency. In some cases, the application data rate can be measured by monitoring the TBS value. In some implementations, when a high block error rate (BLER) occurs (which may mean multiple retransmissions are required, and therefore a backlog of traffic for wireless device 102), wireless device 102 measures the time gap between grant allocations to estimate latency. In some implementations, wireless device 102 measures the time gap within a traffic burst and uses the TBS value and / or BLER value to confirm the presence of backlog of traffic, and thus latency can be inferred from the measured time gap. In some implementations, wireless device 102 monitors the category associated with the application running on the wireless device, such as games, augmented reality (AR), virtual reality (VR), voice over IP (VoIP), video streaming, audio streaming, media streaming, etc., and for certain application categories, wireless device 102 measures the time gap between grant allocations to wireless device 102 to estimate latency.

[0038] Figure 5Figure 500 illustrates an overview of another exemplary set of computational modules for an uplink latency tracking system in wireless device 102. Downlink latency monitoring can use a traffic burst identification system at the wireless device as described herein to determine when there is a backlog of downlink traffic queued at base station 104 for transmission to wireless device 102, since wireless device 102 does not have access to the queue status of data traffic for wireless device 104 at base station 104. In some embodiments, wireless device 102 supplements the traffic burst identification with knowledge of the uplink queue maintained at wireless device 102 to monitor and estimate latency. Uplink traffic queue monitoring module 502 can provide uplink queue status 504, which can be used at 506 to determine whether there are queued (untransmitted) uplink data packets and / or dropped data packets causing latency. In some embodiments, wireless device 102 monitors the uplink queue at the Packet Data Convergence Protocol (PDCP) layer. Uplink queue information 508 can be provided to the uplink delay determination module 510, which generates uplink delay estimates 512. The uplink delay monitoring module 514 can process the uplink delay estimates 512 to generate a set of uplink delay statistics 516 (e.g., filtered uplink delay estimates), which can be provided to the uplink delay mitigation module 518, which uses the uplink delay statistics 516 to determine whether to perform (or recommend) one or more uplink mitigation actions 520. In some embodiments, the number of queued and / or dropped uplink data packets is monitored and compared to a configurable queue threshold. When the number of queued and / or dropped uplink data packets meets (e.g., exceeds) the queue threshold, an uplink delay estimate can be generated. In some embodiments, when the queue threshold is met, the delay estimate is generated by monitoring the time duration between uplink grants. In some implementations, when the block error rate (BLER) meets a BLER threshold, a latency estimate is generated by monitoring the time duration between uplink grants. In some implementations, the wireless device 102 monitors buffer status report (BSR) requests to identify when backlogged data packets exist, and when the number of BSR requests meets (e.g., exceeds) a BSR threshold, a latency estimate is generated by monitoring the time duration between uplink grants.

[0039] Figure 6A flowchart 600 illustrates an exemplary method for cellular wireless network latency estimation performed by wireless device 102. At 602, wireless device 102 determines the occurrence of traffic bursts 302 on the cellular radio access link 106 between wireless device 102 and base station 104, each traffic burst 302 including an initial active time slot 230 with a first non-zero permission allocation that meets a threshold and a last active time slot 234 with a second non-zero permission allocation that does not meet the threshold. At 604, wireless device 102 estimates individual latency values ​​212 for time periods with zero permission allocation within the traffic burst 302. At 606, wireless device 102 processes the individual latency values ​​212 to obtain estimated latency statistics 216. At 608, when the estimated latency statistics 216 meet a predetermined latency threshold, wireless device 102 initiates at least one latency mitigation action 220.

[0040] In some implementations, the wireless device 102 determines the occurrence of a traffic burst 302 by: classifying the time slot with a non-zero grant allocation as an active time slot 230 when a majority of the available resources of the time slot are allocated to the wireless device 102 in a non-zero grant allocation; and classifying the time slot as the last active time slot 234 when less than a majority of the available resources of the time slot are allocated to the wireless device. In some implementations, the method further includes: the wireless device 102: i) calculating the maximum transport block size (TBS) for each time slot based on communication channel characteristics. max ) value; and ii) the transfer block size (TBS) granted when non-zero is equal to TBS. maxWhen the ratio of the values ​​exceeds a ratio threshold, a majority of the available resources for a time slot are allocated to wireless device 102 in a non-zero allocation. In some embodiments, the ratio threshold is at least half and less than one. In some embodiments, wireless device 102 determines the occurrence of a traffic burst 302 by classifying the time slot with zero allocation as a busy time slot 232 when it occurs within a traffic burst 302, and classifying it as an idle time slot 236 when it occurs between traffic bursts 302. In some embodiments, the individual latency value of a traffic burst 302 is equal to the time duration of one or more consecutive busy time slots 232 within the traffic burst 302. In some embodiments, the estimated latency statistics 216 include a weighted moving average of the individual latency values. In some embodiments, the estimated latency statistics 216 meets a predetermined latency threshold when the weighted moving average of the individual latency values ​​exceeds a predetermined latency threshold during the traffic measurement period 310. In some implementations, wireless device 102 initiates at least one latency mitigation action by transmitting one or more standardized User Assistance Information (UAI) messages to base station 104, causing base station 104 to increase data permission allocation to wireless device 102. In some implementations, wireless device 102 initiates at least one latency mitigation action by transmitting one or more proprietary messages to base station 104, causing base station 104 to increase data permission allocation to wireless device 102. In some implementations, wireless device 102 measures a latency value with a period of zero permission allocation when the aggregated data rate of an application executing on wireless device 102 exceeds an application data rate threshold. In some implementations, wireless device 102 measures a latency value with a period of zero permission allocation when the block error rate (BLER) of communication via cellular radio access link 106 exceeds a BLER threshold. In some implementations, wireless device 102 measures an uplink latency value with a period of zero permission allocation when the amount of queued uplink packets exceeds a configurable queuing packet threshold. In some implementations, when the amount of dropped uplink packets exceeds a configurable dropped packet threshold, the wireless device 102 measures the uplink latency value for a period of time with zero permission allocation.

[0041] Representative exemplary device Figure 7 An exemplary computing device 700, illustrated in block diagram format, is shown according to some embodiments and can be used to implement the various components and technologies described herein. Specifically, detailed views of the exemplary computing device 700 illustrate various components that may be included in the wireless device 102. Figure 7As shown, computing device 700 may include one or more processors 702, which represent microprocessors or controllers for controlling the overall operation of computing device 700 and / or specific functions of computing device 700, such as application processors, baseband processors, power control processors, etc. In some embodiments, computing device 700 may also include a user input device 708 that allows a user of computing device 700 to interact with computing device 700. For example, in some embodiments, user input device 708 may take various forms, such as buttons, keypads, dial pads, touchscreens, audio input interfaces, visual / image capture input interfaces, input in the form of sensor data, etc. In some embodiments, computing device 700 may include a display 710 (screen display) that can be controlled by processor 702 to display information (e.g., information related to incoming, outgoing, or active communication sessions) to a user. Data bus 716 facilitates data transfer between at least storage device 740, processor 702, and controller 713. Controller 713 can be used to interact with and control different devices via device control bus 714. The computing device 700 may also include a network / bus interface 711 coupled to the data link 712. In the case of wireless connectivity, the network / bus interface 711 may include wireless circuitry, such as a wireless transceiver and / or baseband components. The computing device 700 may also include a secure element 724. The secure element 724 may include an eUICC and / or one or more UICCs.

[0042] The computing device 700 also includes a storage device 740, which may include a single storage device or multiple storage devices (e.g., hard disk drives and / or solid-state drives), and includes a storage management module for managing one or more partitions within the storage device 740. In some embodiments, the storage device 740 may include flash memory, semiconductor (solid-state) memory, etc. The computing device 700 may also include random access memory (RAM) 720 and read-only memory (ROM) 722. ROM 722 may store programs, utilities, or procedures that will be executed in a non-volatile manner. RAM 720 may provide volatile data storage and store instructions related to the operation of the computing device 700.

[0043] Wireless terminology According to the various embodiments described herein, the terms "wireless communication device," "wireless device," "mobile device," "mobile station," "mobile wireless device," and "user equipment (UE)" may be used interchangeably herein to describe one or more consumer electronic devices capable of performing processes associated with the various embodiments of this disclosure. According to various specific embodiments, any of these consumer electronic devices may relate to: cellular phones or smartphones, tablet computers, laptop computers, notebook computers, personal computers, netbook computers, media player devices, e-book devices, MiFi devices, etc. ® Devices, wearable computing devices, and any other type of electronic computing device with wireless communication capabilities, which may include communication via one or more wireless communication protocols such as those for communicating over: Wireless Wide Area Network (WWAN), Wireless Metropolitan Area Network (WMAN), Wireless Local Area Network (WLAN), Wireless Personal Area Network (WPAN), Near Field Communication (NFC), Cellular Wireless Network, Fourth Generation (4G) LTE, Advanced LTE (LTE-A), 5G and / or 6G or other currently or future advanced cellular wireless networks.

[0044] In some implementations, the wireless devices may also operate as part of a wireless communication system that may include a collection of client devices, also referred to as stations, client wireless devices, or client wireless communication devices, interconnected to access points (APs) (e.g., as part of a WLAN) and / or interconnected with each other (e.g., as part of a WPAN and / or a “self-organizing” wireless network). In some implementations, the client devices may be any wireless devices capable of communicating via WLAN technology (e.g., according to a wireless LAN communication protocol). In some implementations, the WLAN technology may include a Wi-Fi (or more generally, WLAN) wireless communication subsystem or radio component that implements IEEE 802.11 technologies, such as one or more of the following: IEEE 802.11a; IEEE 802.11b; IEEE 802.11g; IEEE 802.11-2007; IEEE 802.11n; IEEE 802.11-2012; IEEE 802.11ac; or other currently or future IEEE 802.11 technologies.

[0045] Additionally, it should be understood that the UE described herein can be configured as a multi-mode wireless device capable of communicating via different radio access technologies (RATs). In these scenarios, the multi-mode user equipment (UE) can be configured to prefer attaching to a 5G wireless network offering faster data rate throughput compared to other 4G LTE legacy networks offering lower data rate throughput. For example, in some implementations, the multi-mode UE can be configured to fall back to a 4G LTE network or a 3G legacy network, such as an evolved High-Speed ​​Packet Access (HSPA+) network or a Code Division Multiple Access (CDMA) 2000 Evolution-Data-Only (EV-DO) network, when the 5G wireless network is otherwise unavailable.

[0046] As is widely recognized, the use of personally identifiable information should comply with privacy policies and practices that are generally accepted to meet or exceed industry or governmental requirements for protecting user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly explained to users.

[0047] The aspects, implementations, specific embodiments, or features of the described embodiments may be used individually or in any combination. The various aspects of the described embodiments may be implemented by software, hardware, or a combination of hardware and software. The described embodiments may also be implemented as computer-readable code on a non-transitory computer-readable medium. A non-transitory computer-readable medium is any data storage device capable of storing data that can subsequently be read by a computer system. Examples of non-transitory computer-readable media include read-only memory, random access memory, CD-ROM, HDD, DVD, magnetic tape, and optical data storage devices. Non-transitory computer-readable media may also be distributed across network-coupled computer systems, such that the computer-readable code is stored and executed in a distributed manner.

[0048] For illustrative purposes, the foregoing description uses specific names to provide a thorough understanding of the described embodiments. However, it will be apparent to those skilled in the art that specific details are not required to practice the described embodiments. Therefore, the foregoing description of specific embodiments is presented for illustrative and descriptive purposes. The foregoing description is not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to those skilled in the art that many modifications and variations are possible in light of the teachings above.

Claims

1. A method for delay estimation of a cellular radio access link between a wireless device and a base station of a cellular wireless network, the method comprising: By the wireless device: The occurrence of a service burst between the wireless device and the base station is determined, the service burst comprising an initial active time slot having a first non-zero grant allocation that meets a threshold and a last active time slot having a second non-zero grant allocation that does not meet the threshold; Estimate the individual delay value for the time period with zero allocation within the said service burst; Process the individual delay values ​​to obtain estimated delay statistics; as well as When the estimated latency statistics meet the predetermined latency threshold, at least one latency mitigation action is initiated.

2. The method according to claim 1, wherein determining the occurrence of the business outbreak comprises: By the wireless device: For each time slot with a non-zero permission allocation for the wireless device, the following operations are performed: i) When a majority of the available resources of the time slot are allocated to the wireless device in the non-zero grant allocation, the time slot is classified as an active time slot; and ii) When less than a majority of the available resources of the time slot are allocated to the wireless device, the time slot is classified as the last active time slot.

3. The method according to claim 2, further comprising: By the wireless device: The maximum transport block size (TBS) for each time slot is calculated based on the characteristics of one or more communication channels. max )value; as well as When the non-zero permitted allocation transport block size (TBS) is equal to the TBS max When the ratio of the values ​​exceeds the ratio threshold, it is determined that the majority of the available resources in the time slot are allocated to the wireless device in the non-zero grant allocation.

4. The method of claim 3, wherein the ratio threshold is at least one-half and less than one.

5. The method according to claim 2, wherein determining the occurrence of the business outbreak further includes: By the wireless device: For each time slot with zero permission allocated to the wireless device, the following operations are performed: i) When occurring within a business surge, classify the time slot as a busy time slot; and ii) When a business burst occurs, the time slot is classified as an idle time slot.

6. The method of claim 5, wherein the individual delay value of the service burst is equal to the time duration of one or more consecutive busy time slots within the service burst.

7. The method of claim 1, wherein the estimated delay statistics comprise a weighted moving average of two or more individual delay values.

8. The method of claim 7, wherein the estimated delay statistics satisfy the predetermined delay threshold when the weighted moving average exceeds the predetermined delay threshold during the service measurement period.

9. The method of claim 1, wherein initiating the at least one latency mitigation action comprises: By the wireless device: One or more standardized User Assistance Information (UAI) messages are transmitted to the base station to enable the base station to increase data permission allocation to the wireless device.

10. The method of claim 1, wherein initiating the at least one latency mitigation action comprises: By the wireless device: One or more proprietary messages are transmitted to the base station to enable the base station to increase data permission allocation to the wireless device.

11. The method according to claim 1, further comprising: By the wireless device: When the aggregate data rate of one or more applications running on the wireless device exceeds the application data rate threshold, the latency value with a zero-permission allocation period is measured.

12. The method according to claim 1, further comprising: By the wireless device: When the block error rate (BLER) of communication via the cellular radio access link exceeds the BLER threshold, the delay value with a time period of zero permission allocation is measured.

13. The method according to claim 1, further comprising: By the wireless device: When the amount of queued uplink packets exceeds the configurable queuing packet threshold, measure the uplink latency value for the time period with zero permission allocation.

14. The method according to claim 1, further comprising: By the wireless device: When the amount of dropped uplink packets exceeds the configurable dropped packet threshold, measure the uplink latency value for a period of time with zero permission allocation.

15. A wireless device configured for delay estimation of a cellular radio access link between the wireless device and a base station of a cellular wireless network, the wireless device comprising: One or more antennas; and A baseband processor, communicatively coupled to the one or more antennas and a memory storing instructions that, when executed, configure the wireless device to: The occurrence of a service burst between the wireless device and the base station is determined, the service burst comprising an initial active time slot having a first non-zero grant allocation that meets a threshold and a last active time slot having a second non-zero grant allocation that does not meet the threshold; Estimate the individual delay value for the time period with zero allocation within the said service burst; Process the individual delay values ​​to obtain estimated delay statistics; as well as When the estimated latency statistics meet the predetermined latency threshold, at least one latency mitigation action is initiated.

16. The wireless device of claim 15, wherein the wireless device is configured to determine the occurrence of the service burst by: For each time slot with a non-zero permission allocation for the wireless device, the following operations are performed: i) When a majority of the available resources of the time slot are allocated to the wireless device in the non-zero grant allocation, the time slot is classified as an active time slot; and ii) When less than a majority of the available resources of the time slot are allocated to the wireless device, the time slot is classified as the last active time slot.

17. The wireless device of claim 16, wherein the wireless device is further configured to determine the occurrence of the service burst by: For each time slot with zero permission allocated to the wireless device, the following operations are performed: i) When occurring within a business surge, classify the time slot as a busy time slot; and ii) When a business burst occurs, the time slot is classified as an idle time slot.

18. The wireless device of claim 16, wherein the wireless device is further configured to: The maximum transport block size (TBS) for each time slot is calculated based on the characteristics of one or more communication channels. max ) value; and When the non-zero permitted transport block size (TBS) is equal to the TBS max When the ratio of the values ​​exceeds the ratio threshold, it is determined that the majority of the available resources in the time slot are allocated to the wireless device in the non-zero grant allocation.

19. The wireless device according to claim 15, wherein: The estimated latency statistics include a weighted moving average of two or more individual latency values; and When the weighted moving average exceeds the predetermined delay threshold during the measurement period, the estimated delay statistics satisfy the predetermined delay threshold.

20. A non-transitory computer-readable medium storing instructions for delay estimation of a cellular radio access link between a wireless device and a base station of a cellular wireless network, the instructions comprising: Instructions for determining the occurrence of a service burst between the wireless device and the base station, the service burst including an initial active time slot having a first non-zero grant allocation that meets a threshold and a last active time slot having a second non-zero grant allocation that does not meet the threshold; Instructions for estimating the individual delay value of a time period with zero permitted allocation within the said service burst; Instructions for processing the individual delay values ​​to obtain estimated delay statistics; and An instruction for initiating at least one latency mitigation action when the estimated latency statistics meet a predetermined latency threshold.