Rrc connection release control method and apparatus
By setting a first timer in the terminal and dynamically adjusting the release timer duration of the RRC connection according to the application type and data transmission characteristics, the problem of high terminal power consumption caused by fixed timers is solved, and more efficient energy management is achieved.
Patent Information
- Application Number
- CN202011315017.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-30
- Filing Date
- 2020-11-20
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2040-11-20
AI Technical Summary
In existing technologies, the RRC connection release timer of the terminal has a fixed duration, resulting in high power consumption of the terminal.
Set a first timer in the terminal, and dynamically adjust the timer duration according to the type of the first application and the data transmission characteristics. When the timer expires, request the network device to release the RRC connection.
By dynamically adjusting the release timer duration of the RRC connection, the power consumption of the terminal is reduced, and the energy efficiency of the terminal is improved.
Smart Images

Figure CN114449688B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to Chinese Patent Application No. 202011194036.X, filed on October 30, 2020, entitled “RRC Connection Release Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of mobile communication technology, and in particular to an RRC connection release control method and apparatus. Background Technology
[0004] With the rapid development of the Internet, more and more terminals need to communicate with network devices. Before communicating with network devices, terminals must first establish a radio resource control (RRC) connection with the network devices. When communication between the terminal and the network devices is no longer needed, the RRC connection can be released.
[0005] When a terminal needs to transmit data, it establishes an RRC connection with the network device. Once the data transmission is complete, the network device can release the RRC connection with the terminal. The network device can also release the RRC connection with the terminal when the inactive timer configured for the terminal by the network device expires. The duration of this inactive timer is a fixed value, such as 10 seconds.
[0006] Since the inactive timer has a fixed duration, it may result in higher power consumption in the terminal. Summary of the Invention
[0007] This application provides an RRC connection release control method and apparatus to reduce the power consumption of a terminal.
[0008] Firstly, an RRC connection release control method is provided, applied to a terminal. The terminal stores a timing duration for a first timer corresponding to a first type of application. The timing duration of the first timer for the first type of application includes at least two duration values. The first timer is used when the terminal is in an RRC connection state. When the terminal is in an RRC connection state, the first timer starts counting. When the terminal receives data sent by the network device, the first timer is reset. The method further includes:
[0009] When the terminal's first application runs to the foreground, the terminal determines the application type of the first application;
[0010] Determine whether the application type of the first application belongs to the first application type;
[0011] When the application type of the first application belongs to the first application type, the terminal determines the first duration value from the at least two duration values as the timing duration of the first timer;
[0012] Upon detecting a preset operation targeting the first application, the terminal establishes an RRC connection with the network device;
[0013] When the terminal establishes the RRC connection with the network device, the first timer starts counting.
[0014] When the countdown value of the first timer exceeds the first duration value, the terminal requests the network device to release the RRC connection.
[0015] Specifically, for video applications, the preset operation could be playing a video; for game applications, the preset operation could be clicking "start". The preset operation is used to request data; any operation that requests data falls under the category of preset operations.
[0016] In the above design scheme, a first timer is set in the terminal. This first timer is used when the terminal is in RRC connection mode. When the terminal is in RRC connection mode, the first timer starts counting. When the terminal receives data sent by the network device, the first timer is reset. The release of the RRC connection is controlled through this first timer. Specifically, when the terminal's first application (belonging to a first application type) runs in the foreground, a first duration value is determined from at least two duration values corresponding to the first application type as the timing duration of the first timer. When the first timer times out (i.e., the timing value of the first timer exceeds the first duration value), the terminal requests the network device to release the terminal's RRC connection. Because the timing duration of the first timer is set according to the duration value corresponding to the application type, the timing duration of the first timer used to control the release of the RRC connection is adapted to the application running in the foreground. Therefore, the release of the RRC connection can be controlled according to the data transmission status of the first application, thereby saving the terminal's power consumption.
[0017] Secondly, an RRC connection release control method is provided, including:
[0018] While the terminal's first application is running in the foreground, the duration of the first timer corresponding to the first application is determined. The first timer is a timer used when the terminal is in RRC connection mode. When the terminal is in RRC connection mode, the first timer starts counting. When the terminal interacts with network devices, the first timer is reset.
[0019] When a preset operation targeting the first application is detected, the terminal establishes an RRC connection with the network device;
[0020] When the terminal establishes the RRC connection with the network device, the first timer starts counting.
[0021] When the countdown value of the first timer exceeds the specified timeout duration, the terminal requests the network device to release the RRC connection.
[0022] In the above design scheme, a first timer is set in the terminal. This first timer is used when the terminal is in RRC connection mode. When the terminal is in RRC connection mode, the first timer starts counting. When the terminal receives data sent by the network device, the first timer is reset. The release of the RRC connection is controlled through this first timer. Specifically, when the terminal's first application is running in the foreground, the timing duration of the first timer is set according to the timing duration corresponding to the first application. When the first timer times out (i.e., the timing value of the first timer exceeds the timing duration), the terminal requests the network device to release the terminal's RRC connection. Since the timing duration of the first timer is set according to the timing duration corresponding to the first application, the timing duration of the first timer used to control the release of the RRC connection is adapted to the foreground application. Therefore, the release of the RRC connection can be controlled according to the data transmission status of the first application, thereby saving the terminal's power consumption.
[0023] In one possible design, the information interaction includes at least one of the following:
[0024] The terminal receives downlink data sent by the network device;
[0025] The terminal receives downlink signaling sent by the network device;
[0026] The terminal sends uplink data to the network device;
[0027] The terminal sends an uplink signaling message to the network device.
[0028] In the above design scheme, if the terminal interacts with the network device during the operation of the first timer (such as receiving downlink data or signaling, or sending uplink data or signaling), the first timer is reset, thereby enabling control of RRC connection release based on the first timer.
[0029] In one possible design, determining the timing duration of the first timer corresponding to the first application includes:
[0030] Determine the timing duration of the first timer corresponding to the application type to which the first application belongs.
[0031] In the above design scheme, since applications of the same application type usually have similar data transmission characteristics, the timing duration of the first timer can be set according to the application type, so that the timing duration of the first timer corresponding to applications of the same application type is the same. In this way, the release of RRC connection can be controlled based on the same timing duration for applications of the same application type.
[0032] In one possible design, determining the timing duration of the first timer corresponding to the application type of the first application includes:
[0033] If the application type to which the first application belongs is the first application type, then the timing duration of the first timer is the timing duration corresponding to the first application type;
[0034] If the application type of the first application is a second application type that is different from the first application type, then the duration of the first timer is the duration of the second application type, and the duration of the second application type may be the same as or different from the duration of the first application type.
[0035] In the above design scheme, since applications of different application types usually have different data transmission characteristics, different timing durations can be set for different application types. The timing duration of the first timer can be set according to the data transmission characteristics of applications of different application types, and RRC connection release control can be performed based on the first timer. This makes the RRC connection release control adapt to the transmission characteristics of the application running in the foreground, thereby saving the power consumption of the terminal.
[0036] In one possible design, after determining the timing duration of the first timer corresponding to the first application, the method further includes:
[0037] The data transmission volume of the terminal in the RRC connection state is statistically analyzed.
[0038] Based on the statistical results, the timing duration of the first timer is adjusted.
[0039] In the above design scheme, the timing duration of the first timer is adjusted based on the statistical results of data transmission volume, so that the timing duration of the first timer is dynamically adjustable. This allows the timing duration of the first timer to be adaptively adjusted according to the data transmission situation, so that it can match the data transmission situation, thereby saving the power consumption of the terminal.
[0040] In one possible design, the first application corresponds to at least two duration values, and determining the timing duration of the corresponding first timer of the first application includes: determining the timing duration of the first timer as the first duration value among the at least two duration values;
[0041] The adjustment of the timing duration of the first timer based on the statistical results includes: if the statistical result is greater than a first threshold, increasing the timing duration of the first timer from the first duration value to a second duration value; or, if the statistical result is less than a second threshold after the terminal and network device have no information interaction within the timing duration of the first timer, decreasing the timing duration of the first timer from the first duration value to a third duration value; or, if the statistical result is greater than a first threshold, increasing the timing duration of the first timer from the first duration value to a second duration value; if the statistical result is less than a second threshold after the terminal and network device have no information interaction within the timing duration of the first timer, decreasing the timing duration of the first timer from the first duration value to a third duration value, wherein the second threshold is less than or equal to the first threshold.
[0042] In the above design scheme, if the statistical result of data transmission is greater than the first threshold, it indicates that data transmission and reception are relatively intensive. In this case, increasing the timing duration of the first timer can reduce the probability of prematurely releasing the RRC connection, thereby saving the terminal's power consumption. If the statistical result of data transmission is less than the second threshold, it indicates that data transmission and reception are relatively sparse. In this case, decreasing the timing duration of the first timer can reduce the probability of prematurely releasing the RRC connection, thereby saving the terminal's power consumption.
[0043] In one possible design, the second duration value is α times the first duration value, and the first duration value is α times the third duration value, where α is a fixed value greater than 1. Based on the aforementioned multiple relationship between the second, first, and third duration values, the timing duration can be gradually increased or decreased when adjusting it, avoiding excessively large adjustments.
[0044] In one possible design, if the statistical result is less than the second threshold, then after reducing the timing duration of the first timer from the first duration value to the third duration value, the method further includes:
[0045] When the terminal re-enters the RRC connection state, the first timer starts counting, and the timing duration of the first timer is the third duration value;
[0046] When the terminal interacts with the network device, the first timer is reset.
[0047] When the countdown value of the first timer exceeds the specified timeout duration, the terminal requests the network device to release the RRC connection.
[0048] In one possible design, after determining the timing duration of the first timer corresponding to the first application, the method further includes: the first module of the terminal sending a first instruction to the second module of the terminal, the first instruction carrying indication information for indicating the timing duration of the first timer; the second module setting the timing duration of the first timer of the terminal according to the indication information.
[0049] In one possible design, the first module includes the application processor of the terminal, and the second module includes the modem of the terminal.
[0050] In one possible design, the first application remains running in the foreground.
[0051] In one possible design, determining the timing duration of the first timer corresponding to the first application while the terminal's first application is running in the foreground includes: when the first application runs in the foreground, determining the timing duration of the first timer corresponding to the first application, wherein when the first application runs at a first time, the timing duration is a first duration value, and when the first application runs at a second time, the timing duration is a fourth duration value, and the first duration value is different from the fourth duration value.
[0052] In the above design, the timing duration of the first timer corresponding to the first application can be updated, so that the timing duration of the first application is different at different times when the first application runs in the foreground. In one possible design, the timing duration of the first timer corresponding to the first application can be updated based on the data transmission statistics during the first application's foreground operation, thereby adapting the timing duration of the first timer to the data transmission characteristics of the first application.
[0053] In one possible design, the application type to which the first application belongs corresponds to at least two duration values, and determining the timing duration of the first timer corresponding to the first application includes: determining the maximum value among the at least two duration values as the timing duration of the first timer; and / or, the first duration value is less than or equal to the timing duration of the inactive timer configured on the network device.
[0054] In the above design scheme, on the one hand, when the first application is run to the foreground, the timing duration of the first timer is set to the maximum of at least two timing values corresponding to the first application. This can reduce the probability of the RRC connection being released prematurely. In this way, if the data transmission and reception of the first application is intensive, the data transmission and reception of the first application can be guaranteed, thereby achieving a balance between ensuring the data transmission of the first application and reducing the power consumption of the terminal. On the other hand, the first timing value is less than or equal to the timing duration of the inactive timer configured on the network device. This allows the adjustment range of the timing duration of the first timer to reach the timing duration of the default inactive timer configured on the network device, so that the performance of the terminal (such as power consumption and / or latency) can at least be on par with the performance of the network side.
[0055] Thirdly, an RRC connection release control method is provided, including:
[0056] While the first application on the terminal is running in the foreground, determine the timing duration corresponding to the first application;
[0057] Determine whether there is any information interaction between the terminal and the network device within the time limit;
[0058] If no such information exchange occurs, the terminal requests the network device to release the terminal's RRC connection.
[0059] In the above design scheme, the terminal determines whether there is information interaction with the network device within the time limit. If there is no information interaction, the terminal requests the network device to release the terminal's RRC connection. Therefore, the time limit is used to control the release of the RRC connection. While the first application is running in the foreground, by setting a time limit corresponding to the first application, the time limit used to control the release of the RRC connection is adapted to the foreground application. This allows for control of the RRC connection release based on the data transmission status of the first application, thereby saving terminal power consumption.
[0060] In one possible design, the information interaction includes at least one of the following:
[0061] The terminal receives downlink data sent by the network device;
[0062] The terminal receives downlink signaling sent by the network device;
[0063] The terminal sends uplink data to the network device;
[0064] The terminal sends an uplink signaling message to the network device.
[0065] In the above design scheme, in the downlink direction, if the terminal does not receive data or signaling sent by the network device within the time limit, the terminal can request the network device to release the RRC connection to reduce terminal power consumption; in the uplink direction, if the terminal does not send data or signaling to the network device within the time limit, the terminal can request the network device to release the RRC connection to reduce terminal power consumption.
[0066] In one possible design, the method further includes: if the terminal and the network device interact during the timing period, the following steps are re-executed, starting from the time when the terminal performs the interaction:
[0067] Determine whether there is any information interaction between the terminal and the network device within the time limit;
[0068] If no such information exchange occurs, the terminal requests the network device to release the terminal's RRC connection.
[0069] In the above design scheme, if there is information interaction between the terminal and the network device, the timing is restarted from the time when the information interaction occurs, so as to determine whether there is information interaction between the terminal and the network device within the timing duration after the timing restarts. This ensures that the network device is only requested to release the RRC connection when there is no information interaction between the terminal and the network device and the duration of this situation reaches the timing duration. In this way, the data transmission of the first application can be guaranteed while saving terminal power consumption by requesting the release of the RRC connection.
[0070] In one possible design, determining the timing duration corresponding to the first application includes: determining the timing duration corresponding to the application type to which the first application belongs.
[0071] In one possible design, determining the timing duration corresponding to the application type to which the first application belongs includes:
[0072] If the application type to which the first application belongs is the first application type, then the timing duration is the timing duration corresponding to the first application type;
[0073] If the application type of the first application is a second application type that is different from the first application type, then the timing duration is the timing duration corresponding to the second application type, and the timing duration corresponding to the second application type may be the same as or different from the timing duration corresponding to the first application type.
[0074] In the above design scheme, since applications of different application types usually have different data transmission characteristics, different timing durations can be set for different application types. Based on the data transmission characteristics of applications of different application types, RRC connection release control can be performed according to different timing durations, so that RRC connection release control is adapted to the transmission characteristics of the application running in the foreground, thereby saving terminal power consumption.
[0075] In one possible design, the application type to which the first application belongs corresponds to at least two duration values; determining the timing duration corresponding to the application type to which the first application belongs includes: determining the first duration value among the at least two duration values as the value of the timing duration.
[0076] In the above design scheme, since the number of possible timing duration values corresponding to the application type is at least two (i.e., two or more), one timing duration value can be selected for RRC connection release control, improving the flexibility of RRC connection release control. Furthermore, this design scheme can support the following approach: selecting a timing duration value that matches the current situation from the at least two duration values based on the specific data transmission conditions, thereby further saving terminal power consumption.
[0077] In one possible design, the first application corresponds to at least two duration values; determining the timing duration corresponding to the first application includes: determining that the first duration value among the at least two duration values is the value of the timing duration.
[0078] In the above design scheme, since different applications usually have different data transmission characteristics, different timing duration values can be set for different applications. Based on the data transmission characteristics of different applications, RRC connection release control can be performed according to different timing duration values, so that RRC connection release control is adapted to the transmission characteristics of the application running in the foreground, thereby saving the power consumption of the terminal.
[0079] In one possible design, determining the timing duration corresponding to the first application includes: determining that the value of the timing duration is a first duration value corresponding to the first application;
[0080] After determining that the timing duration corresponding to the first application is the first duration value, the method further includes: performing statistics on the data transmission of the terminal in the RRC connection state to obtain statistical results; and adjusting the value of the timing duration based on the statistical results.
[0081] In the above design scheme, the terminal can statistically analyze data transmission and adjust the timing duration for RRC connection release control based on the statistical results. This allows for dynamic adjustment of the RRC connection release control duration according to data transmission status, thereby saving terminal power consumption. Specifically, "statistically analyzing data transmission while the terminal is in the RRC connection state" means statistically analyzing data transmission during the time period from when the terminal enters the RRC connection state until the RRC connection is released (during which the terminal remains in the RRC connection state).
[0082] In one possible design, after adjusting the value of the timing duration, the method further includes: determining whether there is information interaction between the terminal and the network device within the adjusted timing duration; if there is no information interaction, the terminal requests the network device to release the terminal's RRC connection.
[0083] In the above design scheme, after the terminal adjusts the value of the timing duration, it determines whether there is information interaction between the terminal and the network device within the adjusted timing duration. If there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal, thereby realizing RRC connection release control based on dynamically adjusted timing duration.
[0084] In one possible design, adjusting the value of the timing duration based on the statistical results includes:
[0085] If the statistical result is greater than the first threshold, the timing duration is increased from the first duration value to the second duration value; wherein, if the statistical result of data transmission is greater than the first threshold, it indicates that data transmission and reception are relatively intensive. Increasing the timing duration value in this case can reduce the probability of prematurely releasing the RRC connection, thereby saving the power consumption of the terminal.
[0086] Alternatively, if there is no information interaction between the terminal and the network device within the specified time period (the time period is the first time period value), and the statistical result is less than the second threshold, then the time period value is reduced from the first time period value to the third time period value. If the statistical result of data transmission is less than the second threshold, it indicates that data transmission and reception are sparse. In this case, reducing the time period value can reduce the probability of releasing the RRC connection too late, thereby saving the terminal's power consumption.
[0087] Alternatively, if the statistical result is greater than the first threshold, the value of the timing duration is increased from the first duration value to the second duration value; when there is no information interaction between the terminal and the network device within the timing duration (the timing duration is the first duration value), if the statistical result is less than the second threshold, the value of the timing duration is decreased from the first duration value to the third duration value, wherein the second threshold is less than or equal to the first threshold.
[0088] In one possible design, the second duration value is α times the first duration value, and the first duration value is α times the third duration value, where α is a fixed value greater than 1. Based on the aforementioned multiple relationship between the second, first, and third duration values, the timing duration can be gradually increased or decreased when adjusting it, avoiding excessively large adjustments.
[0089] In one possible design, if the statistical result is less than the second threshold, the method further includes reducing the first duration value to the third duration value, and then: the terminal re-enters the RRC connection state; determining whether there is information interaction between the terminal and the network device within the timed duration, wherein the timed duration is the third duration value; if there is no information interaction, the terminal requests the network device to release the terminal's RRC connection.
[0090] In the above design scheme, after adjusting the timing duration to the third duration value, if the RRC connection is released and then re-established, and the first application continues to run in the foreground (e.g., the first application is not closed or switched to the background), the release of the RRC connection is still controlled based on the adjusted third duration value. In other scenarios, after adjusting the timing duration to the third duration value, if the first application switches from the foreground to the background and then switches back to the foreground, the terminal determines that the timing duration corresponding to the application type of the first application is the first duration value, and after the terminal re-establishes the RRC connection, the release of the RRC connection is controlled based on this first duration value.
[0091] In the above design scheme, if the first application remains running in the foreground, the timing duration remains unchanged before and after the RRC connection is re-established. However, when the first application switches between the foreground and background, the timing duration needs to be reset so that the timing duration used to control the release of the RRC connection is adapted to the application currently running in the foreground, thereby saving terminal power consumption.
[0092] In one possible design, after the timing duration is reduced from the first duration value to the third duration value, and the terminal re-enters the RRC connection state, the method further includes:
[0093] The data transmission of the terminal in the RRC connection state is statistically analyzed to obtain statistical results;
[0094] If the statistical result is greater than the first threshold, it indicates that the data transmission and reception are relatively dense. In this case, the value of the timing duration is increased from the third duration value to the first duration value, which can reduce the probability of prematurely releasing the RRC connection and thus save the power consumption of the terminal.
[0095] If there is no information exchange between the terminal and the network device within the specified time period, the terminal requests the network device to release the RRC connection. If the statistical result is less than the second threshold, it indicates that data transmission and reception are sparse. In this case, the value of the time period is reduced from the third time period value to the fourth time period value, which can reduce or avoid the probability of releasing the RRC connection too late, thereby saving the terminal's power consumption.
[0096] In one possible design, after reducing the first duration value to a third duration value, the method further includes: if the terminal and the network device have information interaction within the timing duration that is the third duration value, the following steps are re-executed starting from the time when the terminal performs the information interaction:
[0097] Determine whether there is any information interaction between the terminal and the network device within the time period that is the third time period value; if there is no information interaction, the terminal requests the network device to release the terminal's RRC connection.
[0098] In the above design scheme, after reducing the first duration value to the third duration value, if there is information interaction between the terminal and the network device, the timing is restarted from the time when the information interaction occurs, so as to determine whether there is information interaction between the terminal and the network device within the timing duration after the timing is restarted. This ensures that the network device is only requested to release the RRC connection when there is no information interaction between the terminal and the network device and the duration of this situation reaches the timing duration. In this way, the data transmission of the first application can be guaranteed while saving terminal power consumption by requesting the release of the RRC connection.
[0099] In one possible design, after determining the timing duration corresponding to the first application, the method further includes: the first module of the terminal sending a first instruction to the second module of the terminal, the first instruction carrying indication information for indicating the timing duration; the second module setting the timing duration of the first timer of the terminal to the value of the timing duration according to the indication information.
[0100] Furthermore, determining whether the terminal and the network device have interacted within the timed duration includes: determining whether the terminal and the network device have interacted during the operation of the first timer, wherein if the terminal and the network device have interacted during the operation of the first timer, the first timer is reset.
[0101] In the above design scheme, a first timer is used to control the release of the RRC connection to reduce the technical implementation difficulty. The first module sends a command to the second module, causing the second module to set the timing duration of the first timer to the specified value. The first timer then counts according to this duration. If there is any communication with the network device during the timer's operation, the first timer is reset. This allows for control of the RRC connection release based on the first timer.
[0102] In one possible design, after determining the timing duration corresponding to the first application, the method further includes: if there is no information interaction between the terminal and the network device within the timing duration, the first module of the terminal sends a second instruction to the second module of the terminal, the second instruction being used to instruct the second module to request the network device to release the RRC connection.
[0103] In the above design scheme, the first module determines whether the terminal and the network device have the information interaction within the time limit, and when it is determined that there is no information interaction, it sends an instruction to the second module to instruct the second module to request the release of the RRC connection from the network device, thereby realizing the control of the release of the RRC connection.
[0104] In one possible design, the first module includes the terminal's application processor, and the second module includes the terminal's modem. Controlling the release of the RRC connection by sending instructions from the application processor to the modem is technically simple and easy to implement, compatible with the terminal's hardware architecture, and has almost no impact on the terminal's structure.
[0105] In one possible design, after determining the timing duration corresponding to the first application, the method further includes:
[0106] In response to the first application being closed or switched to the background;
[0107] Determine if there is an application running in the foreground;
[0108] If no application is running in the foreground, the duration value of the timer remains unchanged.
[0109] If an application is running in the foreground, the timeout duration is updated to the timeout duration corresponding to the application running in the foreground.
[0110] In the above design scheme, after determining the timing duration corresponding to the first application, if the first application is closed or switched to background operation, it is determined whether there is an application running in the foreground. If not, the timing duration value is kept unchanged, simplifying the technical implementation; otherwise, the timing duration is updated to the timing duration corresponding to the application currently running in the foreground, so that the timing duration is adapted to the application running in the foreground, thereby reducing terminal power consumption.
[0111] In one possible design, determining the timing duration corresponding to the first application while the terminal's first application is running in the foreground includes: when the first application runs in the foreground, determining the timing duration corresponding to the first application; when the first application runs at a first time, the timing duration is a first timing value; when the first application runs at a second time, the timing duration is a fifth duration value, wherein the first timing value is different from the fifth duration value.
[0112] In the above design scheme, during the operation of the first application, the value of the timing duration may be different at different times, so that the timing duration used to control the release of the RRC connection is dynamically adjustable.
[0113] In one possible design, the application type to which the first application belongs corresponds to at least two duration values. Determining the timing duration corresponding to the first application includes: determining a first duration value among the at least two duration values as the value of the timing duration, wherein the first duration value is the maximum value among the at least two duration values; and / or, the first duration value is less than or equal to the timing duration of an inactive timer configured on the network device.
[0114] In the above design scheme, on the one hand, when the first application is run to the foreground, the timing duration is set to the maximum of at least two duration values corresponding to the first application, which can reduce the probability of the RRC connection being released prematurely. In this way, if the data transmission and reception of the first application is intensive, the data transmission and reception of the first application can be guaranteed, thereby achieving a balance between ensuring the data transmission of the first application and reducing the power consumption of the terminal. On the other hand, the first duration value is less than or equal to the timing duration of the inactive timer configured on the network device. This allows the adjustment range of the timing duration used to control the release of the RRC connection to reach the timing duration of the default inactive timer configured on the network device, so that the performance of the terminal (such as power consumption and / or latency) can at least be on par with the performance of the network side.
[0115] Fourthly, an RRC connection release control method is provided, comprising:
[0116] While the terminal is in RRC connection mode, the amount of data transmitted by the terminal is statistically analyzed.
[0117] Based on the statistical results, the timing duration of the first timer of the terminal is adjusted. The first timer is used by the terminal when it is in RRC connection state. When the timing value of the first timer exceeds the adjusted timing duration, the terminal requests the network device to release the RRC connection of the terminal.
[0118] In the above design scheme, the timing duration of the first timer is adjusted based on the statistical results of data transmission volume, so that the timing duration of the first timer is dynamically adjustable. This allows the timing duration of the first timer to be adaptively adjusted according to the data transmission situation, so that it can match the data transmission situation, thereby saving the power consumption of the terminal.
[0119] In one possible design, the method further includes resetting the first timer when at least one of the following conditions is met:
[0120] The terminal receives downlink data;
[0121] The terminal receives downlink signaling;
[0122] The terminal sends uplink data;
[0123] The terminal sends uplink signaling.
[0124] The first timer reset means that the first timer restarts its timing.
[0125] In one possible design, the data transmission volume of the terminal includes: the data transmission volume of the foreground application and / or the data transmission volume of the background application.
[0126] In the above design scheme, if an application is running in the foreground, the data transmission of the foreground application can be statistically analyzed separately. Based on the statistical results of the data transmission volume of the foreground application, the timing duration of the first timer can be adjusted to adapt to the foreground application. Furthermore, when a background application is running, the data transmission volume of the background application can also be statistically analyzed. Based on the statistical results of the data transmission volume of both foreground and background applications, the timing duration of the first timer can be adjusted to adapt to both foreground and background applications.
[0127] In one possible design, adjusting the timing duration of the first timer based on the statistical results includes:
[0128] If the statistical result is greater than the first threshold, the timing duration of the first timer is increased from the first duration value to the second duration value; wherein, if the statistical result of the data transmission volume is greater than the first threshold, it indicates that the data transmission and reception are relatively dense. In this case, increasing the timing duration of the first timer can reduce the probability of prematurely releasing the RRC connection, thereby saving the power consumption of the terminal.
[0129] When the timing value of the first timer exceeds the timing duration, if the statistical result is less than the second threshold, the timing duration of the first timer is reduced from the first duration value to the third duration value, where the second threshold is less than or equal to the first threshold. If the statistical result of the data transmission volume is less than the second threshold, it indicates that data transmission and reception are sparse. In this case, reducing the timing duration of the first timer can reduce the probability of releasing the RRC connection too late, thereby saving the power consumption of the terminal.
[0130] In one possible design, increasing the timing duration of the first timer from a first duration value to a second duration value if the statistical result is greater than a first threshold includes: when the timing value of the first timer exceeds the timing duration, if the statistical result is greater than the first threshold, increasing the timing duration of the first timer from the first duration value to the second duration value. In this case, when the timing value of the first timer exceeds the timing duration (i.e., when the first timer times out), the terminal can request the network device to release the RRC connection. If the statistical result is greater than the first threshold, it indicates that data transmission and reception were relatively intensive in the previous period. To address this situation, increasing the timing duration of the first timer allows the first timer to keep time based on the adjusted second duration value, regardless of whether the terminal's request to the network device to release the RRC connection is accepted. This reduces the probability of prematurely releasing the RRC connection and thus saves the terminal's power consumption.
[0131] In one possible design, increasing the duration of the first timer from a first duration value to a second duration value if the statistical result is greater than a first threshold includes: when the terminal is in the RRC connection state, if the statistical result is greater than the first threshold, increasing the duration of the first timer from the first duration value to the second duration value. In this case, if the statistical result of data transmission volume is greater than the first threshold in the RRC connection state, it indicates that data transmission and reception are relatively intensive. Increasing the duration of the first timer in this situation can reduce the probability of prematurely releasing the RRC connection, thereby saving the terminal's power consumption.
[0132] In one possible design, the method further includes: obtaining at least two duration values corresponding to the first timer; determining the duration value greater than the first duration value among the at least two duration values as the second duration value; and / or, obtaining at least two duration values corresponding to the first timer; determining the duration value less than the first duration value among the at least two duration values as the third duration value.
[0133] In one possible design, determining the duration value greater than the first duration value among the at least two duration values as the second duration value includes: using the minimum duration value greater than the first duration value among the at least two duration values as the second duration value. Determining the duration value less than the first duration value among the at least two duration values as the third duration value includes: using the maximum duration value less than the first duration value among the at least two duration values as the third duration.
[0134] The above design scheme allows the timing duration of the first timer to gradually increase or decrease, avoiding excessive adjustment.
[0135] In one possible design, obtaining at least two duration values corresponding to the first timer includes: obtaining the at least two duration values corresponding to the application running in the foreground; or, obtaining the at least two duration values corresponding to the application type according to the application type to which the application running in the foreground belongs.
[0136] In the above design scheme, the obtained duration value can be adapted to the application or the application type to which the application belongs, so that the timing duration of the first timer is adapted to the application running in the foreground or the application type to which the application belongs. Then, the release of the RRC connection can be controlled according to the data transmission characteristics of the application running in the foreground or the application type to which the application belongs.
[0137] In one possible design, the method further includes: if the at least two duration values are not obtained according to the application type of the application running in the foreground; obtaining the at least two duration values corresponding to the general first timer, so that the timing duration of the first timer can still be dynamically adjusted under the above circumstances.
[0138] In one possible design, if the foreground running applications include at least two applications, then obtaining the at least two duration values corresponding to the application type of the foreground running applications includes: obtaining the at least two duration values corresponding to the application type of the first application. Wherein, the first application is the application with higher priority among the at least two applications; or, among the at least two applications, the maximum value among the at least two duration values corresponding to the application type of the first application is not less than the maximum value among the at least two duration values corresponding to the application types of the other applications.
[0139] In the above design scheme, when there is more than one application running in the foreground, the duration of the first timer can be set according to at least two duration values corresponding to the highest priority application among the multiple applications running in the foreground. In this way, while saving terminal power consumption, the data transmission of high-priority applications can be guaranteed first.
[0140] In one possible design, the at least two duration values are arranged in descending or ascending order, and among two adjacent duration values, the larger duration value is α times the smaller duration value, where α is a fixed value greater than 1. This multiple relationship between the different duration values allows for gradual increases or decreases in the duration of the first timer when adjusting it, avoiding excessively large adjustments.
[0141] In one possible design, the maximum value of the at least two duration values is less than or equal to the duration of the inactive timer configured on the network device. This allows the adjustment range of the duration of the first timer to reach the duration of the default inactive timer configured on the network device, ensuring that the behavior of the terminal does not conflict with the behavior of the network device.
[0142] In one possible design, the method further includes: obtaining the first threshold and the second threshold corresponding to the application type of the application running in the foreground; or, obtaining the general first threshold and the second threshold.
[0143] In the above design scheme, based on the application type of the application running in the foreground, the first threshold and the second threshold corresponding to the application type are obtained. The obtained first threshold and the second threshold are then used to determine whether to adjust the timing duration of the first timer, so that the RRC connection release control operation is adapted to the application type of the application running in the foreground, thereby reducing the power consumption of the terminal.
[0144] In one possible design, the method further includes: if the first threshold and the second threshold corresponding to the application type are not obtained according to the application type to which the foreground application belongs, then the general first threshold and the second threshold are obtained to determine whether the timing duration of the first timer needs to be adjusted, so that the timing duration of the first timer can still be dynamically adjustable under the above circumstances.
[0145] In one possible design, if the foreground application includes at least two applications, then obtaining the first threshold and the second threshold corresponding to the application type based on the application type of the foreground application includes:
[0146] Based on the application type to which the first application belongs, obtain the first threshold and the second threshold corresponding to the application type;
[0147] Wherein, the first application is the application with higher priority among the at least two applications; or, among the at least two applications, the maximum value among the at least two duration values corresponding to the application type to which the first application belongs is not less than the maximum value among the at least two duration values corresponding to the application type to which the other applications belong.
[0148] In the above design scheme, when there is more than one application running in the foreground, the duration of the first timer can be adjusted according to the first and second thresholds corresponding to the highest priority application among the multiple applications running in the foreground. In this way, while saving terminal power consumption, the data transmission of high-priority applications can be guaranteed first.
[0149] In one possible design, the method further includes:
[0150] The data transmission of the first application running in the foreground within the statistical period is statistically analyzed to obtain the data packet interval distribution characteristics, which are used to characterize the density of data packets.
[0151] Generate N sets of candidate durations, each set of candidate durations including at least two duration values, where N is an integer greater than or equal to 1;
[0152] Based on the data packet interval distribution characteristics, M groups of candidate thresholds are determined. Each group of candidate thresholds in the M groups includes a first threshold and a second threshold, where M is an integer greater than or equal to 1.
[0153] The N groups of candidate durations are combined with the M groups of candidate thresholds to obtain K candidate combinations. Each candidate combination includes a group of candidate durations and a group of candidate thresholds, where K is an integer greater than or equal to 2.
[0154] Based on the data packet interval distribution characteristics, each of the K candidate combinations is used to simulate adjusting the timing duration of the first timer, and the RRC connection release statistics corresponding to each candidate combination are obtained.
[0155] Based on the RRC connection release statistics for each candidate combination, the optimal candidate combination is selected to obtain at least two duration values corresponding to the application type to which the first application belongs, as well as the first threshold and the second threshold corresponding to the application type to which the first application belongs.
[0156] In the above design scheme, the data transmission data of the first application running as a foreground application within a statistical period is used as sample data to obtain the data packet interval distribution characteristics. N sets of candidate durations and M sets of candidate thresholds are combined. For each candidate combination, the timing duration of the first timer is simulated and adjusted according to the data packet interval distribution characteristics to obtain the RRC connection release statistics corresponding to each candidate combination, thereby obtaining the optimal combination. Then, a set of durations and a set of thresholds corresponding to the application type to which the first application belongs are obtained, so that at least two duration values corresponding to the first application or the application type to which the first application belongs, as well as the first threshold and the second threshold, are adapted to the data packet interval distribution characteristics of the first application.
[0157] In one possible design, selecting the optimal candidate combination based on the RRC connection release statistics corresponding to each candidate combination includes:
[0158] Based on the RRC connection release duration and the duration in the RRC disconnected state corresponding to each candidate combination, the false release rate and the proportion of the RRC disconnected state duration to the statistical duration are determined for each candidate combination. The false release rate is used to represent the proportion of the number of false releases to the number of random accesses.
[0159] The first candidate combination is selected from the K candidate combinations. The false release rate of the first candidate combination is less than a set threshold, and the proportion of the RRC non-connected state duration to the statistical duration is the largest.
[0160] In the above design scheme, since the false release rate corresponding to the optimal candidate combination is less than the set threshold, and the proportion of the RRC non-connection state time to the statistical time is the largest, under the same conditions, the power saving effect of using the optimal candidate combination to control the RRC connection release is no less than that of other candidate combinations.
[0161] In one possible design, the method further includes:
[0162] The data transmission of the first application running in the foreground within the statistical period is statistically analyzed to obtain the data packet interval distribution characteristics, which are used to characterize the density of data packets.
[0163] Generate N sets of candidate durations, each set of candidate durations including at least two duration values, where N is an integer greater than or equal to 1;
[0164] Based on the data packet interval distribution characteristics, M groups of candidate thresholds are determined. Each group of candidate thresholds in the M groups includes a first threshold and a second threshold, where M is an integer greater than or equal to 1.
[0165] The N groups of candidate durations are combined with the M groups of candidate thresholds to obtain K candidate combinations. Each candidate combination includes a group of candidate durations and a group of candidate thresholds, where K is an integer greater than or equal to 2.
[0166] Based on the data packet interval distribution characteristics and each candidate combination, the Markov state transition probability matrix corresponding to each candidate combination is determined respectively.
[0167] Based on the Markov state transition probability matrix corresponding to each candidate combination, the value of the objective function used to evaluate the optimal candidate combination is determined. The value of the objective function is used to indicate the duration during which the terminal is in the RRC connected state or the RRC disconnected state within the statistical duration.
[0168] The optimal candidate combination is determined based on the value of the objective function corresponding to each candidate combination, and at least two duration values corresponding to the application type to which the first application belongs, as well as the first threshold and the second threshold corresponding to the application type of the first application.
[0169] In the above design scheme, the data transmission data of the first application running as a foreground application within a statistical period is used as sample data to obtain the data packet interval distribution characteristics. N sets of candidate durations and M sets of candidate thresholds are combined. For each candidate combination obtained by combination, the Markov state transition probability matrix corresponding to each candidate combination is determined according to the data packet interval distribution characteristics. Based on the Markov state transition probability matrix corresponding to each candidate combination, the value of the objective function used to evaluate the optimal candidate combination is determined, thereby obtaining the optimal combination. In turn, a set of durations and a set of thresholds corresponding to the application type to which the first application belongs are obtained, so that at least two duration values corresponding to the first application or the application type to which the first application belongs, as well as the first threshold and the second threshold, are adapted to the data packet interval distribution characteristics of the first application.
[0170] In one possible design, generating N sets of candidate durations includes: generating the N sets of candidate durations according to preset rules.
[0171] In one possible design, adjusting the timing duration of the first timer of the terminal includes:
[0172] The first module of the terminal sends an instruction to the second module of the terminal, the instruction carrying indication information for indicating the timing duration of the first timer;
[0173] The second module sets the timing duration of the first timer according to the instruction information.
[0174] Optionally, the first module is an application processor, and the second module is a modem.
[0175] In the above design scheme, the application processor sends instructions to the modem to set the duration of the first timer. This is simple and easy to implement and is compatible with the hardware architecture of the terminal.
[0176] In one possible design, the indication information also carries indication information for indicating whether the terminal enters an idle or inactive state after the RRC connection is released. Since the instructions sent by the application processor to the modem can also carry indication information for indicating whether the terminal enters an idle or inactive state after the RRC connection is released, the terminal can be made to enter an idle or inactive state after releasing the RRC connection as needed, improving system flexibility.
[0177] In one possible design, the statistical results include at least one of the following:
[0178] The number of data packets received;
[0179] The amount of data received;
[0180] The throughput of received data;
[0181] The bit rate of the received data.
[0182] In the above design scheme, the statistical results obtained by statistically analyzing data transmission can reflect the density of data transmission. Based on the above statistical results, the timing duration of the first timer can be set or adjusted so that the timing duration of the first timer is adapted to the density of data transmission. This can reduce or avoid excessive random access processes caused by excessively frequent RRC connection releases, or reduce or avoid situations where there is no data transmission for a long time but the RRC connection is not released in time, thereby saving terminal power consumption.
[0183] Fifthly, an RRC connection release control method is provided, comprising:
[0184] When the first application runs to the foreground, the first duration value corresponding to the first application is determined;
[0185] The timing duration of the terminal's first timer is set to the first duration value. The first timer is a timer used by the terminal in RRC connected state. When the timing duration of the first timer exceeds the first duration, the terminal enters RRC disconnected state.
[0186] The first timer is reset and restarts counting as soon as it receives a data packet.
[0187] In the above design, when the first application runs in the foreground, the duration of the terminal's first timer is set to the first timer duration corresponding to the first application. When the first timer exceeds the specified duration, the terminal requests the network device to release the terminal's RRC connection, thereby controlling the release of the RRC connection based on the first timer. Since the duration of the first timer is the duration corresponding to the foreground application, the duration of the first timer is adapted to the foreground application. This allows for control of the RRC connection release based on the data transmission status of the first application, thereby saving the terminal's power consumption.
[0188] In one possible design, when the first application runs to the foreground, determining the first duration value corresponding to the first application includes: determining the first duration value corresponding to the application type to which the first application belongs.
[0189] In one possible design, determining the first duration value corresponding to the application type to which the first application belongs includes:
[0190] If the application type to which the first application belongs is the first application type, then the first duration value is the duration value corresponding to the first application type;
[0191] If the application type of the first application is a second application type that is different from the first application type, then the first duration value is the duration value corresponding to the second application type, and the duration value corresponding to the second application type may be the same as or different from the duration value corresponding to the first application type.
[0192] In one possible design, setting the duration of the terminal's first timer to the first duration value includes: the terminal's first module sending a first instruction to the terminal's second module, the first instruction carrying indication information for indicating the first duration value; and the second module setting the duration of the terminal's first timer to the first duration value according to the indication information. Wherein, the first module is an application processor, and the second module is a modem.
[0193] In one possible design, after setting the duration of the terminal's first timer to the first duration value, the method further includes: when the duration of the terminal's first timer exceeds the first duration value, the terminal's first module sends a second instruction to the terminal's second module, the second instruction instructing the second module to request the network device to release the RRC connection. Here, the first module is an application processor, and the second module is a modem.
[0194] In one possible design, the method further includes resetting the first timer when at least one of the following conditions is met:
[0195] The terminal receives downlink data;
[0196] The terminal receives downlink signaling;
[0197] The terminal sends uplink data;
[0198] The terminal sends uplink signaling.
[0199] In one possible design, the application type to which the first application belongs corresponds to at least two duration values; setting the timing duration of the terminal's first timer to the first duration value includes: setting the timing duration of the first timer to the first duration value among the at least two duration values.
[0200] In one possible design, the method further includes: the terminal entering an RRC connection state;
[0201] After setting the duration of the terminal's first timer to the first duration value, the method further includes:
[0202] The data transmission of the terminal in the RRC connection state is statistically analyzed to obtain statistical results;
[0203] Based on the statistical results, the timing duration of the first timer is adjusted.
[0204] In one possible design, adjusting the timing duration of the first timer based on the statistical results includes: if the statistical result is greater than a first threshold, increasing the timing duration of the first timer from a first duration value to a second duration value; when the timing duration of the first timer exceeds the timing duration, requesting the network device to release the RRC connection; if the statistical result is less than the second threshold, decreasing the timing duration of the first timer from the first duration value to a third duration value, wherein the second threshold is less than or equal to the first threshold.
[0205] In one possible design, if the statistical result is less than the second threshold, the method further includes reducing the timing duration of the first timer from the first duration value to the third duration value, and then the terminal re-enters the RRC connection state, with the timing duration of the first timer being the third duration value.
[0206] In one possible design, after the terminal re-enters the RRC connection state, the method further includes:
[0207] The data transmission of the terminal in the RRC connection state is statistically analyzed, and the statistical results are obtained.
[0208] If the statistical result is greater than the first threshold, the timing duration of the first timer is increased from the third duration value to the first duration value;
[0209] When the duration of the first timer exceeds the third duration value, a request is made to the network device to release the RRC connection; if the statistical result is less than the second threshold, the duration of the first timer is reduced from the third duration value to the fourth duration value.
[0210] In one possible design, the first application remains running in the foreground.
[0211] In one possible design, after setting the timing duration of the terminal's first timer to the first duration value, the method further includes:
[0212] The system detects that the first application has been closed or switched to the background.
[0213] Determine if there is an application running in the foreground;
[0214] If no application is running in the foreground, maintain the first timer's duration at the first duration value;
[0215] If there is an application running in the foreground, set the duration of the first timer to the duration corresponding to the application running in the foreground.
[0216] In one possible design, at a first time, the first duration value is a first value; at a second time, the first duration value is a second value, and the first value is different from the second value.
[0217] In one possible design, the application type to which the first application belongs corresponds to at least two duration values, and the first duration value is the maximum of the at least two duration values; and / or, the first duration value is less than or equal to the duration of the inactive timer configured on the network device.
[0218] A sixth aspect provides a communication device comprising at least one processor connected to a memory, the at least one processor being configured to read and execute a program stored in the memory such that the device performs the method described in any one of the first, second, third, fourth, and fifth aspects above, or any embodiment of the present invention.
[0219] In a seventh aspect, a chip is provided, the chip being coupled to a memory for reading and executing program instructions stored in the memory to implement the method described in any one of the first, second, third, fourth, and fifth aspects above, or any embodiment of the present invention.
[0220] Eighthly, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the method as described in any one of the first, second, third, fourth, and fifth aspects above, or any embodiment of the present invention.
[0221] Ninthly, a computer program product is provided, which, when invoked by a computer, causes the computer to perform the method described in any one of the first, second, third, fourth, and fifth aspects above or any embodiment of the present invention. Attached Figure Description
[0222] Figure 1 A schematic diagram of a network architecture provided for an embodiment of this application;
[0223] Figure 2 This is a schematic diagram of the terminal structure in the embodiments of this application;
[0224] Figure 3 This is a schematic diagram illustrating the interaction between the application processor (AP) and the modem in an embodiment of this application.
[0225] Figure 4 This is a schematic diagram of the software architecture of the terminal in the embodiments of this application;
[0226] Figure 5 A schematic diagram of the signaling interaction of the RRC connection release control method provided in the embodiments of this application;
[0227] Figure 6a This application embodiment provides an RRC connection release timer adjustment process under the condition of setting a candidate RRC connection release timer duration set;
[0228] Figure 6b This application embodiment describes the RRC connection release timer adjustment process when setting candidate RRC connection release timer duration sets for different applications.
[0229] Figure 7 This is a schematic diagram of the Markov model state transition for the RRC release time in an embodiment of this application;
[0230] Figure 8 This is a flowchart illustrating the online learning method in an embodiment of this application;
[0231] Figure 9 This is a schematic diagram illustrating the principle of the online learning method in the embodiments of this application;
[0232] Figure 10a This is a schematic diagram of a packet gap CDF curve in an embodiment of this application;
[0233] Figure 10b This is a schematic diagram of a CDF curve for the number of packages in an embodiment of this application;
[0234] Figure 11a This is a schematic diagram of a packet gap CDF curve in an embodiment of this application;
[0235] Figure 11b This is a schematic diagram of a CDF curve for the number of packages in an embodiment of this application;
[0236] Figure 12 This is a flowchart illustrating an offline learning method in an embodiment of this application. Detailed Implementation
[0237] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. It should be understood that the terms "first," "second," etc., in the embodiments, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, such as including a series of steps or units. Methods, systems, products, or devices are not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or devices.
[0238] The following explanations of some terms used in the embodiments of this application are provided to facilitate understanding by those skilled in the art.
[0239] (1) Data packet.
[0240] Data packets can be generated and sent to the corresponding application server by any application (APP) installed on the terminal after it is launched and accesses the corresponding application server. Here, the APP can be a camera application, an instant messaging application (such as...) ), Internet short video applications (such as ), Internet long video applications (such as These include web browsing applications, games, etc. These applications can be pre-installed on the terminal before it leaves the factory, downloaded and installed by the terminal from the network side, or received by the terminal from other terminals; this application does not limit the scope of these applications.
[0241] (2) Foreground applications and background applications.
[0242] Foreground applications generally refer to an Activity window running on the screen where the user is interacting, or a service bound to the Activity the user is interacting with, such as a notification listener or voice / text service. All others are background applications. Background applications may be running and receiving data, for example, if... When switched to the background, the application can still receive messages. For example, some news and advertising applications that run in the background may also receive push notifications.
[0243] Normally, only one foreground application exists on a terminal. However, in some cases, multiple foreground applications may exist. For example, on terminals that support split-screen functionality, two or more split-screen windows can be displayed simultaneously when split-screen mode is enabled. Each split-screen window can run one application. For instance, a video application could run in the first split-screen window, and a social networking application in the second. This allows users to watch a video playing in the video application's window while chatting in the social networking application's user interface. In this case, both the video application running in the first split-screen window and the social networking application running in the second split-screen window are foreground applications.
[0244] (3) Mechanism for monitoring application behavior or state.
[0245] The application processor in the terminal can listen for application launches. When an application launches, it sends registration information to the application framework layer of the application processor. After the application processor detects the application launch event, it can call the function `topActivity.getPackageName()` to obtain the application name of the foreground application based on the function's return value. Another method to listen for application launches is for the application processor to call the `queryUsageStats` method in `UsageStatsManager`. This method returns a list of applications used within a certain time period, including each application's `mLastTimeUsed` (last used time) and `mPackageName` (application name). The application name with the latest last used time is the most recently launched application. Of course, the application processor can also obtain the name of the launched application through other methods, which are not limited in this embodiment.
[0246] Application processors can also monitor application switching behavior. By listening to the lifecycle of Activities within an application, application processors can monitor the application's lifecycle and thus its switching behavior. For example, considering Activities A and B, when Activity A enters the foreground, its lifecycle changes as follows: A.onStart(), A.onResume(); when switching from Activity A to Activity B, the lifecycle changes as follows: A.onPause(), B.onStart(), B.onResume(), A.onStop(). It can be seen that onResume and onPause are a pair, called sequentially between the two Activities, while onStart and onStop are a pair, called intermittently between the two Activities. Using this feature, application processors can use a global counter to track an application's progress. The counter is incremented by 1 in all Activity.onStart() calls and decremented by 1 in all Activity.onStop() calls. When the counter value for an application is greater than 0, it indicates that the application is in the foreground; when the counter value is equal to 0, it indicates that the application is in the background. A counter changing from 1 to 0 indicates that the corresponding application has moved from the foreground to the background; a counter changing from 0 to 1 indicates that the corresponding application has moved from the background to the foreground. Of course, the application processor can also determine whether an application has switched between foreground and background in other ways, and this application embodiment does not limit this.
[0247] The application processor can also listen for split-screen operations. When a user splits the screen using gestures or other methods, the application processor can receive the split-screen event and further obtain the name of the application in the split-screen window by calling the function topActivity.getPackageName().
[0248] (4) First timer.
[0249] In this embodiment, a timer can be configured on the terminal, referred to herein as the first timer. It should be understood that the naming of this timer is not limited in this embodiment; for example, the first timer can be named the RRC connection release timer. In some embodiments of this application, the first timer is referred to as the RRC connection release timer. It should be understood that the first timer and the RRC connection release timer have the same meaning.
[0250] The first timer is used when the terminal is in RRC connected state. When the first timer expires, the terminal requests the network device to release the terminal's RRC connection.
[0251] In this context, "first timer timeout" can be understood as the timing value of the first timer exceeding the timing duration. That is, in this embodiment of the application, "first timer timing value exceeding the timing duration" and "first timer timeout" have the same meaning.
[0252] The first timer can count down according to the timing duration, and the first timer is reset when at least one of the following conditions is met:
[0253] The terminal received downlink data;
[0254] The terminal received downlink signaling;
[0255] The terminal sends uplink data;
[0256] The terminal sends uplink signaling.
[0257] The data exchanged between the terminal and the network device includes data associated with the terminal's application, such as: operational data generated by the terminal in response to the application, data sent by the application to the network device, and application-related data sent by the network device to the terminal. This application can be a foreground application or a background application.
[0258] Signaling used in the interaction between the terminal and network equipment includes, for example, cell reselection, handover, and redirection signaling.
[0259] For example, the first timer has a countdown duration of 8 seconds. It starts counting down from 8 seconds. When the countdown reaches 5 seconds, if the terminal receives downlink data, the first timer is reset, meaning it restarts the countdown from 8 seconds. This means that each time downlink data or downlink signaling is received, the first timer is triggered to restart its countdown. When the first timer counts down to 0, the first RRC timer times out.
[0260] In this embodiment, unless otherwise specified, the RRC connection release timer refers to the RRC connection release timer configured in the terminal, i.e., the first timer. It should also be noted that in this embodiment, setting the timing duration of the first timer, setting the countdown duration of the first timer, setting the value of the timing duration / countdown duration of the first timer, or similar expressions, have the same meaning.
[0261] Based on the above explanation of terminology, Figure 1 An exemplary schematic diagram of a communication system architecture to which this application can be applied is shown. The communication system may include network devices and terminals. Figure 1 The following example illustrates the use of a network device 101 and a terminal 100. The network device 101 can communicate with the terminal 100 wirelessly, primarily using Uu air interface transmission.
[0262] Network device 101, including, for example, access network (AN) devices, also known as wireless access network devices, is a device used to connect terminals to a wireless network. For example, a base station (e.g., an access point) can refer to a device in the access network that communicates with wireless terminals over an air interface via one or more cells. For example, access network equipment may include evolved base stations (NodeBs, eNBs, or e-NodeBs) in LTE systems or Long Term Evolution-Advanced (LTE-A) systems, or it may include next-generation node Bs (gNBs), transmission reception points (TRPs) (also called transceiver nodes), building baseband units (BBUs), radio remote units (RRUs), BBUs, and active antenna units (AAUs) in 5G NR systems, or it may include centralized units (CUs) and distributed units (DUs) in cloud radio access networks (CloudRAN) systems, or it may include access points in wireless fidelity (Wi-Fi) systems, or it may include radio network controllers (RNCs), base station controllers (BSCs), and base transceivers. This application includes base stations (BTS), home network equipment (e.g., home evolved NodeB, or Home Node B, HNB), or may include base stations, small cells, micro cells, etc., in future communication networks. The embodiments described in this application are not limited to these categories.
[0263] Terminal 100 may be a mobile phone, tablet computer, laptop computer, or wearable device with wireless communication capabilities (such as a smartwatch or smart glasses). Exemplary embodiments of this terminal include, but are not limited to, carrying... Alternatively, the terminal can be a device operating a different operating system. The terminal can also be other portable devices, as long as the portable device can dynamically adjust the duration of the RRC connection release timer. It should also be understood that in some other embodiments of this application, the terminal may not be a portable device, but rather a desktop computer capable of performing the above functions.
[0264] In the embodiments of this application, the communication system may be a long term evolution (LTE) system, a 5G communication system, such as a new radio (NR) system, a communication system integrating multiple communication technologies (such as a communication system integrating LTE and NR technologies), or other communication systems, such as a public land mobile network (PLMN) system, or other communication systems that may emerge in the future, etc., and this application does not limit them.
[0265] For example, such as Figure 2 The diagram shown illustrates a possible structure of terminal 100. Terminal 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a mobile communication module 151, a wireless communication module 152, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a gyroscope sensor 180A, an accelerometer sensor 180B, a fingerprint sensor 180H, a temperature sensor 180J, and a touch sensor 180K (of course, the terminal 100 may also include other sensors, such as pressure sensors, accelerometer sensors, gyroscope sensors, ambient light sensors, bone conduction sensors, etc., which are not shown in the figure).
[0266] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the terminal 100. In other embodiments of this application, the terminal 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0267] The processor 110 may include one or more processing units, such as an application processor (AP), modem, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. The controller may serve as the central nervous system and command center of the terminal 100. The controller can generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution.
[0268] In some embodiments, the processor 110 may also include a memory for storing instructions and data. Exemplarily, the memory in the processor 110 may be a cache memory. This memory can store instructions or data that the processor 110 has just used or that are being used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves system efficiency.
[0269] Internal memory 121 can be used to store one or more computer programs, including instructions. Processor 110 executes various functional applications and data processing of terminal 100 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, application code, etc. The data storage area may store statistical results of data transmission recorded during terminal 100 use, thresholds (used to determine whether the conditions for adjusting the timing duration of the RRC connection release timer are met), etc.
[0270] Furthermore, the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as one or more disk storage devices, flash memory devices, universal flash storage (UFS), etc. In some embodiments, the processor 110 may cause the terminal 100 to execute the RRC connection release control method provided in the embodiments of this application by executing instructions stored in the internal memory 121 and / or instructions stored in memory disposed in the processor 110.
[0271] Of course, the code for the RRC connection release control method provided in this application embodiment, as well as information such as statistical results of data transmission, can also be stored in external memory. In this case, the processor 110 can run the code for releasing the radio resource control connection stored in external memory through the external memory interface 120.
[0272] The external memory interface 120 can be used to connect an external memory card (e.g., a Micro SD card) to expand the storage capacity of the terminal 100. The external memory card communicates with the processor 110 through the external memory interface 120 to perform data storage functions. For example, information such as statistical results obtained from data transmission statistics of the terminal can be stored on the external memory card.
[0273] The wireless communication function of terminal 100 can be implemented through antenna 1, antenna 2, mobile communication module 151, wireless communication module 152, modem processor and baseband processor.
[0274] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.
[0275] The mobile communication module 151 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the terminal 100. The mobile communication module 151 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 151 can receive electromagnetic waves via the antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to the modem processor for demodulation. The mobile communication module 151 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 151 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 151 and at least some modules of the processor 110 may be housed in the same device.
[0276] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 151 or other functional modules.
[0277] The wireless communication module 152 can provide solutions for wireless communication applications on the terminal 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), global navigation satellite systems (GNSS), and other wireless communication solutions. The wireless communication module 152 can be one or more devices integrating at least one communication processing module. The wireless communication module 152 receives electromagnetic waves via antenna 2, frequency-modulates and filters the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 152 can also receive signals to be transmitted from processor 110 (e.g., indication information for instructing network devices to release RRC connections), frequency-modulates and amplifies them, and then converts them into electromagnetic waves for radiation via antenna 2.
[0278] In some embodiments, the antenna 1 of the terminal 100 is coupled to the mobile communication module 151, and the antenna 2 is coupled to the wireless communication module 152, so that the terminal 100 can communicate with other devices.
[0279] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the terminal 100. While charging the battery 142, the charging management module 140 can also supply power to the terminal 100 via the power management module 141.
[0280] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 141, providing power to the processor 110, internal memory 121, external memory interface 120, display screen 194, camera 193, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.
[0281] Based on the above Figure 2 In the terminal shown in this embodiment, the first module and the second module in the terminal can cooperate with each other to implement the RRC connection release control method provided in this embodiment.
[0282] In some embodiments, the first module of the terminal may send a first instruction to the second module of the terminal, the first instruction carrying indication information for indicating the timing duration of the RRC connection release timer; the second module sets the timing duration of the RRC connection release timer of the terminal to the value of the timing duration according to the indication information.
[0283] In other embodiments, if there is no information exchange between the terminal and the network device within the timeout period of the RRC connection release timer (e.g., no downlink data or signaling is received, or no uplink data or signaling is sent), the first module of the terminal sends a second instruction to the second module of the terminal. The second instruction is used to instruct the second module to request the network device to release the RRC connection of the terminal.
[0284] The first module can be an application processor (AP) or its internal logic unit, or it can be other CPUs, digital signal processors (DSPs), or microcontrollers, etc.; the second module can be a modem or its internal logic unit.
[0285] Taking the first module as an application processor and the second module as a modem as an example, Figure 3 An exemplary diagram is shown illustrating the interaction between an application processor (AP) and a modem to implement an embodiment of this application.
[0286] like Figure 3As shown, the application processor (AP) analyzes the demodulated data from the modem, obtains statistical results, and determines whether the RRC connection release timer's duration needs adjustment. If adjustment is required, it sends a command to the modem instructing it to adjust the RRC connection release timer's duration. More specifically, the application processor can send a target value for the RRC connection release timer's duration to the modem via this command, causing the modem to adjust the RRC connection release timer's duration to equal the target value. When the RRC connection release timer expires, the modem requests the network side to release the RRC connection. Alternatively, the application processor can send an adjustment value for the RRC connection release timer's duration to the modem, allowing the modem to adjust the RRC connection release timer's duration accordingly.
[0287] In other embodiments, the modem performs statistical analysis on the demodulated data, obtains statistical results, and determines whether the duration of the RRC connection release timer needs to be adjusted based on the statistical results. If adjustment is required, the duration of the RRC connection release timer is adjusted. When the RRC connection release timer expires, the modem requests the network side to release the RRC connection. Optionally, the application processor can configure the value of the timing duration (which may be one or more) and a threshold (which may include one or more, such as a first threshold and a second threshold) for controlling the RRC connection release timer to the modem, so that the modem can perform RRC connection release control according to the value of the timing duration and the threshold.
[0288] See Figure 4 This is a schematic diagram of the software architecture of the terminal provided in an embodiment of this application. Figure 4 As shown, the software architecture, from bottom to top, can include: hardware layer, kernel layer, application framework layer, and application layer.
[0289] The hardware layer includes various hardware circuit structures.
[0290] The kernel layer provides low-level drivers for various hardware components of the terminal (such as display, positioning, audio, camera, Bluetooth, Wi-Fi, power management, etc.), among which the drivers related to the embodiments of this application include modem drivers.
[0291] The application framework layer provides various system components and application components, among which the components relevant to the embodiments of this application include an RRC control component to implement RRC connection management, such as RRC connection release and setting of RRC connection release timers. The RRC control component may be included in the modem.
[0292] The application layer includes various applications, such as video applications, games, etc.
[0293] Based on whether an RRC connection exists between the terminal and the network device, the terminal can be divided into non-connected mode (including RRC idle mode and RRC inactive mode) and connected mode (also known as RRC connected mode):
[0294] (1) RRC disconnected state (RRC-IDLE state or RRC INACTIVE state): There is no RRC connection between the terminal and the network, so the power consumption is low;
[0295] (2) RRC-CONNECTED state: An RRC connection exists between the terminal and the network, resulting in higher power consumption. The RRC connection can be established on a dedicated physical channel, in which case the terminal is in a dedicated channel (DCH) state and can transmit a large amount of user data; the RRC connection can also be established on a shared channel, in which case the terminal is in a forward access channel (FACH) state. The terminal will continue to monitor the FACH transmission channel in the downlink direction, and can use a public or shared transmission channel (such as a random access channel (RACH)) in the uplink direction to transmit a small amount of user data.
[0296] It should be understandable that current consumption can be used to represent the power consumption of a terminal.
[0297] The aforementioned RRC-IDLE and RRC-CONNECTED states can be switched. In RRC-IDLE state, when the terminal needs to transmit data packets, it sends an RRC connection setup request to the network device to request the establishment of an RRC connection. After the RRC connection is established, it enters the RRC-CONNECTED state. In RRC-CONNECTED state, if no data transmission occurs within a set time period after the user's data transmission is completed (i.e., there is no information exchange between the terminal and the network device within the set time), the RRC connection is released, and the terminal enters either the RRC-IDLE state or the RRC INACTIVE state (i.e., the RRC non-connection state).
[0298] Currently, in scenarios where the terminal is off, if the terminal does not receive data within a fixed period after the screen is off, it can request to release the RRC connection. For example, if no data arrives within 1 second after the screen is off (of course, the duration of the RRC connection release timer in the screen-off state can also be other values, such as 2 seconds, 3 seconds, etc., which are not limited in this application embodiment), the terminal requests the network device to release the RRC connection. In scenarios where the terminal is on, when the inactivity timer configured by the base station on the base station side for the terminal expires, the RRC connection with the terminal is released. The duration of the inactivity timer is fixed, for example, 10 seconds.
[0299] Whether the screen is off or on, the timing duration used to control the release of the RRC connection is a fixed duration. This may result in higher power consumption if the RRC connection is released too early or too late.
[0300] For example, a scenario where premature RRC connection release leads to excessive terminal power consumption is as follows: If the terminal does not transmit data within a set time (e.g., 1 or 2 seconds) after the screen is turned off, it requests to release the RRC connection. However, if data packets still arrive after the RRC connection is released, the terminal needs to initiate random access to re-establish the RRC connection in order to receive subsequent data. In this scenario, because the RRC connection is released too early, the terminal needs to initiate random access, and the random access process consumes significant power.
[0301] For example, one scenario where high terminal power consumption is caused by RRC connection release being too late is as follows: taking a network device with an inactive timer duration of 10 seconds as an example, if the data packets sent by the service the terminal is in are sparse, and a new data packet is sent only 20 seconds after a data packet arrives, the network device needs to wait at least 10 seconds after receiving a data packet before releasing the terminal's RRC connection. During this time, the terminal is in the RRC connection state, resulting in high power consumption.
[0302] To address the aforementioned problems, this application provides an RRC connection release control method and apparatus for setting a timeout duration for a terminal, thereby controlling the release of the RRC connection based on this timeout duration. The timeout duration is used to control the release of the terminal's RRC connection.
[0303] In some embodiments, a first timer (hereinafter referred to as the RRC connection release timer) can be configured in the terminal. The timing duration of the RRC connection release timer can be dynamically adjusted by setting or adjusting the timing duration, thereby controlling the release of the RRC connection and reducing the power consumption of the terminal.
[0304] The method and apparatus are based on the same inventive concept. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and the method can refer to each other, and the repeated parts will not be described again.
[0305] See Figure 5 This is a signaling interaction diagram of the RRC connection release control method provided in this application embodiment. This method can be applied to... Figure 1 The network architecture shown can, of course, be applied to other network architectures as well, and this application does not limit it.
[0306] like Figure 5 As shown, in S510, the terminal determines the timing duration, which is used to control the release of the RRC connection.
[0307] In some embodiments, during this step, the terminal may set the duration of the RRC connection release timer.
[0308] In S520, when the RRC connection release condition is met based on the timeout duration, the terminal requests the network device to release the RRC connection.
[0309] Specifically, the terminal determines whether there is any information interaction between the terminal and the network device within the time limit. If there is no information interaction, the RRC connection release condition is met, and the terminal requests the network device to release the terminal's RRC connection.
[0310] In some embodiments, if the terminal is configured with an RRC connection release timer, when the RRC connection release timer expires, it indicates that the RRC connection release condition has been met, and therefore the terminal requests the network device to release the terminal's RRC connection.
[0311] The information interaction includes at least one of the following situations:
[0312] The terminal receives downlink data sent by the network device;
[0313] The terminal receives downlink signaling sent by the network device;
[0314] The terminal sends uplink data to the network device;
[0315] The terminal sends uplink signaling to the network device.
[0316] If the terminal and network device exchange the aforementioned information during the operation of the RRC connection release timer, the RRC connection release timer will be reset.
[0317] Furthermore, if the terminal and the network device interact within the specified time frame, the terminal will re-execute the following steps, starting from the time of the interaction: determine whether there is any interaction between the terminal and the network device within the specified time frame; if no interaction occurs, the terminal requests the network device to release its RRC connection. If the terminal is configured with an RRC connection release timer, the timer will be reset when the terminal interacts with the network device, and will restart timing. When the RRC connection release timer expires, the terminal requests the network device to release its RRC connection.
[0318] Optionally, in S520, the terminal can send an RRC connection release request to the network device to request the network device to release the RRC connection with the terminal. The RRC connection release request refers to signaling carrying RRC connection release indication information, such as ReleasePreference-r16::=SEQUENCE{preferredRRC-State-r16ENUMERATED{idle,inactive,connected,outOfConnected}} carried in the UEAssistance Information message sent by the terminal to the base station in the new radio (NR) interface. This indicates the state requested by the terminal; when preferredRRC-State-r16 is in an idle or inactive state, it indicates that the terminal is requesting to release the RRC connection. This application does not restrict the naming of this signaling.
[0319] After receiving a request from a terminal to release the RRC connection, the network device can determine whether to release the RRC connection with the terminal based on the data transmission needs. For example, if the network device has no data to send to the terminal, it can release the RRC connection according to the terminal's request; otherwise, the network device can maintain the RRC connection with the terminal to send downlink data.
[0320] In some embodiments of this application, in S510, while the first application of the terminal is running in the foreground, the terminal determines the timing duration corresponding to the first application.
[0321] In response to the first operation, the terminal can determine the timing duration corresponding to the first application running in the foreground. Furthermore, if an RRC connection release timer is configured on the terminal, the terminal sets the timing duration of this RRC connection release timer to the determined timing duration.
[0322] The term "first application" is not limited to a specific application or a specific type of application; this phrasing is merely for clarity. This application does not restrict the way application types are categorized. For example, application types may include: long-form internet video applications, short-form internet video applications, web news applications, game applications, etc. For instance, the first application could be a long-form internet video application, a short-form internet video application, a game, or a social networking application, etc.
[0323] The first operation can be the launching of the first application, such as when a user launches the first application via screen touch (e.g., clicking the application icon on the phone's home screen); or the first application can be launched by another application. The first operation can also be the switching of the first application from the background to the foreground, such as when a user switches a background-running application to the foreground via screen touch.
[0324] The application processor can listen to the first operation mentioned above and respond to it to make the first application run in the foreground. For example, when the application processor listens to the first operation of the first application being launched, it can control the first application to run in the foreground. Specifically, it can set the state of the first application to a running state (such as the Resume() state) and display the user interface of the first application on the terminal screen.
[0325] In some embodiments of this application, the terminal is configured with a timing duration for the application type to which the first application belongs, allowing the terminal to obtain the timing duration corresponding to that application type after determining its application type. Furthermore, if the terminal is configured with an RRC connection release timer, the terminal can set the timing duration of the RRC connection release timer to this duration. By setting the timing duration of the RRC connection release timer, it can be adapted to the application type to which the foreground application belongs, thereby controlling the RRC connection release based on the data transmission status of the first application, and ultimately saving terminal power consumption.
[0326] In some embodiments of this application, the timing duration is less than or equal to the timing duration of the inactive timer configured on the network device. This allows the timing duration adjustment range of the RRC connection release timer to reach the timing duration of the default inactive timer configured on the network device, so that the performance of the terminal (such as power consumption and / or latency) can at least match the performance of the network side.
[0327] In some embodiments of this application, the timing durations corresponding to different application types may be the same or different. For example, if the application to which the first application belongs is a first application type (such as an internet long video application), then the timing duration is the timing duration corresponding to the first application type; if the application to which the first application belongs is a second application type different from the first application type (such as an internet short video application), then the timing duration is the timing duration corresponding to the second application type, wherein the timing duration corresponding to the second application type is the same as or different from the timing duration corresponding to the first application type. This allows for the control of the timing duration of RRC connection release or the timing duration of the RRC connection release timer, adapting to the application type of the application running in the foreground.
[0328] In some embodiments, the timing duration corresponding to the first application or the application type to which the first application belongs includes at least two duration values, one of which is a first duration value. Accordingly, during the first application's foreground operation, the first duration value among the at least two duration values can be determined as the timing duration for RRC connection release control. Furthermore, if an RRC connection release timer is configured in the terminal, the timing duration of the RRC connection release timer can be set to the first duration value. Of course, in other scenarios, when the first application is running in the foreground, the timing duration of the RRC connection release timer may also be set to other duration values among the at least two duration values, thereby improving the flexibility of the RRC connection release timer settings.
[0329] The at least two duration values can be stored as a set of RRC connection release timer durations, or they can be stored in other forms or data structures. This application embodiment does not limit this.
[0330] In some embodiments, the first duration value is the maximum value among the at least two duration values. This way, when the first application runs to the foreground, the timing duration for controlling RRC connection release, or the timing duration of the RRC connection release timer, is set to the maximum value among the at least two duration values corresponding to the first application or the application type to which the first application belongs. This reduces or avoids the probability of the RRC connection being released prematurely. Thus, if the first application's data transmission and reception are intensive, data transmission and reception can be guaranteed, achieving a balance between ensuring data transmission and reducing terminal power consumption. In other embodiments, the first duration value is the maximum value among the at least two durations, and the first duration value is less than or equal to the timing duration of the inactive timer configured on the network device.
[0331] In some embodiments of this application, when the terminal enters the RRC connection state while the first application is running in the foreground, the data transmission of the terminal in the RRC connection state is statistically analyzed to obtain statistical results. Based on these statistical results, the timing duration for RRC connection release control is adjusted. If the terminal has an RRC connection release timer, the timing duration of the RRC connection release timer can be adjusted based on the statistical results, so that the timing duration of the RRC connection release timer is no longer fixed but dynamically adjustable. This allows the timing duration of the RRC connection release timer to be adaptively adjusted according to the data transmission situation, matching it with the data transmission situation, thereby saving the terminal's power consumption.
[0332] Optionally, the terminal can adjust the timing duration or RRC connection release timer for RRC connection release control when it is in the RRC disconnected state, or it can adjust the timing duration or RRC connection release timer for RRC connection release control when it is in the RRC connected state.
[0333] Furthermore, after adjusting the value of the timing duration, the terminal continues to determine whether there is any information interaction with the network device within the adjusted timing duration; if there is no information interaction, the terminal requests the network device to release the terminal's RRC connection. If the terminal is configured with an RRC connection release timer, after adjusting the value of the RRC connection release timer's timing duration, when the RRC connection release timer times out, it indicates that there was no information interaction within the timing duration of the RRC connection release timer, and the terminal requests the network device to release the terminal's RRC connection.
[0334] When the terminal is in RRC connection mode and running a foreground application, the received data is mainly from the foreground application. Therefore, in some embodiments of this application, the terminal can collect statistics on the data transmission of the foreground application. In some scenarios, when the terminal is in RRC connection mode, the background application may also transmit a small amount of data. Therefore, in some embodiments of this application, the terminal can collect statistics on the data transmission of both the foreground application and the background application transmitting data.
[0335] In some scenarios, there is only one foreground application, such as when the terminal is in full-screen mode. In other scenarios, there may be multiple foreground applications, such as when the terminal is in split-screen mode, where the screen can be divided into multiple split-screen windows, and different applications can be opened and run in different split-screen windows. In this case, there can be multiple foreground applications, and the data transmission statistics of the terminal include the data transmission statistics of these foreground applications.
[0336] In this embodiment, the statistical results of data transmission can be used to characterize the density of data transmission. These statistical results can be for data received by the terminal or for data sent by the terminal. The terminal can dynamically adjust the duration of the RRC connection release timer based on the statistical results of the received data, or it can dynamically adjust the duration of the RRC connection release timer based on the statistical results of the sent data.
[0337] In this embodiment of the application, statistical analysis of data transmission can be understood as statistical analysis of the amount of data transmitted. Optionally, when performing statistical analysis on downlink data transmission, the statistical results may include at least one of the following:
[0338] (1) Data volume, that is, the amount of data received. For example, the number of bytes or bits of data received. This application does not restrict the unit of measurement for data volume.
[0339] (2) Number of data packets, i.e. the number of data packets received.
[0340] (3) Data throughput, which is the rate at which the received data is transmitted. Data throughput refers to the average rate at which data is transmitted over a certain period of time. For example, the data throughput of received data can be measured by the number of bits per second (bps). For instance, the number of bits of received data can be divided by the statistical duration (in seconds) to obtain the data throughput at the current moment.
[0341] (4) Bit rate, which is the bit rate of the received data. Bit rate refers to the number of bits transmitted per second.
[0342] (5) Data packet interval, such as the average interval (seconds) between two received data packets.
[0343] In this embodiment of the application, the statistical results can be compared with the threshold to determine whether the conditions for adjusting the above timing duration or adjusting the timing duration of the RRC connection release timer are met. If the conditions are met, the value of the above timing duration or the value of the timing duration of the RRC connection release timer can be adjusted; otherwise, the value of the above timing duration or the timing duration of the RRC connection release timer can remain unchanged.
[0344] Optionally, the threshold used to determine whether to adjust the timing duration or the timing duration of the RRC connection release timer may include a first threshold and a second threshold, wherein the first threshold is greater than or equal to the second threshold. The first and second thresholds may be stored as a threshold group, or of course, in other forms or data structures; this embodiment does not impose any limitations on this.
[0345] When the terminal is in RRC connection state, and the statistical result of data transmission reaches (greater than or equal to) the first threshold, the value of the aforementioned timing duration can be increased. If there is no information interaction between the terminal and the network device within the aforementioned timing duration, and the statistical result of data transmission is less than or equal to the second threshold, the value of the timing duration can be decreased. Specifically, when it is determined that there is no information interaction between the terminal and the network device within the aforementioned timing duration with the value of the first duration, if the statistical result is less than the second threshold, the value of the aforementioned timing duration is decreased from the first duration value to the third duration value; or, if the statistical result is greater than the first threshold, the value of the aforementioned timing duration is increased from the first duration value to the second duration value; or, when it is determined that there is no information interaction between the terminal and the network device within the aforementioned timing duration with the value of the first duration, if the statistical result is less than the second threshold, the value of the aforementioned timing duration is decreased from the first duration value to the third duration value.
[0346] If the terminal is configured with an RRC connection release timer, when the terminal is in RRC connection state and the data transmission statistics reach (greater than or equal to) the first threshold, the duration of the RRC connection release timer can be increased. When the RRC connection release timer times out, if the data transmission statistics are less than or equal to the second threshold, the duration of the RRC connection release timer can be decreased. Specifically, if the data transmission statistics are greater than the first threshold, the duration of the RRC connection release timer is increased from the first duration to the second duration. When the RRC connection release timer exceeds its duration, the terminal requests the network device to release the RRC connection. If the data transmission statistics are less than the second threshold, the duration of the RRC connection release timer is decreased from the first duration to the third duration.
[0347] Optionally, if the statistical result of data transmission is greater than the first threshold, the timing duration of the RRC connection release timer will be increased from the first duration value to the second duration value, which may include the following situations:
[0348] Case 1: When the RRC connection release timer times out, if the statistical result of data transmission is greater than the first threshold, the timing duration of the RRC connection release timer will be increased from the first duration value to the second duration value.
[0349] Case 2: When the terminal is in the RRC connection state, if the data transmission statistics result is greater than the first threshold, the timing duration of the RRC connection release timer will be increased from the first duration value to the second duration value.
[0350] Furthermore, if the statistical result is less than the second threshold, the aforementioned timing duration (the timing duration used to control the release of the RRC connection) is reduced from the first duration value to the third duration value, and then the terminal re-enters the RRC connection state. The terminal determines whether there is any information interaction between the terminal and the network device within the timing duration value of the third duration value. If there is no information interaction, the terminal requests the network device to release the terminal's RRC connection. If there is information interaction between the terminal and the network device within the timing duration value of the third duration value, the terminal re-executes the following steps starting from the time when the information interaction occurred: determining whether there is any information interaction between the terminal and the network device within the timing duration value of the third duration value; if there is no information interaction, the terminal requests the network device to release the terminal's RRC connection.
[0351] If the terminal is configured with an RRC connection release timer, while the first application is running in the foreground, if the timer's duration is reduced from a first value to a third value, and the terminal re-enters RRC connection mode, the RRC connection release timer's duration will remain at the third value. In other scenarios, after reducing the RRC connection release timer's duration from the first value to the third value, if the first application switches from the foreground to the background and then back to the foreground, the terminal determines the first duration value corresponding to the application type of the first application, and sets the terminal's RRC connection release timer's duration to that first value after the terminal re-establishes the RRC connection.
[0352] Furthermore, in some embodiments, after the terminal re-enters the RRC connection state, the method further includes: performing statistics on the data transmission of the terminal in the RRC connection state to obtain statistical results; if the statistical results are greater than a first threshold, increasing the duration of the RRC connection release timer from a third duration value to a first duration value; when the RRC connection release timer exceeds the duration, requesting the network device to release the RRC connection; if the statistical results are less than a second threshold, decreasing the duration of the RRC connection release timer from a third duration value to a fourth duration value.
[0353] Furthermore, in some embodiments, after setting the duration of the RRC connection release timer of the terminal to a first duration value, the method further includes: in response to the operation of closing or switching the first application to the background, determining whether there is an application running in the foreground; if there is no application running in the foreground, maintaining the duration of the RRC connection release timer at the first duration value; if there is an application running in the foreground, setting the duration of the RRC connection release timer to the duration value corresponding to the application running in the foreground.
[0354] In the above embodiments, if the statistical result of data transmission is greater than the first threshold, the duration of the RRC connection release timer is increased; if the RRC connection release timer exceeds its duration, and the statistical result of data transmission is less than the second threshold (the second threshold is less than or equal to the first threshold), the duration of the RRC connection release timer is decreased. Specifically, if the statistical result of data transmission is greater than the first threshold, it indicates a high density of data transmission and reception. Increasing the duration of the RRC connection release timer in this case can reduce or avoid the probability of prematurely releasing the RRC connection, thereby saving terminal power consumption. If the statistical result of data transmission is less than the second threshold, it indicates sparse data transmission and reception. Decreasing the duration of the RRC connection release timer in this case can reduce or avoid the probability of prematurely releasing the RRC connection, thereby saving terminal power consumption.
[0355] It should be noted that the processes of S510 and S520 are relatively independent, although Figure 5 S510 appears before S520, but in actual applications, these two processes are executed independently without a strict timing sequence. For example, the terminal can obtain the statistical results of data transmission through S510 and adjust the duration of the RRC connection release timer based on the statistical results when the conditions are met; in S520, the terminal uses the RRC connection release timer to determine whether the conditions for releasing the RRC connection are met, and when the conditions are met (i.e., the RRC connection release timer times out), it requests the network device to release the RRC connection.
[0356] Depending on the execution of S510, the timing duration for RRC connection release control or the timing duration of the RRC connection release timer may be an initial duration (e.g., the timing duration of the RRC connection release timer is initialized to the initial duration after the RRC connection is established and has not been adjusted since), or it may be adjusted once, or it may be adjusted multiple times. For example, at the first time, the timing duration for RRC connection release control or the timing duration of the RRC connection release timer is equal to a first value; at the second time, the timing duration for RRC connection release control or the timing duration of the RRC connection release timer is equal to a second value, wherein the first value and the second value are different.
[0357] In the above process, by setting the timing duration of the RRC connection release timer, the timing duration of the RRC connection release timer is no longer fixed, but can be dynamically adjusted. This allows the timing duration of the RRC connection release timer to be adaptively adjusted according to the data transmission situation, so as to match the data transmission situation and thus save the power consumption of the terminal.
[0358] In some embodiments of this application, the application processor in the terminal can set the duration of the RRC connection release timer by sending a command to the modem in the terminal. Specifically, the application processor sends a command to the modem, which carries indication information for the duration (e.g., a first duration value). The modem can then set the duration of the RRC connection release timer to the corresponding duration value (e.g., the first duration value) according to the indication information.
[0359] Optionally, the instruction can be an AT (attention) command.
[0360] The AT command may carry indication information to specify the timing duration value of the RRC connection release timer. Furthermore, the AT command may also carry at least one of the following indication information:
[0361] Indication information used to indicate whether the terminal enters an idle state or an inactive state after the RRC connection is released. For example, the indication information can indicate that the terminal enters an idle state or an inactive state after the RRC connection is released.
[0362] Indication information used to indicate whether the RRC connection fast release feature is enabled, that is, whether the scheme of dynamically adjusting the timing duration of the RRC connection release timer is adopted in the embodiment of this application.
[0363] For example, an AT command may include five information fields, namely, the first information field, the second information field, the third information field, the fourth information field, and the fifth information field. The length of each information field may be 1 bit or more. The meaning of each information field is as follows:
[0364] First information field: The value of this information field is a fixed value, which is equal to 1;
[0365] The second information field: This field carries indication information to indicate whether the RRC connection fast release feature is enabled. For example, when the value of the indication information carried in this field is equal to 1, it indicates that the RRC connection fast release feature is enabled. OPEN_RRC_QUICKLY_RELEASE_FEATURE), that is, the timing duration of the RRC connection release timer is dynamically adjusted using the method provided in the embodiments of this application. When the value of the indication information carried in this information field is equal to 0, it indicates that the RRC connection fast release feature is not enabled (RRC_QUICKLY_RELEASE_PERIODIC_DETECTIO), that is, the scheme of dynamically adjusting the timing duration of the RRC connection release timer provided in the embodiments of this application is not adopted. Instead, a scheme in which the timing duration of the RRC connection release timer is fixed can be adopted. For example, in the terminal screen-on state, the base station performs RRC connection release control according to the RRC connection release timer configured by the base station for the terminal (the timing duration of the timer is a fixed duration, such as 10 seconds). In the terminal screen-off state, the RRC connection release control is performed by the RRC connection release timer configured on the terminal (the timing duration of the timer is a fixed duration, such as 1 second or 2 seconds).
[0366] Third information field: This information field is a reserved information field;
[0367] Fourth Information Field: This information field carries indication information for indicating whether the terminal enters the idle state or the inactive state after the RRC connection is released. It can be represented as para1 and is used to indicate the state entered after the RRC connection is released. If para1 = 0, it means that the terminal enters the idle state (IDLE_STATE) after releasing the RRC connection. If para1 = 1, it means that the terminal enters the inactive state (INACTIVE_STATE) after releasing the RRC connection.
[0368] Fifth Information Field: This information field is used to carry the timing duration of the RRC connection release timer (i.e., the target value of the timing duration), which can be represented as para2. For example, para2 = 10 means that the timing duration of the RRC connection release timer needs to be set to 10 seconds.
[0369] Taking an AT command containing the above five information fields as an example, if the application processor determines that the RRC connection release timer needs to be set to 10 seconds, and the terminal enters an idle state after the RRC connection is released, then the AT command sent by the application processor to the modem can be represented as follows:
[0370] AT^NRPOWERSAVINGCFG=1,1,0,0,10
[0371] The AT commands mentioned above include the following information from left to right:
[0372] First information field: value is 1, and this value is fixed;
[0373] The second information field “enable OPEN_RRC_QUICKLY_RELEASE_FEATURE”: a value of 1 indicates that the timing duration of the RRC connection release timer is dynamically adjusted using the method provided in the embodiments of this application;
[0374] Third information field: If the value is 0, this information field is a reserved information field;
[0375] Fourth information field: para1 = 0, indicating "IDLE_STATE", that is, the RRC connection is released and enters the idle state;
[0376] Fifth information field: para2 = 10, indicating that the RRC connection release timer has a duration of 10 seconds.
[0377] The order and arrangement of information fields in the above AT commands are merely examples, and the embodiments of this application do not impose any limitations on them.
[0378] In some embodiments of this application, when the terminal is in RRC connection state, data transmission statistics are performed to obtain statistical results; based on the statistical results, the timing duration of the RRC connection release timer is adjusted. Specifically, when the terminal is in RRC connection state, data transmission statistics are obtained; if the data transmission statistics determine that the conditions for adjusting the timing duration of the RRC connection release timer are met, then the timing duration of the RRC connection release timer is adjusted.
[0379] Specifically, since the RRC connection release timer has at least two duration values, the adjustment of the RRC connection release timer's duration based on the aforementioned statistical results can include the following situations:
[0380] Case 1: If the statistical result is greater than the first threshold, then obtain at least two duration values corresponding to the RRC connection release timer, determine the duration of the at least two duration values that is greater than the first duration value as the second duration value, and increase the timing duration of the RRC connection release timer from the first duration value to the second duration value.
[0381] Optionally, the minimum value among the at least two duration values that is greater than the first duration value can be used as the second duration value.
[0382] Case 2: When the RRC connection release timer times out, if the statistical result is less than the second threshold, then at least two duration values corresponding to the RRC connection release timer are obtained, and the duration value that is less than the first duration value among the at least two duration values is determined as the third duration value. The timing duration of the RRC connection release timer is reduced from the first duration value to the third duration value.
[0383] Optionally, the maximum value among the at least two durations that is less than the first duration value is taken as the third duration value.
[0384] Case 3: A combination of Case 1 and Case 2 above. That is, if the statistical result is greater than the first threshold, the timing duration of the RRC connection release timer is increased from the first duration value to the second duration value. And when the RRC connection release timer times out, if the statistical result is less than the second threshold, the timing duration of the RRC connection release timer is decreased from the first duration value to the third duration value.
[0385] The at least two duration values corresponding to the RRC connection release timer can include the following:
[0386] Case 1: A set of durations is set (including at least two duration values), and this set of durations is the timing duration of the general RRC connection release timer;
[0387] Correspondingly, the terminal can obtain a set of durations corresponding to the application type, and then set the timing duration of the RRC connection release timer according to one of the duration values in the set.
[0388] Scenario 2: Multiple durations are set, and each duration corresponds to an application type;
[0389] Correspondingly, the terminal can obtain a set of durations corresponding to the application type of the application running in the foreground, and then set the timing duration of the RRC connection release timer according to one of the duration values in the set of durations.
[0390] Scenario 3: Multiple durations are set, with each duration corresponding to one application;
[0391] Case 4: Multiple durations are set, one of which is the duration of the general RRC connection release timer, and each duration in the other durations corresponds to an application type;
[0392] Correspondingly, if the terminal does not obtain a set of durations corresponding to the application type of the application running in the foreground, it will obtain a general set of durations.
[0393] Case 5: Multiple durations are set, one of which is the duration of the general RRC connection release timer, and each duration in the other durations corresponds to an application.
[0394] In some embodiments of this application, the start or restart of data transmission statistics can be triggered under the following circumstances:
[0395] Scenario 1: When no application is running in the foreground, data transmission statistics will begin when an application is launched and runs in the foreground.
[0396] Scenario 2: When an already launched application is switched from the background to the foreground, for example, when the user selects a window of a background application to be displayed on the screen, the application is switched from the background to the foreground, or when the foreground application is closed, causing the background application to be switched to the foreground, the data transmission statistics will restart.
[0397] Case 3: After the statistical results of data transmission reach the first threshold, the duration of the RRC connection release timer is increased, and data transmission statistics are re-performed.
[0398] Scenario 4: After the RRC connection is re-established and an application is currently running, data transmission statistics can be performed again. Optionally, the data transmission statistics counter can be cleared when the RRC connection release timer times out, so that data transmission statistics can be performed again after the RRC connection is re-established.
[0399] Taking the counting of data packets as an example, when application A is started and runs in the foreground, a counter begins to accumulate the number of received data packets. Subsequently, when application B is started, application A switches to the background, and application B becomes the foreground application, the counter is reset to zero, thus restarting the accumulation of received data packets. Later, while application B is running in the foreground application, when the counter's count (i.e., the accumulated number of data packets) reaches the first threshold, the duration of the RRC connection release timer is increased, and the counter is reset to zero to restart the accumulation of received data packets. Afterward, the RRC connection release timer times out, the terminal requests the network device to release the RRC connection, and the counter is reset to zero. Finally, when the RRC connection is re-established, application B becomes the foreground application, and the counter begins to count the number of received data packets.
[0400] Taking the counting of received data packets as an example, when the cumulative number of data packets counted by the above counter is greater than the first threshold, it indicates that the current data packets are arriving in a relatively dense manner and the packet interval is small. In this case, increasing the timing duration of the RRC connection release timer can avoid unnecessary random access processes caused by premature RRC connection release, thereby saving the terminal's power consumption. For example, if a conventional RRC connection release control method is used, the RRC connection release timer configured on the terminal has a countdown time of 1 second. After the terminal receives data packet A and turns off the screen, a new data packet B arrives 1.1 seconds later. In this case, before receiving data packet B, the terminal has already requested the network device to release the RRC connection 1 second after receiving data packet A and turning off the screen, causing the terminal to release the RRC connection and enter a connectionless state. Before receiving data packet B, it needs to re-establish a random access to re-establish the RRC connection with the network device. However, using the method provided in this application embodiment, the terminal can detect that the current data packets are arriving more frequently. Therefore, the countdown timer of the RRC connection release timer can be increased, for example, to 1.2 seconds. In this way, 1.1 seconds after receiving data packet A and turning off the screen, the terminal will not request to release the RRC connection because the RRC connection release timer has not expired, and thus can receive data packet B, avoiding the random access process and saving the power consumption caused by the random access process.
[0401] When the RRC connection release timer times out, if the cumulative number of data packets counted by the above counter is less than the second threshold, it indicates that the current data packets are arriving sparsely and the packet intervals are large. In this case, reducing the duration of the RRC connection release timer can avoid unnecessary waiting time in the RRC connection state due to the RRC connection being released too late, thereby saving the terminal's power consumption.
[0402] The number of data packets received within a certain period can, to some extent, predict the sparsity of data packets arriving in the following period. For example, if data packets arrive densely in the current stage, the probability of data packets arriving densely in the future is also high; conversely, if data packets arrive sparsely in the current stage, the probability of data packets arriving sparsely in the future is also high. Based on this prediction, using the embodiments of this application described above, the timing duration of the RRC connection release timer can be adjusted in advance to accommodate data transmission in the future, thereby saving terminal power consumption.
[0403] The effect of adjusting the RRC connection release timer duration based on the number of received data packets described above can also be achieved in other similar situations, such as adjusting the RRC connection release timer duration based on the amount of received data, data throughput, or bit rate.
[0404] In some embodiments of this application, a first threshold and a second threshold may be set for each application type. These two thresholds can form a threshold group. Different application types may correspond to different thresholds or threshold groups. For example, the first threshold in the threshold group corresponding to the first application type may be different from the first threshold in the threshold group corresponding to the second application type, and / or, the second threshold in the threshold group corresponding to the first application type may be different from the second threshold in the threshold group corresponding to the second application type.
[0405] In some embodiments of this application, corresponding threshold groups can be set for applications. For example, threshold group A can be set for application A, and threshold group B can be set for application B. The thresholds or threshold groups corresponding to different applications may be different or the same. Accordingly, when determining whether the conditions for adjusting the timing duration of the RRC connection release timer are met, the statistical results of data transmission can be compared with the threshold group corresponding to the application to determine whether the conditions for adjusting the timing duration of the RRC connection release timer are met. For example, when the terminal is in RRC connection state, if the statistical results of data transmission reach (greater than or equal to) the first threshold corresponding to the foreground application, the timing duration of the RRC connection release timer can be increased; when the RRC connection release timer times out, if the statistical results of data transmission are less than or equal to the second threshold corresponding to the foreground application, the timing duration of the RRC connection release timer can be decreased.
[0406] Optionally, a general threshold or threshold group can be set. Accordingly, when determining whether the conditions for adjusting the RRC connection release timer duration are met, the data transmission statistics can be compared with this general threshold group to determine whether the conditions for adjusting the RRC connection release timer duration are met. For example, when the terminal is in RRC connection state, if the data transmission statistics reach (greater than or equal to) the first threshold in the general threshold group, the value of the RRC connection release timer duration can be increased; when the RRC connection release timer times out, if the data transmission statistics are less than or equal to the second threshold in the general threshold group, the value of the RRC connection release timer duration can be decreased.
[0407] In some embodiments of this application, an RRC connection release timer duration set can be set, which includes at least two RRC connection release timer duration values. When adjusting the duration value of the RRC connection release timer, the terminal can select one duration value from this set as the target value for adjustment. The number of durations in different RRC connection release timer duration sets can be the same or different.
[0408] Optionally, the duration values in the RRC connection release timer duration set are arranged in ascending (smallest) or descending (largest) order. For example, the duration values in the RRC connection release timer duration set can form an arithmetic sequence, a geometric sequence, or other patterns. Of course, the difference between adjacent duration values can also be random, that is, the duration values in the set can be randomly ordered, and this application does not impose any restrictions on this.
[0409] Optionally, a set of corresponding RRC connection release timer durations can be set for each application type. Accordingly, when adjusting the duration of the RRC connection release timer, a target value can be selected from the set of RRC connection release timer durations corresponding to the application type of the foreground application, and used as the adjusted duration value for the RRC connection release timer. The number of candidate RRC connection release timer duration values included in the set of RRC connection release timer durations set for different application types can be the same or different.
[0410] For example, taking internet long-form video applications, internet short-form video applications, and web news applications as examples, the RRC connection release timer duration set for internet long-form video applications contains four durations: the first value, the second value, the third value, and the fourth value. These four values can be arranged in descending or ascending order. The RRC connection release timer duration set for internet short-form video applications contains three durations: the fifth value, the sixth value, and the seventh value. These three values can also be arranged in descending or ascending order. The RRC connection release timer duration set for web news applications contains two durations: the eighth value and the ninth value. These two values can also be arranged in descending or ascending order. Within an RRC connection release timer duration set, all durations are different; for example, the first to fourth values are different, and the fifth to seventh values are different. The durations in one RRC connection release timer duration set may be different from those in another RRC connection release timer duration set, or they may be partially the same. An example of partial similarity is that the first value (the maximum value in the set) in the RRC connection release timer duration set corresponding to the Internet long video application type is the same as the fifth value (the maximum value in the set) in the RRC connection release timer duration set corresponding to the Internet short video application type, for example, both being 10 seconds.
[0411] Optionally, a set of corresponding RRC connection release timer durations can be set for each application. Accordingly, when adjusting the duration of the RRC connection release timer, a target value can be selected from the set of RRC connection release timer durations corresponding to the foreground application as the adjusted duration. The number of candidate RRC connection release timer duration values included in the set of RRC connection release timer durations for different applications can be the same or different.
[0412] Optionally, a set of general RRC connection release timer durations can be set. Accordingly, when adjusting the duration of the RRC connection release timer, a target value can be selected from the set of general RRC connection release timer durations as the adjusted value of the RRC connection release timer duration.
[0413] In some embodiments, the duration of the largest RRC connection release timer in the RRC connection release timer duration set is less than or equal to the duration of the default RRC connection release timer configured on the network device, for example, the duration of the largest RRC connection release timer is 10 seconds. This allows the adjustment range of the RRC connection release timer duration to be up to the duration of the default RRC connection release timer configured on the network device, ensuring that the terminal's performance (such as power consumption and / or latency) is at least on par with the network side's performance.
[0414] In some embodiments, the duration of the minimum RRC connection release timer in the RRC connection release timer duration set is greater than or equal to the duration of the default RRC connection release timer configured on the terminal, for example, the minimum RRC connection release timer duration is not less than 1 second. This ensures that the adjustment range of the RRC connection release timer duration is at least no less than the duration of the default RRC connection release timer configured on the device in screen-off scenarios, thus preventing frequent connection releases and rebuilds.
[0415] In some embodiments, the number of RRC connection release timer durations in the RRC connection release timer duration set is less than or equal to the preset maximum number of RRC connection release timer durations. For example, the maximum number of RRC connection release timer durations can be defined in the range [2, 10], such as setting the maximum number of RRC connection release timer durations to 5. By limiting the number of timer durations in the RRC connection release timer duration set, excessively frequent adjustments to the RRC connection release timer durations due to a large number of timer durations can be avoided, thereby reducing signaling overhead and the impact on system stability.
[0416] Based on the above settings for threshold groups and RRC connection release timer duration sets, in some embodiments, the terminal stores separate RRC connection release timer duration sets for different application types, as well as threshold groups used to determine whether the timing duration of the RRC connection release timer is adjusted. When it is determined, based on data transmission statistics and the threshold group corresponding to the application type of the foreground application, that the timing duration of the RRC connection release timer needs to be adjusted, the target adjustment value is selected from the RRC connection release timer duration set corresponding to the application type of the foreground application.
[0417] Based on the above threshold group and RRC connection release timer duration set settings, in some embodiments, the terminal stores the RRC connection release timer duration set corresponding to each application type, but only one general threshold group is configured. When it is determined, based on the data transmission statistics and this general threshold group, that the timing duration of the RRC connection release timer needs to be adjusted, the target value for adjustment is selected from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs.
[0418] Furthermore, the terminal can be configured with a general set of RRC connection release durations and a general threshold group for determining whether the RRC connection release timer needs to be adjusted. If no corresponding set of RRC connection release timer durations and threshold group for determining whether the RRC connection release timer duration needs to be adjusted are set for the application type of the foreground application, the transmission data statistics can be compared with the general threshold group. If the comparison result determines that the RRC connection release timer duration needs to be adjusted, the target value for adjustment can be selected from the general set of RRC connection release timer durations.
[0419] Based on the above settings for the threshold group and the RRC connection release timer duration set, in some embodiments, the terminal may only have one general RRC connection release timer duration set and a general threshold group for determining whether the timing of the RRC connection release timer is adjusted. In this embodiment, regardless of the foreground application on the terminal, the general RRC connection release timer duration set and the general threshold group are used to adjust the timing of the RRC connection release timer.
[0420] In other embodiments, corresponding RRC connection release timer duration sets and threshold groups for determining whether the RRC connection release timer duration can be adjusted can be set for screen-off scenarios and screen-on scenarios, respectively. This is so that the RRC connection release timer duration can be adjusted according to the current scenario using the corresponding RRC connection release timer duration set and the corresponding threshold group.
[0421] In some embodiments, if the terminal is in split-screen mode and multiple foreground applications are running in multiple split-screen windows, the timing of the RRC connection release timer can be adjusted based on the priority of the application types to which the multiple foreground applications belong, the threshold group corresponding to the application type with higher priority, and the data transmission statistics. If it is determined that the timing of the RRC connection release timer needs adjustment, the target value of the RRC connection release timer timing is determined based on the RRC connection release timer duration set corresponding to the application type to which the higher-priority application belongs. The data transmission statistics can be obtained by counting the number of data packets received by the terminal, including data packets received by the multiple foreground applications. Furthermore, if a background application transmits data, the counted data packets also include data packets received by the background application transmitting data; that is, the count of received data packets does not distinguish between applications. Alternatively, the data transmission statistics can be obtained by counting data packets received by high-priority applications; that is, only data packets received by high-priority applications are counted. For example, the received service flow data can be identified to determine whether it belongs to a high-priority application, thus only counting data packets belonging to high-priority applications.
[0422] Optionally, different application types can be prioritized based on factors such as whether the business data is sensitive to latency. For example, applications that are sensitive to latency can be prioritized higher, while applications that are not sensitive to latency can be prioritized lower. For example, in social applications (such as...) ), game applications, and short video applications (such as...) In this context, short video applications and game applications have high latency requirements and high power consumption, so they can be set to a higher priority.
[0423] In other embodiments, if the terminal is in split-screen mode and multiple foreground applications are running in multiple split-screen windows, the set with the largest duration among the RRC connection release timer duration sets corresponding to the application types of the multiple foreground applications can be selected. Based on the threshold group corresponding to this set and the data transmission statistics results, it is determined whether the timing duration of the RRC connection release timer needs to be adjusted. If it is determined that the timing duration of the RRC connection release timer needs to be adjusted, the target value of the RRC connection release timer timing duration is determined according to the set with the largest duration. The data transmission statistics results can be obtained by counting the number of data packets received by the terminal, including data packets received by the multiple foreground applications. Furthermore, if a background application transmits data, the counted data packets also include data packets received by the background application transmitting data; that is, the count of received data packets does not distinguish between applications. Alternatively, the data transmission statistics results can be obtained by counting the data packets received by the applications corresponding to the set with the largest duration; that is, when counting the received data packets, only the data packets received by the applications corresponding to the set with the largest duration are counted.
[0424] Among them, the set with the largest duration refers to the set of RRC connection release timer durations with the largest maximum value among the application types to which the multiple foreground applications belong.
[0425] Optionally, when an application is launched and runs in the foreground, the set of RRC connection release timer durations corresponding to the application type of the foreground application can be determined, and the duration of the RRC connection release timer can be set to be equal to the maximum value in that set. When a background application is switched to the foreground application, the set of RRC connection release timer durations corresponding to the application type of the foreground application can be determined, and the duration of the RRC connection release timer can be set to be equal to the maximum value in that set.
[0426] Optionally, when a foreground application is closed, so that no foreground application is currently running on the terminal, the duration of the RRC connection release timer can remain unchanged, or the duration of the RRC connection release timer can be set to be equal to the maximum value in the set of general RRC connection release timer durations. In other embodiments, when a foreground application is closed, so that no foreground application is currently running on the terminal, if the terminal is in a screen-on state, the release of the terminal's RRC connection is controlled by the network device. That is, the network device controls the terminal's RRC connection according to the inactive timer configured on the network device (e.g., the timer's duration is fixed at 10 seconds) (e.g., when the inactive timer expires, the terminal's RRC connection is released); if the terminal enters a screen-off state, the terminal controls the release of the RRC connection according to a default configured fixed duration (e.g., 1 second or 2 seconds) (e.g., if the terminal does not interact with the network device within the fixed duration after the screen is off, it requests the network device to release the RRC connection). In one embodiment, when the foreground application is closed, so that no foreground application is currently running on the terminal, the AP can send a command to the MODEM to instruct it to restore the default configuration. In this case, if the terminal is in the screen-on state, the network device controls the RRC connection release duration of the terminal, and the terminal no longer controls the RRC connection release based on the timing duration of the first timer; if the terminal is in the screen-off state, the timing duration of the first timer is set to the fixed duration of the default configuration.
[0427] In some embodiments of this application, the terminal's AP (application processor) is configured with a set of RRC connection release timer durations and a threshold or threshold group for determining whether the timing duration of the RRC connection release timer is adjusted. The AP can determine whether to adjust the timing duration of the RRC connection release timer based on data transmission statistics and the threshold group. When it is determined that the timing duration of the RRC connection release timer needs to be adjusted, a target value is selected from the set of RRC connection release timer durations based on the current timing duration of the RRC connection release timer, and a command is sent to the modem to instruct the modem to adjust the timing duration of the RRC connection release timer to the target value. The command may carry the target value or the adjustment amount of the RRC connection release timer duration.
[0428] Optionally, in some embodiments, when an application is launched in a terminal in a non-connected state, an RRC connection is established. At this time, the application processor (AP) obtains the maximum duration from the corresponding RRC connection release timer duration set and sends an instruction to the modem to instruct the modem to set the RRC connection release timer duration to the maximum duration.
[0429] Optionally, if the adjustment of the RRC connection release timer duration is prioritized based on the RRC connection release timer duration set corresponding to the application type to which the application belongs, the application processor (AP) obtains the maximum duration in the corresponding RRC connection release timer duration set. This may include: the application processor obtains the RRC connection release timer duration set corresponding to the application type to which the application belongs; if the acquisition is successful (i.e., a corresponding RRC connection release timer duration set is set for this application type), it obtains the maximum duration in this set, thereby instructing the modem to set the RRC connection release timer duration to this maximum duration; if the acquisition fails (i.e., no corresponding RRC connection release timer duration set is set for this application type), it obtains a general RRC connection release timer duration set and obtains the maximum duration in this set, thereby instructing the modem to set the RRC connection release timer duration to this maximum duration.
[0430] Optionally, if the adjustment of the RRC connection release timer duration is prioritized based on the RRC connection release timer duration set corresponding to the application, the application processor (AP) may obtain the maximum duration in the corresponding RRC connection release timer duration set. This may include: the application processor obtaining the RRC connection release timer duration set corresponding to the application; if the acquisition is successful (i.e., a corresponding RRC connection release timer duration set is set for the application), the maximum duration in the set is obtained, thereby instructing the modem to set the RRC connection release timer duration to the maximum duration; if the acquisition fails (i.e., no corresponding RRC connection release timer duration set is set for the application), a general RRC connection release timer duration set is obtained, and the maximum duration in the set is obtained, thereby instructing the modem to set the RRC connection release timer duration to the maximum duration.
[0431] Optionally, if the RRC connection release timer duration is adjusted only according to a common set of RRC connection release timer durations, the application processor (AP) may obtain the maximum duration in the corresponding set of RRC connection release timer durations, which may include: the application processor obtaining the maximum duration in the common set of RRC connection release timer durations, thereby instructing the modem to set the RRC connection release timer duration to the maximum duration.
[0432] Optionally, when the RRC connection is released and the current foreground application remains unchanged, the modem may keep the RRC connection release timer duration unchanged.
[0433] In some other embodiments, the modem in the terminal is configured with a set of RRC connection release timer durations and a threshold group for determining whether the timing duration of the RRC connection release timer is adjusted. The modem can determine whether to adjust the timing duration of the RRC connection release timer based on data transmission statistics and the threshold group. When it is determined that the timing duration of the RRC connection release timer needs to be adjusted, a target value is selected from the set of RRC connection release timer durations based on the current timing duration of the RRC connection release timer, thereby adjusting the timing duration of the RRC connection release timer to the target value.
[0434] The methods described above for determining whether the RRC connection release timer duration needs to be adjusted by the modem, and for setting and adjusting the RRC connection release timer duration, are based on the same principle as the corresponding methods executed by the application processor.
[0435] It should be noted that, in this embodiment, the same threshold can be set for each RRC connection release timer duration in the RRC connection release timer duration set, or a separate threshold can be set for each RRC connection release timer duration. If a separate threshold is set for each RRC connection release timer, then when determining whether to adjust the RRC connection release timer duration based on the threshold, the threshold corresponding to the current RRC connection release timer duration can be used to determine whether adjustment is needed.
[0436] Figure 6a An example is shown Figure 5 In the S510, the process for dynamically adjusting the RRC connection release timer duration is based on a general RRC connection release timer duration set and a threshold group. This process is described using a counter to count the number of received data packets as an example.
[0437] like Figure 6a As shown, the process may include:
[0438] S5101: Get the counter value, which is the number of data packets received.
[0439] The counter can start counting in the following situations: when no foreground application is running, when an application is opened, when an application switches between foreground and background, or when the terminal enters connected state.
[0440] The number of data packets counted by the counter includes data packets received by the foreground application, and may further include data packets received by the background application that transmits data.
[0441] S5102: Compare the counter value with the first threshold in the general threshold group. If the counter value is greater than the first threshold, proceed to S5103; otherwise, proceed to S5105.
[0442] S5103: Increase the duration of the RRC connection release timer.
[0443] S5104: Clear the counter and return to S5101.
[0444] In this step, a target value is selected from the general RRC connection release timer duration set that is larger than the current RRC connection release timer duration, and the RRC connection release timer duration is set to be equal to the target value.
[0445] Taking the current timing duration of the RRC connection release timer as equal to the first duration value, and the general RRC connection release timer duration set including at least the first duration value and the second duration value, where the second duration value is the smallest among all duration values in the general RRC connection release timer duration set that are greater than the first duration value, as an example, the method to increase the timing duration of the RRC connection release timer can be: select the second duration value from the general RRC connection release timer duration set, and set the timing duration of the RRC connection release timer to be equal to the second duration value; of course, the second duration value can also be any other value in the general RRC connection release timer duration set, as long as it is greater than the first duration value.
[0446] More specifically, taking the duration values in the RRC connection release timer set sorted from largest to smallest as an example, this general set includes a first duration value and a second duration value adjacent to the first duration value (the second duration value is greater than the first duration value). Then, the second duration value adjacent to the first duration value can be selected from the general RRC connection release timer duration set, and the timing duration of the RRC connection release timer can be set to be equal to the second duration value.
[0447] S5105: Determine if the current RRC connection release timer has timed out. If it has timed out, proceed to S5106; otherwise, proceed to S5101.
[0448] S5106: Request the network device to release the RRC connection.
[0449] S5107: Compare the counter value with the second threshold in the general threshold group. If the counter value is less than the second threshold, proceed to S5108; otherwise, proceed to S5109.
[0450] S5108: Reduce the duration of the RRC connection release timer and proceed to S5110.
[0451] In this step, a target value is selected from the general RRC connection release timer duration set, which is smaller than the current RRC connection release timer duration. The RRC connection release timer duration is then set to be equal to this target value.
[0452] Taking the current timing duration of the RRC connection release timer as equal to the first duration value, and the general RRC connection release timer duration set including at least a third duration value and the first duration value, where the third duration value is the largest among all duration values smaller than the first duration value in the general RRC connection release timer duration set, as an example, the method to reduce the duration of the RRC connection release timer can be: select a third duration value from the general RRC connection release timer duration set, and set the timing duration of the RRC connection release timer to be equal to this third duration value, which is the largest among all duration values smaller than the first duration value in the general RRC connection release timer duration set. Of course, the third duration value can also be any other value in the general RRC connection release timer duration set, as long as it is smaller than the first duration value.
[0453] More specifically, taking the duration values in the RRC connection release timer set sorted from largest to smallest as an example, this general set includes a first duration and a third duration value adjacent to the first duration value (the third duration value is smaller than the first duration value). Then, the third duration value adjacent to the first duration value can be selected from the general RRC connection release timer duration set, and the timing duration of the RRC connection release timer can be set to be equal to the third duration value.
[0454] S5109: If the counter value is between the first threshold and the second threshold (inclusive), then keep the RRC connection release timer's timing duration unchanged and proceed to S5110.
[0455] S5110: Clears the counter's count value to zero.
[0456] It should be noted that if the current RRC connection release timer's duration is already equal to the maximum duration value in the general RRC connection release timer duration set, and it is determined that the RRC connection release timer's duration needs to be increased, then the current RRC connection release timer's duration can be kept unchanged, and the counter can be cleared to zero. Conversely, if the current RRC connection release timer's duration is already equal to the minimum duration value in the general RRC connection release timer duration set, and it is determined that the RRC connection release timer's duration needs to be decreased, then the current RRC connection release timer's duration can be kept unchanged.
[0457] For example, in a scenario, a set of general RRC connection release timer duration values {timer1, timer2, timer3, timer4, timer5} (the duration values in this set are sorted in a decreasing manner) is set on a terminal, and a set of general packet quantity threshold groups {ThHigh (i.e., the first packet quantity threshold), ThLow (i.e., the second packet quantity threshold)} is set. The current timing duration of the RRC connection release timer on the terminal is equal to timer3. According to Figure 6a As shown in the process, at time t1, the terminal compares the count value N1 of the counter with ThHigh, and the comparison result is N1 > ThHigh. Therefore, it obtains the duration timer2 that is adjacent to timer3 and greater than timer3 from the set of general RRC connection release timer duration values, adjusts the timing duration of the RRC connection release timer from timer3 to timer2, and clears the counter to start counting the number of received data packets again; at the subsequent time t2, when the RRC connection release timer expires, the terminal compares the count value N2 of the current counter with the second threshold ThLow in the general threshold group, and the comparison result is N2 < ThLow. Therefore, it obtains the duration timer3 that is adjacent to timer2 and less than timer2 from the set of general RRC connection release timer duration values, adjusts the timing duration of the RRC connection release timer from timer2 to timer3, and clears the counter.
[0458] By setting the set of RRC connection release timer duration values, various possible values of the RRC connection release timer are defined. When the timing duration of the RRC connection release timer needs to be adjusted, the target duration value of the RRC connection release timer is selected from this set. On the one hand, it can make the adjustment amount of the timing duration of the RRC connection release timer not too large, thus ensuring system stability and achieving a gradual adjustment effect. On the other hand, the technical implementation is simple and easy.
[0459] Figure 6b Exemplarily shows Figure 5 In S510 of, the set of RRC connection release timer duration values and the threshold group are respectively set based on different application types to perform the process of dynamically adjusting the RRC connection release timer. This process is described by taking the use of a counter to count the number of received data packets as an example.
[0460] As Figure 6b shown, this process may include:
[0461] S5111: Obtain the count value of the counter, and this count value is the number of received data packets.
[0462] The counter can start counting in the following situations: when no foreground application is running, when an application is opened, when an application switches between foreground and background, or when the terminal enters connected state.
[0463] The number of data packets counted by the counter includes data packets received by the foreground application, and may further include data packets received by the background application that transmits data.
[0464] S5112: Based on the application type of the foreground application, compare the counter value with the first threshold in the threshold group corresponding to the application type. If the counter value is greater than the first threshold, proceed to S5113; otherwise, proceed to S5115.
[0465] Optionally, in some embodiments, the terminal is provided with an RRC connection release lookup table, which is used to store the correspondence between application types and the RRC connection release timer duration set and threshold group. For example, it stores the information of Internet short video application types and the RRC connection release timer duration set and threshold group corresponding to the application type, and also stores the information of game application types and the RRC connection release timer duration set and threshold group corresponding to the application type.
[0466] In some scenarios, when an application is launched as a foreground application or switched to the foreground application, the application type of the application can be determined based on the application name of the current foreground application (for example, a pre-set correspondence table between application names and application types can be queried based on the application name). Then, the above lookup table is queried based on the type of the application. If the application type of the foreground application is found in the lookup table, the threshold group and RRC connection release timer duration set corresponding to the application type are obtained.
[0467] When an application is launched, its name can be obtained as follows: After the application is launched, it can register its information with the application framework layer. The registered information may include the name of the application. After the application framework layer detects that the application has been launched, it can use a function to obtain the name of the foreground application and determine the name of the currently running foreground application based on the application name returned by the function.
[0468] When an application switches from the background to the foreground, the application framework layer can detect this event. At this time, the application framework layer can determine the name of the currently running foreground application by calling a function to get the name of the foreground application and based on the application name returned by the function.
[0469] The terminal can determine the application type of the foreground application and query the RRC connection release lookup table according to the application type to obtain the threshold group corresponding to the application type of the foreground application. Then, it can compare the data transmission statistics with the first threshold in the threshold group to determine whether to adjust the duration of the RRC connection release timer.
[0470] S5113: Increase the duration of the RRC connection release timer.
[0471] S5114: Clear the counter and return to S5111.
[0472] In this step, a target value is selected from the set of RRC connection release timer durations corresponding to the application type to which the foreground application belongs. The target value is a duration longer than the current RRC connection release timer duration. The duration of the RRC connection release timer is then set to be equal to the target value.
[0473] Taking the current timing duration of the RRC connection release timer as equal to the first duration value, and the RRC connection release timer duration set corresponding to the application type of the foreground application as including at least the second duration value and the first duration value, where the second duration value is the smallest among all duration values in the RRC connection release timer duration set that are greater than the first duration value, the method to increase the timing duration of the RRC connection release timer can be: selecting the second duration value from the RRC connection release timer duration set, and setting the timing duration of the RRC connection release timer to be equal to the second duration value.
[0474] More specifically, taking the duration values in the RRC connection release timer set sorted from largest to smallest as an example, this set includes a first duration value and a second duration value adjacent to the first duration value (the second duration value is greater than the first duration value). Then, the second duration value adjacent to the first duration value can be selected from the RRC connection release timer duration set, and the timing duration of the RRC connection release timer can be set to be equal to the second duration value.
[0475] In some embodiments, after determining a target value for the RRC connection release timer duration, the application processor (AP) may send a command to the modem to instruct the modem to set the RRC connection release timer duration to be equal to the target value. In other embodiments, the modem may determine whether the RRC connection release timer duration needs to be adjusted using the method described above, and if adjustment is needed, determine a target value for the RRC connection release timer duration and set the RRC connection release timer duration to be equal to the target value.
[0476] S5115: Determine if the current RRC connection release timer has timed out. If it has timed out, proceed to S5116; otherwise, proceed to S5111.
[0477] S5116: Request the network device to release the RRC connection.
[0478] S5117: Compare the counter value with the second threshold in the general threshold group. If the counter value is less than the second threshold, proceed to S5118; otherwise, proceed to S5119.
[0479] In S5118, the duration of the RRC connection release timer is reduced, and the process transitions to S5120.
[0480] In this step, a target value is selected from the set of RRC connection release timer durations corresponding to the application type to which the foreground application belongs. The duration of the RRC connection release timer is smaller than the duration of the current RRC connection release timer. The duration of the RRC connection release timer is then set to be equal to the target value.
[0481] Taking the current timing duration of the RRC connection release timer as equal to the first duration value, and the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs as an example, which includes at least a third duration value and the third duration value is less than the first duration value, the method to reduce the timing duration of the RRC connection release timer can be: select a third duration value from the RRC connection release timer duration set, and set the timing duration of the RRC connection release timer to be equal to the third duration value, where the third duration value is the largest among all duration values smaller than the first duration value in the general RRC connection release timer duration set.
[0482] More specifically, taking the duration values in the RRC connection release timer set sorted from largest to smallest as an example, this set includes a first duration value and a third duration value adjacent to the first duration value (the third duration value is smaller than the first duration value). Then, the third duration value adjacent to the first duration value can be selected from the RRC connection release timer duration set, and the timing duration of the RRC connection release timer can be set to be equal to the third duration value.
[0483] In some embodiments, after determining a target value for the RRC connection release timer duration, the application processor (AP) may send a command to the modem to instruct the modem to set the RRC connection release timer duration to be equal to the target value. In other embodiments, the modem may determine whether the RRC connection release timer duration needs to be adjusted using the method described above, and if adjustment is needed, determine a target value for the RRC connection release timer duration and set the RRC connection release timer duration to be equal to the target value.
[0484] S5119: If the counter value is between the first threshold and the second threshold (inclusive), then keep the RRC connection release timer's timing duration unchanged and proceed to S5120.
[0485] S5120: Clears the counter's count value to zero.
[0486] It should be noted that if the current RRC connection release timer duration is already equal to the maximum duration value in the RRC connection release timer duration set corresponding to the application type of the foreground application, and it is determined that the RRC connection release timer duration needs to be increased, then the current RRC connection release timer duration can be kept unchanged and the counter can be cleared to zero. Conversely, if the current RRC connection release timer duration is already equal to the minimum duration value in the RRC connection release timer duration set corresponding to the application type of the foreground application, and it is determined that the RRC connection release timer duration needs to be decreased, then the current RRC connection release timer duration can be kept unchanged.
[0487] It should also be noted that if the terminal experiences a foreground / background application switch, such as switching from application A to application B based on user actions, making application B the foreground application and application A the background application, the aforementioned counter can be reset to zero. This allows the terminal to restart data transmission statistics and, based on the data transmission statistics, determine whether the RRC connection release timer duration needs adjustment using the threshold group corresponding to the application type of application B. Furthermore, based on the current RRC connection release timer duration, a target value is selected from the RRC connection release timer duration set corresponding to the application type of application B. For details, please refer to [link to implementation details]. Figure 6b .
[0488] In some embodiments, when an application is launched as a foreground application or switched to the foreground application, but the lookup table does not find the threshold group and RRC connection release timer duration set corresponding to the application type (i.e., no corresponding threshold group and RRC connection release timer duration set are set for this application type), a general threshold group can be used to determine whether the duration of the RRC connection release timer needs to be adjusted, and the target value of the adjusted RRC connection release timer duration can be determined based on the general RRC connection release timer duration set. For specific implementation details, please refer to [reference needed]. Figure 6a The process is shown below.
[0489] In some embodiments, it can be determined whether the RRC connection release timer duration needs to be adjusted based on the threshold group corresponding to the foreground application, and the target value of the adjusted RRC connection release timer duration can be determined based on the set of RRC connection release timer durations corresponding to the foreground application, similar to... Figure 6b The process is illustrated below. Further, if no corresponding threshold group or RRC connection release timer duration set is set for the foreground application, a general threshold group can be used to determine whether the RRC connection release timer duration needs adjustment, and the target value of the adjusted RRC connection release timer duration can be determined based on the general RRC connection release timer duration set. For specific implementation details, please refer to [reference needed]. Figure 6a The process is shown below.
[0490] In the above process, on the one hand, an RRC connection release timer duration set is set, defining various possible values for the RRC connection release timer. When the timing duration of the RRC connection release timer needs to be adjusted, the target value of the RRC connection release timer duration is selected from this set. This ensures that the adjustment amount of the RRC connection release timer duration is not too large, thereby guaranteeing system stability and achieving a gradual adjustment effect. The technology is simple and easy to implement. On the other hand, by setting corresponding RRC connection release timer duration sets and threshold groups for different application types, the RRC connection release timer duration adjustment is determined based on the data transmission statistics of the foreground application and the threshold group corresponding to the application type to which the foreground application belongs. Furthermore, the RRC connection release timer duration is adjusted using the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs. This allows for targeted adjustment of the RRC connection release timer according to the data transmission characteristics or data transmission requirements of different application types, meeting the data transmission needs of the corresponding application types and reducing terminal power consumption.
[0491] In some embodiments of this application, the discretization concept of mathematical modeling is used to divide continuous values into discrete values to form a set of RRC connection release timer durations. Specifically, the set of RRC connection release timer durations can be formed by adjusting T... max The exponential segmentation method yields a geometric sequence with a common ratio of the segmentation resolution (also known as the base of the exponential segmentation method). The segmentation resolution (i.e., the base) in the exponential segmentation method characterizes the granularity of dividing the RRC connection release duration. The exponential segmentation method can be used based on T... max By performing exponential segmentation, multiple RRC connection release timer durations are obtained, forming a set of RRC connection release timer durations.
[0492] Among them, T maxIt is preset and can be set to be equal to the duration of the RRC connection release timer configured by the network device by default, for example, equal to 10 seconds.
[0493] The exponential segmentation formula is: Where i = 1, 2, 3…K; α is the segmentation resolution, also known as the base of the exponential segmentation, and α is an integer greater than 1.
[0494] For example, with T max Taking 10 seconds, α=2 and the minimum value in the RRC connection release timer duration set not less than 1 second as an example, the RRC connection release timer duration set obtained according to the above exponential segmentation formula can be expressed as: {10,5,2.5,1.25}.
[0495] In the RRC connection release timer duration set generated using the exponential partitioning method, each element corresponds to a Markov model state; that is, the RRC connection release timer duration set corresponds to multiple Markov states. Based on the idea of Markov model state transitions, this RRC connection release timer duration set can be used to adjust the RRC connection release timer duration.
[0496] In a Markov model, the state refers to the current, past, and future states of a sequence of random variables X1, X2, ..., X3 with Markov properties. Given the current state, the future and past states are independent of each other. The probability distribution of the system state at time t+1 depends only on the state at time t and is independent of the states before time t; the state transition from time t to time t+1 is independent of the value of t.
[0497] Figure 7 This illustration demonstrates a schematic diagram of the Markov model state transitions for the RRC release time in an embodiment of this application. As shown in the figure, the Markov chain of the RRC connection release timer duration includes K states, each corresponding to an RRC connection release timer duration, where T1>…>T i-1 >T i >T i+1 …>T K From T i Transform to T i+1 The probability is P i,i+1 From T i Transform to T i-1 The probability is P i,i-1 From T i+1 Transform to T i The probability is P i+1,i From T i Transform to T i-1 The probability is P i,i-1 T i-1The probability that it remains unchanged is P. i-1,i-1 T i The probability that it remains unchanged is P. i,i T i+1 The probability that it remains unchanged is P. i+1,i+1 .
[0498] Based on the Markov chain of the aforementioned RRC connection release timer duration, taking the counting of received data packets as an example, the terminal is currently configured with the following... Figure 7 The diagram shows a Markov chain of RRC connection release timer durations, i.e., the set of RRC connection release timer durations, and the first threshold ThHigh and the second threshold ThLow.
[0499] The current terminal is in the RRC connected state and is in state T of the aforementioned Markov chain. i (That is, the duration of the RRC connection timer is T) i If the number of data packets arriving (i.e., the number of received data packets) reaches the first threshold ThHigh, then the process will switch from state T. i Jump to state T i+1 That is, the timing duration of the current RRC connection timer is changed from T. i Adjust to T i+1 This increases the duration of the RRC connection release timer and resets the packet count to zero.
[0500] The current terminal is in the RRC connected state and is in state T of the aforementioned Markov chain. i (That is, the duration of the RRC connection timer is T) i When the RRC connection release timer times out and the number of arriving packets is less than the second threshold ThLow, then from T... i Transform to T i-1 That is, the timing duration of the current RRC connection timer is changed from T. i Adjust to T i-1 This reduces the duration of the RRC connection release timer and resets the packet count to zero.
[0501] In this embodiment, the threshold or threshold group used to determine whether to adjust the RRC connection release timer duration, and the set of RRC connection release timer durations used for adjusting the RRC connection release timer duration, can be obtained by the terminal itself through an online learning method, or by the terminal itself through an offline learning method, or can be configured by the network side. The parameters configured by the network side (i.e., the threshold or threshold group used to determine whether to adjust the RRC connection release timer duration, and the set of RRC connection release timer durations used for adjusting the RRC connection release timer duration) can be obtained by the network side through an offline learning method. Of course, a combination of the above methods can also be used.
[0502] It should be noted that in the network-side configuration method, the network side can send the above parameters to the terminal, or it can send the information used to generate the above parameters to the terminal. For example, it can send the segmentation resolution (i.e., the base) of the exponential segmentation method to the terminal. The terminal can generate the RRC connection release timer duration set based on the exponential segmentation method according to the segmentation resolution (i.e., the base).
[0503] The following describes in detail the process provided in the embodiments of this application for obtaining a threshold or threshold group for determining whether to adjust the timing duration of the RRC connection release timer through online learning methods and offline learning methods, as well as a set of RRC connection release timer durations for adjusting the RRC connection release timer duration.
[0504] (a) Obtain the set of RRC connection release timer durations and threshold groups through online learning methods.
[0505] This method can be executed by a terminal.
[0506] The online learning method described below uses the exponential partitioning method to generate the RRC connection release timer duration set as an example. This idea can be applied to online learning methods that use other methods to generate the RRC connection release timer duration set.
[0507] Figure 8 An example illustrates the process of an online learning method. Figure 9 The principle of online learning methods is illustrated below. Figure 8 and Figure 9 This section explains online learning methods.
[0508] like Figure 8 As shown, online learning methods may include the following steps:
[0509] S801: Obtain the data transmitted by the terminal within the statistical time period as sample data, and perform statistics on the sample data to obtain the data packet interval distribution characteristics.
[0510] The statistical duration is a preset value, and the range of the statistical duration can be from a few minutes to tens of minutes, such as 5 to 20 minutes. This application does not impose any restrictions on this.
[0511] The data transmitted within the statistical period can include data received or sent within that period. For example, it can be used to retrieve data packets received by a terminal when a certain application is in the foreground during the statistical period. These data packets may include those received by the foreground application as well as those received by a background application that is transmitting data.
[0512] The packet interval distribution characteristics can be obtained by statistically analyzing the received or transmitted data packets, and can be represented as a packet interval probability density distribution curve and a packet count probability density distribution curve. For example, the time interval between adjacent data packets can be counted, or the number of received data packets can be counted according to a set period to obtain the packet interval. For instance, if the statistical data (i.e., the number of data packets) for five consecutive periods are {1000, 0, 0, 3000, 2000}, then the packet intervals are 3 and 1 respectively, and thus the packet interval probability density distribution curve can be obtained based on the packet interval.
[0513] After obtaining the packet intervals statistically, the packet interval probability density distribution can be calculated using the cumulative distribution function (CDF). The packet interval probability density distribution represents the probability of occurrence of each interval size obtained statistically. The packet interval probability density distribution can be presented in the form of a packet interval CDF curve (or packet interval probability density distribution curve). Figure 10a A packet spacing CDF curve is shown. Figure 10a The horizontal axis represents the packet interval, which can be in seconds or other time units, and the vertical axis represents the probability. For example... Figure 10a As shown, the curve (or polyline) represented by the dashed line is obtained by connecting discrete points. Fitting the curve (or polyline) represented by the dashed line yields the following result: Figure 10a The solid line represents the CDF curve of the packet gap.
[0514] After obtaining the cumulative number of data packets, the packet probability density distribution can be calculated using the CDF function. The packet probability density distribution represents the probability distribution of the cumulative packet count. The packet probability density distribution can be presented as a packet CDF curve (or packet probability density distribution curve). Figure 10b A CDF curve for the number of packages is shown. Figure 10b The horizontal axis represents the number of packets within a period, and the vertical axis represents the probability that the number of packets within a period is less than the number of packets on the horizontal axis. For example... Figure 10b As shown, the curve (or polyline) represented by the dashed line is obtained by connecting discrete points. Fitting the curve (or polyline) represented by the dashed line yields the following result: Figure 10b The solid line represents the CDF curve for the number of packets. For example, as shown in the figure, the probability of a packet count less than 1000 is greater than 0.95.
[0515] S802: Determine at least one set of candidate RRC connection release timer durations.
[0516] The number of candidate RRC connection release timer duration sets (hereinafter referred to as candidate sets, denoted by rrcTimerSet) is at least one. Each candidate set rrcTimerSet includes at least two elements, each element being a candidate value for the RRC connection release timer duration. The elements in each candidate set rrcTimerSet can be arranged in descending order (i.e., in descending order of RRC connection release duration) or in ascending order (i.e., in ascending order of RRC connection release duration). Optionally, in each candidate set rrcTimerSet, the maximum value of the RRC connection release timer duration does not exceed a preset maximum RRC connection release timer duration. Optionally, the minimum value of the RRC connection release timer duration is not less than a preset minimum RRC connection release timer duration. Optionally, in each candidate set, the total number of elements does not exceed the preset maximum number of RRC connection release timer durations.
[0517] Taking the generation of the candidate set rrcTimerSet using the exponential partitioning method as an example, the following parameters can be preset:
[0518] 1) Exponential division base BASE = arange(1.1,5.2,0.05), where arange(1.1,5.2,0.05) represents an arithmetic sequence with a lower limit of 1.1, an upper limit of 5.2, and a common difference of 0.05. This arithmetic sequence can be represented as [1.1,1.15,1.2,…,5.15,5.2].
[0519] 2) Maximum number of split states NUM_STATE_MAX. NUM_STATE_MAX is a positive integer. In this example, NUM_STATE_MAX = 5.
[0520] 3) Maximum RRC connection release timer duration RRC_REL_MAX. In this example, RRC_REL_MAX is the default RRC connection release timer duration configured on the base station, for example, RRC_REL_MAX = 10 seconds.
[0521] 4) Minimum RRC connection release timer duration RRC_REL_MIN. In this example, RRC_REL_MIN is the default RRC connection release timer duration configured on the terminal, for example, RRC_REL_MIN = 1 second.
[0522] Based on the preset parameters and the exponential segmentation formula above, taking BASE=2 as an example, the following candidate set rrcTimerSet can be obtained:
[0523] When BASE=2, the possible values for the RRC connection release timer duration include {10, 5, 2.5, 1.25}. After permutation and combination, the following candidate set rrcTimerSet that satisfies the above conditions can be obtained:
[0524] {10,5,2.5,1.25}
[0525] {10,5,2.5}
[0526] {10,5,1.25}
[0527] {10,2.5,1.25}
[0528] {5,2.5,1.25}
[0529] {10,5}
[0530] {10,2.5}
[0531] {10,1.25}
[0532] {5,2.5}
[0533] {5,1.25}
[0534] {2.5, 1.25}
[0535] It should be noted that in the above example, when calculating the elements in the candidate set rrcTimerSet according to the indicated segmentation formula, the rounding method can be used to take only two decimal places.
[0536] The above examples only illustrate a portion of the candidate sets `rrcTimerSet`. Based on the same concept, those skilled in the art can determine the candidate sets `rrcTimerSet` corresponding to each base using the exponential division base `BASE = arange(1.1, 5.2, 0.05)`. Specifically, the maximum duration of the RRC connection release timer in each candidate set `rrcTimerSet` does not exceed 10 (RRC_REL_MAX = 10), and the minimum duration of the RRC connection release timer is not less than 1 (RRC_REL_MIN = 1). The total number of elements in each candidate set `rrcTimerSet` does not exceed 5 (NUM_STATE_MAX = 5).
[0537] In some embodiments, the candidate set rrcTimerSet can be pre-configured in the terminal. In other embodiments, the terminal can generate the candidate set rrcTimerSet according to pre-configured parameters (such as BASE = arange(1.1,5.2,0.05), NUM_STATE_MAX = 5, RRC_REL_MAX = 10 seconds, etc.).
[0538] S803: Determine at least one candidate threshold group based on the data packet interval distribution characteristics.
[0539] A candidate threshold group includes one or two thresholds. If it includes two thresholds, the two thresholds are called the first threshold and the second threshold. The first threshold is greater than or equal to the second threshold.
[0540] A candidate set `rrcTimerSet` may correspond to one candidate threshold group or multiple candidate threshold groups. If a candidate set `rrcTimerSet` corresponds to multiple candidate threshold groups, then the thresholds contained in different candidate threshold groups are different. For example, if a candidate set `rrcTimerSet` corresponds to the first candidate threshold group and the second candidate threshold group, then the following possibilities exist:
[0541] Case 1: The first threshold in the first candidate threshold group is different from the first threshold in the second candidate threshold group, and the second threshold in the first candidate threshold group is the same as the second threshold in the second candidate threshold group.
[0542] Case 2: The second threshold in the first candidate threshold group is different from the second threshold in the second candidate threshold group, and the first threshold in the first candidate threshold group is the same as the first threshold in the second candidate threshold group.
[0543] Case 3: The first threshold in the first candidate threshold group is different from the first threshold in the second candidate threshold group, and the second threshold in the first candidate threshold group is different from the second threshold in the second candidate threshold group.
[0544] In step 803, the packet interval CDF curve and the packet number CDF curve can be used to determine the candidate threshold group corresponding to each candidate set rrcTimerSet. Specifically, the following operations can be performed for each candidate set rrcTimerSet: using the release timer duration of each RRC connection in the candidate set rrcTimerSet as the time interval, the probability distribution corresponding to the release duration of each RRC connection in the candidate set rrcTimerSet is obtained according to the packet interval CDF curve, and the number of packets corresponding to the corresponding probability distribution is obtained on the packet number CDF curve. Based on these packet numbers, at least one candidate threshold group corresponding to the candidate set rrcTimerSet is obtained.
[0545] The following example uses the candidate set rrcTimerSet19{10,5,2.5,1.25} when BASE=2 in the example above to describe how to use... Figure 10a The packet gap CDF curve shown and Figure 10b The CDF curve showing the number of packets is used to determine the candidate threshold group corresponding to the candidate set rrcTimerSet19.
[0546] See Figure 11a ,based on Figure 10a The packet interval CDF curve shown is obtained by selecting four corresponding interval values (10, 5, 2.5, 1.25) on the horizontal axis of the candidate set rrcTimerSet19{10, 5, 2.5, 1.25} based on the RRC connection release timer duration. The probability distributions P1 to P4 corresponding to these four interval values are then obtained. Figure 11a As shown. For example, the probability distribution corresponding to T1=10 is P1, the probability distribution corresponding to T2=5 is P2, the probability distribution corresponding to T3=2.5 is P3, and the probability distribution corresponding to T4=1.25 is P4.
[0547] See Figure 11b ,based on Figure 10b The CDF curve for the number of packages shown is used to determine the corresponding package numbers N1, N2, N3, and N4 based on the probability distributions P1, P2, P3, and P4 on the CDF curve. Figure 11b As shown.
[0548] Based on the number of packets N1, N2, N3, and N4, the candidate threshold groups corresponding to the candidate set rrcTimerSet19 can be obtained through permutations and combinations:
[0549] Candidate threshold group 1: First threshold thHigh = N1, second threshold thLow = N2;
[0550] Candidate threshold group 2: First threshold thHigh = N1, second threshold thLow = N3;
[0551] Candidate threshold group 3: First threshold thHigh = N1, second threshold thLow = N4;
[0552] Candidate threshold group 4: First threshold thHigh = N2, second threshold thLow = N3;
[0553] Candidate threshold group 5: First threshold thHigh = N2, second threshold thLow = N4;
[0554] Candidate threshold group 6: First threshold thHigh = N3, second threshold thLow = N4.
[0555] Of course, the first threshold thHigh and the second threshold thLow in the candidate threshold groups can also be equal. For example, in one candidate threshold group, thHigh = N1 and thLow = N1; in another candidate threshold group, thHigh = N2 and thLow = N2. And so on.
[0556] S804: Combine each candidate set rrcTimerSet with each candidate threshold group corresponding to the corresponding candidate set rrcTimerSet to obtain at least one candidate combination.
[0557] Each candidate combination includes a candidate set rrcTimerSet and a candidate threshold group.
[0558] Taking the candidate set rrcTimerSet19{10,5,2.5,1.25} as an example, based on the 6 candidate threshold groups corresponding to the candidate set determined in S803, these 6 candidate threshold groups are combined with the candidate set rrcTimerSet19 to obtain 6 candidate combinations.
[0559] S805: Based on the sample data obtained in S801, determine the RRC connection release status for each candidate combination, and determine the evaluation parameters corresponding to each candidate combination based on the RRC connection release status corresponding to each candidate combination.
[0560] In this step, based on the sample data obtained in S801, each candidate combination can be applied to the RRC connection release control method provided in the embodiments of this application. For each candidate combination, the corresponding RRC connection release time is obtained, and for each candidate combination, the evaluation parameters corresponding to the candidate combination are determined according to the corresponding RRC connection release time. The evaluation parameters are used to select the optimal candidate combination.
[0561] Taking a candidate combination as an example, this step is equivalent to using the sample data obtained in S801, simulating the execution of the RRC connection release process provided in the embodiments of this application, thereby obtaining the RRC connection release status of the sample data within the statistical time period. The RRC connection release status includes the RRC connection release time and the number of RRC connection releases.
[0562] The optimal evaluation parameters may include at least one of the total duration of the RRC connected state and the total duration of the RRC disconnected state within the statistical time period, and at least one of the release matching rate and the false release rate within the statistical time period.
[0563] Release match rate = 1 - false release rate;
[0564] False release rate = Number of false releases / Number of random accesses.
[0565] In this context, "false release" refers to a situation where, after an RRC connection is released, if data transmission occurs within a preset time period (e.g., data is sent or received), the release is considered a false release. This is because after an RRC connection is released, a random access request is initiated to re-establish the RRC connection when new data transmission occurs. The random access process requires a certain amount of power. In this case, the power saved by releasing the RRC connection is less than the power consumption of the random access process, therefore, this is considered a false release.
[0566] The preset duration is pre-set and can be in seconds, for example, REL_ERR_TH = 2 seconds.
[0567] S806: Select the optimal candidate combination based on the evaluation parameters corresponding to each candidate combination.
[0568] The threshold group in the optimal candidate combination can be configured as a threshold group for determining whether to adjust the timing duration of the RRC connection release timer. The set of RRC connection release timer durations in the optimal candidate combination can be used to determine the target value of the RRC connection release timer timing duration.
[0569] according to Figure 8The illustrated process allows the learning of general threshold groups and a general set of RRC connection release timer durations. If, in S801, data packets received when a target application is in the foreground are used as sample data, the threshold groups and RRC connection release timer durations corresponding to that application can be learned. Similarly, if, in S801, data packets received by a representative application of a certain type of application are used as sample data when it is in the foreground, the learned threshold groups and RRC connection release timer durations can be used as the threshold groups and RRC connection release timer durations corresponding to that application type.
[0570] In this embodiment, conditions for evaluating the optimal candidate combination can be preset. The principle for selecting the optimal combination is to select a candidate combination with a low false release rate and a long total duration of the RRC disconnected state. Based on this principle, the conditions for evaluating the optimal candidate combination may include one of the following:
[0571] Condition 1: The false release rate is less than the preset false release rate threshold, and the total duration of the RRC disconnected state is the largest or the ratio of the total duration of the RRC disconnected state to the statistical duration is the largest; for example, the false release rate threshold can be set to 40%.
[0572] Condition 2: The false release rate is less than the preset false release rate threshold, and the total duration of the RRC connection state is the minimum or the ratio of the total duration of the RRC connection state to the statistical duration is the minimum.
[0573] Condition 3: The release matching rate is greater than the preset release matching rate threshold, and the total duration of the RRC disconnected state is the largest or the ratio of the total duration of the RRC disconnected state to the statistical duration is the largest; where, the release matching rate = 1 - false release rate; for example, the release matching rate threshold can be set to 60%;
[0574] Condition 4: The release matching rate is greater than the preset release matching rate threshold, and the total duration of the RRC connection state is the minimum or the ratio of the total duration of the RRC connection state to the statistical duration is the minimum; where, the release matching rate = 1 - false release rate.
[0575] Taking condition 1 above as an example, based on the false release rate corresponding to each candidate combination, candidate combinations with false release rates less than the false release rate threshold can be selected. Then, based on the proportion of the total duration of the RRC disconnected state to the statistical duration of each candidate combination within this range, the candidate combination with the largest proportion can be selected as the optimal candidate combination.
[0576] The following three examples illustrate the above. Figure 8 The process is illustrated with an example.
[0577] The terminal can be pre-configured with configuration information used to generate the RRC connection release timer duration set rrcTimerSet. This configuration information may include:
[0578] The range of the exponential division base is BASE = arange(1.1, 5.2, 0.05), where arange(1.1, 5.2, 0.05) represents an arithmetic sequence with a lower limit of 1.1, an upper limit of 5.2, and a common difference of 0.05.
[0579] The maximum number of states to be split is NUM_STATE_MAX = 5, meaning that the maximum number of durations in the rrcTimerSet is 5.
[0580] The maximum RRC connection release timer duration RRC_REL_MAX = 10, meaning the maximum value in rrcTimerSet is no greater than 10;
[0581] The minimum RRC connection release timer duration is RRC_REL_MIN = 1, meaning the minimum value in rrcTimerSet is not less than 1;
[0582] The release match rate threshold is 0.6.
[0583] Example 1:
[0584] Based on the above configuration information, for long-form internet video applications (such as...) Sample data collected during video (foreground) runtime is used Figure 8 The process shown yields the following optimal RRC connection release timer duration set rrcTimerSet and optimal first threshold ThHigh and second threshold thLow:
[0585] The optimal rrcTimerSet is the set rrcTimerSet=[10.0,4.65,2.16,1.01] corresponding to the exponential split base base=2.15, and the number of durations numState contained in this optimal rrcTimerSet is 4;
[0586] The optimal first threshold ThHigh = 7;
[0587] The optimal second threshold thLow = 7;
[0588] Based on Internet long video applications (such as When sample data collected during video playback is used for RRC connection release control with the optimal rrcTimerSet, optimal ThHigh, and optimal thLow:
[0589] The release match rate (matchRate) is 0.86, which is greater than the set release match rate threshold of 0.6.
[0590] Tests show that the traditional method for RRC connection release control results in 28 random access attempts, while the method described in this application results in 20. The RRC connection release control method provided in this application can balance the power consumption of the terminal in RRC connection mode and the power consumption of random access, thus reducing the overall terminal power consumption. Tests also show that using this application embodiment can save the terminal's power consumption by 41.70%.
[0591] Example 2:
[0592] Based on the above configuration information, based on internet short video applications (such as...) The sample data collected during foreground runtime is used... Figure 8 The process shown yields the following optimal RRC connection release timer duration set rrcTimerSet and optimal first threshold ThHigh and second threshold thLow:
[0593] The optimal rrcTimerSet is the set rrcTimerSet=[9.01,3.0,1.0] corresponding to the exponential split base base=3.00, and the number of durations numState contained in this optimal rrcTimerSet is 3;
[0594] The optimal first threshold ThHigh = 346;
[0595] The optimal second threshold thLow = 346;
[0596] Based on Internet short video applications (such as When using the optimal rrcTimerSet, optimal ThHigh, and optimal thLow to control RRC connection release based on sample data collected during foreground runtime:
[0597] The release match rate (matchRate) is 0.76, which is greater than the set release match rate threshold of 0.6.
[0598] Tests show that the number of random accesses occurring using the RRC connection release control method of this application is 45, while the number of random accesses occurring using the traditional method is 4. The RRC connection release control method provided by this application can balance the power consumption of the terminal in the RRC connected state and the power consumption of random accesses, thereby reducing the overall terminal power consumption. For example, in this example, the number of RRC connection releases is relatively large, so the terminal is in the RRC connected state for a relatively short time, which can reduce the terminal power consumption. Tests show that using the embodiment of this application, the terminal power consumption can be reduced by powerSaving = 41.06%.
[0599] Example 3:
[0600] Based on the above configuration information, for web-based news applications (such as...) The sample data collected during foreground runtime is used... Figure 8 The process shown yields the following optimal RRC connection release timer duration set rrcTimerSet and optimal first threshold ThHigh and second threshold thLow:
[0601] The optimal rrcTimerSet is the set rrcTimerSet=[6.51,2.0] corresponding to the exponential split base base=3.25, and the number of durations numState contained in this optimal rrcTimerSet is 2;
[0602] The optimal first threshold ThHigh = 61;
[0603] The optimal second threshold thLow = 61;
[0604] Based on web-based news applications (such as When using the optimal rrcTimerSet, optimal ThHigh, and optimal thLow to control RRC connection release based on sample data collected during foreground runtime:
[0605] The release match rate (matchRate) is 0.65, which is greater than the set release match rate threshold of 0.6.
[0606] Tests show that the number of random accesses occurring using the RRC connection release control method of this application is 17, while the number of random accesses occurring using the traditional method is 2. The RRC connection release control method provided by this application can balance the power consumption of the terminal in the RRC connected state and the power consumption of random accesses, thereby reducing the overall terminal power consumption. For example, in this example, the number of RRC connection releases is relatively high, so the terminal is in the RRC connected state for a relatively short time, which can reduce the terminal power consumption. Tests show that using the embodiment of this application, the terminal power consumption can be reduced by powerSaving = 14.76%.
[0607] The optimal combination selected above (ThLow, ThHigh, and RRC connection release duration set) may be updated during subsequent use.
[0608] In some embodiments, the terminal may repeat the above process periodically or irregularly to obtain the optimal RRC connection release timer duration and threshold group, and configure them.
[0609] In other embodiments, the terminal learns not only from the currently collected sample data to obtain the optimal combination, but also from the data transmission statistics of multiple collected sample data. For example, it can obtain the data transmission statistics of sample data collected the day before the current date and the data transmission statistics of sample data collected two days before the current date, and add them to the data transmission statistics of the currently collected sample data to obtain the current optimal combination. Optionally, the data transmission statistics of sample data collected in the most recent few days (e.g., 5 days) can be used to generate the optimal combination.
[0610] In some other embodiments, the terminal can learn the optimal combination based on the statistical results of data transmission of the currently collected sample data, and then perform a weighted average of this optimal combination with the historical optimal combinations to generate a new optimal combination. For example, if the threshold group in the optimal combination learned on the current date is (ThLow1, ThHigh1), and the threshold group in the optimal combination learned the day before the current date is (ThLow2, ThHigh2), then the weighted average can be performed according to the following formula:
[0611] ThLow3=a*ThLow1+(1-a)*ThLow2
[0612] ThHigh 3=b*ThHigh 1+(1-b)*ThHigh 2
[0613] Here, a and b are weighting coefficients, both of which are positive numbers less than 1. The values of a and b can be the same or different. Optionally, both a and b are greater than 0.5, thus maximizing the weight of the currently learned threshold.
[0614] The weighted average threshold group (ThLow3, ThHigh3) is used as the updated threshold group.
[0615] according to Figure 8 The method shown for obtaining the set of RRC connection release timer durations and threshold groups can set the optimal RRC connection release timer duration online based on the data packet transmission and reception status of the foreground application, so that the determined RRC connection timer duration matches the service transmission and reception status of the foreground service, thereby reducing the power consumption of the terminal.
[0616] It should be noted that, Figure 8 The timing of each step in the process shown is merely an example, and the embodiments of this application do not impose any limitations on it. For example, the order of S801 and S802 can be adjusted, or they can be executed in parallel.
[0617] (ii) Obtain the set of RRC connection release timer durations and thresholds through offline learning.
[0618] This method can be executed by a terminal or other devices. For example, it can be used to obtain sample data of the target application as a foreground application within a statistical period for one or more applications, send the sample data to a computing device, and then the computing device will process the data according to the specified parameters. Figure 8 The method shown determines the optimal set of RRC connection release timer durations and threshold groups corresponding to the target application or the application type to which the target application belongs. Alternatively, the learned threshold groups and RRC connection release timer durations can be used as the threshold groups and RRC connection release timer durations corresponding to the application type to which the target application belongs. Or, the learned threshold groups and RRC connection release timer durations can be used as a general threshold group and a general RRC connection release timer duration set.
[0619] The sample data can be obtained by the terminal or by the network device. For example, the terminal can obtain sample data by statistically analyzing the data sent within the statistical period, or the network device can obtain sample data by statistically analyzing the data received within the statistical period.
[0620] The computing device can be any device with data computing and processing capabilities, and can achieve... Figure 8 The device for data processing in the process shown.
[0621] In some embodiments, the optimal set of RRC connection release timer durations and threshold groups corresponding to one or more application types can be obtained through offline learning, thereby forming an RRC connection release lookup table. The RRC connection release lookup table is used to store the correspondence between application type information and the set of RRC connection release timer durations and thresholds. By querying the RRC connection release lookup table according to the application type information, the set of RRC connection release timer durations and threshold groups corresponding to that application type can be obtained.
[0622] Table 1 provides an example of an RRC connection release lookup table.
[0623] Table 1
[0624]
[0625] In other embodiments, an offline learning method can be used to obtain the optimal set of RRC connection release timer durations and threshold groups for one or more applications, thereby forming an RRC connection release lookup table as shown in Table 2. This lookup table stores the correspondence between application information and the RRC connection release timer duration sets and thresholds. By querying this lookup table based on the application information, the RRC connection release timer duration set and threshold group corresponding to that application can be obtained. The application information is used to identify the application and may include an application identifier and an application name.
[0626] Table 2 provides an example of an RRC connection release lookup table.
[0627] Table 2
[0628]
[0629] By obtaining and configuring the RRC connection release timer duration set and threshold group through offline learning, the terminal can save the computing resources used for online learning of the RRC connection release timer duration set and threshold.
[0630] (iii) Obtain the set of RRC connection release timer durations and thresholds through offline learning.
[0631] This method can be executed by a terminal or by other devices. For example, for one or more applications, it can obtain sample data of each application within a statistical period, send the sample data to a computing device, and then use mathematical calculation methods to determine the optimal set of RRC connection release timer durations and threshold groups for each of the one or more applications.
[0632] The following offline learning method uses the exponential partitioning method to generate the RRC connection release timer duration set as an example. This idea can be applied to online learning methods that use other methods to generate the RRC connection release timer duration set.
[0633] Figure 12 An example illustrates the process of an online learning method, such as... Figure 12 As shown below, using a target application as an example, the online learning method may include the following steps:
[0634] S1201: Obtain the data transmitted by the terminal within the statistical time period as sample data, and perform statistics on the sample data to obtain the data packet interval distribution characteristics.
[0635] The specific implementation method of this step, and Figure 8 The implementation method for the corresponding steps is the same, and will not be repeated here.
[0636] S1202: Determine at least one set of candidate RRC connection release timer durations.
[0637] The specific implementation method of this step is related to... Figure 8 The implementation method for the corresponding steps is the same, and will not be repeated here.
[0638] S1203: Based on the data packet interval distribution characteristics, determine at least one candidate threshold group corresponding to each candidate RRC connection release timer duration set.
[0639] The specific implementation method of this step is related to... Figure 8 The implementation method for the corresponding steps is the same, and will not be repeated here.
[0640] S1204: Combine each candidate set rrcTimerSet with each candidate threshold group corresponding to the corresponding candidate set rrcTimerSet to obtain at least one candidate combination.
[0641] Each candidate combination includes a candidate RRC connection release timer duration set and a candidate threshold group corresponding to the candidate RRC connection release timer duration set.
[0642] The specific implementation method of this step is related to... Figure 8 The implementation method for the corresponding steps is the same, and will not be repeated here.
[0643] S1205: Based on the data packet interval distribution characteristics and each candidate combination, determine the Markov state transition probability matrix corresponding to each candidate combination.
[0644] Among them, the elements in a candidate RRC connection release timer duration set are the RRC connection release timer durations, which correspond to a Markov state.
[0645] Markov state transition probability matrix P t Represented as:
[0646]
[0647] Where K represents the number of Markov states. 1,1 P represents the probability that state 1 remains unchanged. 1,2 This represents the probability of transitioning from state 1 to state 2, and so on. There is no possibility of transitioning between non-adjacent states; therefore, the probability of transitioning between non-adjacent states is 0, for example, P. 1,3 =0. The above Markov state transition probability matrix P t In the equation, the sum of the probabilities of each row equals 1.
[0648] Taking the counting of received data packets as an example, when in the RRC connection state T i If the number of arriving data packets is less than the second threshold ThLow, then from the current state T... i Jump to state T i+1 The probability P i,i+1 for:
[0649]
[0650] Among them, t session P represents the data packet interval. rob (t session <T i ) indicates that the data packet interval is less than state T. i The probability of the corresponding RRC connection release timer duration, where n is a positive integer.
[0651] When T is in the RRC connected state i When the number of arriving data packets reaches the first threshold ThHigh, the current state T is terminated. i Jump to state T i-1 The probability P i,i-1 for:
[0652] P i,i-1 =P rob (t session <T i ) ThHigh
[0653] When in the RRC connected state T i If the number of arriving data packets is greater than or equal to ThLow and less than or equal to ThHigh, maintain the current state T.i The probability P remains unchanged i,i for:
[0654] P i,i =1-P i,i-1 -P i,i+1
[0655] When the probability density function of the target application is known, the Markov state T i The probability S t =(P rob (T1),P rob (T2)…P rob (T K The state transition probability matrix can be obtained from the Markov state transition probability matrix.
[0656] S t =S0P t
[0657] Where S0 is the initial state probability, P t Let be the Markov state transition probability matrix.
[0658] S1206: Calculate the value of the objective function used to evaluate the optimal candidate combination based on the Markov state transition probability matrix corresponding to each candidate combination, and determine the optimal candidate combination based on the value of the objective function.
[0659] The threshold group in the optimal candidate combination can be configured as a threshold group for determining whether to adjust the timing duration of the RRC connection release timer. The set of RRC connection release timer durations in the optimal candidate combination can be used to determine the target value of the RRC connection release timer timing duration.
[0660] according to Figure 8 The illustrated process allows the learning of general threshold groups and a general set of RRC connection release timer durations. If, in S801, data packets received when a target application is in the foreground are used as sample data, the threshold groups and RRC connection release timer durations corresponding to that application can be learned. Similarly, if, in S801, data packets received by a representative application of a certain type of application are used as sample data when it is in the foreground, the learned threshold groups and RRC connection release timer durations can be used as the threshold groups and RRC connection release timer durations corresponding to that application type.
[0661] In some embodiments, the objective function can be set to minimize the average connected-state dwell time function, which can be expressed as:
[0662]
[0663] in:
[0664]
[0665] According to the objective function described above, the smaller the objective function value, the less time is spent in the connected state, and the more power is saved by the terminal. Therefore, the candidate combination corresponding to the minimum objective function value can be selected as the optimal candidate combination for this target application.
[0666] In some embodiments, the optimal set of RRC connection release timer durations and threshold groups corresponding to one or more application types or applications can be obtained through the offline learning method described above, thereby forming an RRC connection release lookup table as shown in Table 1 or Table 2.
[0667] It should be noted that, Figure 12 The timing of each step in the process shown is merely an example, and the embodiments of this application do not impose any limitations on it. For example, the order of S1201 and S1202 can be adjusted, or they can be executed in parallel.
[0668] Based on one or more of the above embodiments, the implementation process of the embodiments of this application will be described below using a specific application scenario as an example.
[0669] Scene 1
[0670] For mobile phones that have not yet been configured with threshold groups and RRC connection release timer duration sets, such as newly purchased mobile phones, the release of RRC connections can be controlled according to the timer duration agreed upon by the system. For example, when the 10-second RRC connection release timer configured by the base station for the mobile phone expires, the base station releases the RRC connection with the mobile phone.
[0671] When the phone is powered on or unlocked, if the user taps on an internet long video application A (e.g., ...) in the user interface displayed on the phone screen... If a user launches application A by displaying its icon (e.g., a video application icon), the application processor can detect the application's launch and obtain its name. When a user triggers a movie thumbnail control within application A's interface to request playback, the application receives this event and sends a data retrieval request (e.g., an HTTP GET request) to the application processor to retrieve the movie's video data. The application processor then sends Transmission Control Protocol (TCP) connection establishment information to the modem. This TCP connection establishment information can be carried within a data transmission request, which may specifically be an AT (attention) command. The modem then establishes an RRC connection with the base station based on this AT command. Note that this AT command does not carry any indication of the RRC connection release duration.
[0672] When a phone is powered on or unlocked, if the user taps the icon of a game application (such as a racing game) on the user interface displayed on the phone screen to launch the game application, the application processor can detect the launch of the game application and obtain its name. When the user triggers the "Start Game" option in the game application's interface, the game application sends a data acquisition request (such as a UDP request) to the application processor. The application processor then sends User Datagram Protocol (UDP) data to the modem. This UDP data can be carried in a data transmission request and sent to the modem; this request can specifically be an AT command. The modem establishes an RRC connection with the base station based on this AT command. Note that this AT command does not carry any indication of the duration for releasing the RRC connection.
[0673] The application processor determines whether it is necessary to set the duration of the RRC connection release timer. If it is, the application processor can further send an AT command to the modem, which may carry indication information for setting the duration of the RRC connection release timer. This causes the modem to set the duration of the RRC connection release timer to be equal to the duration indicated by the indication information. When the RRC connection release timer expires, the mobile phone requests the base station to release the RRC connection. If it is determined that it is not necessary to set the duration of the RRC connection release timer, the application processor will not send an AT command to the modem to set the duration of the RRC connection release timer. When the 10-second RRC connection release timer configured by default on the base station for the mobile phone expires, the base station releases the RRC connection with the mobile phone.
[0674] In this scenario, since the threshold group and RRC connection release timer duration set are not yet configured in the mobile phone, the application processor determines that it does not need to send an AT command to the modem to set the RRC connection release timer duration. Specifically, taking the current application A as an example, the application processor (AP) determines the application type of application A and queries the lookup table according to the application type. Since the lookup table is not currently configured, the query fails. Furthermore, since the general threshold group and general RRC connection release timer duration are not currently configured, the application processor (AP) determines that it does not need to send an AT command to the modem to set the RRC connection release timer duration.
[0675] In this scenario, when the phone screen is on, the release of the RRC connection is controlled by the base station. When the 10-second RRC connection release timer configured by the base station for the phone times out, the base station releases the RRC connection with the phone. Optionally, after the phone screen is off, if there is no data transmission within 1 second, the phone requests the base station to release the RRC connection after 1 second.
[0676] Once the mobile phone and the base station re-establish an RRC connection, if there is no foreground / background switching of applications on the mobile phone, and no new applications are launched and request data, the release of the RRC connection is controlled by the base station while the mobile phone screen is on. For example, when the 10-second RRC connection release timer configured by the base station for the mobile phone times out, the base station releases the RRC connection with the mobile phone.
[0677] Scene 2
[0678] For mobile phones that have not yet configured threshold groups and RRC connection release timer duration sets, after a period of use, the phone's application processor (AP) learns, using the aforementioned self-learning method, the threshold groups used to determine whether the RRC connection release timer duration needs adjustment, and the RRC connection release timer duration set (hereinafter referred to as rrcTimerSet) used to determine the target value of the RRC connection release timer duration. For example, the configuration of the threshold groups and RRC connection release timer duration sets may include:
[0679] Case 1: A set of general RRC connection release timer durations and a general threshold group;
[0680] Scenario 2: Multiple RRC connection release timer duration sets and multiple threshold groups, where each RRC connection release timer duration set corresponds to an application, and each threshold group corresponds to an application;
[0681] Case 3: Multiple RRC connection release timer duration sets and multiple threshold groups, where each RRC connection release timer duration set corresponds to an application type, and each threshold group corresponds to an application type;
[0682] Case 4: In addition to Case 2, it also includes a set of general RRC connection release timer durations and a general threshold group;
[0683] Case 5: Based on Case 3, it also includes a set of general RRC connection release timer durations and a general threshold group.
[0684] Among them, an RRC connection release timer duration set includes at least two duration values, and a threshold group may include one or two thresholds, such as ThHigh and ThLow, where ThHigh ≥ ThLow.
[0685] The following description uses the threshold group and RRC connection release timer duration set configured in case 4 above as an example.
[0686] For example, the application processor (AP) is configured with:
[0687] rrcTimerSetA = {10.0, 4.65, 2.16, 1.01}, threshold group A (ThHighA, ThLowA);
[0688] rrcTimerSetB = {9.01, 3.0, 1.0}, threshold group B(ThHighB, ThLowB);
[0689] rrcTimerSetUN = {6.51, 2.0}, threshold group UN (ThHighUN, ThLowUN).
[0690] The application processor (AP) can be configured with lookup tables as shown in Table 3:
[0691] Table 3
[0692]
[0693] Among them, rrcTimerSetA and threshold group A correspond to long video applications on the Internet, rrcTimerSetB and threshold group B correspond to short video applications on the Internet, rrcTimerSetUN is a set of general RRC connection release timer durations, threshold group UN is a general threshold group, and the durations in each rrcTimerSet are sorted in descending order.
[0694] Scene 3
[0695] For mobile phones that have been configured with threshold groups and RRC connection release timer duration sets, the phone accesses the network after the user powers on. If the user does not open any applications after the phone powers on, the phone remains in a disconnected state.
[0696] After the phone is powered on or unlocked, and while the phone is in a disconnected state, if the user clicks the icon of an internet long video application A on the user interface displayed on the phone screen to launch long video application A, and triggers an option for a movie in the user interface of long video application A (for example, clicking a control in the form of a movie thumbnail to request the video data of the movie), long video application A receives this event and sends TCP connection information to the application processor. The application processor then sends an AT command to the modem based on the TCP connection information. The modem then establishes an RRC connection with the base station based on the AT command.
[0697] The application processor further determines whether the duration of the RRC connection release timer needs to be set. In this scenario, the application processor determines that the current foreground application is application A, and that application A belongs to the application type of Internet long video application. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group A corresponding to this application type and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01}. It is determined that the duration of the RRC connection release timer needs to be set, so an AT command is sent to the modem to instruct the modem to set the duration of the RRC connection release timer to the maximum duration of 10 seconds in the set rrcTimerSetA. After the duration of the RRC connection release timer is set, the timer starts counting down to the set duration.
[0698] For example, the values of each information field in this AT command are as follows:
[0699] The value of the first information field is equal to 1;
[0700] The value of the second information field is equal to 1, which means "enable OPEN_RRC_QUICKLY_RELEASE_FEATURE";
[0701] Third information domain reserved;
[0702] The value of para1 = 0 in the fourth information field indicates that the RRC connection has entered the idle state after being released;
[0703] The value of the fifth information field, para2 = 10, indicates that the countdown timer for releasing the RRC connection is set to 10 seconds.
[0704] The application processor (AP) further activates a counter to count the number of received data packets in RRC connected state. During the operation of the long video application A, data sent from the network arrives at the phone's modem, is demodulated by the modem, and then sent to the application processor (AP). The application processor (AP) plays this data in the video playback window of application A. During this process, the counter counts the number of data packets received by the phone, including data packets from the long video application A sent from the network, and possibly also data packets received by background applications transmitting data.
[0705] After receiving movie video data from the network, the mobile phone caches it in the player's buffer and plays the cached video data in the video window of the long video application A. In the initial period after the RRC connection is established, due to good network performance, the amount of data in the player's buffer reaches a high capacity percentage (e.g., 100%) within a short time. The long video application A pauses sending video data download requests to the network, causing the network to stop sending video data to the mobile phone. When the mobile phone does not receive data from the network for 10 seconds, the RRC connection release timer times out. At this time, the mobile phone sends a request to the base station to release the RRC connection. The base station accepts the request and releases the RRC connection with the mobile phone. The application processor reads the counter value and determines that it is greater than ThLowA in threshold group A corresponding to the long video application. Therefore, it determines that there is no need to adjust the RRC connection release timer duration and no need to send an AT command to the modem to set the RRC connection release timer duration. At this time, the RRC connection release timer duration remains 10 seconds. The application processor clears the counter to zero so that it can count the received data packets after the RRC connection is re-established.
[0706] In the second time period following the release of the RRC connection, the amount of data in the player's buffer drops to a lower threshold (e.g., 40%). The long video application A sends a data transmission / reception request to the application processor, which then sends an AT command to the modem to trigger the modem to re-establish the RRC connection with the base station. Since the application processor does not detect any foreground / background switching or the opening of any new applications, it does not need to send an AT command to the modem to set the RRC connection release timer duration. Therefore, after the RRC connection is re-established, the RRC connection release timer duration on the phone remains 10 seconds.
[0707] In the third time period following the re-establishment of the RRC connection, the user clicks the pause button in the player window while watching a movie. Based on this user action, the long video application A pauses sending download requests to the network. Because the long video application A pauses sending download requests, the network no longer sends video data to the phone. The phone does not receive data packets for a period of time. When this duration reaches 10 seconds, the RRC connection release timer times out. The phone sends a request to the base station to release the RRC connection. The base station accepts the request and releases the RRC connection with the phone. The application processor reads the counter value and determines that it is less than ThLowA in threshold group A corresponding to long video applications. Therefore, it decides that the RRC connection release timer duration needs to be reduced. It selects 4.65 seconds from rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 10 seconds, the largest duration value less than 10 seconds is selected from this set). An AT command is then sent to the modem to instruct it to set the RRC connection release timer duration to equal the target value of 4.65 seconds. After the RRC connection release timer duration is set, the timer begins counting with the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor can also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is re-established. Furthermore, the application processor clears the counter to zero so that it can count the received packets after the RRC connection is re-established.
[0708] In the fourth time period following the release of the RRC connection, the user clicks the playback control button in the player window to resume normal playback from paused. Based on this user action, the long video application A sends an HTTP GET request to the application processor to retrieve video data. The application processor sends an AT command to the modem to re-establish the RRC connection with the base station. After the RRC connection is established, since the application processor does not detect any application foreground / background switching or new application launches, there is no need to adjust the RRC connection release timer duration; it remains at 4.65 seconds. The mobile phone receives video data from the network based on the download request. However, due to poor network performance, the phone does not receive data packets for a period of time. When this duration reaches 4.65 seconds, the RRC connection release timer expires, and the phone sends a request to the base station to release the RRC connection. The base station does not accept this request and maintains the RRC connection with the phone. The application processor reads the counter value and determines that it is less than ThLowA in threshold group A corresponding to long video applications. Therefore, it decides that the RRC connection release timer duration needs to be reduced. It selects 2.16 seconds from rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 4.65 seconds, the largest duration value smaller than 4.65 seconds is selected from this set). An AT command is then sent to the modem to instruct it to set the RRC connection release timer duration to the target value of 2.16 seconds. After the RRC connection release timer duration is set, the timer begins counting with the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor can also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is re-established. Furthermore, the application processor clears the counter to zero so that it can count the received packets after the RRC connection is re-established.
[0709] In the fifth time period thereafter (i.e., after the RRC connection release timer expires and the timer duration is reduced to 2.16 seconds), the user clicks the control button to increase the playback speed. The long video application A sends a download request to the network side based on this user operation event. The network side then sends the video data to the phone based on the download request sent by the phone. At this point, the network performance returns to a better state. Because the user clicked the control key to increase the playback speed, the phone requested a large amount of video data from the network, resulting in the phone receiving a large number of video data packets in a short period. When the counter value reached ThHighA in threshold group A corresponding to long video applications, the application processor determined that the RRC connection release timer duration needed to be increased. Therefore, it selected 4.65 seconds from rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 2.16 seconds, the smallest duration value greater than 2.16 seconds was selected from this set), and sent an AT command to the modem to instruct the modem to set the RRC connection release timer duration to equal the target value of 4.65 seconds. After the RRC connection release timer duration was set, the timer started counting with the set duration. Furthermore, the application processor cleared the counter to zero so that it could count the received data packets after adjusting the RRC connection release timer duration.
[0710] In the sixth time interval (i.e., after the RRC connection release timer is increased to 4.65 seconds as described above), the user returns to the home screen (i.e., the phone's desktop) via touch, thus switching the long video application A from the foreground to the background. At this time, there are no foreground applications on the phone. After the application processor detects the event of the long video application A switching from the foreground to the background, since no application has been switched to the foreground or opened, it determines to keep the current RRC connection release timer duration unchanged at 4.65 seconds, without sending an AT command to the modem to set the RRC connection release timer duration. Furthermore, the application processor can keep the counter counting the number of data packets received by the phone.
[0711] In the seventh time period following this (i.e., when the long video application A was switched to the background as described above), the user switches application A to the foreground via touch. After the application processor detects the event of the long video application A switching from the background to the foreground, it queries the lookup table shown in Table 3 according to the application type to obtain the threshold group A corresponding to that application type and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01}. It determines that the RRC connection release timer's duration needs to be set, and therefore sends an AT command to the modem to instruct the modem to set the RRC connection release timer's duration to the maximum duration of 10 seconds in the set rrcTimerSetA. After the RRC connection release timer's duration is set, the timer starts counting with the set duration. The application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer's duration.
[0712] While long video application A is running as a foreground application, and the user opens short video application B (such as TikTok) in RRC connection state, long video application A is switched to the background application, and short video application B becomes the foreground application. The application processor listens for the opening of short video application B and determines that it belongs to the internet short video application category. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group B corresponding to this application type and the RRC connection release timer duration set rrcTimerSetB = {9.01, 3.0, 1.0}. It then sends an AT command to the modem to instruct the modem to set the RRC connection release timer's duration to the maximum duration of 9.01 seconds in the set rrcTimerSetB. After the RRC connection release timer's duration is set, the timer starts counting at the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer's duration.
[0713] While video application A is running in the background and short video application B is running in the foreground, under RRC connection state, the user launches social application C (such as WeChat). This causes social application C to run as the foreground application on the current phone, while applications A and B run in the background. After the application processor detects that social application C has been launched and is running as the foreground application, it determines the application type of social application C. Based on this application type, it queries the lookup table shown in Table 3. If no threshold group or RRC connection release timer duration set corresponding to this application type is found (i.e., no corresponding threshold group or RRC connection release timer duration set is configured for this application type), it obtains the general threshold group UN and the general RRC connection release timer duration set rrcTimerSetUN = {6.51, 2.0}, and sends an AT command to the modem to instruct the modem to set the RRC connection release timer duration to the maximum duration of 6.51 seconds in the set rrcTimerSetUN. After the RRC connection release timer duration is set, the timer starts counting down to the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received packets after adjusting the RRC connection release timer duration.
[0714] After the social application C is launched, the user uses the application to browse public account content webpages. Since a webpage may contain relatively little data, and the user may spend a considerable amount of time browsing it, there may be no data transmission for a sustained period. When this duration reaches 6.51 seconds, the RRC connection release timer times out, and the mobile phone requests the base station to release the RRC connection. The base station accepts the request and releases the RRC connection with the mobile phone. The application processor compares the current counter value with ThLowUN in the threshold group UN, determining that the current counter value is less than ThLowUN. Therefore, it determines that the RRC connection release timer duration needs to be reduced. Thus, 2.0 seconds is selected from rrcTimerSetUN = {6.51, 2.0} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 6.51 seconds, a value smaller than 6.51 seconds is selected from this set, 2.0 seconds), and an AT command is sent to the modem to instruct the modem to set the RRC connection release timer duration to equal the target value of 2.0 seconds. Once the RRC connection release timer's duration is set, the timer begins counting for that set duration. Optionally, after determining the target value for the RRC connection release timer's duration, the application processor may also send an AT command to the modem to set the RRC connection release timer's duration after the RRC connection is re-established. Further, the application processor clears the counter to zero so that it can count received data packets after the RRC connection is re-established.
[0715] After the RRC connection is released, the user selects a video in social application C to watch via screen touch. Upon receiving this event, social application C sends connection information to the application processor. The application processor then sends an AT command to the modem based on this connection information. The modem, in turn, establishes an RRC connection with the base station based on the AT command. Since the application processor is not currently detecting any foreground / background switching or the launch of any new applications, it is determined that there is no need to adjust the RRC connection release timer duration; therefore, the RRC connection release timer duration remains 2.0 seconds. Because the user-selected video has a large data volume and the current network performance is good, the mobile phone receives a large number of video data packets in a short period of time. When the application processor determines that the counter value has reached ThHighUN in the threshold group UN, it determines that the RRC connection release timer duration needs to be increased. Therefore, it selects 6.51 seconds from rrcTimerSetUN = {6.51, 2.0} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 2.0 seconds, a value greater than 2.0 seconds is selected from this set, 6.51 seconds), and sends an AT command to the modem to instruct the modem to set the RRC connection release timer duration to be equal to the target value of 6.51 seconds. After the RRC connection release timer duration is set, the timer starts counting with the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0716] Subsequently, the user closes the social application C, and the short video application B is switched to the foreground. The application processor listens for the foreground / background switching event of this application, determines that the current foreground application is the short video application B, and thus determines that the application type of application B is an internet short video application. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group B corresponding to this application type and the RRC connection release timer duration set rrcTimerSetB = {9.01, 3.0, 1.0}. An AT command is sent to the modem to instruct the modem to set the RRC connection release timer duration to the maximum duration of 9.01 seconds in the set rrcTimerSetB, thus adjusting the RRC connection release timer duration from 6.51 seconds to 9.01 seconds. After the RRC connection release timer duration is set, the timer starts counting with the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0717] Subsequently, the user closes the social application B, and the long video application A is switched to the foreground. The movie video in the playback window of the long video application A resumes playback. The application processor listens for the foreground / background switching event of the application, determines that the current foreground application is the long video application A, and then determines that the application type of application A is an internet long video application. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group A corresponding to this application type and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01}. It sends an AT command to the modem to instruct the modem to set the RRC connection release timer's timing duration to the maximum duration of 10.0 seconds in the set rrcTimerSetA, thus adjusting the RRC connection release timer's timing duration from 9.01 seconds to 10.0 seconds. After the RRC connection release timer's timing duration is set, the timer starts counting with the set timing duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer's duration.
[0718] After this (i.e., after applications C and B are closed sequentially and application A is brought to the foreground), the user activates split-screen mode on the phone (e.g., via a set gesture), dividing the phone screen into two split-screen windows (the first split-screen window and the second split-screen window). The first split-screen window runs the long video application A, while the second split-screen window displays the main screen (the phone's home screen), showing application icons. No applications are currently running in the second split-screen window. Since the application processor does not detect any application foreground / background switching events or any new applications being launched, it is determined that there is no need to adjust the RRC connection release timer duration; the RRC connection release timer duration remains 10.0 seconds.
[0719] Subsequently, the user clicks the icon of short video application B in the second split-screen window to launch short video application B in the second split-screen window. The application processor listens for the event of an application being launched and determines that the current mode is split-screen (the application processor can obtain split-screen events to know that the phone is currently in split-screen mode). Therefore, based on the priority of the long video application type to which long video application A belongs and the short video application type to which short video application B belongs, it obtains the threshold group B and the RRC connection release timer duration set rrcTimerSetB = {9.01, 3.0, 1.0} corresponding to the short video application type with higher priority. It then sends an AT command to the modem, instructing the modem to set the RRC connection release timer duration to the maximum value of 9.01 in this set, thus adjusting the RRC connection release timer duration from 10.0 seconds to 9.01 seconds. After the RRC connection release timer duration is set, the timer starts counting with the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0720] This allows setting different application types based on factors such as latency sensitivity. For example, applications that are latency-sensitive can be prioritized higher, while applications that are not latency-sensitive can be prioritized lower.
[0721] Optionally, as an alternative to selecting the threshold group corresponding to the application type with higher priority and the set of RRC connection release timer durations, the application processor can also select the set rrcTimerSetA with the larger duration value and the corresponding threshold group A from the set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} corresponding to the long video application type to belong to long video application A and the set rrcTimerSetB = {9.01, 3.0, 1.0} corresponding to the short video application type to belong to short video application B, and send an AT command to the modem, instructing the modem to set the timing duration of the RRC connection release timer to the maximum value of 10.0 in the set. After the timing duration of the RRC connection release timer is set, the timer starts counting with the set timing duration.
[0722] When short video application B is launched in the second split-screen window, it needs to play short videos recommended by the system or followed by the user. Therefore, it sends a download request to the network to request the download of the corresponding video data. The network sends the video data packet to the mobile phone according to the download request. After receiving the video data packet, the mobile phone plays it in the playback window of the application. When the user pauses the video in the playback window of short video application B via touch operation, the phone continues to obtain video data from the network while the movie video in the playback window of long video application A is playing. This causes the counter value to continuously increase. When it reaches ThHighB in threshold group B (described in this embodiment using threshold group B corresponding to the high-priority short video application type and rrcTimerSetB = {9.01, 3.0, 1.0} as an example), the application processor determines that the duration of the RRC connection release timer needs to be adjusted. Since the current duration of the RRC connection release timer is already the maximum value in rrcTimerSetB = {9.01, 3.0, 1.0}, the application processor can choose not to send an AT command to the modem to set the RRC connection release timer duration, or it can send an AT command to the modem to set the RRC connection release timer duration to 9.01 seconds. Further, the application processor clears the counter value to zero to count the number of subsequently received data packets.
[0723] When the user cancels the split-screen mode of the phone via screen touch, closing the short video application B while the long video application A remains in the foreground, the application processor listens to this event. It determines that only the long video application A remains in the foreground, classifying it as an internet long video application. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group A corresponding to this application type and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01}. An AT command is sent to the modem to instruct it to set the RRC connection release timer's duration to the maximum duration of 10.0 seconds in rrcTimerSetA, thus adjusting the RRC connection release timer's duration from 9.01 seconds to 10.0 seconds. After the RRC connection release timer's duration is set, the timer begins counting with the set duration. Furthermore, the application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0724] When a user closes the long video application A, no foreground application is currently running on the phone. After the application processor detects the event of the long video application A being closed, it determines that there is no foreground application and therefore can maintain the current RRC connection release timer duration. Thus, the application processor does not need to send an AT command to the modem to set the RRC connection release timer duration. As an alternative in this situation (i.e., the application processor detects that there is no foreground application after the application is closed), the application processor can also send an AT command to the modem to set the RRC connection release timer to an invalid or inactive state. In the invalid or inactive state, the base station controls the release of the RRC connection between the phone and the base station (e.g., if there is no data transmission with the phone for 10 seconds, the base station releases the RRC connection). When an application is opened, the application processor sends an AT command to the modem to set the RRC connection release timer duration. This AT command can activate or enable the RRC connection release timer and set its duration to a target duration.
[0725] Scene 4
[0726] During mobile phone use, the system acquires data packet reception data of a long video application A running as a foreground application within a statistical duration (e.g., one hour). For example, it calculates the packet intervals of received data packets within this statistical duration to obtain packet interval distribution characteristics, and then uses these characteristics to... Figure 8 As shown, an RRC connection release timer duration set and a threshold group are learned. The newly learned RRC connection release timer duration set and threshold group will be configured to correspond to the RRC connection release timer duration set and threshold group of the application type to which the long video application A belongs.
[0727] The newly learned RRC connection release timer duration set and threshold group can be enabled after the phone is restarted, or after the long video application A and similar applications are closed, or after all foreground applications are closed.
[0728] For the application type to which the long video application A belongs, the currently used RRC connection release timer duration set is rrcTimerSetA1 = {10.0, 4.65, 2.16, 1.01}, and the currently used threshold group is A1 (ThHighA1, ThLowA1). The newly learned RRC connection release timer duration set is rrcTimerSetA2 = {10, 5, 2.5, 1.25}, and the currently used threshold group is A2 (ThHighA2, ThLowA2). Then, when all foreground applications on the phone are closed, the newly learned rrcTimerSetA2 = {10, 5, 2.5, 1.25} and threshold group A2 are enabled.
[0729] At this time, if the user clicks the icon of the long video application A on the mobile phone screen to launch the long video application A, and triggers the option of a movie in the user interface of the long video application A (for example, clicking the control in the form of a movie thumbnail to request the video data of the movie), the long video application A receives the event and sends TCP connection information to the application processor. The application processor sends an AT command to the modem based on the TCP connection information. The modem establishes an RRC connection with the base station based on the AT command.
[0730] The application processor determines that the current foreground application is application A, and that application A belongs to the internet long video application category. Based on this application type, it queries the lookup table shown in Table 3 to obtain the threshold group A2 corresponding to this application type and the RRC connection release timer duration set rrcTimerSetA2 = {10, 5, 2.5, 1.25}. It determines that the RRC connection release timer's duration needs to be set, and therefore sends an AT command to the modem to instruct the modem to set the RRC connection release timer's duration to the maximum duration of 10 seconds in the set rrcTimerSetA. After the RRC connection release timer's duration is set, the timer begins counting down to the set duration.
[0731] The application processor (AP) further activates a counter to count the number of received data packets in RRC connected state. During the operation of the long video application A, data sent from the network reaches the phone's modem, is demodulated by the modem, and then sent to the application processor (AP). The application processor (AP) plays this data in the video playback window of application A. During this process, the counter counts the number of data packets received by the phone.
[0732] After receiving movie video data from the network, the mobile phone caches it in the player's buffer and plays the cached video data in the video window of the long video application A. In the initial period after the RRC connection is established, due to good network performance, the amount of data in the player's buffer reaches a high capacity percentage (e.g., 90%) within a short time. The long video application A pauses sending video data download requests to the network, causing the network to stop sending video data to the mobile phone. When the mobile phone does not receive data from the network within 10 seconds, the RRC connection release timer times out. At this time, the mobile phone sends a request to the base station to release the RRC connection. The base station accepts the request and releases the RRC connection with the mobile phone. The application processor reads the counter value and determines that it is greater than ThLowA2 in the threshold group A2 corresponding to the long video application. Therefore, it determines that there is no need to adjust the RRC connection release timer duration and no need to send an AT command to the modem to set the RRC connection release timer duration. At this time, the RRC connection release timer duration remains 10 seconds. The application processor resets the counter to zero so that it can count the received packets after the RRC connection is re-established.
[0733] In the second time period following the release of the RRC connection, the amount of data in the player's buffer drops to a lower threshold (e.g., 40%). The long video application A sends a data transmission / reception request to the application processor, which then sends an AT command to the modem to trigger the modem to re-establish the RRC connection with the base station. Since the application processor does not detect any foreground / background switching or the opening of any new applications, it does not need to send an AT command to the modem to set the RRC connection release timer duration. Therefore, after the RRC connection is re-established, the RRC connection release timer duration on the phone remains 10 seconds.
[0734] In the third time period following the re-establishment of the RRC connection, the user clicks the pause button in the player window while watching a movie. Based on this user action, the long video application A pauses sending download requests to the network. Because the long video application A pauses sending download requests, the network no longer sends video data to the phone. The phone does not receive data packets for a period of time. When this duration reaches 10 seconds, the RRC connection release timer times out. The phone sends a request to the base station to release the RRC connection. The base station accepts the request and releases the RRC connection with the phone. The application processor reads the counter value and determines that it is less than ThLowA2 in threshold group A2 corresponding to long video applications. Therefore, it determines that the RRC connection release timer duration needs to be reduced. It selects 5 seconds from rrcTimerSetA2 = {10, 5, 2.5, 1.25} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 10 seconds, the largest duration value smaller than 10 seconds is selected from this set). An AT command is then sent to the modem to instruct the modem to set the RRC connection release timer duration to equal the target value of 5 seconds. After the RRC connection release timer duration is set, the timer begins counting with the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor can also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is re-established. Further, the application processor clears the counter to zero so that it can count received data packets after the RRC connection is re-established.
[0735] In the fourth time period following the release of the RRC connection, the user clicks the playback control button in the player window to resume normal playback from paused. Based on this user action, the long video application A sends an HTTP GET request to the application processor to retrieve video data. The application processor sends an AT command to the modem to re-establish the RRC connection with the base station. After the RRC connection is established, since the application processor does not detect any application foreground / background switching or new application launches, there is no need to adjust the RRC connection release timer duration; it remains at 5 seconds. The mobile phone receives video data from the network based on the download request. However, due to poor network performance, the phone does not receive data packets for a period of time. When this duration reaches 5 seconds, the RRC connection release timer expires, and the phone sends a request to the base station to release the RRC connection. The base station does not accept this request and maintains the RRC connection with the phone. The application processor reads the counter value and determines that it is less than ThLowA2 in threshold group A2 corresponding to long video applications. Therefore, it determines that the RRC connection release timer duration needs to be reduced. It selects 2.5 seconds from rrcTimerSetA2 = {10, 5, 2.5, 1.25} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 5 seconds, the largest duration value smaller than 5 seconds is selected from this set). An AT command is then sent to the modem to instruct it to set the RRC connection release timer duration to the target value of 2.5 seconds. After the RRC connection release timer duration is set, the timer begins counting with the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor can also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is re-established. Furthermore, the application processor clears the counter to zero so that it can count the received packets after the RRC connection is re-established.
[0736] In the fifth time period thereafter (i.e., after the RRC connection release timer expires and the timer duration is reduced to 2.5 seconds), the user clicks the control button to increase the playback speed. The long video application A sends a download request to the network side based on this user action event. The network side then sends the video data to the phone based on the download request sent by the phone. At this point, the network performance returns to a better state. Because the user clicked the control key to increase the playback speed, the phone requested a large amount of video data from the network, resulting in the phone receiving a large number of video data packets in a short period. When the counter value reached ThHighA2 in threshold group A2 corresponding to long video applications, the application processor determined that the duration of the RRC connection release timer needed to be increased. Therefore, it selected 5 seconds from rrcTimerSetA2 = {10, 5, 2.5, 1.25} as the target value for the RRC connection release timer duration (since the current RRC connection release timer duration is 2.5 seconds, the smallest of all duration values greater than 2.5 seconds was selected from this set), and sent an AT command to the modem to instruct the modem to set the RRC connection release timer duration to equal the target value of 5 seconds. After the RRC connection release timer duration was set, the timer started counting with the set duration. Furthermore, the application processor cleared the counter to zero so that it could count the received data packets after adjusting the RRC connection release timer duration.
[0737] In the sixth time period (i.e., after the RRC connection release timer is increased to 5 seconds as described above), the user returns to the home screen (i.e., the phone's desktop) via touch, thus switching the long video application A from the foreground to the background. At this time, there are no foreground applications on the phone. After the application processor detects the event of the long video application A switching from the foreground to the background, since no application has been switched to the foreground or opened, it determines to keep the current RRC connection release timer duration unchanged at 5 seconds, without sending an AT command to the modem to set the RRC connection release timer duration. Furthermore, the application processor can keep the counter counting the number of data packets received by the phone.
[0738] In the seventh time period following this (i.e., when the long video application A was switched to the background as described above), the user switches application A to the foreground via touch. After the application processor detects the event of the long video application A switching from the background to the foreground, it queries the lookup table shown in Table 3 according to the application type to obtain the threshold group A2 corresponding to the application type and the RRC connection release timer duration set rrcTimerSetA2 = {10, 5, 2.5, 1.25}. It determines that the RRC connection release timer's duration needs to be set, and therefore sends an AT command to the modem to instruct the modem to set the RRC connection release timer's duration to the maximum duration of 10 seconds in the set rrcTimerSetA2. After the RRC connection release timer's duration is set, the timer starts counting with the set duration. The application processor clears the counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer's duration.
[0739] In some embodiments of this application, the timing duration of the RRC connection release timer can be adjusted using the methods described above in the embodiments of this application, both when the phone screen is on and when the screen is off. Furthermore, when the phone screen is off, the application processor does not need to send an AT command to the modem to set the RRC connection release timer, thus ensuring that the timing duration of the RRC connection release timer remains unchanged. When the phone screen is on, the application processor does not need to send an AT command to the modem to set the timing duration of the RRC connection release timer, thus ensuring that the timing duration of the RRC connection release timer remains unchanged.
[0740] In some other embodiments of this application, as an alternative, when the phone screen is off, the application processor sends an AT command to the modem, causing the modem to set the RRC connection release timer duration to a fixed value (e.g., 2 seconds), and maintain this duration while the phone screen is off. When the phone screen is off and the RRC connection release timer times out, the phone sends a request to the base station to release the RRC connection between the base station and the phone. The base station can determine whether to accept the request based on data transmission needs. For example, if the base station determines that there is subsequent data to be sent to the phone, it will reject the request and maintain the RRC connection with the phone. When the phone screen is on (or after the screen is on and unlocked if a screen lock is set), the application processor determines that the RRC connection release timer duration needs to be adjusted. It determines the name of the current foreground application by calling the `topActivity.getPackageName()` function or other methods, queries the corresponding RRC connection release timer duration set based on the application type of the foreground application, and sends an AT command to the modem, causing the modem to set the RRC connection release timer duration to the maximum value in that set. After the RRC connection release timer's duration is set, the timer starts counting for the set duration. Furthermore, the application processor resets the counter to restart counting the number of received data packets, thereby enabling dynamic adjustment of the RRC connection release timer's duration using the method provided in this application embodiment when the phone screen is on.
[0741] The terminology used in the above embodiments is for the purpose of describing specific embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise. It should also be understood that in the embodiments of this application, "one or more" refers to one, two, or more; "and / or" describes the relationship between related objects, indicating that three relationships may exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0742] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0743] The methods provided in the embodiments of this application above are described from the perspective of an electronic device (e.g., a mobile phone) as the executing entity. To implement the functions of the methods provided in the embodiments of this application above, the terminal may include hardware structures and / or software modules, implementing the above functions in the form of hardware structures, software modules, or a combination of hardware structures and software modules. Whether a particular function is executed in the form of hardware structures, software modules, or a combination of hardware structures and software modules depends on the specific application and design constraints of the technical solution.
[0744] In the above embodiments, the terms "when..." or "after..." can be interpreted, depending on the context, as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, the phrases "when..." or "if (the stated condition or event) is detected" can be interpreted, depending on the context, as meaning "if...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)". Furthermore, in the above embodiments, relational terms such as "first" and "second" are used to distinguish one entity from another, without limiting any actual relationship or order between these entities.
[0745] In the above embodiments, implementat...
Claims
1. A Radio Resource Control (RRC) connection release control method, applied to a terminal, characterized in that, The terminal stores a timing duration of a first timer corresponding to a first type of application program, the timing duration of the first timer corresponding to the first type of application program includes at least two duration values, the first timer is a timer used when the terminal is in an RRC connected state, the first timer starts timing when the terminal is in the RRC connected state, the first timer resets when the terminal receives data sent by a network device, and the method further includes: When a first application program of the terminal runs to the foreground, the terminal determines an application type of the first application program; Determine whether the application type of the first application program belongs to a first application type; When the application type of the first application program belongs to the first application type, the terminal determines a first duration value from the at least two duration values as the timing duration of the first timer; Detecting a preset operation for the first application program, the terminal establishes an RRC connection with a network device; When the terminal establishes the RRC connection with the network device, the first timer starts timing; Statistical results, the timing duration of the first timer is adjusted; When the first timer times out, the terminal requests the network device to release the RRC connection.
2. A radio resource control (RRC) connection release control method, comprising: Comprise: When a first application program of the terminal runs in the foreground, determine that a timing duration of a first timer corresponding to the first application program is a first duration value, the first duration value is one of at least two duration values corresponding to the first application program, the first timer is a timer used when the terminal is in an RRC connected state, the first timer starts timing when the terminal is in the RRC connected state, and the first timer resets when the terminal and a network device exist information interaction; When a preset operation for the first application program is detected, the terminal establishes an RRC connection with a network device; When the terminal establishes the RRC connection with the network device, the first timer starts timing; Statistical results, the timing duration of the first timer is adjusted; When the first timer times out, the terminal requests the network device to release the RRC connection.
3. The method of claim 2, wherein, The information interaction includes at least one of the following cases: The terminal receives downlink data sent by the network device; The terminal receives downlink signaling sent by the network device; The terminal sends uplink data to the network device; The terminal sends uplink signaling to the network device.
4. The method of claim 2, wherein, The determination of the timing duration of the first timer corresponding to the first application program includes: Determine the timing duration of the first timer corresponding to the application type to which the first application program belongs.
5. The method of claim 4, wherein, The determination of the timing duration of the first timer corresponding to the application type to which the first application program belongs includes: If the application type to which the first application belongs is a first application type, a timing duration of the first timer is a timing duration corresponding to the first application type; If the application type to which the first application belongs is a second application type different from the first application type, the timing duration of the first timer is a timing duration corresponding to the second application type, and the timing duration corresponding to the second application type is the same as or different from the timing duration corresponding to the first application type.
6. The method of claim 2, wherein, The first application corresponds to at least two time length values, and the determination of the timing duration of the first timer corresponding to the first application includes: determining that the timing duration of the first timer is a first time length value in the at least two time length values. The adjustment of the timing duration of the first timer based on the statistical result includes: If the statistical result is greater than a first threshold, the timing duration of the first timer is increased from the first time length value to a second time length value; or If the statistical result is less than a second threshold after the terminal and the network device do not exist the information interaction within the timing duration of the first timer, the timing duration of the first timer is reduced from the first time length value to a third time length value; or If the statistical result is greater than a first threshold, the timing duration of the first timer is increased from the first time length value to a second time length value; if the statistical result is less than a second threshold after the terminal and the network device do not exist the information interaction within the timing duration of the first timer, the timing duration of the first timer is reduced from the first time length value to a third time length value, wherein the second threshold is less than or equal to the first threshold.
7. The method of claim 6, wherein, The second time length value is α times of the first time length value, the first time length value is α times of the third time length value, and α is a fixed value greater than 1.
8. The method of claim 6, wherein, If the statistical result is less than the second threshold, after the timing duration of the first timer is reduced from the first time length value to the third time length value, the method further includes: The terminal reenters the RRC connected state, the first timer starts timing, and the timing duration of the first timer is the third time length value; When the terminal and the network device exist information interaction, the first timer is reset; When the first timer times out, the terminal requests the network device to release the RRC connection.
9. The method of any one of claims 2-8, wherein, After the determination of the timing duration of the first timer corresponding to the first application, the method further includes: The first module of the terminal sends a first instruction to the second module of the terminal, and the first instruction carries indication information used to indicate the timing duration of the first timer; The second module sets the timing duration of the first timer of the terminal according to the indication information.
10. The method of claim 9, wherein, The first module includes an application processor of the terminal, and the second module includes a modem of the terminal.
11. The method of any one of claims 2-8, wherein, The first application remains running in the foreground.
12. The method of any one of claims 2-8, wherein, The first timer has a first time length value at a first time when the first application is run, and has a fourth time length value at a second time when the first application is run, the first time length value being different from the fourth time length value.
13. The method of claim 2, wherein, The first time length value is a maximum value of the at least two time length values; and / or, the first time length value is less than or equal to a time length of an inactivity timer configured on a network device.
14. A radio resource control (RRC) connection release control method, comprising: receiving a connection release message from a base station; and sending a connection release complete message to the base station. The method comprises: counting a data transmission amount of the terminal when the terminal is in an RRC connected state; adjusting a time length of a first timer of the terminal based on the counting result, and requesting a network device to release an RRC connection of the terminal when a counting value of the first timer exceeds the adjusted time length; The first timer is a timer used by the terminal when the terminal is in the RRC connected state; the first timer starts counting when the terminal is in the RRC connected state, and is reset when the terminal receives data sent by the network device; and the time length of the first timer is set to a first time length value corresponding to a first application type in a case where a first application of the terminal runs to the foreground and the application type of the first application belongs to the first application type.
15. The method of claim 14, wherein, The method further comprises resetting the first timer when at least one of the following conditions is met: the terminal receives downlink data; the terminal receives downlink signaling; the terminal sends uplink data; the terminal sends uplink signaling.
16. The method of claim 14, wherein, The adjusting of the time length of the first timer based on the counting result comprises: if the counting result is greater than a first threshold, increasing a value of the time length of the first timer from a first time length value to a second time length value; if the counting value of the first timer exceeds the time length and the counting result is less than a second threshold, decreasing the value of the time length of the first timer from the first time length value to a third time length value, the second threshold being less than or equal to the first threshold.
17. The method of claim 16, wherein, The increasing of the value of the time length of the first timer from the first time length value to the second time length value if the counting result is greater than the first threshold comprises: if the counting result is greater than the first threshold when the first timer expires, increasing the value of the time length of the first timer from the first time length value to the second time length value; or if the counting result is greater than the first threshold when the terminal is in the RRC connected state, increasing the value of the time length of the first timer from the first time length value to the second time length value.
18. The method of claim 16, wherein, The second time length value is a times of the first time length value, the first time length value is a times of the third time length value, and a is a fixed value greater than 1.
19. The method of claim 16, wherein, The method further comprises: obtaining the first threshold and the second threshold corresponding to an application type to which an application running in the foreground belongs; or obtaining the first threshold and the second threshold commonly used.
20. The method of any one of claims 14-19, wherein, The adjusting of the time length of the first timer of the terminal comprises: The first module of the terminal sends an instruction to a second module of the terminal, the instruction carrying timing duration indication information for indicating the first timer, wherein the first module is an application processor and the second module is a modem; The second module sets the timing duration of the first timer according to the indication information.
21. The method of claim 20, wherein, The indication information further carries indication information for indicating whether the terminal enters an idle state or an inactive state after RRC connection release.
22. The method of any one of claims 14-19, wherein, The statistical result includes at least one of the following: The number of received data packets; The data volume of received data; The throughput rate of received data; The bit rate of received data.
23. A communications device, characterized by The apparatus includes at least one processor connected with a memory, the at least one processor being configured to read and execute a program stored in the memory, so that the apparatus performs the method of any one of claims 1 or 2-13 or 14-22.
Citation Information
Patent Citations
Method and apparatus for managing terminals
US20140293857A1