The method of releasing the radio resource control (RRC) connection and the communication device.
Patent Information
- Application Number
- VN1202303370
- Authority / Receiving Office
- VN · VN
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-20
- Filing Date
- 2021-09-28
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2041-09-28
AI Technical Summary
In the existing technology, when the terminal releases the RRC connection when communication is not required, the timing length of the inactivity timer is a fixed value, resulting in high power consumption of the terminal.
Set multiple timer duration values in the terminal, dynamically adjust the release duration of the RRC connection according to the type of application and data transmission characteristics, and control the release of the RRC connection by timing and resetting the first timer.
By dynamically adjusting the release duration of the RRC connection, the power consumption of the terminal is reduced, the resource utilization efficiency is improved, and the increase in power consumption caused by releasing the connection too early or too late is avoided.
Smart Images

Figure VN1202303370_0
Abstract
Description
RRC connection release control method and device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on October 30, 2020, with application number 202011194036.X and application name “RRC connection release method and device”, the entire contents of which are incorporated by reference into this application; this application claims priority to the Chinese patent application filed with the China Patent Office on November 20, 2020, with application number 202011315017.8 and application name “RRC connection release control method and device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of mobile communication technologies, and in particular to an RRC connection release control method and apparatus. Background Art
[0004] With the rapid development of the Internet, more and more terminals need to communicate with network devices. Before a terminal can communicate with a network device, it must first establish a radio resource control (RRC) connection with the network device. When communication between the terminal and the network device is no longer needed, the RRC connection can be released.
[0005] When a terminal has data to transmit, it establishes an RRC connection with the network device. After the data transmission is completed, the network device can release the RRC connection with the terminal. The network device can release the RRC connection with the terminal when the inactive timer configured by the network device for the terminal expires. The timing length of the inactive timer is a fixed value, such as 10 seconds.
[0006] Since the timing duration of the inactivity timer is a fixed value, it may cause high power consumption of the terminal.
[0007] Summary of the Invention
[0008] Embodiments of the present application provide an RRC connection release control method and apparatus to reduce the power consumption of a terminal.
[0009] In a first aspect, an RRC connection release control method is provided, applied to a terminal, wherein the terminal stores a timing duration of a first timer corresponding to a first type of application, the timing duration of the first timer corresponding to the first type of application includes at least two duration values, and the first timer is a timer used when the terminal is in an RRC connected state. When the terminal is in the RRC connected state, the first timer starts timing, and when the terminal receives data sent by the network device, the first timer is reset. The method further includes:
[0010] When a first application of a terminal runs in the foreground, the terminal determines an application type of the first application;
[0011] determining whether the application type of the first application belongs to the first application type;
[0012] When the application type of the first application belongs to the first application type, the terminal determines a first duration value from the at least two duration values as a timing duration of the first timer;
[0013] Upon detecting a preset operation for the first application, the terminal establishes an RRC connection with a network device;
[0014] When the terminal establishes the RRC connection with the network device, the first timer starts timing;
[0015] When the timing value of the first timer exceeds the first duration value, the terminal requests the network device to release the RRC connection.
[0016] For video applications, the preset operation may be to play a video; for game applications, the preset operation may be to click to start. The preset operation is used to request data, and any operation that requests data is considered a preset operation.
[0017] In the above design, a first timer is set in the terminal. The first timer is a timer used when the terminal is in an RRC connection state. When the terminal is in the RRC connection state, the first timer starts timing. When the terminal receives data sent by the network device, the first timer is reset, and the release of the RRC connection is controlled by the first timer. When a first application of the terminal (the first application belongs 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 to which the first application belongs 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 RRC connection of the terminal. Since the timing duration of the first timer is set according to the duration value corresponding to the application type to which the first application belongs, 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, thereby controlling the release of the RRC connection according to the data transmission status of the first application, thereby saving power consumption of the terminal.
[0018] In a second aspect, a RRC connection release control method is provided, including:
[0019] When a first application of the terminal is running in the foreground, determining a timing duration of a first timer corresponding to the first application, where the first timer is a timer used when the terminal is in an RRC connected state. When the terminal is in the RRC connected state, the first timer starts timing, and when the terminal interacts with a network device, the first timer is reset;
[0020] When a preset operation for the first application is detected, the terminal establishes an RRC connection with the network device;
[0021] When the terminal establishes the RRC connection with the network device, the first timer starts timing;
[0022] When the timing value of the first timer exceeds the timing duration, the terminal requests the network device to release the RRC connection.
[0023] In the above design scheme, a first timer is set in the terminal. The first timer is a timer used when the terminal is in the RRC connection state. When the terminal is in the RRC connection state, the first timer starts timing. When the terminal receives data sent by the network device, the first timer is reset, and the RRC connection release is controlled by the first timer. When the first application of the terminal 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 (that is, the timing value of the first timer exceeds the timing duration), the terminal requests the network device to release the RRC connection of the terminal. 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 application running in the foreground, so that the RRC connection release can be controlled according to the data transmission situation of the first application, thereby saving the power consumption of the terminal.
[0024] In one possible design, the information interaction includes at least one of the following situations:
[0025] The terminal receives downlink data sent by the network device;
[0026] The terminal receives downlink signaling sent by the network device;
[0027] The terminal sends uplink data to the network device;
[0028] The terminal sends uplink signaling to the network device.
[0029] In the above design scheme, when the first timer is running, if there is information interaction between the terminal and the network device (such as receiving downlink data or signaling, or sending uplink data or signaling), the first timer is reset, so that the RRC connection release can be controlled based on the first timer.
[0030] In one possible design, determining a timing duration of a first timer corresponding to the first application includes:
[0031] Determine a timing duration of a first timer corresponding to an application type to which the first application belongs.
[0032] In the above design scheme, since applications belonging to 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 the applications belonging to the same application type is the same. In this way, the RRC connection release can be controlled based on the same timing duration for applications belonging to the same application type.
[0033] In one possible design, determining the timing duration of the first timer corresponding to the application type to which the first application belongs includes:
[0034] If the application type to which the first application belongs is the first application type, the timing duration of the first timer is the timing duration corresponding to the first application type;
[0035] If the application type to which the first application belongs is a second application type different from the first application type, the timing length of the first timer is the timing length corresponding to the second application type, and the timing length corresponding to the second application type is the same as or different from the timing length corresponding to the first type.
[0036] In the above design scheme, since applications belonging to different application types usually have different data transmission characteristics, different timing durations are set for different application types. The timing duration of the first timer can be set based on different timing durations according to the data transmission characteristics of applications belonging to different application types, so that RRC connection release control is performed based on the first timer, so that the RRC connection release control is adapted to the transmission characteristics of the application running in the foreground, thereby saving power consumption of the terminal.
[0037] In one possible design, after determining the timing duration of the first timer corresponding to the first application, the method further includes:
[0038] Collecting statistics on the amount of data transmitted by the terminal in the RRC connected state;
[0039] Based on the statistical result, the timing duration of the first timer is adjusted.
[0040] In the above design scheme, the timing duration of the first timer is adjusted based on the statistical results of the data transmission volume, so that the timing duration of the first timer is dynamically adjustable. In this way, the timing duration of the first timer can 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.
[0041] In one possible design, the first application corresponds to at least two duration values, and determining the timing duration of a first timer corresponding to the first application includes: determining the timing duration of the first timer to be a first duration value of the at least two duration values;
[0042] The adjusting of the timing duration of the first timer based on the statistical result 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, when there is no information interaction between the terminal and the network device within the timing duration of the first timer, if the statistical result is less than the second threshold, reducing 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 the first threshold, increasing the timing duration of the first timer 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 of the first timer, if the statistical result is less than the second threshold, reducing the timing duration of the first timer from the first duration value to the third duration value, wherein the second threshold is less than or equal to the first threshold.
[0043] In the above design, 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 premature release of the RRC connection, thereby saving power consumption of the terminal. 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 late release of the RRC connection, thereby saving power consumption of the terminal.
[0044] 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 multiple relationship between the second, first, and third duration values, when adjusting the timing duration value, a gradual increase or decrease can be achieved to avoid excessive adjustment.
[0045] In one possible design, if the statistical result is less than the second threshold, after reducing the timing duration of the first timer from the first duration value to a third duration value, the method further includes:
[0046] The terminal re-enters the RRC connected state, and the first timer starts timing, and the timing duration of the first timer is the third duration value;
[0047] When the terminal interacts with the network device, the first timer is reset;
[0048] When the timing value of the first timer exceeds the timing duration, the terminal requests the network device to release the RRC connection.
[0049] In one possible design, after determining the timing duration of the first timer corresponding to the first application, the method also 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 for indicating 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.
[0050] In one possible design, the first module includes an application processor of the terminal, and the second module includes a modem of the terminal.
[0051] In one possible design, the first application remains running in the foreground.
[0052] In one possible design, when the first application of the terminal is running in the foreground, the timing duration of the first timer corresponding to the first application is determined, including: when the first application runs to the foreground, the timing duration of the first timer corresponding to the first application is determined, wherein, when the first application is run at the first time, the value of the timing duration is the first duration value, and when the first application is run at the second time, the value of the timing duration is the fourth duration value, and the first duration value is different from the fourth duration value.
[0053] In the above design, the timing duration of the first timer corresponding to the first application can be updated, so that at different times, when the first application runs to the foreground, the timing duration corresponding to the first application is different. 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 of the first application while running in the foreground, so that the timing duration of the first timer is adapted to the data transmission characteristics of the first application.
[0054] 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 of 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.
[0055] In the above design scheme, on the one hand, when the first application is run in the foreground, the timing duration of the first timer is set to the maximum value 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 relatively 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, so that the adjustment range of the timing duration of the first timer can reach the timing duration of the inactive timer configured by default on the network device, so that the performance of the terminal (such as power consumption and / or delay) can at least be on par with the performance on the network side.
[0056] In a third aspect, a RRC connection release control method is provided, including:
[0057] When a first application of the terminal is running in the foreground, determining a timing duration corresponding to the first application;
[0058] Determining whether there is information interaction between the terminal and the network device within the timing period;
[0059] If the information interaction does not exist, the terminal requests the network device to release the RRC connection of the terminal.
[0060] In the above design, the terminal determines whether there is information interaction with the network device within the timer duration. If no information interaction occurs, the terminal requests the network device to release the terminal's RRC connection. Therefore, the timer duration is used to control the release of the RRC connection. While the first application is running in the foreground, the timer duration corresponding to the first application is set so that the timer duration used to control the release of the RRC connection is adapted to the application running in the foreground. This allows the RRC connection release to be controlled based on the data transmission status of the first application, thereby saving power consumption of the terminal.
[0061] In one possible design, the information interaction includes at least one of the following situations:
[0062] The terminal receives downlink data sent by the network device;
[0063] The terminal receives downlink signaling sent by the network device;
[0064] The terminal sends uplink data to the network device;
[0065] The terminal sends uplink signaling to the network device.
[0066] In the above design scheme, in the downlink direction, if the terminal does not receive any data or signaling sent by the network device within the timing period, the terminal may request the network device to release the RRC connection to reduce the terminal power consumption; in the uplink direction, if the terminal does not send any data or signaling to the network device within the timing period, the terminal may request the network device to release the RRC connection to reduce the terminal power consumption.
[0067] In one possible design, the method further includes: if the terminal and the network device have information interaction within the timing duration, re-execute the following steps with the time when the terminal has the information interaction as the starting point:
[0068] Determining whether there is information interaction between the terminal and the network device within the timing period;
[0069] If the information interaction does not exist, the terminal requests the network device to release the RRC connection of the terminal.
[0070] In the above design scheme, if there is information interaction between the terminal and the network device, the timing is restarted with the time when the current information interaction occurs as the starting point to determine whether there is information interaction between the terminal and the network device within the timing duration of the restarted timing, so that the network device is requested to release the RRC connection only when there is no information interaction between the terminal and the network device and the situation lasts for the timing duration. In this way, the data transmission of the first application can be guaranteed while saving the terminal power consumption by requesting the release of the RRC connection.
[0071] 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.
[0072] In one possible design, determining the timing duration corresponding to the application type to which the first application belongs includes:
[0073] If the application type to which the first application belongs is the first application type, the timing duration is the timing duration corresponding to the first application type;
[0074] If the application type to which the first application belongs is a second application type different from the first application type, the timing duration is the 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 type.
[0075] In the above design scheme, since applications belonging to different application types usually have different data transmission characteristics, different timing durations are set for different application types. RRC connection release control can be performed based on different timing durations according to the data transmission characteristics of applications belonging to different application types, so that the 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.
[0076] 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.
[0077] In the above design, since the number of possible timer durations corresponding to the application type is at least two (i.e., two or more), a timer duration value can be selected from these values for RRC connection release control, thereby increasing the flexibility of RRC connection release control. Furthermore, this design can support the following solution: based on the specific circumstances of data transmission, a duration value that matches the current situation is selected from the at least two duration values to further save terminal power consumption.
[0078] 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 the first duration value among the at least two duration values as the value of the timing duration.
[0079] In the above design scheme, since different applications usually have different data transmission characteristics, different timing duration values are set for different applications. RRC connection release control can be performed based on different timing duration values according to the data transmission characteristics of different applications, so that the 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.
[0080] In one possible design, determining the timing duration corresponding to the first application includes: determining that a value of the timing duration is a first duration value corresponding to the first application;
[0081] After determining that the timing duration corresponding to the first application is the first duration value, the method also 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.
[0082] In the above design, the terminal can count data transmissions and adjust the timing duration for RRC connection release control based on the statistical results, thereby dynamically adjusting the duration for RRC connection release control based on the data transmission situation, thereby saving terminal power consumption. The phrase "counting data transmissions of the terminal in the RRC connected state" means counting data transmissions within the time period from the time the terminal enters the RRC connected state to the time the RRC connection is released (the terminal is in the RRC connected state during this time period).
[0083] In one possible design, after the value of the timing duration is adjusted, the method also includes: determining whether there is information interaction between the terminal and the network device within the timing duration after the value adjustment; if there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal.
[0084] In the above design scheme, after adjusting the value of the timing duration, the terminal determines whether there is information interaction between the terminal and the network device within the adjusted timing duration based on the adjusted timing duration, and when there is no information interaction, requests the network device to release the RRC connection of the terminal, thereby realizing RRC connection release control based on the dynamically adjusted timing duration.
[0085] In one possible design, adjusting the value of the timing duration based on the statistical result includes:
[0086] 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. In this case, increasing the value of the timing duration can reduce the probability of premature release of the RRC connection, thereby saving power consumption of the terminal.
[0087] Alternatively, when there is no information interaction between the terminal and the network device within the timing duration (the value of 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 reduced from the first duration value to a third duration value; wherein, if the statistical result of the data transmission is less than the second threshold, it indicates that the data transmission and reception are sparse. In this case, reducing the value of the timing duration can reduce the probability of releasing the RRC connection too late, thereby saving power consumption of the terminal;
[0088] 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 within the timing duration (the value of the timing duration is the first duration value), there is no information interaction between the terminal and the network device, if the statistical result is less than the second threshold, the value of the timing duration is reduced from the first duration value to a third duration value, wherein the second threshold is less than or equal to the first threshold.
[0089] 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 multiple relationship between the second, first, and third duration values, when adjusting the timing duration value, a gradual increase or decrease can be achieved to avoid excessive adjustment.
[0090] In one possible design, if the statistical result is less than the second threshold, then after reducing the first duration value to a third duration value, the method also includes: the terminal re-enters the RRC connection state; determines whether there is information interaction between the terminal and the network device within the timing duration, and the value of the timing duration is the third duration value; if there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal.
[0091] In the above design scheme, after the value of the timing duration is adjusted to the third duration value, if the RRC connection is released and then the RRC connection is re-established, and the first application has been running in the foreground (such as the first application has not been closed or switched to the background), the RRC connection release is still controlled based on the adjusted third duration value. In other scenarios, after the value of the timing duration is adjusted to the third duration value, if the first application is switched from the foreground to the background and then switched to the foreground again, the terminal determines that the timing duration value corresponding to the application type to which the first application belongs is the first duration value, and after the terminal re-establishes the RRC connection, the RRC connection release is controlled based on the first duration value.
[0092] 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 the 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.
[0093] In one possible design, after reducing the timing duration from the first duration value to a third duration value, after the terminal re-enters the RRC connected state, the method further includes:
[0094] Performing statistics on data transmission of the terminal in the RRC connected state to obtain statistical results;
[0095] If the statistical result is greater than the first threshold, it indicates that data transmission and reception are relatively intensive. In this case, increasing the timing duration from the third duration to the first duration can reduce the probability of premature release of the RRC connection, thereby saving power consumption of the terminal;
[0096] If there is no information interaction between the terminal and the network device within the timing duration, 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 relatively sparse. In this case, the value of the timing duration is reduced from the third duration value to the fourth duration value, which can reduce or avoid the probability of releasing the RRC connection too late, thereby saving power consumption of the terminal.
[0097] In one possible design, after reducing the first duration value to a third duration value, the method further includes: if information interaction occurs between the terminal and the network device within the timing duration valued at the third duration value, re-performing the following steps with the time when the information interaction occurs at the terminal as the starting point:
[0098] Determine whether there is information interaction between the terminal and the network device within the timing duration whose value is the third duration value; if there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal.
[0099] In the above design scheme, after the first duration value is reduced to the third duration value, if there is information interaction between the terminal and the network device, the timing is restarted with the time when the current information interaction occurs as the starting point to determine whether there is information interaction between the terminal and the network device within the restarted timing duration, so that the network device is requested to release the RRC connection only when there is no information interaction between the terminal and the network device and the situation lasts for a duration reaching the timing duration, thereby ensuring the data transmission of the first application while saving the terminal power consumption by requesting the release of the RRC connection.
[0100] In one possible design, after determining the timing duration corresponding to the first application, the method also 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 for indicating the timing duration; the second module sets the timing duration of the first timer of the terminal to the value of the timing duration according to the indication information.
[0101] Furthermore, the determination of whether the information interaction exists between the terminal and the network device within the timing period includes: determining whether the information interaction exists between the terminal and the network device during the operation of the first timer, wherein if the information interaction exists between the terminal and the network device during the operation of the first timer, the first timer is reset.
[0102] In the above design, a first timer is used to control the release of the RRC connection, thereby reducing the technical implementation difficulty. The first module sends an instruction to the second module, causing the second module to set the timing duration of the first timer to the value of the timing duration, so that the first timer counts according to the timing duration. If information is exchanged with a network device during the operation of the timer, the first timer is reset, thereby enabling the control of the RRC connection release based on the first timer.
[0103] In one possible design, after determining the timing duration corresponding to the first application, the method also 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, and the second instruction is used to instruct the second module to request the network device to release the RRC connection.
[0104] In the above design scheme, the first module determines whether the terminal and the network device have the information interaction within the timing period, and when it is determined that the information interaction does not exist, an instruction is sent to the second module to instruct the second module to request the network device to release the RRC connection, thereby realizing control of the RRC connection release.
[0105] In one possible design, the first module includes an application processor of the terminal, and the second module includes a modem of the terminal. Controlling the RRC connection release by sending an instruction from the application processor to the modem is technically simple to implement, compatible with the terminal's hardware architecture, and having little impact on the terminal's structure.
[0106] In one possible design, after determining the timing duration corresponding to the first application, the method further includes:
[0107] In response to the first application being closed or switched to the background;
[0108] Determine whether there is an application running in the foreground;
[0109] If there is no application running in the foreground, the duration of the timing is kept unchanged;
[0110] If there is an application running in the foreground, the timing duration is updated to the timing duration corresponding to the application running in the foreground.
[0111] In the above design scheme, after determining the timing duration corresponding to the first application, if the first application is closed or switched to the background, it is determined whether there is an application running in the current foreground. If not, the duration value of the timing duration is kept unchanged to simplify 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 to reduce terminal power consumption.
[0112] In one possible design, when the first application of the terminal is running in the foreground, the timing duration corresponding to the first application is determined, including: when the first application runs to the foreground, the timing duration corresponding to the first application is determined, when the first application is run at the first time, the value of the timing duration is the first timing value; when the first application is run at the second time, the value of the timing duration is the fifth duration value, and the first timing value is different from the fifth duration value.
[0113] 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 can be dynamically adjusted.
[0114] 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 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 the inactivity timer configured on the network device.
[0115] In the above design scheme, on the one hand, when the first application is run in the foreground, the timing duration is set to the maximum value 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 relatively 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, so that the adjustment range of the timing duration used to control the release of the RRC connection can reach a maximum of the timing duration of the inactive timer configured by default on the network device, so that the performance of the terminal (such as power consumption and / or delay) can at least be on par with the performance on the network side.
[0116] In a fourth aspect, a RRC connection release control method is provided, including:
[0117] When the terminal is in an RRC connected state, collecting statistics on the data transmission volume of the terminal;
[0118] Based on the statistical results, the timing duration of the first timer of the terminal is adjusted, where the first timer is a timer used when the terminal is in an 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.
[0119] In the above design scheme, the timing duration of the first timer is adjusted based on the statistical results of the data transmission volume, so that the timing duration of the first timer is dynamically adjustable. In this way, the timing duration of the first timer can 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.
[0120] In one possible design, the method further includes resetting the first timer when at least one of the following conditions is met:
[0121] The terminal receives downlink data;
[0122] The terminal receives downlink signaling;
[0123] The terminal sends uplink data;
[0124] The terminal sends uplink signaling.
[0125] The resetting of the first timer means that the first timer starts timing again.
[0126] In one possible design, the data transmission volume of the terminal includes: the data transmission volume of the application running in the foreground, and / or the data transmission volume of the application running in the background.
[0127] In the above design scheme, if there is an application running in the foreground, the data transmission of the application running in the foreground can be further counted, and the first timer can be adjusted based on the statistical results of the data transmission volume of the application running in the foreground, so that the timing duration of the first timer is adapted to the application running in the foreground; further, when there is a background application running, the data transmission volume of the application running in the background can be further counted, and the timing duration of the first timer can be adjusted based on the statistical results of the data transmission volume of the applications running in the foreground and background, so that the timing duration of the first timer is adapted to the applications running in the foreground and background.
[0128] In one possible design, adjusting the timing duration of the first timer based on the statistical result includes:
[0129] 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 amount 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 premature release of the RRC connection, thereby saving power consumption of the terminal;
[0130] 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 a third duration value, and the second threshold is less than or equal to the first threshold; wherein, if the statistical result of the data transmission volume is less than the second threshold, it indicates that data transmission and reception are relatively 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 power consumption of the terminal.
[0131] In one possible design, 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, including: when the timing value of the first timer exceeds the timing duration, 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. In this case, when the timing value of the first timer exceeds the timing duration (that is, 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. In response to this situation, the timing duration of the first timer is increased. Regardless of whether the request for releasing the RRC connection submitted by the terminal to the network device is accepted, the first timer can be timed based on the adjusted second duration value, thereby reducing the probability of premature release of the RRC connection, thereby saving power consumption of the terminal;
[0132] In one possible design, if the statistical result is greater than the first threshold, the value of the timing duration of the first timer is increased from the first duration value to the second duration value, including: when the terminal is in the RRC connection state, if the statistical result is greater than the first threshold, the value of the timing duration of the first timer is increased from the first duration value to the second duration value. In this case, if the statistical result of the data transmission volume is greater than the first threshold in the RRC connection state, it indicates that the data transmission and reception is relatively intensive. In this case, increasing the timing duration of the first timer can reduce the probability of premature release of the RRC connection, thereby saving power consumption of the terminal.
[0133] In one possible design, the method also 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.
[0134] 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: determining the minimum 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: determining the maximum value less than the first duration value among the at least two duration values as the third duration value.
[0135] The above design solution can gradually increase or decrease the timing duration of the first timer to avoid excessive adjustment.
[0136] 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, based on the application type to which the application running in the foreground belongs, obtaining the at least two duration values corresponding to the application type.
[0137] 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, and then the RRC connection release 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.
[0138] In one possible design, the method also 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 in the above case, the timing duration of the first timer can still be dynamically adjusted.
[0139] In one possible design, if the applications running in the foreground include at least two applications, then obtaining the at least two duration values corresponding to the application types according to the application types to which the applications running in the foreground belong includes: obtaining the at least two duration values corresponding to the application types according to the application type to which the first application belongs. The first application is a high-priority application among the at least two applications; or, among the at least two applications, the maximum value of the at least two duration values corresponding to the application type to which the first application belongs is not less than the maximum value of the at least two duration values corresponding to the application types to which the other applications belong.
[0140] In the above design scheme, when there is more than one application running in the foreground, the timing 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, data transmission of high-priority applications can be prioritized.
[0141] In one possible design, the at least two duration values are arranged in order from largest to smallest or from smallest to largest, and of two adjacent duration values, the larger duration value is α times the smaller duration value, where α is a fixed value greater than 1. Due to the multiple relationship between the different duration values, when adjusting the timing duration of the first timer, a gradual increase or decrease can be achieved to avoid excessive adjustment.
[0142] In one possible design, the maximum value of the at least two duration values is less than or equal to the timing duration of the inactivity timer configured on the network device, so that the adjustment range of the timing duration of the first timer can reach a maximum of the timing duration of the inactivity timer configured by default on the network device, so that the behavior of the terminal will not conflict with the behavior of the network device.
[0143] In one possible design, the method further includes: obtaining the first threshold and the second threshold corresponding to the application type according to the application type to which the application running in the foreground belongs; or obtaining the universal first threshold and the second threshold.
[0144] In the above design scheme, the first threshold and the second threshold corresponding to the application type are obtained according to the application type of the application running in the foreground, and the obtained first threshold and second threshold are used to judge 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.
[0145] In one possible design, the method also 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 application running in the foreground belongs, then the general first threshold and the second threshold are obtained to determine whether it is necessary to adjust the timing duration of the first timer, so that in the above case, the timing duration of the first timer can still be dynamically adjusted.
[0146] In one possible design, if the application running in the foreground includes at least two applications, obtaining the first threshold and the second threshold corresponding to the application type according to the application type to which the application running in the foreground belongs includes:
[0147] According to the application type to which the first application belongs, acquiring the first threshold and the second threshold corresponding to the application type;
[0148] Among them, the first application is an application with a high priority among the at least two applications; or, among the at least two applications, the maximum value of at least two duration values corresponding to the application type to which the first application belongs is not less than the maximum value of at least two duration values corresponding to the application type to which other applications belong.
[0149] In the above design scheme, when there is more than one application running in the foreground, the timing duration of the first timer can be adjusted according to the first threshold and the second threshold corresponding to the application with the highest priority 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 prioritized.
[0150] In one possible design, the method further includes:
[0151] Statistics are collected on data transmission when the first application is running in the foreground during the statistical period to obtain a data packet interval distribution characteristic, where the data packet interval distribution characteristic is used to characterize the density of data packets;
[0152] Generate N groups of candidate durations, each group of candidate durations including at least two duration values, where N is an integer greater than or equal to 1;
[0153] Determining, according to the data packet interval distribution characteristic, M groups of candidate thresholds, each group of candidate thresholds in the M groups of candidate thresholds includes a first threshold and a second threshold, and M is an integer greater than or equal to 1;
[0154] Combining the N groups of candidate durations with the M groups of candidate thresholds respectively to obtain K candidate combinations, each candidate combination including a group of candidate durations and a group of candidate thresholds, where K is an integer greater than or equal to 2;
[0155] Based on the data packet interval distribution characteristics, each candidate combination in the K candidate combinations is used to simulate adjusting the timing duration of the first timer to obtain an RRC connection release statistical result corresponding to each candidate combination;
[0156] According to the RRC connection release statistics corresponding to 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 and the first threshold and the second threshold corresponding to the application type to which the first application belongs.
[0157] In the above design scheme, based on the transmission data of the first application when it runs as a foreground application within the statistical length as sample data, the data packet interval distribution characteristics are obtained, and N groups of candidate durations and M groups of candidate thresholds are combined. For each candidate combination obtained by the combination, according to the data packet interval distribution characteristics, the timing duration of the first timer is simulated and adjusted to obtain the RRC connection release statistical results corresponding to each candidate combination, thereby obtaining the optimal combination, and then obtaining a group of durations and a group of thresholds corresponding to the application type to which the first application belongs, so that at least two duration values corresponding to the first application or the application type to which the first application belongs and the first threshold and the second threshold are adapted to the data packet interval distribution characteristics of the first application.
[0158] In one possible design, selecting the optimal candidate combination according to the RRC connection release statistics corresponding to each candidate combination includes:
[0159] Determine, according to the RRC connection release duration and the duration in the RRC non-connected state corresponding to each candidate combination, the false release rate corresponding to each candidate combination and the proportion of the RRC non-connected state duration to the statistical duration, where the false release rate indicates the proportion of the number of false releases to the number of random accesses;
[0160] A first candidate combination is selected from the K candidate combinations, where the false release rate corresponding to the first candidate combination is less than a set threshold, and the RRC non-connected state duration accounts for the largest proportion of the statistical duration.
[0161] In the above design scheme, since the false release rate corresponding to the optimal candidate combination is less than the set threshold, and the RRC non-connected state duration accounts for the largest proportion of the statistical duration, under the same conditions, the optimal candidate combination is used to control the RRC connection release, and its power consumption saving effect is not lower than that of other candidate combinations.
[0162] In one possible design, the method further includes:
[0163] Statistics are collected on data transmission when the first application is running in the foreground during the statistical period to obtain a data packet interval distribution characteristic, where the data packet interval distribution characteristic is used to characterize the density of data packets;
[0164] Generate N groups of candidate durations, each group of candidate durations including at least two duration values, where N is an integer greater than or equal to 1;
[0165] Determining, according to the data packet interval distribution characteristic, M groups of candidate thresholds, each group of candidate thresholds in the M groups of candidate thresholds includes a first threshold and a second threshold, and M is an integer greater than or equal to 1;
[0166] Combining the N groups of candidate durations with the M groups of candidate thresholds respectively to obtain K candidate combinations, each candidate combination including a group of candidate durations and a group of candidate thresholds, where K is an integer greater than or equal to 2;
[0167] Determining a Markov state transition probability matrix corresponding to each candidate combination according to the packet interval distribution characteristics and each candidate combination;
[0168] Determining, according to the Markov state transition probability matrix corresponding to each candidate combination, a value of an objective function for evaluating the optimal candidate combination, where the value of the objective function is used to indicate a duration during which the terminal is in the RRC connected state or the RRC unconnected state within the statistical duration;
[0169] 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 and the first threshold and the second threshold corresponding to the application type described by the first application are obtained.
[0170] In the above design scheme, based on the transmission data of the first application when it runs as a foreground application within the statistical length as sample data, the data packet interval distribution characteristics are obtained, and N groups of candidate durations and M groups of candidate thresholds are combined. For each candidate combination obtained by the combination, the Markov state transition probability matrix corresponding to each candidate combination is determined respectively according to the data packet interval distribution characteristics, and the value of the objective function used to evaluate the optimal candidate combination is determined according to the Markov state transition probability matrix corresponding to each candidate combination, so as to obtain the optimal combination, and then obtain a group of durations and a group of thresholds corresponding to the application type to which the first application belongs, so that at least two duration values corresponding to the first application or the application type to which the first application belongs and the first threshold and the second threshold are adapted to the data packet interval distribution characteristics of the first application.
[0171] In one possible design, generating N groups of candidate durations includes generating the N groups of candidate durations according to preset rules.
[0172] In one possible design, adjusting the timing duration of the first timer of the terminal includes:
[0173] The first module of the terminal sends an instruction to the second module of the terminal, where the instruction carries indication information for indicating the timing duration of the first timer;
[0174] The second module sets the timing duration of the first timer according to the indication information.
[0175] Optionally, the first module is an application processor and the second module is a modem.
[0176] In the above design solution, the application processor sends an instruction to the modem to implement the setting of the timing duration of the first timer, which is simple and easy in technical implementation and is compatible with the hardware architecture of the terminal.
[0177] In one possible design, the indication information further carries indication information for instructing the terminal to enter an idle state or an inactive state after the RRC connection is released. Because the instruction sent by the application processor to the modem may also carry indication information for instructing the terminal to enter an idle state or an inactive state after the RRC connection is released, the terminal can enter an idle state or an inactive state after the RRC connection is released, depending on the situation, thereby improving system flexibility.
[0178] In one possible design, the statistical results include at least one of the following:
[0179] The number of packets received;
[0180] The amount of data received;
[0181] The throughput rate of received data;
[0182] The bit rate of the received data.
[0183] In the above design scheme, the statistical results obtained from the above-mentioned statistics on data transmission can reflect the density of data transmission. The timing duration of the first timer is set or adjusted based on the above-mentioned statistical results, so that the timing duration of the first timer can be adapted to the density of data transmission, thereby reducing or avoiding too frequent RRC connection releases and causing too many random access processes, or reducing or avoiding long periods of no data transmission but failure to release the RRC connection in time, thereby saving terminal power consumption.
[0184] In a fifth aspect, a RRC connection release control method is provided, including:
[0185] When the first application program is running in the foreground, determining a first duration value corresponding to the first application program;
[0186] The timing duration of the first timer of the terminal is set to the first duration value, where the first timer is a timer used when the terminal is in an RRC connected state. When the timing of the first timer exceeds the timing duration, the terminal enters an RRC non-connected state.
[0187] Wherein, as long as the first timer receives a data packet, the first timer is reset, that is, the timing is restarted.
[0188] In the above design scheme, when the first application runs in the foreground, the timing duration of the terminal's first timer is set to the first timing duration value corresponding to the first application. When the timing of the first timer exceeds the timing duration, the terminal requests the network device to release the RRC connection of the terminal, thereby controlling the release of the RRC connection based on the first timer. Since the timing duration value of the first timer is the duration value corresponding to the foreground application, the timing duration of the first timer is adapted to the application running in the foreground, so that the RRC connection release can be controlled according to the data transmission situation of the first application, thereby saving the power consumption of the terminal.
[0189] In one possible design, when the first application runs to the foreground, determining a first duration value corresponding to the first application includes: determining a first duration value corresponding to an application type to which the first application belongs.
[0190] In one possible design, determining the first duration value corresponding to the application type to which the first application belongs includes:
[0191] If the application type to which the first application belongs is the first application type, the first duration value is the duration value corresponding to the first application type;
[0192] If the application type to which the first application belongs is a second application type different from the first application type, the first duration value is the duration value corresponding to the second application type, and the duration value corresponding to the second application type is the same as or different from the duration value corresponding to the first type.
[0193] In one possible design, setting the timing duration of a first timer of a terminal to the first duration value includes: a first module of the terminal sending a first instruction to a second module of the terminal, the first instruction carrying indication information for indicating the first duration value; and the second module setting the timing duration of the first timer of the terminal to the first duration value according to the indication information. The first module is an application processor, and the second module is a modem.
[0194] In one possible design, after setting the timing duration of the first timer of the terminal to the first duration value, the method further includes: when the timing duration of the first timer of the terminal exceeds the first duration value, the first module of the terminal sending 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. The first module is an application processor and the second module is a modem.
[0195] In one possible design, the method further includes resetting the first timer when at least one of the following conditions is met:
[0196] The terminal receives downlink data;
[0197] The terminal receives downlink signaling;
[0198] The terminal sends uplink data;
[0199] The terminal sends uplink signaling.
[0200] 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 first timer of the terminal 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.
[0201] In one possible design, the method further includes: the terminal entering an RRC connected state;
[0202] After setting the timing duration of the first timer of the terminal to the first duration value, the method further includes:
[0203] Performing statistics on data transmission of the terminal in the RRC connected state to obtain statistical results;
[0204] Based on the statistical result, the timing duration of the first timer is adjusted.
[0205] In one possible design, the timing duration of the first timer is adjusted based on the statistical result, including: 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; when the timing 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, reducing 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.
[0206] In one possible design, 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 a third duration value, and the method also includes: the terminal re-enters the RRC connection state, and the timing duration of the first timer is the third duration value.
[0207] In one possible design, after the terminal re-enters the RRC connected state, the method further includes:
[0208] Performing statistics on data transmission of the terminal in an RRC connected state to obtain statistical results;
[0209] If the statistical result is greater than the first threshold, increasing the timing duration of the first timer from the third duration value to the first duration value;
[0210] When the timing 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 timing duration of the first timer is reduced from the third duration value to a fourth duration value.
[0211] In one possible design, the first application remains running in the foreground.
[0212] In one possible design, after setting the timing duration of the first timer of the terminal to the first duration value, the method further includes:
[0213] Detecting that the first application is closed or switched to the background;
[0214] Determine whether there is an application running in the foreground;
[0215] If no application is running in the foreground, maintaining the timing duration of the first timer at the first duration value;
[0216] If there is an application running in the foreground, the timing duration of the first timer is set to the duration value corresponding to the application running in the foreground.
[0217] In one possible design, at a first time, the value of the first duration is a first value; at a second time, the value of the first duration is a second value, and the first value is different from the second value.
[0218] 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 value of the at least two duration values; and / or, the first duration value is less than or equal to the timing duration of the inactivity timer configured on the network device.
[0219] In the sixth aspect, a communication device is provided, which includes at least one processor, and the at least one processor is connected to a memory, and the at least one processor is used to read and execute a program stored in the memory so that the device performs a method as described in any one of the first, second, third, fourth and fifth aspects above, or any embodiment of the present invention.
[0220] In the seventh aspect, a chip is provided, which is coupled to a memory and is used to read and execute program instructions stored in the memory to implement a method as described in any one of the first, second, third, fourth and fifth aspects above, or any embodiment of the present invention.
[0221] In an eighth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions. When the instructions are executed on a computer, the computer executes a method as described in any one of the first, second, third, fourth and fifth aspects above, or any embodiment of the present invention.
[0222] In the ninth aspect, a computer program product is provided, which, when called by a computer, enables the computer to execute the method described in any one of the first, second, third, fourth and fifth aspects above or any embodiment of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0223] FIG1 is a schematic diagram of a network architecture provided in an embodiment of the present application;
[0224] FIG2 is a schematic diagram of the structure of a terminal in an embodiment of the present application;
[0225] FIG3 is a schematic diagram of the cooperation between an application processor (AP) and a modem in an embodiment of the present application;
[0226] FIG4 is a schematic diagram of the software architecture of a terminal in an embodiment of the present application;
[0227] FIG5 is a schematic diagram of signaling interaction of an RRC connection release control method provided in an embodiment of the present application;
[0228] FIG6 a is a flow chart illustrating an RRC connection release timer adjustment process in which a candidate RRC connection release timer duration set is set in an embodiment of the present application;
[0229] FIG6 b is an RRC connection release timer adjustment process in which candidate RRC connection release timer duration sets are set for different applications in an embodiment of the present application;
[0230] FIG7 is a schematic diagram of a state transition of a Markov model of an RRC release time in an embodiment of the present application;
[0231] FIG8 is a flow chart of an online learning method in an embodiment of the present application;
[0232] FIG9 is a schematic diagram showing the principle of the online learning method in an embodiment of the present application;
[0233] FIG10a is a schematic diagram of a packet interval CDF curve in an embodiment of the present application;
[0234] FIG10 b is a schematic diagram of a CDF curve of the number of packets in an embodiment of the present application;
[0235] FIG11a is a schematic diagram of a packet interval CDF curve in an embodiment of the present application;
[0236] FIG11b is a schematic diagram of a CDF curve of the number of packets in an embodiment of the present application;
[0237] FIG12 is a flow chart of an offline learning method in an embodiment of the present application. DETAILED DESCRIPTION
[0238] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings. It should be understood that the terms "first", "second", etc. in the specification embodiments and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, including a series of steps or units. Methods, systems, products or devices are not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0239] Below, some terms used in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.
[0240] (1) Data packet.
[0241] The data packet can be any application (APP) installed in the terminal. When it is started and accesses the corresponding application server, it generates and sends the data packet to the corresponding application server. The APP here can be a camera application, an instant messaging application (such as ), Internet short video applications (such as ), Internet long video applications (such as ), web browsing applications, games, etc. These applications can be pre-installed applications before the terminal leaves the factory, or they can be applications downloaded and installed by the terminal from the network side, or they can be applications sent by other terminals to the terminal, which is not limited in the embodiments of this application.
[0242] (2) Foreground applications and background applications.
[0243] Foreground applications generally refer to: an Activity window running on the screen that the user is interacting with, or a service bound to the Activity that the user is interacting with, such as a notification listener or a voice and text service. Other than these, they 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 running in the background may also receive push messages.
[0244] Generally, there is only one foreground application on a terminal. In some cases, there may be multiple foreground applications on a terminal. For example, for a terminal that supports split-screen function, when split-screen mode is turned on, two or more split-screen windows can be displayed simultaneously on the terminal screen. Each split-screen window can run an application, such as a video application running in the first split-screen window and a social application running in the second split-screen window. This allows users to watch the video played in the video window of the video application while chatting in the user interface of the social application. In this case, the video application running in the first split-screen window and the social application running in the second split-screen window are both foreground applications.
[0245] (3) Monitoring mechanism for application behavior or status.
[0246] The application processor in the terminal can monitor the startup of applications. When an application is started, the application will send registration information to the application framework layer of the application processor. After the application processor monitors the application startup event, it can call the function topActivity.getPackageName() to obtain the application name of the foreground application based on the return value of the function. Another way to monitor the startup of an application is for the application processor to call the queryUsageStats method in the UsageStatsManager, which can return the information of applications used in a certain time period in the form of a list. The list includes mLastTimeUsed (last used time) and mPackageName (application name) of each application, where the application name with the latest last used time is the most recently started application. Of course, the application processor can also obtain the name of the started application in other ways, and the embodiments of the present application are not limited to this.
[0247] The application processor can also monitor application switching. By monitoring the lifecycle of an application's activities, the application processor can monitor the application's lifecycle and, therefore, monitor application switching. For example, consider Activity A and Activity B. When Activity A enters the foreground, its lifecycle progresses through: A.onStart(), A.onResume(); when switching from Activity A to Activity B, the lifecycles of Activity A and Activity B progress through: A.onPause(), B.onStart(), B.onResume(), A.onStop(). As can be seen, onResume and onPause are grouped together, with sequential calls between the two activities, while onStart and onStop are grouped together, with interleaved calls between the two activities. Using this feature, the application processor uses a global counter to keep statistics for an application. The counter is incremented by 1 for all Activity.onStart() calls within that application and decremented by 1 for all Activity.onStop() calls within that application. When the counter for an application is greater than 0, it indicates that the application is in the foreground; when the counter for an application is equal to 0, it indicates that the application is in the background. When the counter changes from 1 to 0, it indicates that the corresponding application has entered the background from the foreground; when the counter changes from 0 to 1, it indicates that the corresponding application has entered the foreground from the background. Of course, the application processor can also use other methods to determine whether the application has switched between the foreground and background, and this embodiment of the application does not limit this.
[0248] The application processor can also monitor split-screen operations. When the user splits the screen through gestures or other methods, the application processor can receive the split-screen event and can further obtain the name of the application in the split-screen window by calling the function topActivity.getPackageName().
[0249] (4) First timer.
[0250] In the embodiments of the present application, a timer may be configured on the terminal, which is referred to herein as a first timer. It should be understood that the embodiments of the present application do not limit the naming of the timer. For example, the first timer may be named an RRC connection release timer. In some embodiments of the present application, the first timer is referred to as an RRC connection release timer. It should be understood that the first timer and the RRC connection release timer have the same meaning.
[0251] The first timer is a timer used when the terminal is in an RRC connection state. When the first timer times out, the terminal requests the network device to release the RRC connection of the terminal.
[0252] Among them, the timeout of the first timer can be understood as the timing value of the first timer exceeds the timing duration, that is, in the embodiment of the present application, the timing value of the first timer exceeds the timing duration and the timeout of the first timer have the same meaning.
[0253] The first timer may count down according to the timing duration, and the first timer may be reset when at least one of the following conditions is met:
[0254] The terminal receives downlink data;
[0255] The terminal receives downlink signaling;
[0256] The terminal sends uplink data;
[0257] The terminal sends uplink signaling.
[0258] The data exchanged between the terminal and the network device includes data associated with the terminal's application, such as operation data generated by the terminal for the application, data sent by the application to the network device, application-related data sent by the network device to the terminal, etc. The application can be a foreground application or a background application.
[0259] The signaling exchanged between the terminal and the network device includes, for example, cell reselection, handover, redirection, and other signaling.
[0260] For example, the first timer has a duration of 8 seconds and starts counting down from 8 seconds. When the countdown reaches 5 seconds, the terminal receives downlink data, and the first timer is reset, i.e., the countdown starts again from 8 seconds. That is, each time downlink data or downlink signaling is received, the first timer is triggered to restart the countdown. When the first timer counts down to 0, the first RRC timer times out.
[0261] In the embodiments of the present application, unless otherwise stated, the RRC connection release timer refers to the RRC connection release timer configured in the terminal, that is, the first timer. It should also be noted that in the embodiments of the present application, setting the timing duration of the first timer, setting the timing duration of the first timer, setting the value of the timing duration / timing duration of the first timer, or similar expressions have the same meaning.
[0262] Based on the above terminology, Figure 1 illustrates a communication system architecture diagram to which the present application may be applied. The communication system may include network devices and terminals. Figure 1 illustrates a system including a network device 101 and a terminal 100. Network device 101 can communicate with terminal 100 wirelessly, primarily utilizing the Uu air interface.
[0263] Network equipment 101, for example, includes access network (AN) equipment, also known as wireless access network equipment, which is used to connect terminals to a wireless network. For example, a base station (e.g., an access point) can refer to equipment in an access network that communicates with wireless terminals over the air interface through one or more cells. Exemplarily, the access network device may include an evolved base station (NodeB or eNB or e-NodeB, evolutionary Node B) in an LTE system or long term evolution-advanced (LTE-A), or may also include a next generation node B (gNB), a transmission reception point (TRP) (also known as a transceiver node), a baseband processing unit (BBU) and a radio frequency unit (RRU), a BBU and an active antenna unit (AAU) in a fifth generation mobile communication technology (5G) NR system, or may also include a centralized unit (CU) and a distributed unit (DU) in a cloud radio access network (Cloud RAN) system, or may also include an access point in a wireless fidelity (Wi-Fi) system, or may also include a radio network controller (RNC), a base station controller (BSC), a base transceiver station (BTS), and a plurality of other network elements. Station, BTS), home network equipment (eg, home evolved NodeB, or Home Node B, HNB), or may also include base stations, small stations, micro stations, etc. in future communication networks. The embodiments of the present application are not limited thereto.
[0264] The terminal 100 may be a mobile phone, a tablet computer, a notebook computer or a wearable device with wireless communication function (such as a smart watch or smart glasses, etc.). Or devices with other operating systems. The above-mentioned terminal may also be other portable devices, as long as the portable device can dynamically adjust the timing length of the RRC connection release timer. It should also be understood that in some other embodiments of the present application, the above-mentioned terminal may not be a portable device, but a desktop computer that can implement the above-mentioned functions.
[0265] In an embodiment of the present 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 technology and NR technology), or other communication systems, such as a public land mobile network (PLMN) system, or other communication systems that may appear in the future, etc., which are not limited in this application.
[0266] For example, as shown in FIG2 , a possible structural diagram of the terminal 100 is shown. The 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, an antenna 1, an 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, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a gyroscope sensor 180A, an acceleration 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, acceleration sensors, gyroscope sensors, ambient light sensors, bone conduction sensors, etc., which are not shown in the figure).
[0267] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the terminal 100. In other embodiments of the present application, the terminal 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0268] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. The controller may be the nerve center and command center of the terminal 100. The controller may generate an operation control signal based on the instruction opcode and the timing signal to complete the control of fetching and executing instructions.
[0269] In some embodiments, processor 110 may also include a memory for storing instructions and data. For example, the memory in processor 110 may be a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly retrieve it from the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0270] The internal memory 121 can be used to store one or more computer programs, each of which includes instructions. The processor 110 executes various functional applications and data processing of the terminal 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. The program storage area may store the code of the operating system and application programs, etc. The data storage area may store statistical results of data transmission recorded during the use of the terminal 100, thresholds (used to determine whether the conditions for adjusting the timing length of the RRC connection release timer are met), etc.
[0271] In addition, the internal memory 121 may include a high-speed random access memory, and may also include a 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 embodiment of the present application by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor 110.
[0272] Of course, the code of the RRC connection release control method provided in the embodiment of the present application, as well as information such as statistical results of data transmission, can also be stored in an external memory. In this case, the processor 110 can execute the code for releasing the radio resource control connection stored in the external memory through the external memory interface 120.
[0273] 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 via the external memory interface 120 to implement data storage functions. For example, statistical results obtained by the terminal performing data transmission statistics can be stored in the external memory card.
[0274] The wireless communication function of the terminal 100 can be implemented through antenna 1, antenna 2, mobile communication module 151, wireless communication module 152, modem processor and baseband processor.
[0275] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0276] The mobile communication module 151 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied on the terminal 100. The mobile communication module 151 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 151 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 151 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 151 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 151 can be set in the same device as at least some of the modules of the processor 110.
[0277] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate 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 being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 151 or other functional modules.
[0278] The wireless communication module 152 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), global navigation satellite systems (GNSS), etc. applied on the terminal 100. 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 the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 152 can also receive signals to be sent from the processor 110 (for example, indication information for instructing the network device to release the RRC connection), frequency modulate the signals, amplify the signals, and convert them into electromagnetic waves for radiation through the antenna 2.
[0279] In some embodiments, antenna 1 of terminal 100 is coupled to mobile communication module 151 , and antenna 2 is coupled to wireless communication module 152 , so that terminal 100 can communicate with other devices.
[0280] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the terminal 100. While charging the battery 142, the charging management module 140 can also provide power to the terminal 100 via the power management module 141.
[0281] The power management module 141 is used to connect 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 and provides power to the processor 110, the internal memory 121, the external memory interface 120, the display 194, the camera 193, etc. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be provided in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be provided in the same device.
[0282] Based on the terminal shown in FIG2 above, in an embodiment of the present application, the first module in the terminal and the second module in the terminal can cooperate with each other to implement the RRC connection release control method provided in an embodiment of the present application.
[0283] In some embodiments, the first module of the terminal may send a first instruction to the second module of the terminal, where the first instruction carries 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.
[0284] In other embodiments, if there is no information interaction between the terminal and the network device within the timing duration of the RRC connection release timer (for example, there is no reception of downlink data or signaling, or no sending of uplink data or signaling), the first module of the terminal sends a second instruction to the second module of the terminal, and the second instruction is used to instruct the second module to request the network device to release the RRC connection of the terminal.
[0285] The first module may be an application processor (AP) or its internal logic unit, or may be another CPU, digital signal processor (DSP) or single-chip microcomputer, etc.; the second module may be a modem or its internal logic unit.
[0286] Taking the first module as an application processor and the second module as a modem as an example, FIG3 exemplarily shows a schematic diagram of the application processor (AP) and the modem cooperating with each other to implement an embodiment of the present application.
[0287] As shown in Figure 3, the application processor (AP) performs statistics on the data demodulated by the modem to obtain statistical results, and determines whether it is necessary to adjust the timing duration of the RRC connection release timer based on the statistical results. If it is determined that adjustment is required, an instruction is sent to the modem to instruct the modem to adjust the timing duration of the RRC connection release timer. More specifically, the application processor can send the target value of the timing duration of the RRC connection release timer to the modem through the instruction, so that the modem adjusts the timing duration of the RRC connection release timer to be equal to the target value. When the RRC connection release timer times out, the modem requests the network side to release the RRC connection. Alternatively, the application processor can send the adjustment value of the timing duration of the RRC connection release timer to the modem, so that the modem adjusts the timing duration of the RRC connection release timer according to the adjustment value.
[0288] In some other embodiments, the modem performs statistics on the demodulated data to obtain statistical results, and determines whether it is necessary to adjust the timing duration of the RRC connection release timer based on the statistical results. If it is determined that adjustment is required, the timing duration of the RRC connection release timer is adjusted. When the RRC connection release timer times out, the modem requests the network side to release the RRC connection. Optionally, the application processor can configure the value of the timing duration for controlling the RRC connection release timer (the value may be one or more) and the threshold (the threshold may include one or more, such as a first threshold and a second threshold) to the modem, so that the modem can perform RRC connection release control based on the value of the timing duration and the threshold.
[0289] See Figure 4, which is a schematic diagram of the software architecture of the terminal provided in an embodiment of the present application. As shown in Figure 4, the software architecture may include, from the bottom layer to the top layer: a hardware layer, a kernel layer, an application framework layer, and an application layer.
[0290] The hardware layer includes various hardware circuit structures.
[0291] The kernel layer provides underlying drivers for various hardware of the terminal (such as display, positioning, audio, camera, Bluetooth, Wi-Fi, power management, etc.), among which the drivers related to the embodiments of the present application include modem drivers.
[0292] The application framework layer is used to provide various system components and application components. Components related to embodiments of the present application include an RRC control component to implement RRC connection management, such as RRC connection release and RRC connection release timer setting. The RRC control component may be included in the modem.
[0293] The application layer includes various applications, such as video applications, games, etc.
[0294] Depending on whether an RRC connection exists between the terminal and the network device, the terminal can be divided into a non-connected state mode (including RRC idle state and RRC inactive state) and a connected mode (also called RRC connected state):
[0295] (1) In the RRC non-connected state (RRC-IDLE or RRC INACTIVE), there is no RRC connection between the terminal and the network, so the power consumption is low;
[0296] (2) RRC-CONNECTED state: There is an RRC connection between the terminal and the network, so the power consumption is relatively high. The RRC connection can be established on a dedicated physical channel. At this time, the terminal is in the dedicated channel (DCH) state and can transmit a large amount of user data. The RRC connection can also be established on a shared channel. At this time, the terminal is in the forward access channel (FACH) state. The terminal will continue to monitor the FACH transmission channel in the downlink direction and can use public or shared transmission channels (such as the random access channel (RACH)) in the uplink direction to transmit a small amount of user data.
[0297] It should be understood that current consumption can be used to represent the power consumption of the terminal.
[0298] Switching between the above-mentioned RRC-IDLE state and RRC-CONNECTED state can occur. In the RRC-IDLE state, when the terminal needs to transmit a data packet, 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 the RRC-CONNECTED state, after the user data transmission is completed, if there is no data transmission within a set long time (that is, there is no information interaction between the terminal and the network device within the set time), the RRC connection is released and the terminal enters the RRC-IDLE state or the RRC INACTIVE state (that is, the RRC non-connected state).
[0299] At present, in the terminal screen-off scenario, if the terminal does not receive data within a fixed time 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 timing 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 is not limited in the embodiments of the present application), the terminal requests the network device to release the RRC connection; in the terminal screen-on scenario, when the inactivity timer corresponding to the terminal configured on the base station side times out, the base station releases the RRC connection with the terminal. The duration of the inactivity timer is fixed, such as 10 seconds.
[0300] Regardless of whether the screen is off or on, the timing duration used to control the release of the RRC connection is fixed, which may result in high power consumption due to the RRC connection being released too early or too late.
[0301] For example, a scenario where the terminal consumes too much power due to premature RRC connection release is: if the terminal does not transmit data within a set time (such as 1 or 2 seconds) after the screen goes off, it requests to release the RRC connection. However, if data packets still arrive after the RRC connection is released, the terminal needs to perform random access to re-establish the RRC connection to receive subsequent data. In this scenario, due to the premature release of the RRC connection, the terminal needs to initiate random access, which consumes high power consumption.
[0302] For another example, a scenario in which the terminal power consumption is too high due to the late release of the RRC connection is: taking the inactivity timer configured on the network device as an example, which is equal to 10 seconds, if the data packets sent by the service of the terminal are relatively sparse, a new data packet will be sent 20 seconds after the arrival of a data packet. After receiving a data packet, the network device needs to wait for at least 10 seconds before releasing the RRC connection of the terminal. During this period, the terminal is in the RRC connection state, resulting in higher power consumption.
[0303] In view of the above-mentioned problems, the embodiments of the present application provide an RRC connection release control method and apparatus for setting a timing duration of a terminal to control the RRC connection release based on the timing duration. The timing duration is used to control the RRC connection release of the terminal.
[0304] In some embodiments, a first timer (hereinafter referred to as an RRC connection release timer) can be configured in the terminal. By setting or adjusting the timing duration of the RRC connection release timer, the timing duration of the RRC connection release timer can be dynamically adjusted to control the RRC connection release, thereby reducing the power consumption of the terminal.
[0305] Among them, the method and the device are based on the same inventive concept. Since the principles of solving problems by the method and the device are similar, the implementation of the device and the method can refer to each other, and the repeated parts will not be repeated.
[0306] Refer to Figure 5, which is a schematic diagram of the signaling interaction of the RRC connection release control method provided in an embodiment of the present application. The method can be applied to the network architecture shown in Figure 1, and of course can also be applied to other network architectures, which is not limited by the present application.
[0307] As shown in FIG5 , at S510 , the terminal determines a timing duration, which is used to control the release of the RRC connection.
[0308] In some embodiments, in this step, the terminal may set the timing duration of the RRC connection release timer.
[0309] In S520, when it is determined based on the timing duration that the RRC connection release condition is met, the terminal requests the network device to release the RRC connection.
[0310] Specifically, the terminal determines whether there is information interaction between the terminal and the network device within the timing duration. If there is no information interaction, the RRC connection release condition is met, and the terminal requests the network device to release the RRC connection of the terminal.
[0311] 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 is met, so the terminal requests the network device to release the RRC connection of the terminal.
[0312] The information interaction includes at least one of the following situations:
[0313] The terminal receives downlink data sent by the network device;
[0314] The terminal receives downlink signaling sent by the network device;
[0315] The terminal sends uplink data to the network device;
[0316] The terminal sends uplink signaling to the network device.
[0317] During the running of the RRC connection release timer, if the terminal interacts with the network device with the above information, the RRC connection release timer is reset.
[0318] Furthermore, if information is exchanged between the terminal and the network device within the timing duration, the terminal re-executes the following steps, starting from the time when the information interaction occurs: determining whether information is exchanged between the terminal and the network device within the timing duration; if no information interaction occurs, the terminal requests the network device to release the RRC connection of the terminal. If an RRC connection release timer is configured in the terminal, then when the above information interaction occurs between the terminal and the network device, the RRC connection release timer is reset, and the RRC connection release timer restarts after being reset. When the RRC connection release timer times out, the terminal requests the network device to release the RRC connection of the terminal.
[0319] Optionally, in S520, the terminal may 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-r16 ENUMERATED{idle, inactive, connected, outOfConnected}} carried in the auxiliary information (UEAssistanceInformation) message sent by the terminal to the base station in the new radio (NR), indicating the state requested by the terminal. When preferredRRC-State-r16 is idle or inactive, it indicates that the terminal requests to release the RRC connection. This application does not impose any restrictions on the naming of this signaling.
[0320] After receiving the request from the terminal to release the RRC connection, the network device can determine whether to release the RRC connection with the terminal according to the needs of data transmission. For example, if the network device has no data to send to the terminal, it can release the RRC connection according to the request of the terminal. Otherwise, the network device can maintain the RRC connection with the terminal to send downlink data.
[0321] In some embodiments of the present application, in S510, when a first application of a terminal is running in the foreground, the terminal determines a timing duration corresponding to the first application.
[0322] The terminal may determine the timing duration corresponding to the first application running in the foreground in response to the first operation. Further, if an RRC connection release timer is configured on the terminal, the terminal sets the timing duration of the RRC connection release timer to the determined timing duration.
[0323] The term "first application" is not limited to a specific application or type of application; this expression is for clarity of description only. The present embodiment of the present application does not restrict the classification of application types. For example, application types may include: internet long video applications, internet short video applications, web news applications, game applications, etc. For example, the first application may be an internet long video application, an internet short video application, a game, or a social networking application.
[0324] The first operation may be an operation of launching the first application, such as a user launching the first application through a screen touch operation (e.g., clicking an application icon on the phone's home page); or the first application may be launched by another application. The first operation may also be an operation of switching the first application from the background to the foreground, such as a user switching the first application from the background to the foreground through a screen touch operation.
[0325] The application processor may monitor the first operation and respond to the first operation to enable the first application to run in the foreground. For example, when the application processor monitors the first operation of starting the first application, it may control the first application to run in the foreground. Specifically, it may 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 screen of the terminal.
[0326] In some embodiments of the present application, a timing duration is configured in the terminal for the application type to which the first application belongs, so that the terminal can obtain the timing duration corresponding to the application type after determining the application type to which the first application belongs. Furthermore, if an RRC connection release timer is configured in the terminal, the terminal can set the timing duration of the RRC connection release timer of the terminal to the timing duration. By setting the timing duration of the RRC connection release timer, the timing duration of the RRC connection release timer can be adapted to the application type to which the application running in the foreground belongs, so that the RRC connection release can be controlled according to the data transmission situation of the first application, thereby saving the power consumption of the terminal.
[0327] In some embodiments of the present application, the timing duration is less than or equal to the timing duration of the inactivity timer configured on the network device, so that the timing duration adjustment range of the RRC connection release timer can reach a maximum of the timing duration of the inactivity timer configured by default on the network device, so that the performance of the terminal (such as power consumption and / or delay) can at least be on par with the performance on the network side.
[0328] In some embodiments of the present application, the timing durations corresponding to different application types may be the same or different. For example, if the application type to which the first application belongs is a first application type (such as an Internet long video application type), the timing duration is the 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 (such as an Internet short video application type), 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 type. In this way, it can be used to control the timing duration of the RRC connection release or the timing duration of the RRC connection release timer, which is adapted to the application type to which the application running in the foreground belongs.
[0329] 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, and the at least two duration values include the first duration value; accordingly, while the first application is running in the foreground, the first duration value of the at least two duration values can be determined as the value of 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 of the at least two duration values, thereby improving the flexibility of the RRC connection release timer setting.
[0330] Among them, the at least two duration values can be stored as an RRC connection release timer duration set, and of course can also be stored in other forms or data structures, which is not limited in this embodiment of the present application.
[0331] Among them, in some embodiments, the first duration value of the at least two duration values is the maximum value of the at least two duration values. In this way, when the first application runs to the foreground, the timing duration for controlling the release of the RRC connection or the timing duration of the RRC connection release timer is set to the maximum value of at least two duration values corresponding to the first application or the application type to which the first application belongs. This can reduce or avoid the probability of the RRC connection being released prematurely. In this way, if the data transmission and reception of the first application is relatively 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. In other embodiments, the first duration value is the maximum value of the at least two duration values, and the first duration value is less than or equal to the timing duration of the inactive timer configured on the network device.
[0332] In some embodiments of the present application, while the first application is running in the foreground, after the terminal enters the RRC connection state, statistics are collected on the data transmission of the terminal in the RRC connection state to obtain statistical results; and based on the statistical results, the timing duration for RRC connection release control is adjusted. If an RRC connection release timer is set in the terminal, 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 can be dynamically adjusted. In this way, the timing duration of the RRC connection release timer can be adaptively adjusted according to the data transmission situation, so that it can match the data transmission situation, thereby saving power consumption of the terminal.
[0333] Optionally, the terminal may adjust the timing duration for RRC connection release control or the RRC connection release timer when it is in the RRC non-connected state, or may adjust the timing duration for RRC connection release control or the RRC connection release timer when it is in the RRC connected state, or may adjust the timing duration for RRC connection release control or the RRC connection release timer when it is in the RRC connected state.
[0334] Furthermore, after adjusting the value of the timing duration, the terminal continues to determine whether there is information exchange with the network device within the timing duration after the adjustment; if no information exchange occurs, the terminal requests the network device to release the RRC connection of the terminal. If an RRC connection release timer is configured in the terminal, then after adjusting the value of the timing duration of the RRC connection release timer, when the RRC connection release timer expires, indicating that there is no information exchange within the timing duration of the RRC connection release timer, the terminal requests the network device to release the RRC connection of the terminal.
[0335] When the terminal is in the RRC connected state and running a foreground application, the data received is mainly the data of the foreground application. Therefore, in some embodiments of the present application, the terminal can count the data transmission statistics of the foreground application. In some scenarios, when the terminal is in the RRC connected state, the background application may also have a small amount of data transmission. Therefore, in some embodiments of the present application, the terminal can count the data transmission statistics of the foreground application and the background application with data transmission.
[0336] Among them, in some scenarios, the number of foreground applications is one, such as when the terminal is in full-screen mode, the number of foreground applications is one; in other scenarios, the number of foreground applications may be multiple, such as when the terminal is in split-screen mode, 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 results of the terminal statistics include the data transmission statistics results of these foreground applications.
[0337] In an embodiment of the present application, the statistical results of data transmission can be used to characterize the density of data transmission. The statistical results of data transmission can be statistical results for data received by the terminal, or statistical results for data sent by the terminal. The terminal can dynamically adjust the timing length of the RRC connection release timer based on the statistical results of the received data, or can dynamically adjust the timing length of the RRC connection release timer based on the statistical results of the sent data.
[0338] In the embodiment of the present application, statistics on data transmission can be understood as statistics on the amount of data transmission. Optionally, when statistics on data transmission of downlink data are performed, the statistical results may include at least one of the following:
[0339] (1) Data volume, i.e., the amount of data received, such as the number of bytes or bits of data received. This application does not impose any restrictions on the unit of measurement for data volume.
[0340] (2) Number of data packets, that is, the number of data packets received.
[0341] (3) Data throughput, that is, the throughput rate of received data. Data throughput refers to the average rate of data transmitted within a certain period of time. For example, the data throughput rate of received data can be measured by the number of bits per second (bps). For example, the number of bits of received data can be divided by the statistical duration (in seconds) to obtain the data throughput rate at the current moment.
[0342] (4) Bit rate, that is, the bit rate of the received data. The bit rate refers to the number of bits transmitted per second.
[0343] (5) Packet interval, such as the average time (in seconds) between two received packets.
[0344] In an embodiment of the present application, the statistical result can be compared with the threshold to determine whether the condition for adjusting the above-mentioned timing duration or adjusting the timing duration of the RRC connection release timer is met. If it is determined that the condition is met, the value of the above-mentioned timing duration or the value of the timing duration of the RRC connection release timer is adjusted; otherwise, the value of the above-mentioned timing duration or the timing duration of the RRC connection release timer can be kept unchanged.
[0345] Optionally, the threshold used to determine whether to adjust the above-mentioned timing duration or adjust 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 threshold and the second threshold may be stored as a threshold group, and of course may also be stored in other forms or data structures, which is not limited in this embodiment of the present application.
[0346] When the terminal is in the RRC connection state and the statistical result of data transmission reaches (is greater than or equal to) the first threshold, the value of the above-mentioned timing duration can be increased; when there is no information interaction between the terminal and the network device within the above-mentioned timing duration, if the statistical result of data transmission is less than or equal to the second threshold, the value of the timing duration can be reduced. Specifically, when it is determined that there is no information interaction between the terminal and the network device within the above-mentioned timing duration with a value of the first duration, if the statistical result is less than the second threshold, the value of the above-mentioned timing duration is reduced 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 above-mentioned 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 above-mentioned timing duration with a value of the first duration, if the statistical result is less than the second threshold, the value of the above-mentioned timing duration is reduced from the first duration value to the third duration value.
[0347] If an RRC connection release timer is configured in the terminal, then when the terminal is in the RRC connection state and the statistical result of data transmission reaches (greater than or equal to) the first threshold, the timing duration of the RRC connection release timer may be increased; when the RRC connection release timer times out, if the statistical result of data transmission is less than or equal to the second threshold, the timing duration of the RRC connection release timer may be reduced. Specifically, if the statistical result of data transmission 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; when the timing of the RRC connection release timer exceeds the timing duration, the terminal requests the network device to release the RRC connection, and if the statistical result of data transmission is less than the second threshold, the timing duration of the RRC connection release timer is reduced from the first duration value to the third duration value.
[0348] Optionally, if the statistical result of the data transmission is greater than the first threshold, increasing the timing duration of the RRC connection release timer from the first duration value to the second duration value may include the following situations:
[0349] 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 length of the RRC connection release timer is increased from the first duration value to the second duration value;
[0350] Case 2: When the terminal is in the RRC connected state, if the data transmission statistics 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.
[0351] Furthermore, if the statistical result is less than the second threshold, the above-mentioned 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 the terminal re-enters the RRC connection state; the terminal determines whether there is information interaction between the terminal and the network device within the timing duration value, and if there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal. If there is information interaction between the terminal and the network device within the timing duration value, the terminal re-executes the following steps with the time when the information interaction occurs as the starting point: determining whether there is information interaction between the terminal and the network device within the timing duration value, and if there is no information interaction, the terminal requests the network device to release the RRC connection of the terminal.
[0352] If an RRC connection release timer is configured in the terminal, while the first application remains running in the foreground, when the timing duration of the RRC connection release timer is reduced from the first duration value to the third duration value, the terminal re-enters the RRC connection state, then the timing duration of the RRC connection release timer remains at the third duration value. In other scenarios, after the timing duration of the RRC connection release timer is reduced from the first duration value to the third duration value, if the first application is switched from the foreground to the background and then switched to the foreground again, the terminal determines the first duration value corresponding to the application type to which the first application belongs, and after the terminal re-establishes the RRC connection, sets the timing duration value of the RRC connection release timer of the terminal to the first duration value.
[0353] Furthermore, in some embodiments, after the terminal re-enters the RRC connection state, it also includes: performing statistics on the data transmission of the terminal in the RRC connection state to obtain statistical results; if the statistical result is greater than the first threshold, increasing the timing duration of the RRC connection release timer from the third duration value to the first duration value; when the RRC connection release timer exceeds the timing duration, requesting the network device to release the RRC connection, if the statistical result is less than the second threshold, reducing the timing duration of the RRC connection release timer from the third duration value to the fourth duration value.
[0354] Furthermore, in some embodiments, after setting the timing duration of the RRC connection release timer of the terminal to a first duration value, it also includes: in response to the operation of the first application being closed or switched to the background, determining whether there is an application running in the foreground; if there is no application running in the foreground, maintaining the timing duration of the RRC connection release timer at the first duration value; if there is an application running in the foreground, setting the timing duration of the RRC connection release timer to the duration value corresponding to the application running in the foreground.
[0355] In the above embodiment, if the statistical result of data transmission is greater than the first threshold, the timing duration of the RRC connection release timer is increased; if the timing of the RRC connection release timer exceeds the timing duration, if 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 timing duration of the RRC connection release timer is reduced. Among them, if the statistical result of data transmission is greater than the first threshold, it indicates that the density of data transmission and reception is high. In this case, increasing the timing duration of the RRC connection release timer can reduce or avoid the probability of premature release of the RRC connection, thereby saving power consumption of the terminal; if the statistical result of data transmission is less than the second threshold, it indicates that the data transmission and reception is sparse. In this case, reducing the timing duration of the RRC connection release timer can reduce or avoid the probability of late release of the RRC connection, thereby saving power consumption of the terminal.
[0356] It should be noted that the processes of S510 and S520 are relatively independent. Although S510 is shown before S520 in Figure 5, in actual applications, these two processes are executed independently and there is no strict time sequence. For example, the terminal can obtain data transmission statistics through S510 and adjust the timing of the RRC connection release timer based on the data transmission statistics when it determines that the conditions are met. In S520, the terminal determines whether the conditions for releasing the RRC connection are met based on the RRC connection release timer, and when the conditions are met (i.e., when the RRC connection release timer expires), it requests the network device to release the RRC connection.
[0357] According to the execution of S510, the timing duration for RRC connection release control or the timing duration of the RRC connection release timer may be the initial duration (e.g., after the RRC connection is established, the timing duration of the RRC connection release timer is initialized to the initial duration and has not been adjusted thereafter), may have been adjusted once, or may have been adjusted multiple times. For example, at a 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 a 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.
[0358] 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. In this way, the timing duration of the RRC connection release timer can 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.
[0359] In some embodiments of the present application, an application processor in a terminal may set the duration of an RRC connection release timer by sending an instruction to a modem in the terminal. Specifically, the application processor sends an instruction to the modem, the instruction carrying indication information for indicating a value of the duration (e.g., a first duration value). The modem may set the duration of the RRC connection release timer to a corresponding duration value (e.g., the first duration value) based on the indication information.
[0360] Optionally, the instruction may be an AT (attention) command.
[0361] The AT command may carry indication information for indicating the timing duration value of the RRC connection release timer. Further, the AT command may also carry at least one of the following indication information:
[0362] Indication information used to instruct the terminal to enter an idle state or an inactive state after the RRC connection is released. For example, the indication information may indicate that the terminal enters the idle state after the RRC connection is released, or indicates that the terminal enters the inactive state after the RRC connection is released;
[0363] Indication information used to indicate whether the RRC connection fast release feature is enabled, that is, whether to adopt the method provided in the embodiment of the present application to dynamically adjust the timing duration of the RRC connection release timer.
[0364] 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 multiple bits. The meaning of each information field is:
[0365] First information field: The value of this information field is a fixed value, which is equal to 1;
[0366] Second information field: This information field is used to carry the indication information for indicating whether to enable the RRC connection fast release feature. For example, when the value of the indication information carried by this information 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 by the method provided in the embodiment of the present application. When the value of the indication information carried by the information field is equal to 0, it indicates that the RRC connection quick release feature (RRC_QUICKLY_RELEASE_PERIODIC_DETECTIO) is not enabled, that is, the scheme for dynamically adjusting the timing duration of the RRC connection release timer provided in the embodiment of the present application is not adopted. 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 timer configured on the terminal (the timing duration of the timer is a fixed duration, such as 1 second or 2 seconds) performs RRC connection release control;
[0367] The third information field: This information field is a reserved information field;
[0368] Fourth information field: This information field carries indication information for indicating that the terminal enters the idle state or inactive state after the RRC connection is released, which can be represented as para1, and is used to indicate the state entered after the RRC connection is released. If para1=0, it indicates that the terminal enters the idle state (IDLE_STATE) after the RRC connection is released. If para1=1, it indicates that the terminal enters the inactive state (INACTIVE_STATE) after the RRC connection is released;
[0369] 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 expressed as para2. For example, para2=10 indicates that the timing duration of the RRC connection release timer needs to be set to 10 seconds.
[0370] Taking the AT command containing the above five information fields as an example, if the application processor determines that the timing length of the RRC connection release timer needs to be set to 10 seconds, and the terminal enters the idle state after the RRC connection is released, the AT command sent by the application processor to the modem can be expressed as follows:
[0371] AT^NRPOWERSAVINGCFG=1,1,0,0,10
[0372] The above AT command includes the following information from left to right:
[0373] The first information field: The value is 1, which is a fixed value;
[0374] 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 embodiment of the present application;
[0375] The third information field: The value is 0, and this information field is a reserved information field;
[0376] Fourth information field: para1 = 0, indicating "IDLE_STATE", i.e. entering the idle state after the RRC connection is released;
[0377] The fifth information field: para2=10, indicating that the timing length of the RRC connection release timer is 10 seconds.
[0378] The arrangement order and arrangement method of the information fields in the above AT commands are only examples and are not limited in the embodiments of the present application.
[0379] In some embodiments of the present application, when a terminal is in an RRC connected state, data transmission statistics are collected to obtain statistical results; and based on the statistical results, the timing duration of the RRC connection release timer is adjusted. Specifically, when the terminal is in an RRC connected state, data transmission statistics are obtained, and if it is determined based on the data transmission statistics that a condition for adjusting the timing duration of the RRC connection release timer is met, the timing duration of the RRC connection release timer is adjusted.
[0380] Specifically, the RRC connection release timer corresponds to at least two duration values, and the above-mentioned adjustment of the timing duration of the RRC connection release timer based on the statistical result may include the following situations:
[0381] Case 1: If the statistical result is greater than the first threshold, obtain at least two duration values corresponding to the RRC connection release timer, determine the duration greater than the first duration value among the at least two duration values 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.
[0382] Optionally, the minimum value of the at least two duration values that is greater than the first duration value may be used as the second duration value.
[0383] Case 2: When the RRC connection release timer times out, if the statistical result is less than the second threshold, 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, and the timing duration of the RRC connection release timer is reduced from the first duration value to the third duration value.
[0384] Optionally, the maximum value of the at least two durations that is smaller than the first duration value is used as the third duration value.
[0385] 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 expires, if the statistical result is less than the second threshold, the timing duration value of the RRC connection release timer is reduced from the first duration value to the third duration value.
[0386] The at least two duration values corresponding to the RRC connection release timer may include the following situations:
[0387] Case 1: a set of durations (including at least two duration values) is set, and the set of durations is the timing duration of the universal RRC connection release timer;
[0388] Accordingly, the terminal may obtain a set of durations corresponding to the application type, and thereby set the timing duration of the RRC connection release timer according to a duration value in the set of durations.
[0389] Case 2: Multiple durations are set, each corresponding to an application type;
[0390] Accordingly, the terminal may obtain a set of durations corresponding to the application type according to the application type to which the application running in the foreground belongs, and thereby set the timing duration of the RRC connection release timer according to a duration value in the set of durations.
[0391] Case 3: Multiple durations are set, each corresponding to an application.
[0392] Case 4: Multiple groups of durations are set, one of which is the duration of a general RRC connection release timer, and each of the other groups of durations corresponds to an application type;
[0393] Correspondingly, if the terminal fails to obtain a set of durations corresponding to the application type to which the application running in the foreground belongs, it obtains a universal set of durations.
[0394] Case 5: multiple groups of durations are set, one of which is the timing duration of a general RRC connection release timer, and each of the other groups of durations corresponds to an application.
[0395] In some embodiments of the present application, the start or restart of data transmission statistics may be triggered in the following situations:
[0396] Case 1: When no application is running in the foreground, when an application is started and the application is running in the foreground, data transmission statistics are started;
[0397] Case 2: The started application switches from the background to the foreground. For example, when the user selects the 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, the background application is switched to the foreground. In this case, data transmission statistics are restarted.
[0398] Case 3: After the RRC connection release timer is increased because the statistical result of data transmission reaches the first threshold, data transmission statistics are performed again;
[0399] Case 4: After the RRC connection is re-established and an application is currently running, data transmission statistics can be re-calculated. Optionally, the data transmission statistics counter can be cleared when the RRC connection release timer expires, so that data transmission statistics can be re-calculated after the RRC connection is re-established.
[0400] Taking the counting of statistical data packets as an example, when application A is started and runs in the foreground, a counter is used to start accumulating the number of received data packets; thereafter, when application B is started, application A switches to run in the background, and application B is the foreground application, the counter is cleared to zero, thereby re-accumulating the number of received data packets; thereafter, when application B runs as the foreground application, when the count value of the counter (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 cleared to zero, so as to re-accumulate the number of received data packets; thereafter, the RRC connection release timer times out, and the terminal requests the network device to release the RRC connection, and the counter is cleared to zero; thereafter, when the RRC connection is re-established, application B is the foreground application, and the counter starts counting the number of received data packets.
[0401] Still taking the example of counting the number of received data packets, 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 arrive more densely and the packet interval is smaller. In this case, increasing the timing duration of the RRC connection release timer can avoid unnecessary random access processes caused by premature release of the RRC connection, thereby saving power consumption of the terminal. For example, if a conventional RRC connection release control method is adopted, the timing duration of the RRC connection release timer configured on the terminal is equal to 1 second. After the terminal receives data packet A, the screen is turned off. After 1.1 seconds, a new data packet B arrives. In this case, before receiving data packet B, the terminal has 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 non-connected state. Before receiving data packet B, it is necessary to re-perform random access to re-establish an RRC connection with the network device; however, by adopting the method provided in the embodiment of the present application, the terminal can detect that the current data packets are arriving more densely, so the timing duration of the RRC connection release timer can be increased, for example, to 1.2 seconds. In this way, 1.1 seconds after the terminal receives data packet A and turns off the screen, since the RRC connection release timer has not timed out, it will not request to release the RRC connection, so that data packet B can be received, avoiding the random access process, thereby saving the power consumption caused by the random access process.
[0402] When the RRC connection release timer times out, if the cumulative number of data packets counted by the above-mentioned counter is less than the second threshold, it indicates that the current data packets arrive sparsely and the packet interval is large. In this case, the timing duration of the RRC connection release timer is reduced. This can avoid unnecessary waiting time in the RRC connection state due to late release of the RRC connection, thereby saving power consumption of the terminal.
[0403] The number of data packets received within a period of time can, to a certain extent, indicate the sparseness of data packets in the subsequent period of time. For example, if data packets arrive more densely in the current phase, the probability of data packets arriving more densely in the future period will also be higher. If data packets arrive more sparsely in the current phase, the probability of data packets arriving more sparsely in the future period will also be higher. Based on this prediction, using the above-mentioned embodiment of the present application, the timing duration of the RRC connection release timer can be adjusted in advance to adapt to data transmission in the future period, thereby achieving the purpose of saving terminal power consumption.
[0404] The above effect of adjusting the timing duration of the RRC connection release timer based on statistics on the number of received data packets can also be achieved in other similar situations, for example, adjusting the timing duration of the RRC connection release timer based on statistics on the amount of received data, data throughput or bit rate.
[0405] In some embodiments of the present application, a corresponding first threshold and second threshold may be set for each application type. These two thresholds may 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.
[0406] In some embodiments of the present application, a corresponding threshold group may be set for an application. For example, threshold group A may be set for application A, and threshold group B may 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 the data transmission may 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 an RRC connection state, when the statistical results of the data transmission reach (greater than or equal to) the first threshold corresponding to the foreground application, the value of the timing duration of the RRC connection release timer may be increased; when the RRC connection release timer times out, if the statistical results of the data transmission are less than or equal to the second threshold corresponding to the foreground application, the value of the timing duration of the RRC connection release timer may be reduced.
[0407] Optionally, a universal threshold or threshold group may be set. Accordingly, when determining whether the conditions for adjusting the duration of the RRC connection release timer are met, the statistical results of data transmission may be compared with the universal threshold group 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 an RRC connected state and the statistical results of data transmission reach (greater than or equal to) the first threshold in the universal threshold group, the timing duration value of the RRC connection release timer may 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 in the universal threshold group, the timing duration value of the RRC connection release timer may be reduced.
[0408] In some embodiments of the present application, an RRC connection release timer duration set may be set, the set including at least two RRC connection release timer timing durations. When adjusting the timing duration of the RRC connection release timer, the terminal may select one of the duration values in the set as the target value for adjustment. The number of durations in different RRC connection release timer duration sets may be the same or different.
[0409] Optionally, the duration values in the RRC connection release timer duration set are arranged in order from small to large (increasing) or from large to small (decreasing). For example, the duration values in the RRC connection release timer duration set may form an arithmetic progression or a geometric progression, or the duration values in the set may conform to other rules. Of course, the difference between adjacent duration values may also be random, that is, the duration values in the set may be randomly sorted, and this application does not impose any restrictions on this.
[0410] Optionally, a corresponding RRC connection release timer duration set is set for each application type. Accordingly, when adjusting the timing duration of the RRC connection release timer, a target value may be selected from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs, as the adjusted value for the timing duration of the RRC connection release timer. The number of candidate RRC connection release timer duration values included in the RRC connection release timer duration sets set for different application types may be the same or different.
[0411] For example, taking the Internet long video application type, the Internet short video application type and the web news application type as examples, the RRC connection release timer duration set corresponding to the Internet long video application type contains four durations, namely: the first value, the second value, the third value, and the fourth value. These four values can be arranged in order from large to small or from small to large. The RRC connection release timer duration set corresponding to the Internet short video application type contains three durations, namely: the fifth value, the sixth value, and the seventh value. These three values can be arranged in order from large to small or from small to large. The RRC connection release timer duration set corresponding to the web news application type contains two durations, namely: the eighth value and the ninth value. These two values can be arranged in order from large to small or from small to large. Among them, each duration in an RRC connection release timer duration set is different, for example, the first value to the fourth value are different, and the fifth value to the seventh value are different; the duration in an RRC connection release timer duration set may be different from the duration value in another RRC connection release timer duration set, or may be partially the same. An example of partial similarity is: the first value in the RRC connection release timer duration set corresponding to the Internet long video application type (the first value is the maximum value in the set) is the same as the fifth value in the RRC connection release timer duration set corresponding to the Internet short video application type (the fifth value is the maximum value in the set), for example, both are 10 seconds.
[0412] Optionally, a corresponding RRC connection release timer duration set is set for each application. Accordingly, when adjusting the timing duration of the RRC connection release timer, a target value may be selected from the RRC connection release timer duration set corresponding to the foreground application to serve as the adjusted value of the RRC connection release timer duration. The number of candidate RRC connection release timer duration values included in the RRC connection release timer duration sets corresponding to different applications may be the same or different.
[0413] Optionally, a universal RRC connection release timer duration set may be provided. Accordingly, when adjusting the timing duration of the RRC connection release timer, a target value may be selected from the universal RRC connection release timer duration set to serve as the adjusted timing duration value of the RRC connection release timer.
[0414] In some embodiments, the timing duration of the maximum RRC connection release timer in the RRC connection release timer duration set is less than or equal to the timing duration of the RRC connection release timer configured by default on the network device, for example, the timing duration of the maximum RRC connection release timer is equal to 10 seconds. In this way, the timing duration adjustment range of the RRC connection release timer can reach a maximum of the timing duration of the RRC connection release timer configured by default 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.
[0415] In some embodiments, the timing duration of the minimum RRC connection release timer in the RRC connection release timer duration set is greater than or equal to the timing duration of the RRC connection release timer configured by default on the terminal, for example, the minimum RRC connection release timer duration is not less than 1 second. In this way, the timing duration adjustment range of the RRC connection release timer can be at least not less than the timing duration of the RRC connection release timer configured by default on the device in the screen-off scenario, ensuring that the connection is not released and reestablished frequently.
[0416] 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 a preset maximum number of RRC connection release timer durations. For example, the value interval of the maximum number of RRC connection release timer durations may be defined as [2, 10]. For example, the maximum number of RRC connection release timer durations may be set to 5. By limiting the number of timer durations in the RRC connection release timer duration set, it is possible to avoid excessive adjustment of the RRC connection release timer duration due to a large number of timer durations, thereby reducing signaling overhead and the impact on system stability.
[0417] According to the settings of the above threshold group and RRC connection release timer duration set, in some embodiments, the terminal stores, for different application types, an RRC connection release timer duration set corresponding to each application type and a threshold group for determining whether the timing duration of the RRC connection release timer is adjusted. When it is determined that the timing duration of the RRC connection release timer needs to be adjusted based on the data transmission statistics and the threshold group corresponding to the application type to which the foreground application belongs, an adjustment target value is selected from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs.
[0418] Based on the settings of the above threshold group and RRC connection release timer duration set, in some embodiments, the terminal stores the RRC connection release timer duration set corresponding to each application type for different application types, but only configures one general threshold group. When it is determined that the timing duration of the RRC connection release timer needs to be adjusted based on the data transmission statistics and the general threshold group, the adjustment target value is selected from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs.
[0419] Furthermore, a universal RRC connection release duration set and a universal threshold group for determining whether the RRC connection release timer is adjusted may be configured on the terminal. If a corresponding RRC connection release timer duration set and a threshold group for determining whether the timing duration of the RRC connection release timer is adjusted are not set for the application type to which the foreground application belongs, the transmission data statistics result may be compared with the universal threshold group, and when it is determined based on the comparison result that the timing duration of the RRC connection release timer needs to be adjusted, the target value for adjustment may be selected from the universal RRC connection release timer duration set.
[0420] Based on the settings of the above threshold group and RRC connection release timer duration set, in some embodiments, only one universal RRC connection release timer duration set and a universal threshold group for determining whether to meet the requirements for adjusting the timing duration of the RRC connection release timer may be set on the terminal. In this embodiment, regardless of which application or type of application is the foreground application on the terminal, the universal RRC connection release timer duration set and the universal threshold group are used to adjust the timing duration of the RRC connection release timer.
[0421] In some other embodiments, corresponding RRC connection release timer duration sets and threshold groups for determining whether the conditions for adjusting the timing duration of the RRC connection release timer are met may be set for the screen-off scenario and the screen-on scenario respectively, so as to adjust the timing duration of the RRC connection release timer using the corresponding RRC connection release timer duration set and the corresponding threshold group according to the current scenario.
[0422] In some embodiments, if a terminal is in split-screen mode and multiple foreground applications are running in multiple split-screen windows in split-screen mode, it can be determined whether it is necessary to adjust the timing duration of the RRC connection release timer based on the priority of the application types to which the multiple foreground applications belong, based on the threshold group corresponding to the application type with the highest priority and the data transmission statistics. When it is determined that the timing duration of the RRC connection release timer needs to be adjusted, the target value of the timing duration of the RRC connection release timer is determined based on the RRC connection release timer duration set corresponding to the application type to which the high-priority application belongs. The data transmission statistics can be obtained by counting the number of data packets received by the terminal, including the data packets received by the multiple foreground applications. Furthermore, if the background application has data transmission, the data packets counted also include the data packets received by the background application with data transmission, that is, no distinction is made between applications when counting the received data packets. The data transmission statistics can also be obtained by counting the data packets received by the high-priority application, that is, when counting the received data packets, only the data packets received by the high-priority application are counted. For example, the received service flow data can be identified to determine whether it belongs to the high-priority application, so that only the data packets belonging to the high-priority application are counted.
[0423] Optionally, you can set the priority of different application types based on factors such as whether the business data is sensitive to latency. For example, you can set the priority of the application type that is sensitive to latency to a higher priority, and set the priority of the application type that is not sensitive to latency to a lower priority. For example: in social applications (such as ), game applications, Internet short video applications (such as ), since the business data of Internet short video applications and game applications have high latency requirements and high power consumption, they can be set to a higher priority.
[0424] In other embodiments, if the terminal is in split-screen mode and multiple foreground applications are running in multiple split-screen windows in split-screen mode, the set with the largest duration in the RRC connection release timer duration set corresponding to the application type to which the multiple foreground applications belong can be selected, and based on the threshold group corresponding to the set and the data transmission statistics, it is determined whether it is necessary to adjust the timing duration of the RRC connection release timer, and when it is determined that the timing duration of the RRC connection release timer needs to be adjusted, the target value of the timing duration of the RRC connection release timer is determined based on the set with the largest duration. The data transmission statistics can be obtained by counting the number of data packets received by the terminal, including the data packets received by the multiple foreground applications. Furthermore, if the background application has data transmission, the counted data packets also include the data packets received by the background application with data transmission, that is, when counting the received data packets, no distinction is made between applications; the data transmission statistics can also be obtained by counting the data packets received by the application corresponding to the set with the largest duration, that is, when counting the received data packets, only the data packets received by the application corresponding to the set with the largest duration are counted.
[0425] Among them, the set with the largest duration refers to the RRC connection release timer duration set with the largest maximum value among the RRC connection release timer duration sets corresponding to the application types to which the multiple foreground applications belong.
[0426] Optionally, when an application is started so that it runs in the foreground, the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs may be determined, and the duration of the RRC connection release timer may be set to be equal to the maximum value in the set. When a background application is switched to a foreground application, the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs may be determined, and the duration of the RRC connection release timer may be set to be equal to the maximum value in the set.
[0427] Optionally, when the foreground application is closed so that no foreground application is currently running on the terminal, the timing duration of the RRC connection release timer can be kept unchanged, or the timing duration of the RRC connection release timer can be set to be equal to the maximum value in the general RRC connection release timer duration set. In other embodiments, when the foreground application is closed so that no foreground application is currently running on the terminal, if the terminal is in a bright screen state, the RRC connection release of the terminal is controlled by the network device, that is, the network device controls the RRC connection of the terminal according to the inactivity timer configured on the network device (for example, the timing duration of the timer is fixed at 10 seconds) (for example, when the inactivity timer times out, the RRC connection of the terminal is released); if the terminal enters a dark screen state, the terminal controls the RRC connection release according to a fixed duration configured by default (for example, 1 second or 2 seconds) (for example, when the terminal turns off the screen and has no information interaction with the network device within the fixed duration, the network device is requested 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 an instruction to the MODEM to instruct the restoration of the default configuration. In this case, if the terminal is in a 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 a screen-off state, the timing duration of the first timer is set to the fixed duration of the default configuration.
[0428] In some embodiments of the present application, an AP (application processor) of a terminal is provided with an RRC connection release timer duration set and a threshold or threshold group for determining whether to adjust the RRC connection release timer duration. The AP may determine whether to adjust the RRC connection release timer duration based on data transmission statistics and the threshold group. When determining that the RRC connection release timer duration needs to be adjusted, the AP selects a target value from the RRC connection release timer duration set based on the current RRC connection release timer duration, and sends an instruction to a modem to instruct the modem to adjust the RRC connection release timer duration to the target value. The instruction may carry the target value and may also carry an adjustment amount for the RRC connection release timer duration.
[0429] Optionally, in some embodiments, when an application is started in a terminal in a non-connected state, an RRC connection is established. At this time, the application processor (AP) obtains the maximum duration in the corresponding RRC connection release timer duration set and sends an instruction to the modem to instruct the modem to set the timing duration of the RRC connection release timer to the maximum duration.
[0430] Among them, optionally, if the RRC connection release timer timing duration is adjusted preferentially according to 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, which may include: the application processor obtains the RRC connection release timer duration set corresponding to the application type to which the application belongs, and if the acquisition is successful (that is, a corresponding RRC connection release timer duration set is set for the application type), the maximum duration in the set is obtained, thereby instructing the modem to set the timing duration of the RRC connection release timer to the maximum duration; if the acquisition fails (that is, no corresponding RRC connection release timer duration set is set for the application type), 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 timing duration of the RRC connection release timer to the maximum duration.
[0431] Among them, optionally, if the RRC connection release timer timing duration is adjusted preferentially according to the RRC connection release timer duration set corresponding to the application, the application processor (AP) obtains the maximum duration in the corresponding RRC connection release timer duration set, which may include: the application processor obtains the RRC connection release timer duration set corresponding to the application, and if the acquisition is successful (that is, 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 timing duration of the RRC connection release timer to the maximum duration; if the acquisition fails (that is, 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 timing duration of the RRC connection release timer to the maximum duration.
[0432] Among them, optionally, if the RRC connection release timer timing duration is adjusted only according to the general RRC connection release timer duration set, the application processor (AP) obtains the maximum duration in the corresponding RRC connection release timer duration set, which may include: the application processor obtains the maximum duration in the general RRC connection release timer duration set, thereby instructing the modem to set the timing duration of the RRC connection release timer to the maximum duration.
[0433] Optionally, when releasing the RRC connection and the current foreground application remains unchanged, the modem may maintain the duration of the RRC connection release timer unchanged.
[0434] In some other embodiments, an RRC connection release timer duration set and a threshold group for determining whether to adjust the timing duration of the RRC connection release timer are met are set on the modem in the terminal. The modem can determine whether to adjust the timing duration of the RRC connection release timer based on the data transmission statistics and the threshold group, and when it is determined that the timing duration of the RRC connection release timer needs to be adjusted, select a target value from the RRC connection release timer duration set 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.
[0435] The above method for the modem to determine whether it is necessary to adjust the timing length of the RRC connection release timer, and the method for setting and adjusting the timing length of the RRC connection release timer, are the same as the corresponding methods executed by the application processor.
[0436] It should be noted that, in the embodiment of the present application, the same threshold may be set for each RRC connection release timer duration in the RRC connection release timer duration set, or a corresponding threshold may be set for each RRC connection release timer duration. If a corresponding threshold is set for each RRC connection release timer, when determining whether the RRC connection release timer duration needs to be adjusted based on the threshold, the threshold corresponding to the current RRC connection release timer duration may be used to determine whether adjustment is required.
[0437] Figure 6a exemplarily illustrates a process for dynamically adjusting the duration of the RRC connection release timer based on the general RRC connection release timer duration set and the threshold group in S510 of Figure 5. This process is described using an example of using a counter to count the number of received data packets.
[0438] As shown in Figure 6a, the process may include:
[0439] S5101: Obtain the count value of the counter, which is the number of received data packets.
[0440] The counter may start counting in the following situations: when no foreground application is running, when an application is started, when a foreground application is switched to a background application, or when the terminal enters a connected state.
[0441] 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 with data transmission.
[0442] S5102: Compare the count value of the counter with the first threshold in the universal threshold group. If the count value is greater than the first threshold, proceed to S5103; otherwise, proceed to S5105.
[0443] S5103: Increase the duration of the RRC connection release timer.
[0444] S5104: Clear the counter and return to S5101.
[0445] In this step, a duration value greater than the duration value of the current RRC connection release timer is selected from the general RRC connection release timer duration set as a target value, and the duration of the RRC connection release timer is set to be equal to the target value.
[0446] 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, the second duration value being the smallest of 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 for increasing the timing duration of the RRC connection release timer may be: selecting the second duration value from the general 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; of course, the second duration value may also be other values in the general RRC connection release timer duration set, as long as it is greater than the first duration value.
[0447] More specifically, taking the order of the duration values in the RRC connection release timing set from large to small as an example, the 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 is set equal to the second duration value.
[0448] S5105: Determine whether the current RRC connection release timer has timed out. If so, proceed to S5106; otherwise, proceed to S5101.
[0449] S5106: Request the network device to release the RRC connection.
[0450] S5107: Compare the count value of the counter with the second threshold in the universal threshold group. If the count value is less than the second threshold, proceed to S5108; otherwise, proceed to S5109.
[0451] S5108: Reduce the duration of the RRC connection release timer and proceed to S5110.
[0452] In this step, a duration value smaller than the timing duration of the current RRC connection release timer is selected from the general RRC connection release timer duration set as a target value, and the timing duration of the RRC connection release timer is set to be equal to the target value.
[0453] Taking the example where the current timing duration of the RRC connection release timer is equal to the first duration value, and the universal RRC connection release timer duration set includes at least a third duration value and the first duration value, and the third duration value is the largest of all duration values in the RRC connection release timer duration set that are smaller than the first duration value, a method for reducing the duration of the RRC connection release timer may be: selecting a third duration value from the universal RRC connection release timer duration set, and setting the timing duration of the RRC connection release timer to be equal to the third duration value, and the third duration value is the largest of all duration values in the universal RRC connection release timer duration set that are smaller than the first duration value. Of course, the third duration value may also be another value in the universal RRC connection release timer duration set, as long as it is smaller than the first duration value.
[0454] More specifically, taking the order of the duration values in the RRC connection release timing set from large to small as an example, the general set includes a first duration and a third duration value adjacent to the first duration value (the third duration value is less 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 is set equal to the third duration value.
[0455] S5109: If the count value of the counter is between the first threshold and the second threshold (including the first threshold and the second threshold), the timing length of the RRC connection release timer is kept unchanged, and the process proceeds to S5110.
[0456] S5110: Clear the count value of the counter to zero.
[0457] It should be noted that, when the timing duration of the current RRC connection release timer is equal to the maximum duration value in the general RRC connection release timer duration set, if it is determined that the timing duration of the RRC connection release timer needs to be increased, the timing duration of the current RRC connection release timer can be kept unchanged and the counter can be cleared to zero; when the timing duration of the current RRC connection release timer is equal to the minimum duration value in the general RRC connection release timer duration set, if it is determined that the timing duration of the RRC connection release timer needs to be reduced, the timing duration of the current RRC connection release timer can be kept unchanged.
[0458] 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 the 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 timing duration of the current RRC connection release timer on the terminal is equal to timer3. According to the process shown in Figure 6a, at time t1, the terminal compares the count value N1 of the counter with ThHigh, and the comparison result is N1 > ThHigh. Therefore, the duration timer2 adjacent to and greater than timer3 is obtained from the set of general RRC connection release timer duration values, and the timing duration of the RRC connection release timer is adjusted from timer3 to timer2, and the counter is cleared 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, the duration timer3 adjacent to and less than timer2 is obtained from the set of general RRC connection release timer duration values, and the timing duration of the RRC connection release timer is adjusted from timer2 to timer3, and the counter is cleared.
[0459] 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 the effect of gradual adjustment. On the other hand, the technical implementation is simple and easy.
[0460] Figure 6b exemplarily shows the process of dynamically adjusting the RRC connection release timer by setting the set of RRC connection release timer duration values and the threshold group respectively based on different application types in S510 of Figure 5. This process is described by taking the example of using a counter to count and statistically analyze the number of received data packets.
[0461] As shown in Figure 6b, this process may include:
[0462] S5111: Obtain the count value of the counter, and this count value is the number of received data packets.
[0463] Among them, the counter may start counting in the following situations: when there is no foreground application running, when an application is started, or when an application switches between the foreground and the background, or when the terminal enters the connected state.
[0464] 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 with data transmission.
[0465] S5112: Based on the application type to which the foreground application belongs, the count value of the counter is compared with the first threshold in the threshold group corresponding to the application type. If the count value is greater than the first threshold, the process proceeds to S5113; otherwise, the process proceeds to S5115.
[0466] Optionally, in some embodiments, an RRC connection release lookup table is provided on the terminal, and the RRC connection release lookup table is used to store the correspondence between the application type and the RRC connection release timer duration set and the threshold group, such as storing the Internet short video application type information and the RRC connection release timer duration set and the threshold group corresponding to the application type, and also storing the game application type information and the RRC connection release timer duration set and the threshold group corresponding to the application type.
[0467] In some scenarios, when an application is opened as a foreground application or switched to a foreground application, the application type to which the application belongs 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), and the above-mentioned lookup table is queried based on the type to which the application belongs. If the application type to which the foreground application belongs is found in the lookup table, the threshold group corresponding to the application type and the RRC connection release timer duration set are obtained.
[0468] Among them, when the application is opened, the name of the application can be obtained in the following way: after the application is opened, the application can register its own information with the application framework layer, and the registered information may include the name of the application. After the application framework layer detects the event that the application is opened, it can use the function for obtaining the name of the foreground application to determine the name of the application currently running in the foreground based on the application name returned by the function.
[0469] When an application switches from the background to the foreground, the application framework layer can detect the event. At this time, the application framework layer can determine the name of the application currently running in the foreground by calling a function for obtaining the name of the foreground application based on the application name returned by the function.
[0470] The terminal can determine the application type to which the foreground application belongs, and query the RRC connection release lookup table based on the application type to obtain the threshold group corresponding to the application type to which the foreground application belongs, and then 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.
[0471] S5113: Increase the timing duration of the RRC connection release timer.
[0472] S5114: Clear the counter and return to S5111.
[0473] In this step, a duration value that is longer than the timing duration of the current RRC connection release timer is selected as the target value from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs, and the timing duration of the RRC connection release timer is set to be equal to the target value.
[0474] Taking the case where the current timing duration of the RRC connection release timer is 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 includes at least a second duration value and a first duration value, and the second duration value is the smallest of all duration values in the RRC connection release timer duration set that are larger than the first duration value, as an example, the method for increasing the timing duration of the RRC connection release timer can be: selecting a 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.
[0475] More specifically, taking the order of the duration values in the RRC connection release timing set from large to small as an example, the 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 is set equal to the second duration value.
[0476] In some embodiments, after determining the target value for the RRC connection release timer duration, the application processor (AP) may send an instruction to the modem to instruct the modem to set the duration of the RRC connection release timer to be equal to the target value. In other embodiments, the modem may determine whether the duration of the RRC connection release timer needs to be adjusted according to the above method, and if adjustment is required, determine the target value for the duration of the RRC connection release timer duration, and set the duration of the RRC connection release timer to be equal to the target value.
[0477] S5115: Determine whether the current RRC connection release timer has timed out. If so, proceed to S5116; otherwise, proceed to S5111.
[0478] S5116: Request the network device to release the RRC connection.
[0479] S5117: Compare the count value of the counter with the second threshold in the universal threshold group. If the count value is less than the second threshold, proceed to S5118; otherwise, proceed to S5119.
[0480] In S5118, the duration of the RRC connection release timer is reduced and the process proceeds to S5120.
[0481] In this step, a duration value that is smaller than the timing duration of the current RRC connection release timer is selected as the target value from the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs, and the timing duration of the RRC connection release timer is set equal to the target value.
[0482] Taking the case where the current timing duration of the RRC connection release timer is 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 includes at least a third duration value, and the third duration value is less than the first duration value as an example, the method for reducing the timing duration of the RRC connection release timer can be: selecting a third 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 third duration value, wherein the third duration value is the largest of all duration values in the general RRC connection release timer duration set that are smaller than the first duration value.
[0483] More specifically, taking the order of the duration values in the RRC connection release timing set from large to small as an example, the set includes a first duration value and a third duration value adjacent to the first duration value (the third duration value is less 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 is set equal to the third duration value.
[0484] In some embodiments, after determining the target value for the timing duration of the RRC connection release timer, the application processor (AP) may send an instruction to the modem to instruct the modem to set the timing duration of the RRC connection release timer to be equal to the target value. In other embodiments, the modem may determine whether the timing duration of the RRC connection release timer needs to be adjusted according to the above method, and if adjustment is required, determine the target value for the timing duration of the RRC connection release timer, and set the timing duration of the RRC connection release timer to be equal to the target value.
[0485] S5119: If the count value of the counter is between the first threshold and the second threshold (including the first threshold and the second threshold), the timing length of the RRC connection release timer is kept unchanged, and the process proceeds to S5120.
[0486] S5120: Clear the count value of the counter to zero.
[0487] It should be noted that, when the timing duration of the current RRC connection release timer is equal to the maximum duration value in the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs, if it is determined that the timing duration of the RRC connection release timer needs to be increased, the timing duration of the current RRC connection release timer can be kept unchanged and the counter can be cleared to zero; when the timing duration of the current RRC connection release timer is equal to the minimum duration value in the RRC connection release timer duration set corresponding to the application type to which the foreground program belongs, if it is determined that the timing duration of the RRC connection release timer needs to be reduced, the timing duration of the current RRC connection release timer can be kept unchanged.
[0488] It should also be noted that if the terminal switches between foreground and background applications, for example, based on the user's operation, application A currently running in the foreground is switched to application B, so that application B becomes the foreground application and application A becomes the background application, the above-mentioned counter can be cleared so that the terminal can restart the data transmission statistics, and based on the data transmission statistics results, use the threshold group corresponding to the application type to which application B belongs to determine whether it is necessary to adjust the timing duration of the RRC connection release timer, and further select the target value from the RRC connection release timer duration set corresponding to the application type to which application B belongs based on the current timing duration of the RRC connection release timer. The specific implementation process can be seen in Figure 6b.
[0489] In some embodiments, when an application is started as a foreground application or is switched to a foreground application, but the threshold group and RRC connection release timer duration set corresponding to the application type to which the application belongs are not found when querying the above-mentioned lookup table (that is, the corresponding threshold group and RRC connection release timer duration set are not set for the application type), the universal 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 is determined based on the universal RRC connection release timer duration set. For specific implementation methods, please refer to the process shown in Figure 6a.
[0490] In some embodiments, it is possible to determine whether the RRC connection release timer duration needs to be adjusted based on the threshold group corresponding to the foreground application, and determine the target value of the adjusted RRC connection release timer duration based on the RRC connection release timer duration set corresponding to the foreground application, similar to the process shown in Figure 6b. Furthermore, if the corresponding threshold group and RRC connection release timer duration set are not set for the foreground application, a universal threshold group can be used to determine whether the RRC connection release timer duration needs to be adjusted, and determine the target value of the adjusted RRC connection release timer duration based on the universal RRC connection release timer duration set. For specific implementation methods, please refer to the process shown in Figure 6a.
[0491] In the above process, on the one hand, an RRC connection release timer duration set is set, and 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 value of the RRC connection release timer timing duration is selected from the set. On the one hand, the timing duration adjustment amount of the RRC connection release timer can be prevented from being too large, thereby ensuring system stability and achieving a gradual adjustment effect. The technical implementation is simple and easy; 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 timing duration adjustment judgment is made 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, and the RRC connection release timer timing duration adjustment judgment is further made using the RRC connection release timer duration set corresponding to the application type to which the foreground application belongs. Therefore, the RRC connection release timer can be adjusted in a targeted manner according to the data transmission characteristics or data transmission requirements of different application types to meet the data transmission requirements of the application of the corresponding application type and reduce the power consumption of the terminal.
[0492] In some embodiments of the present application, the discretization idea of mathematical modeling is used to divide the continuous value into discrete values to form an RRC connection release timer length set. Specifically, the RRC connection release timer length set can be obtained by max The exponential segmentation method is used to obtain a geometric progression with the segmentation resolution (also called the base of the exponential segmentation method) as the common ratio. The segmentation resolution (i.e., the base) in the exponential segmentation method represents the granularity of the RRC connection release duration. The exponential segmentation method can be used based on T max Perform index segmentation to obtain multiple RRC connection release timer durations, forming an RRC connection release timer duration set.
[0493] Among them, T maxIt is pre-set and can be set to be equal to the duration of the RRC connection release timer configured by default in the network device, for example, equal to 10 seconds.
[0494] The index splitting formula is: Wherein, i=1, 2, 3…K; α is the segmentation resolution, which is also called the base of exponential segmentation, and α is an integer greater than 1.
[0495] For example, T max = 10 seconds, α = 2, and the minimum value in the RRC connection release timer duration set is not less than 1 second. The RRC connection release timer duration set obtained according to the above exponential partitioning formula can be expressed as: {10, 5, 2.5, 1.25}.
[0496] In the RRC connection release timer duration set generated using the exponential slicing 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 concept of Markov model state transition, the RRC connection release timer duration set can be used to adjust the RRC connection release timer duration.
[0497] The state of a Markov model refers to the current, past, and future states of a sequence of random variables X1, X2, …, X3 that exhibit the Markov property. 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 states before time t. The state transition from time t to time t+1 is independent of the value of t.
[0498] FIG7 exemplarily shows a schematic diagram of the state transition of the Markov model of the RRC release time in an embodiment of the present application. As shown in the figure, the Markov chain of the RRC connection release timer timing duration includes K states as shown in the figure, each state corresponds to an RRC connection release timer timing duration, where T1>…>T i-1 >T i >T i+1 …>T K From T i Convert to T i+1 The probability is P i,i+1 , from T i Convert to T i-1 The probability is P i,i-1 , from T i+1 Convert to T i The probability is P i+1,i , from T i Convert to T i-1 The probability is P i,i-1 , T i-1 The probability of remaining unchanged is Pi-1,i-1 , T i The probability of remaining unchanged is P i,i , T i+1 The probability of remaining unchanged is P i+1,i+1 .
[0499] Based on the Markov chain of the RRC connection release timer timing duration, taking the number of received data packets as an example, the terminal is currently configured with a Markov chain of the RRC connection release timer timing duration as shown in Figure 7, that is, an RRC connection release timer duration set, and a first threshold ThHigh and a second threshold ThLow.
[0500] The current terminal is in the RRC connected state and is in the state T in the above Markov chain. i (That is, the duration of the RRC connection timer is T i ), then when it is detected that the number of data packets arriving (ie the number of received data packets) reaches the first threshold ThHigh, the state T i Jump to state T i+1 , that is, the current RRC connection timer duration is changed from T i Adjust to T i+1 , which increases the duration of the RRC connection release timer and clears the number of data packets.
[0501] The current terminal is in the RRC connected state and is in the state T in the above Markov chain. i (That is, the duration of the RRC connection timer is T i ). When the RRC connection release timer times out, it is detected that the number of data packets arriving is less than the second threshold ThLow, then i Convert to T i-1 , that is, the current RRC connection timer duration is changed from T i Adjust to T i-1 , which reduces the duration of the RRC connection release timer and clears the number of data packets.
[0502] In the embodiment of the present application, the threshold or threshold group used to determine whether to adjust the RRC connection release timer duration, and the RRC connection release timer duration set used to adjust the RRC connection release timer duration, can be obtained by the terminal itself through an online learning method, can also be obtained by the terminal itself through an offline learning method, and can also be configured by the network side. The above parameters configured by the network side (i.e., the threshold or threshold group used to cut off whether to adjust the RRC connection release timer timing duration, and the RRC connection release timer duration set used to adjust the RRC connection release timer timing duration) can be obtained by the network side through an offline learning method. Of course, a method combining the above various methods can also be adopted.
[0503] It should be noted that, in the method of adopting network side configuration, the network side can send the above parameters to the terminal, or send the information used to generate the above parameters to the terminal. For example, the segmentation resolution (i.e., the base number) of the exponential segmentation method can be sent to the terminal, and the terminal can generate an RRC connection release timer duration set based on the exponential segmentation method according to the segmentation resolution (i.e., the base number).
[0504] The following describes in detail the process of obtaining a threshold or threshold group for determining whether to adjust the timing duration of the RRC connection release timer, and an RRC connection release timer duration set for adjusting the RRC connection release timer duration, provided by an embodiment of the present application, through an online learning method and an offline learning method.
[0505] (1) Obtain the RRC connection release timer duration set and threshold group through an online learning method.
[0506] The method may be executed by a terminal.
[0507] In the online learning method described below, an exponential segmentation method is used to generate an RRC connection release timer duration set as an example. This idea can be applied to online learning methods that use other methods to generate an RRC connection release timer duration set.
[0508] Figure 8 exemplifies the process of the online learning method, and Figure 9 exemplifies the principle of the online learning method. The online learning method will be described below with reference to Figures 8 and 9 .
[0509] As shown in FIG8 , the online learning method may include the following steps:
[0510] S801: Acquire data transmitted by a terminal within a statistical time period as sample data, and perform statistics on the sample data to obtain data packet interval distribution characteristics.
[0511] Among them, the statistical duration is a preset value, and the value range of the statistical duration can be several minutes to tens of minutes, such as 5 to 20 minutes, and this application does not impose any restrictions on this.
[0512] Data transmitted during the statistical duration may include data received or sent during the statistical duration. For example, the data packets received by the terminal during the statistical duration when a certain application was the foreground application may include data packets received by the foreground application and data packets received by background applications with data transmission.
[0513] The packet interval distribution characteristics can be obtained by counting the number of received or transmitted packets, and can be expressed as a packet interval probability density distribution curve and a packet number probability density distribution curve. For example, the time interval between adjacent packets can be counted, or the number of received packets at a set period can be counted to obtain the packet interval. For example, if the statistical data (i.e., the number of packets) for five consecutive periods are {1000, 0, 0, 3000, 2000}, the packet intervals are 3 and 1, respectively. Based on the packet intervals, the packet interval probability density distribution curve can be obtained.
[0514] After statistically obtaining the intervals between data packets, the cumulative distribution function (CDF) can be used to calculate the probability density distribution of packet intervals. The probability density distribution of packet intervals represents the probability of occurrence of each interval size obtained statistically. The probability density distribution of packet intervals can be presented in the form of a packet interval CDF curve (or packet interval probability density distribution curve). Figure 10a shows a packet interval CDF curve. The horizontal axis in Figure 10a represents the packet interval size, which can be in seconds or other time units, and the vertical axis represents the probability size. As shown in Figure 10a, the curve shown by the dotted line (or broken line) is obtained by connecting discrete points. After fitting the curve shown by the dotted line (or broken line), the packet interval CDF curve shown by the solid line in Figure 10a can be obtained.
[0515] After obtaining the cumulative number of data packets, the CDF function can be used to calculate the probability density distribution of the number of packets. The probability density distribution of the number of packets represents the probability distribution of the cumulative value of the number of packets obtained by statistics. The probability density distribution of the number of packets can be presented in the form of a packet number CDF curve (or packet number probability density distribution curve). Figure 10b shows a packet number CDF curve. The horizontal axis in Figure 10b represents the number of packets in a period, and the vertical axis represents the probability that the number of data packets in a period is less than the number of packets on the horizontal axis. As shown in Figure 10b, the curve shown by the dotted line (or broken line) is obtained by connecting the discrete points. After fitting the curve shown by the dotted line (or broken line), the packet number CDF curve represented by the solid line in Figure 10b can be obtained. For example, as shown in the figure, the probability of the number of packets being less than 1000 is greater than 0.95.
[0516] S802: Determine at least one candidate RRC connection release timer duration set.
[0517] The number of the candidate RRC connection release timer duration sets (hereinafter referred to as candidate sets, represented by rrcTimerSet) is at least one. Each candidate set rrcTimerSet includes at least two elements, each element is a candidate value for the RRC connection release timer timing duration. The elements in each candidate set rrcTimerSet can be arranged in order from large to small (i.e., arranged in descending order of RRC connection release duration), or can be arranged in order from small to large (i.e., arranged 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 the preset maximum RRC connection release timer duration. Optionally, the minimum value of the RRC connection release timer duration is not less than the 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.
[0518] Taking the exponential splitting method to generate the candidate set rrcTimerSet as an example, the following parameters can be set in advance:
[0519] 1) Exponential segmentation base BASE = arange(1.1,5.2,0.05), where arange(1.1,5.2,0.05) represents an arithmetic progression with 1.1 as the lower limit and 5.2 as the upper limit, and a tolerance of 0.05. This arithmetic progression can be expressed as [1.1,1.15,1.2,…,5.15,5.2].
[0520] 2) Maximum number of segmentation states NUM_STATE_MAX. The value of NUM_STATE_MAX is a positive integer. In this example, NUM_STATE_MAX=5.
[0521] 3) Maximum RRC connection release timer duration RRC_REL_MAX. In this example, the value of RRC_REL_MAX is the default RRC connection release timer duration configured on the base station, for example, RRC_REL_MAX=10 seconds.
[0522] 4) Minimum RRC connection release timer duration RRC_REL_MIN. In this example, the value of RRC_REL_MIN is the default RRC connection release timer duration configured on the terminal, for example, RRC_REL_MIN = 1 second.
[0523] According to the above preset parameters and the above index segmentation formula, taking BASE=2 as an example, the following candidate set rrcTimerSet can be obtained:
[0524] When BASE=2, the possible values of the RRC connection release timer include {10, 5, 2.5, 1.25}. After permutations and combinations, the following candidate set rrcTimerSet that meets the above conditions can be obtained:
[0525] {10,5,2.5,1.25}
[0526] {10,5,2.5}
[0527] {10,5,1.25}
[0528] {10,2.5,1.25}
[0529] {5,2.5,1.25}
[0530] {10,5}
[0531] {10,2.5}
[0532] {10,1.25}
[0533] {5,2.5}
[0534] {5,1.25}
[0535] {2.5,1.25}
[0536] 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 digits after the decimal point.
[0537] The above only exemplifies some candidate sets rrcTimerSet. Based on the same idea, those skilled in the art can determine the candidate sets rrcTimerSet corresponding to each base number according to the exponential segmentation base number BASE=arange(1.1,5.2,0.05). Among them, the maximum value of the RRC connection release timer in each candidate set rrcTimerSet does not exceed 10 (RRC_REL_MAX=10), and the minimum value of the RRC connection release timer is not less than 1 (RRC_REL_MIN=1). In each candidate set rrcTimerSet, the total number of elements does not exceed 5 (NUM_STATE_MAX=5).
[0538] 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 based on pre-configured parameters (such as BASE=arange(1.1,5.2,0.05), NUM_STATE_MAX=5, RRC_REL_MAX=10 seconds, etc.).
[0539] S803: Determine at least one candidate threshold group according to the data packet interval distribution characteristics.
[0540] A candidate threshold group includes one threshold or two thresholds. If it includes two thresholds, the two thresholds are called a first threshold and a second threshold, and the first threshold is greater than or equal to the second threshold.
[0541] Among them, 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, the thresholds contained in different candidate threshold groups are different. For example, a candidate set rrcTimerSet corresponds to the first candidate threshold group and the second candidate threshold group, then there are the following possible situations:
[0542] Case 1: the first threshold in the first candidate threshold group and the first threshold in the second candidate threshold group have different values, and the second threshold in the first candidate threshold group and the second threshold in the second candidate threshold group have the same value;
[0543] 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 packet limit in the second candidate threshold group;
[0544] Case 3: the first threshold in the first candidate threshold group and the first threshold in the second candidate threshold group have different values, and the second threshold in the first candidate threshold group and the second threshold in the second candidate threshold group have different values.
[0545] In step 403, 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 duration of each RRC connection release timer in the candidate set rrcTimerSet as the time interval, obtaining the distribution probability corresponding to each RRC connection release duration in the candidate set rrcTimerSet based on the packet interval CDF curve, obtaining the number of packets corresponding to the corresponding distribution probability on the packet number distribution CDF curve, and obtaining at least one candidate threshold group corresponding to the candidate set rrcTimerSet based on these packet numbers.
[0546] The following takes the candidate set rrcTimerSet19 {10, 5, 2.5, 1.25} when BASE = 2 in the above example as an example to describe how to use the packet interval CDF curve shown in Figure 10a and the packet number CDF curve shown in Figure 10b to determine the candidate threshold group corresponding to the candidate set rrcTimerSet19.
[0547] Referring to Figure 11a, based on the packet interval CDF curve shown in Figure 10a, and according to the RRC connection release timer durations in the candidate set rrcTimerSet19{10,5,2.5,1.25}, four corresponding interval values (10,5,2.5,1.25) are selected on the abscissa of the packet interval CDF curve to obtain the distribution probabilities P1 to P4 corresponding to these four interval values, as shown in Figure 11a. For example, the distribution probability corresponding to T1 = 10 is P1, the distribution probability corresponding to T2 = 5 is P2, the distribution probability corresponding to T3 = 2.5 is P3, and the distribution probability corresponding to T4 = 1.25 is P4.
[0548] Referring to FIG11b , based on the packet number CDF curve shown in FIG10b , according to the distribution probabilities P1 , P2 , P3 , and P4 , the corresponding packet numbers N1 , N2 , N3 , and N4 are determined on the packet number CDF curve, as shown in FIG11b .
[0549] According to the number of packets N1, N2, N3 and N4, the candidate threshold group corresponding to the candidate set rrcTimerSet19 can be obtained through permutation and combination:
[0550] Candidate threshold group 1: first threshold thHigh = N1, second threshold thLow = N2;
[0551] Candidate threshold group 2: first threshold thHigh = N1, second threshold thLow = N3;
[0552] Candidate threshold group 3: first threshold thHigh = N1, second threshold thLow = N4;
[0553] Candidate threshold group 4: first threshold thHigh = N2, second threshold thLow = N3;
[0554] Candidate threshold group 5: first threshold thHigh = N2, second threshold thLow = N4;
[0555] Candidate threshold group 6: first threshold thHigh=N3, second threshold thLow=N4.
[0556] Of course, the first threshold thHigh and the second threshold thLow in the candidate threshold group may also be equal, for example, in one candidate threshold group, thHigh=N1, thLow=N1; in another candidate threshold group, thHigh=N2, thLow=N2, and so on.
[0557] 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.
[0558] Each candidate combination includes a candidate set rrcTimerSet and a candidate threshold group.
[0559] Still taking the candidate set rrcTimerSet19{10,5,2.5,1.25} as an example, according to 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.
[0560] S805: Based on the sample data obtained in S801, each candidate combination is used to determine the RRC connection release status, and according to the RRC connection release status corresponding to each candidate combination, an evaluation parameter corresponding to each candidate combination is determined.
[0561] 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 embodiment of the present application, and a corresponding RRC connection release moment can be obtained for each candidate combination. For each candidate combination, an evaluation parameter corresponding to the candidate combination is determined according to the corresponding RRC connection release moment, and the evaluation parameter is used to select the optimal candidate combination.
[0562] Taking a candidate combination as an example, this step is equivalent to simulating the execution of the RRC connection release process provided in the embodiment of the present application based on the sample data obtained in S801, using the candidate combination, so as to obtain the RRC connection release status of the sample data within the statistical time length, and the RRC connection release status includes the RRC connection release time and the number of RRC connection releases.
[0563] The optimal evaluation parameter may include at least one of the total duration of the RRC connection state and the total duration of the RRC non-connection state within the statistical duration, and at least one of the release matching rate and the false release rate within the statistical duration.
[0564] Release matching rate = 1-false release rate;
[0565] False release rate = number of false releases / number of random accesses.
[0566] Among them, false release means that after the RRC connection is released, if there is data transmission (such as data sending or data receiving) within a preset time, the release is considered to be a false release. Because after the RRC connection is released, when there is new data transmission, a random access request is initiated to re-establish the RRC connection. The random access process requires a certain amount of power consumption. In this case, the power consumption saved by this RRC connection release is less than the power consumption of the random access process, so this is considered to be a false release.
[0567] The above-mentioned preset time length is pre-set, and the value of the preset time length can be several seconds, for example, the preset time length REL_ERR_TH=2 seconds.
[0568] S806: Select the optimal candidate combination according to the evaluation parameters corresponding to each candidate combination.
[0569] 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, and the RRC connection release timer duration set in the optimal candidate combination can be used to determine the target value of the RRC connection release timer timing duration.
[0570] According to the process shown in Figure 8, a universal threshold group and a universal RRC connection release timer duration set can be learned. If the data packet received when a certain target application is a foreground application is obtained as sample data in S801, the threshold group and RRC connection release timer duration set corresponding to the application can be learned. If the data packet received when a representative application of a certain type of application is a foreground application is obtained as sample data in S801, the learned threshold group and RRC connection release timer duration set can be used as the threshold group and RRC connection release timer duration set corresponding to the application type.
[0571] In the embodiment of the present application, the conditions for evaluating the optimal candidate combination can be pre-set. 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 non-connected state. Based on this principle, the conditions for evaluating the optimal candidate combination may include one of the following conditions:
[0572] Condition 1: The false release rate is less than the preset false release rate threshold, and the total duration of the RRC non-connected state is the largest or the ratio of the total duration of the RRC non-connected state to the statistical duration is the largest; for example, the false release rate threshold can be set to 40%;
[0573] 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 smallest or the ratio of the total duration of the RRC connection state to the statistical duration is the smallest;
[0574] Condition 3: The release match rate is greater than the preset release match rate threshold, and the total duration of the RRC non-connected state is the largest or the ratio of the total duration of the RRC non-connected state to the statistical duration is the largest; where release match rate = 1 - false release rate; for example, the release match rate threshold can be set to 60%;
[0575] 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 smallest or the ratio of the total duration of the RRC connection state to the statistical duration is the smallest; where release matching rate = 1 - false release rate.
[0576] Taking the above condition 1 as an example, based on the false release rate corresponding to each candidate combination, the candidate combination with a false release rate less than the false release rate threshold can be selected. Then, based on the ratio of the total RRC non-connected state duration and the statistical duration corresponding to each candidate combination within this range, the candidate combination corresponding to the largest ratio is selected as the optimal candidate combination.
[0577] The process shown in FIG. 8 is described below with three examples.
[0578] The terminal may be pre-configured with configuration information, which is used to generate the RRC connection release timer duration set rrcTimerSet. The configuration information may include:
[0579] The range of the exponential split base is BASE = arange(1.1,5.2,0.05). arange(1.1,5.2,0.05) represents an arithmetic progression with 1.1 as the lower limit, 5.2 as the upper limit, and a tolerance of 0.05.
[0580] The maximum number of split states NUM_STATE_MAX = 5, that is, the maximum number of durations in rrcTimerSet is 5;
[0581] The maximum RRC connection release timer duration RRC_REL_MAX = 10, that is, the maximum value in rrcTimerSet is not greater than 10;
[0582] The minimum RRC connection release timer duration RRC_REL_MIN = 1, that is, the minimum value in rrcTimerSet is not less than 1;
[0583] The release match rate threshold is 0.6.
[0584] Example 1:
[0585] According to the above configuration information, based on the Internet long video application (such as The sample data collected when the video is running in the foreground is obtained by using the process shown in Figure 8 to obtain the following optimal RRC connection release timer duration set rrcTimerSet and the optimal first threshold ThHigh and second threshold thLow:
[0586] 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 included in the optimal rrcTimerSet is numState = 4;
[0587] The optimal first threshold ThHigh=7;
[0588] The optimal second threshold thLow=7;
[0589] Based on Internet long video applications (such as Sample data collected when the video is running in the foreground, using the above optimal rrcTimerSet, optimal ThHigh and optimal thLow for RRC connection release control:
[0590] Release match rate matchRate = 0.86, which is greater than the set release match rate threshold of 0.6;
[0591] After testing, it can be concluded that the number of random accesses that occur when the traditional method is used for RRC connection release control is 28 times, and the number of random accesses that occur when the embodiment of the present application is used for RRC connection release control is 20 times. The RRC connection release control method provided by the embodiment of the present application can take into account the power consumption brought by the terminal in the RRC connection state and the power consumption brought by random access, thereby reducing the terminal power consumption as a whole; after testing, it can be concluded that by using the embodiment of the present application, the power consumption of the terminal can be saved by powerSaving = 41.70%.
[0592] Example 2:
[0593] According to the above configuration information, based on the Internet short video application (such as ) is running in the foreground, and the process shown in FIG8 is used to obtain the following optimal RRC connection release timer duration set rrcTimerSet and the optimal first threshold ThHigh and second threshold thLow:
[0594] The optimal rrcTimerSet is the set rrcTimerSet = [9.01, 3.0, 1.0] corresponding to the exponential segmentation base base = 3.00, and the number of durations contained in the optimal rrcTimerSet is numState = 3;
[0595] Optimal first threshold ThHigh=346;
[0596] Optimal second threshold thLow=346;
[0597] Based on Internet short video applications (such as ) Sample data collected during foreground operation, when the above optimal rrcTimerSet, optimal ThHigh and optimal thLow are used for RRC connection release control:
[0598] Release match rate matchRate = 0.76, which is greater than the set release match rate threshold of 0.6;
[0599] After testing, it can be concluded that the number of random accesses that occur when the RRC connection release control is performed using the embodiment of the present application is 45 times, and the number of random accesses that occur when the RRC connection release control is performed using the traditional method is 4 times. The RRC connection release control method provided by the embodiment of the present application can take into account the power consumption brought by the terminal in the RRC connection state and the power consumption brought by random access, thereby reducing the terminal power consumption as a whole. For example, in this example, the number of RRC connection releases is large, so the time the terminal is in the RRC connection state is relatively short, thereby reducing the terminal power consumption; after testing, it can be concluded that by using the embodiment of the present application, the power consumption of the terminal can be saved by powerSaving = 41.06%.
[0600] Example 3:
[0601] According to the above configuration information, based on web news applications (such as ) is running in the foreground, and the process shown in FIG8 is used to obtain the following optimal RRC connection release timer duration set rrcTimerSet and the optimal first threshold ThHigh and second threshold thLow:
[0602] The optimal rrcTimerSet is the set rrcTimerSet = [6.51, 2.0] corresponding to the exponential partition base base = 3.25, and the number of durations contained in the optimal rrcTimerSet is numState = 2;
[0603] Optimal first threshold ThHigh=61;
[0604] The optimal second threshold thLow=61;
[0605] Based on web news applications (such as ) Sample data collected during foreground operation, when the above optimal rrcTimerSet, optimal ThHigh and optimal thLow are used for RRC connection release control:
[0606] Release match rate matchRate = 0.65, which is greater than the set release match rate threshold of 0.6;
[0607] After testing, it can be concluded that the number of random accesses that occur when the RRC connection release control is performed using the embodiment of the present application is 17 times, and the number of random accesses that occur when the RRC connection release control is performed using the traditional method is 2 times. The RRC connection release control method provided by the embodiment of the present application can take into account the power consumption brought by the terminal in the RRC connection state and the power consumption brought by random access, thereby reducing the terminal power consumption as a whole. For example, in this example, the number of RRC connection releases is large, so the time the terminal is in the RRC connection state is relatively short, thereby reducing the terminal power consumption; after testing, it can be concluded that by using the embodiment of the present application, the power consumption of the terminal can be saved by powerSaving = 14.76%.
[0608] The optimal combination selected above (ThLow, ThHigh, and RRC connection release duration set) may be updated during subsequent use.
[0609] In some embodiments, the terminal may repeat the above process regularly or irregularly to obtain the optimal RRC connection release timer duration and threshold group, and configure them.
[0610] In other embodiments, the terminal may learn to obtain the optimal combination not only based on the currently collected sample data, but may also learn based on the data transmission statistics of sample data obtained multiple times. For example, the data transmission statistics of sample data collected one day before the current date and the data transmission statistics of sample data collected two days before the current date may be obtained, and then the data transmission statistics of the currently collected sample data may be added to learn to obtain the current optimal combination. Optionally, the data transmission statistics of sample data collected in the last few days (e.g., 5 days) may be used to generate the optimal combination.
[0611] In some other embodiments, the terminal may learn the optimal combination based on the data transmission statistics of the currently collected sample data, and then perform a weighted average of the optimal combination with the historical optimal combination 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), the weighted average can be performed according to the following formula:
[0612] ThLow3=a*ThLow1+(1-a)*ThLow2
[0613] ThHigh 3=b*ThHigh 1+(1-b)*ThHigh 2
[0614] Where a and b are weighting coefficients, and both a and b are positive numbers less than 1. The values of a and b can be the same or different. Optionally, a and b are both greater than 0.5, so that the weight of the currently learned threshold is maximized.
[0615] The threshold group (ThLow3, ThHigh3) after weighted average is used as the updated threshold group.
[0616] According to the method for obtaining the RRC connection release timer duration set and threshold group shown in Figure 8, the optimal timing duration of the RRC connection release timer can be set online based on the data packet sending and receiving status of the foreground application, so that the determined timing duration of the RRC connection timer matches the service sending and receiving status of the foreground service, thereby reducing the power consumption of the terminal.
[0617] It should be noted that the timing of each step in the process shown in Figure 8 is only an example, and the embodiments of the present application do not limit this. For example, the order of S801 and S802 can be adjusted in sequence or executed in parallel.
[0618] (2) Obtain the RRC connection release timer duration set and threshold through offline learning.
[0619] The method can be executed by a terminal or other device. For example, for one or more applications, sample data of the target application as a foreground application within the statistical duration is obtained, and the sample data is sent to a computing device. The computing device determines the optimal RRC connection release timer duration set and threshold group corresponding to the target application or the application type to which the target application belongs according to the method shown in Figure 8, or uses the learned threshold group and RRC connection release timer duration set as the threshold group and RRC connection release timer duration set corresponding to the application type to which the target application belongs, or uses the learned threshold group and RRC connection release timer duration set as a general threshold group and a general RRC connection release timer duration set.
[0620] Among them, the sample data can be obtained by terminal statistics or by network statistics. For example, the terminal obtains sample data by counting the data sent within the statistical period, or the network device obtains sample data by counting the data received within the statistical period.
[0621] The computing device may be any device that has data computing and processing capabilities and can implement the data processing functions in the process shown in FIG8 .
[0622] In some embodiments, the optimal RRC connection release timer duration set and threshold group corresponding to one or more application types can be obtained through offline learning, and then an RRC connection release lookup table can be formed. The RRC connection release lookup table is used to store the correspondence between application type information and RRC connection release timer duration set and threshold. By querying the RRC connection release lookup table according to the application type information, the RRC connection release timer duration set and threshold group corresponding to the application type can be obtained.
[0623] Table 1 exemplarily shows an RRC connection release lookup table.
[0624] Table 1
[0625]
[0626] In other embodiments, an optimal RRC connection release timer duration set and threshold group corresponding to one or more applications can be obtained through offline learning, thereby forming an RRC connection release lookup table as shown in Table 2. The RRC connection release lookup table is used to store the correspondence between application information and the RRC connection release timer duration set and threshold. The RRC connection release lookup table is queried based on the application information to obtain the RRC connection release timer duration set and threshold group corresponding to the application. The application information is used to identify the application and may include an application identifier and an application name.
[0627] Table 2 exemplarily shows an RRC connection release lookup table.
[0628] Table 2
[0629]
[0630] The RRC connection release timer duration set and the threshold group are obtained and configured in an offline learning manner, so that the terminal can save computing resources used for online learning of the RRC connection release timer duration set and the threshold.
[0631] (3) Obtain the RRC connection release timer duration set and threshold through offline learning.
[0632] This method can be executed by a terminal or other device. For example, for one or more applications, sample data of each application within a statistical duration is obtained, and the sample data is sent to a computing device. The computing device uses a mathematical calculation method to determine the optimal RRC connection release timer duration set and threshold group corresponding to each of the one or more applications.
[0633] In the following offline learning method, an exponential segmentation method is used to generate an RRC connection release timer duration set as an example. This idea can be applied to an online learning method that uses other methods to generate an RRC connection release timer duration set.
[0634] FIG12 exemplarily illustrates the process of the online learning method. As shown in FIG12 , the following description takes a target application as an example. The online learning method may include the following steps:
[0635] S1201: Acquire data transmitted by the terminal within a statistical time period as sample data, and perform statistics on the sample data to obtain data packet interval distribution characteristics.
[0636] The specific implementation method of this step is the same as that of the corresponding step in FIG8 , and will not be repeated here.
[0637] S1202: Determine at least one candidate RRC connection release timer duration set.
[0638] The specific implementation of this step is the same as that of the corresponding step in FIG8 , and will not be repeated here.
[0639] S1203: Determine at least one candidate threshold group corresponding to each candidate RRC connection release timer duration set according to the data packet interval distribution characteristic.
[0640] The specific implementation of this step is the same as that of the corresponding step in FIG8 , and will not be repeated here.
[0641] 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.
[0642] 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.
[0643] The specific implementation of this step is the same as that of the corresponding step in FIG8 , and will not be repeated here.
[0644] S1205: Determine the Markov state transition probability matrix corresponding to each candidate combination according to the data packet interval distribution characteristics and each candidate combination.
[0645] An element in a candidate RRC connection release timer duration set is an RRC connection release timer duration, corresponding to a Markov state.
[0646] Markov state transition probability matrix P t Expressed as:
[0647]
[0648] Where K represents the number of Markov states. 1,1 represents the probability that state 1 remains unchanged, P 1,2 represents the probability of state 1 jumping to state 2, and so on. There is no possibility of jumping between non-adjacent states, so the probability of jumping between non-adjacent states is 0, such as P 1,3 = 0. The above Markov state transition probability matrix P t , the sum of the probabilities of each row is equal to 1.
[0649] Taking the number of received data packets as an example, when in RRC connection state T i When the number of data packets arriving is less than the second threshold ThLow, the current state T i Jump to state T i+1 The probability P i,i+1 for:
[0650]
[0651] Among them, t session Indicates the packet interval, P rob (t session <T i ) indicates that the packet interval is less than state T i The probability of the corresponding RRC connection release timer duration, where n is a positive integer.
[0652] When in RRC connected state T i When the number of data packets reaches the first threshold ThHigh, the current state T i Jump to state T i-1 The probability P i,i-1 for:
[0653] P i,i-1 =P rob (t session <T i ) ThHigh
[0654] When in RRC connected state T i When the number of data packets arriving is greater than or equal to ThLow and less than or equal to ThHigh, maintain the current state T i The constant probability P i,i for:
[0655] P i,i =1-P i,i-1 -P i,i+1
[0656] 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 )) can be obtained from the Markov state transition probability matrix:
[0657] S t =S0P t
[0658] Among them, S0 is the initial state probability, P t is the Markov state transition probability matrix.
[0659] S1206: Calculate the value of the objective function for evaluating the optimal candidate combination according to the Markov state transition probability matrix corresponding to each candidate combination, and determine the optimal candidate combination according to the value of the objective function.
[0660] 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, and the RRC connection release timer duration set in the optimal candidate combination can be used to determine the target value of the RRC connection release timer timing duration.
[0661] According to the process shown in Figure 8, a universal threshold group and a universal RRC connection release timer duration set can be learned. If the data packet received when a certain target application is a foreground application is obtained as sample data in S801, the threshold group and RRC connection release timer duration set corresponding to the application can be learned. If the data packet received when a representative application of a certain type of application is a foreground application is obtained as sample data in S801, the learned threshold group and RRC connection release timer duration set can be used as the threshold group and RRC connection release timer duration set corresponding to the application type.
[0662] In some embodiments, the objective function may be set to minimize the average connection state residence time function, which may be expressed as:
[0663]
[0664] in:
[0665]
[0666] According to the above objective function, the smaller the objective function value, the shorter the time in the connected state, and the more power consumption the terminal saves. Therefore, the candidate combination corresponding to the minimum objective function value can be selected as the optimal candidate combination corresponding to the target application.
[0667] In some embodiments, the above-mentioned offline learning method can be used to obtain the optimal RRC connection release timer duration set and threshold group corresponding to one or more application types or applications, and then form an RRC connection release lookup table as shown in Table 1 or Table 2.
[0668] It should be noted that the timing of each step in the process shown in Figure 12 is only an example, and the embodiments of the present application do not limit this. For example, the order of S1201 and S1202 can be adjusted in sequence or executed in parallel.
[0669] According to one or a combination of the above embodiments, the implementation process of the embodiments of the present application is described below using a specific application scenario as an example.
[0670] Scene 1
[0671] For mobile phones that have not yet been configured with a threshold group and an RRC connection release timer duration set, such as newly purchased mobile phones, the RRC connection release can be controlled according to the timing duration of the RRC connection release timer agreed by the system. For example, when the 10-second RRC connection release timer configured by the base station for the mobile phone by default times out, the base station releases the RRC connection with the mobile phone.
[0672] When the phone is turned on or unlocked, if the user clicks on the Internet long video application A (for example Video application) icon to start application A, the application processor can monitor the launch of the application and obtain the name of the application. When the user triggers a movie thumbnail control in the interface of application A to request to play the movie, the application receives the event and sends a data acquisition request (such as an HTTP get request) to the application processor to request to obtain the video data of the movie; the application processor sends a transmission control protocol (TCP) connection establishment message to the modem, and the TCP connection establishment message can be carried in a request for sending and receiving data and sent to the modem. The request can specifically be an AT (attention) command; the modem establishes an RRC connection with the base station according to the AT command. The AT command does not carry indication information for indicating the release duration of the RRC connection.
[0673] When the phone is turned on or unlocked, if the user clicks on the icon of a game application (such as a racing game) in the user interface displayed on the phone screen to start the game application, the application processor can monitor the startup of the game application and obtain the name of the game application. When the user triggers the "Start Game" option in the interface of the game application, the game application sends a data acquisition request (such as a UDP request) to the application processor; the application processor sends user datagram protocol (UDP) data to the modem, and the UDP data can be carried in a request to send and receive data and sent to the modem. The request can specifically be an AT command; the modem establishes an RRC connection with the base station based on the AT command. The AT command does not carry indication information for indicating the release duration of the RRC connection.
[0674] The application processor determines whether it is necessary to set the timing duration of the RRC connection release timer. If it is determined that it is necessary, the application processor may further send an AT command to the modem, where the command may carry indication information for indicating the timing duration of the RRC connection release timer, so that the modem sets the timing duration of the RRC connection release timer to be equal to the timing duration value indicated by the indication information. When the RRC connection release timer times out, the mobile phone requests the base station to release the RRC connection. If it is determined that it is not necessary to set the timing duration of the RRC connection release timer, the application processor will not send an AT command for setting the timing duration of the RRC connection release timer to the modem. When the 10-second RRC connection release timer configured by default for the mobile phone on the base station times out, the base station releases the RRC connection with the mobile phone.
[0675] In this scenario, because 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 launch of application A as an example, the application processor (AP) determines the application type to which application A belongs and queries a lookup table based on this application type. Because the lookup table is not currently configured, the query fails. Furthermore, because the universal threshold group and universal 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.
[0676] In this scenario, when the phone's screen is on, the base station controls the release of the RRC connection. When the 10-second RRC connection release timer configured by the base station for the phone expires, the base station releases the RRC connection with the phone. Alternatively, if there is no data transmission within one second after the phone's screen is off, the phone requests the base station to release the RRC connection after one second.
[0677] After the mobile phone re-establishes the RRC connection with the base station, if there is no foreground and background switching of the application on the mobile phone, and no new application is started and requests to obtain data, then when the screen of the mobile phone is on, the RRC connection release is controlled by the base station. 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 between the base station and the mobile phone.
[0678] Scene 2
[0679] For a mobile phone that has not yet been configured with a threshold group and an RRC connection release timer duration set, after a period of use, the mobile phone's application processor (AP) uses the above-mentioned self-learning method to learn the threshold group used to determine whether the RRC connection release timer duration needs to be adjusted, 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 group and the RRC connection release timer duration set may include:
[0680] Case 1: A common RRC connection release timer duration set and a common threshold group;
[0681] Case 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;
[0682] 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;
[0683] Case 4: Based on Case 2, it also includes a universal RRC connection release timer duration set and a universal threshold group;
[0684] Case 5: Based on Case 3, it also includes a universal RRC connection release timer duration set and a universal threshold group.
[0685] An RRC connection release timer duration set includes at least two duration values, and a threshold group may include one threshold or two thresholds, for example, ThHigh and ThLow, where ThHigh≥ThLow.
[0686] The following description takes the threshold group and RRC connection release timer duration set configured in the above-mentioned situation 4 as an example.
[0687] For example, the application processor (AP) is configured with:
[0688] rrcTimerSetA={10.0,4.65,2.16,1.01}, threshold set A (ThHighA, ThLowA);
[0689] rrcTimerSetB={9.01,3.0,1.0}, threshold set B (ThHighB, ThLowB);
[0690] rrcTimerSetUN={6.51,2.0}, threshold set UN (ThHighUN, ThLowUN).
[0691] The application processor (AP) may be provided with a lookup table as shown in Table 3:
[0692] Table 3
[0693]
[0694] Among them, rrcTimerSetA and threshold group A correspond to long Internet video applications, rrcTimerSetB and threshold group B correspond to short Internet video applications, rrcTimerSetUN is a universal RRC connection release timer duration set, threshold group UN is a universal threshold group, and the durations in each rrcTimerSet are sorted from large to small.
[0695] Scene 3
[0696] For a mobile phone that has been configured with a threshold group and an RRC connection release timer duration set, after the user turns on the phone, the phone accesses the network. After the phone is turned on, if the user does not open any application, the phone remains in a non-connected state.
[0697] After the mobile phone is turned on or unlocked, when the mobile phone is in a non-connected state, if the user clicks on the icon of the Internet long video application A in the user interface displayed on the mobile phone screen to start 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 on the control in the form of the movie thumbnail to request to obtain the video data of the movie), after receiving the event, the long video application A sends TCP connection information to the application processor, and the application processor sends an AT command to the modem according to the TCP connection information. The modem establishes an RRC connection with the base station according to the AT command.
[0698] The application processor further determines whether it is necessary to set the timing duration of the RRC connection release timer. In this scenario, the application processor determines that the current foreground application is application A, and determines that the application type to which application A belongs is an Internet long video application. According to the application type, the lookup table shown in Table 3 is queried to obtain the threshold group A corresponding to the application type and the RRC connection release timer duration set rrcTimerSetA={10.0,4.65,2.16,1.01}. It is determined that the timing 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 timing duration of the RRC connection release timer is set, the timer starts timing with the set timing duration.
[0699] For example, the values of the information fields in the AT command are:
[0700] The value of the first information field is equal to 1;
[0701] The value of the second information field is equal to 1, indicating "enable OPEN_RRC_QUICKLY_RELEASE_FEATURE";
[0702] The third information field is reserved;
[0703] The value of the fourth information field para1=0 indicates that the RRC connection enters the idle state after being released;
[0704] The value of the fifth information field para2=10 indicates that the timing duration of the RRC connection release timer is set to 10 seconds.
[0705] The application processor (AP) further activates a counter to count the number of data packets received in the RRC connected state. While long video application A is running, data sent by 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 the data in the video playback window of application A. During this process, the counter counts the number of data packets received by the phone. These data packets include data packets sent by the long video application A from the network, and may also include data packets received by background applications that transmit data.
[0706] After receiving movie video data sent by the network, the mobile phone caches it in the player's buffer and plays the buffered video data in the video window of live video application A. During the first 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 (e.g., 100%) within a short period of time. Long video application A suspends sending video data download requests to the network, causing the network to no longer send video data to the mobile phone. If the mobile phone receives no data from the network for 10 seconds, the RRC connection release timer expires. The mobile phone then 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 and determines that the counter is greater than ThLowA in threshold group A corresponding to long video applications. Therefore, it determines that there is no need to adjust the RRC connection release timer duration and does not need to send an AT command to the modem to set the RRC connection release timer duration. At this point, the RRC connection release timer duration remains at 10 seconds. The application processor resets the counter to zero so that it can count received data packets after the RRC connection is reestablished.
[0707] In the second time period thereafter (i.e., after the aforementioned RRC connection is released), the amount of data in the player's buffer drops to a lower threshold (e.g., 40%), and long video application A sends a data transmission and reception request to the application processor. The application processor 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 application switching between the foreground and background, nor does it detect any new application being launched, the application processor does not need to send an AT command to the modem to set the duration of the RRC connection release timer. Therefore, when the RRC connection is re-established, the duration of the RRC connection release timer on the mobile phone remains at 10 seconds.
[0708] In the third time period thereafter (i.e., after the above-mentioned RRC connection is re-established), the user clicks the pause control button in the player window while watching a movie, and the long video application A suspends sending download requests to the network side according to the user operation event. Since the long video application A suspends sending download requests, the network side no longer sends video data to the mobile phone. The mobile phone does not receive any data packets for a period of time. When the duration reaches 10 seconds, the RRC connection release timer times out, and the mobile phone sends a request to the base station to request the release of the RRC connection. The base station accepts the request and releases the RRC connection between it and the mobile phone. The application processor reads the count value of the counter and determines that the count value is less than ThLowA in threshold group A corresponding to the long video application. Therefore, it determines that the timing duration of the RRC connection release timer needs to be reduced. Therefore, 4.65 seconds is selected from rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} as the target timing duration of the RRC connection release timer (since the current RRC connection release timer duration is 10 seconds, the largest of all duration values less than 10 seconds is selected from this set). The application processor then sends an AT command to the modem to instruct the modem to set the timing duration of the RRC connection release timer to the target value of 4.65 seconds. After the timing duration of the RRC connection release timer is set, the timer begins counting at the set timing duration. Optionally, after determining the target timing value of the RRC connection release timer, the application processor may also send an AT command to the modem to set the timing duration of the RRC connection release timer after the RRC connection is reestablished. Furthermore, the application processor clears the counter counter to zero, so as to count the received data packets after the RRC connection is re-established.
[0709] In the fourth time period thereafter (i.e., after the RRC connection is released as described above), the user clicks the play control button in the player window to resume normal playback from paused playback. Based on the user operation event, the long video application A sends an HTTP get request to the application processor to request 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 switching between the foreground and background, nor does it detect any new application being opened, there is no need to adjust the RRC connection release timer duration. The RRC connection release timer duration remains at 4.65 seconds. The mobile phone receives video data from the network side based on the download request sent by the mobile phone. However, due to the poor current network performance, the mobile phone does not receive any data packets for a period of time. When the duration reaches 4.65 seconds, the RRC connection release timer times out. The mobile phone sends a request to the base station to release the RRC connection. The base station does not accept the request and maintains the RRC connection with the mobile phone. The application processor reads the count value of the counter and determines that the count value is less than ThLowA in threshold group A corresponding to the long video application. Therefore, it determines that the RRC connection release timer duration needs to be reduced. Therefore, the application processor 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 of all duration values less than 4.65 seconds is selected from this set). The application processor then sends an AT command to the modem to instruct the modem 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 at the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor may also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is reestablished. Furthermore, the application processor clears the counter counter to zero, so as to count the received data packets after the RRC connection is re-established.
[0710] In the fifth time period thereafter (i.e., after the above-mentioned RRC connection release timer expires and the RRC connection release timer is reduced to 2.16 seconds), the user clicks the control key to increase the playback speed. The long video application A sends a download request to the network side according to the user operation event, and the network side sends the video data to the mobile phone according to the download request sent by the mobile phone. At this time, the network performance has returned to a better state. Because the user clicked the control key to increase the playback speed, the mobile phone requested a large amount of video data to be downloaded from the network, causing the mobile phone to receive a large number of video data packets in a short period of time. When the count value of the counter reaches ThHighA in threshold group A corresponding to long video applications, the application processor determines that the RRC connection release timer duration needs to be increased. Therefore, 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 2.16 seconds, the smallest of all duration values greater than 2.16 seconds is selected from this set). The application processor then sends an AT command to the modem to instruct the modem to set the RRC connection release timer duration to the target value of 4.65 seconds. After the RRC connection release timer duration is set, the timer begins counting at the set duration. Furthermore, the application processor clears the counter counter to zero so that it can count received data packets after adjusting the RRC connection release timer duration.
[0711] In the sixth time period thereafter (i.e., after the RRC connection release timer is increased to 4.65 seconds as mentioned above), the user returns to the main page (i.e., the mobile phone desktop) through a touch operation, thereby switching the long video application A from the foreground to the background. At this time, there is no foreground application on the mobile phone. After the application processor monitors the event of the long video application A switching from the foreground to the background, since it does not monitor any application switching to the foreground or any application being turned on, it determines to maintain the current RRC connection release timer timing length at 4.65 seconds, and there is no need to send an AT command to the modem for setting the RRC connection release timer timing length. Furthermore, the application processor can maintain the counter to continue counting the number of data packets received by the mobile phone.
[0712] In the seventh time period thereafter (i.e., switching the long video application A to the background as described above), the user switches application A to the foreground through a touch operation. After the application processor monitors the event of long video application A switching from the background to the foreground, it queries the lookup table shown in Table 3 based on the application type, obtains the threshold group A and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} corresponding to the application type, and determines that the timing duration of the RRC connection release timer needs to be set. Therefore, an AT command is sent to the modem to instruct the modem to set the timing duration of the RRC connection release timer to the maximum duration of 10 seconds in the set rrcTimerSetA. After the timing duration of the RRC connection release timer is set, the timer starts counting at the set timing duration. The application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the timing duration of the RRC connection release timer.
[0713] While long video application A is running as a foreground application, in the RRC connection state, the user opens short video application B (such as the TikTok application), then long video application A is switched to a background application, and short video application B is the foreground application. The application processor monitors that short video application B is opened and currently running as a foreground application, then determines that the application type to which application B belongs is an Internet short video application, and queries the lookup table shown in Table 3 based on the application type to obtain the threshold group B corresponding to the application type and the RRC connection release timer duration set rrcTimerSetB={9.01,3.0,1.0}, and sends an AT command to the modem to instruct the modem to set the timing duration of the RRC connection release timer to the maximum duration of 9.01 seconds in the set rrcTimerSetB. After the timing duration of the RRC connection release timer is set, the timer starts timing with the set timing duration. Furthermore, the application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the timing duration of the RRC connection release timer.
[0714] While live video application A is running as a background application and short video application B is running as a foreground application, a user launches social application C (such as WeChat) in the RRC connected state. This causes social application C to run as the foreground application on the current phone, while application A and application B run as background applications. After the application processor detects that social application C has been launched and is running as the foreground application, it determines the application type to which social application C belongs. Based on the application type, the application processor searches the lookup table shown in Table 3. If no threshold group or RRC connection release timer duration set corresponding to the application type is found (i.e., no threshold group or RRC connection release timer duration set is configured for the application type), it obtains a universal threshold group UN and a universal RRC connection release timer duration set rrcTimerSetUN = {6.51, 2.0} and sends an AT command to the modem, instructing it 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 begins counting at the set duration. Furthermore, the application processor clears the counter counter to zero, so as to restart counting the number of received data packets after adjusting the length of the RRC connection release timer.
[0715] After social application C is launched, the user uses the application to browse the official account content webpage. Since the amount of data on a webpage may be small and the user browses the webpage for a long time, there may be no data transmission for a sustained period of time. When the 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 between the mobile phone and the application processor. The application processor compares the current count value of the counter counter with the ThLowUN in the threshold group UN and determines that the current count value of the counter counter is less than ThLowUN. Therefore, it determines that the timing of the RRC connection release timer needs to be reduced. Therefore, 2.0 seconds is selected from rrcTimerSetUN={6.51,2.0} as the target value of the RRC connection release timer timing (since the current RRC connection release timer timing is 6.51 seconds, 2.0 seconds, which is less than 6.51 seconds, is selected from the set) and an AT command is sent to the modem to instruct the modem to set the timing of the RRC connection release timer to equal the target value of 2.0 seconds. After the RRC connection release timer duration is set, the timer begins counting at the set duration. Optionally, after determining the target value for the RRC connection release timer duration, the application processor may also send an AT command to the modem to set the RRC connection release timer duration after the RRC connection is reestablished. Furthermore, the application processor clears the counter counter to zero so that it can count received data packets after the RRC connection is reestablished.
[0716] After the RRC connection is released, the user selects a video in social application C to watch using a touchscreen operation. Upon receiving this event, social application C sends connection information to the application processor. Based on this connection information, the application processor sends an AT command to the modem, which then establishes an RRC connection with the base station. Because the application processor has not detected any application switching between the foreground and background modes, nor has it detected any new application being launched, it determines that there is no need to adjust the RRC connection release timer. Therefore, the RRC connection release timer remains at 2.0 seconds. Because the video selected by the user has a large amount of data 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 count value of the counter counter reaches ThHighUN in the threshold group UN, it determines that the timing of the RRC connection release timer needs to be increased. Therefore, 6.51 seconds is selected from rrcTimerSetUN={6.51,2.0} as the target value of the RRC connection release timer timing (since the current RRC connection release timer timing is 2.0 seconds, 6.51 seconds is selected from this set, which is greater than 2.0 seconds). The AT command is sent to the modem to instruct the modem to set the timing of the RRC connection release timer to equal the target value of 6.51 seconds. After the timing of the RRC connection release timer is set, the timer starts counting at the set timing. Further, the application processor clears the counter counter to zero so that the number of received data packets can be counted again after the RRC connection release timer timing is adjusted.
[0717] Afterwards, the user closes social application C, and short video application B is switched to the foreground. The application processor monitors the foreground-background switching event of the application and determines that the current foreground application is short video application B. It then determines that the application type to which application B belongs is an Internet short video application. Based on the application type, it queries the lookup table shown in Table 3 to obtain the threshold group B corresponding to the 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 duration of the RRC connection release timer to the maximum duration of 9.01 seconds in the set rrcTimerSetB, thereby adjusting the timing of the RRC connection release timer from 6.51 seconds to 9.01 seconds. After the timing of the RRC connection release timer is set, the timer starts counting at the set timing duration. Furthermore, the application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0718] Afterward, the user closes social application B, and long video application A is switched to the foreground. The movie video in the playback window of long video application A resumes playing. The application processor monitors the foreground-background switching event of the application and determines that the current foreground application is long video application A. It then determines that the application type to which application A belongs is an internet long video application. Based on the application type, it queries the lookup table shown in Table 3 to obtain threshold group A and RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} corresponding to the application type. It then sends an AT command to the modem to instruct the modem to set the RRC connection release timer duration to 10.0 seconds, the maximum duration in the set rrcTimerSetA. This adjusts the RRC connection release timer duration from 9.01 seconds to 10.0 seconds. After the RRC connection release timer duration is set, the timer begins counting at the set duration. Furthermore, the application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0719] After that (that is, after the above-mentioned application C and application B are closed in sequence, application A is switched to the foreground), the user turns on the split-screen mode of the mobile phone (for example, the split-screen mode of the mobile phone can be turned on through a set gesture), so that the screen of the mobile phone is divided into two split-screen windows (the first split-screen window and the second split-screen window), wherein the long video application A runs in the first split-screen window, and the main page (that is, the mobile phone desktop) is displayed in the second split-screen window, and the application icon is displayed in the main page. No application is currently started in the second split-screen window. Since the application processor has not detected the foreground and background switching event of the application, nor has it detected a new application being started, it is determined that there is no need to adjust the timing duration of the RRC connection release timer, and the timing duration of the RRC connection release timer is still 10.0 seconds.
[0720] Afterwards, 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 monitors the event of an application being launched and determines that the phone is currently in split-screen mode (the application processor can obtain the split-screen event 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, the application processor obtains threshold group B and RRC connection release timer duration set rrcTimerSetB = {9.01, 3.0, 1.0} corresponding to the short video application type with the higher priority. The application processor sends an AT command to the modem, instructing the modem to set the RRC connection release timer duration to the maximum value in the set, 9.01, thereby 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 begins counting at the set duration. Furthermore, the application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0721] The priorities of different application types can be set based on factors such as whether they are sensitive to latency. For example, the priority of the application type to which latency-sensitive applications belong can be set higher, while the priority of the application type to which latency-insensitive applications belong can be set lower.
[0722] Optionally, as an alternative to selecting the threshold group and RRC connection release timer duration set corresponding to the high-priority application type, the application processor may also select the set rrcTimerSetA with the larger duration value and the threshold group A corresponding to the set from the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} corresponding to the long video application type to which long video application A belongs and the RRC connection release timer duration set rrcTimerSetB = {9.01, 3.0, 1.0} corresponding to the short video application type to which short video application B belongs, and send an AT command to the modem, instructing the modem to set the timing duration of the RRC connection release timer to 10.0, the maximum value in the set. After the timing duration of the RRC connection release timer is set, the timer starts counting at the set timing duration.
[0723] When the short video application B is started in the second split-screen window, the short video application B needs to play the short videos recommended by the system or the short videos that the user has followed, so it sends a download request to the network side to request downloading the corresponding video data. The network side 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. After the user pauses the video in the playback window of short video application B through a touch operation, the mobile phone continues to obtain video data from the network because the movie video in the playback window of long video application A is playing. This causes the count value of counter to continue to increase. When ThHighB in threshold group B is reached (this embodiment uses 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 timing of the RRC connection release timer needs to be adjusted. Since the current RRC connection release timer duration is already the maximum value in rrcTimerSetB = {9.01, 3.0, 1.0}, the application processor may not send an AT command to the modem to set the RRC connection release timer duration. Of course, the application processor may also send an AT command to the modem to set the RRC connection release timer duration, so that the modem sets the RRC connection release timer duration to 9.01 seconds. Furthermore, the application processor clears the count value of counter to zero to count the number of subsequently received data packets.
[0724] When the user cancels the split-screen mode of the mobile phone by touching the screen, causing the short video application B to be closed while the long video application A remains the foreground application, the application processor monitors the above event and determines that the foreground application has switched to only the long video application A. It then determines that the application type to which the long video application A belongs is an Internet long video application. Based on the application type, it queries the lookup table shown in Table 3 to obtain the threshold group A and the RRC connection release timer duration set rrcTimerSetA = {10.0, 4.65, 2.16, 1.01} corresponding to the application type. It then sends an AT command to the modem to instruct the modem to set the RRC connection release timer duration to 10.0 seconds, the maximum duration in the set rrcTimerSetA, thereby adjusting the RRC connection release timer duration from 9.01 seconds to 10.0 seconds. After the RRC connection release timer duration is set, the timer begins counting at the set duration. Furthermore, the application processor clears the counter counter to zero so that it can restart counting the number of received data packets after adjusting the RRC connection release timer duration.
[0725] When the user closes the long video application A, there is currently no foreground application running on the mobile phone. After the application processor monitors the event that the long video application A is closed, it determines that there is currently no foreground application, so the current RRC connection release timer duration can be kept unchanged. Therefore, 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 solution in this case (i.e., the application processor monitors that there is currently no foreground application after the application is closed), the application processor can also send an AT command to the modem to enable the modem to set the RRC connection release timer to an invalid state or an inactive state according to the AT command. When the RRC connection release timer is invalid or inactive, the base station controls the release of the RRC connection between the mobile phone and the base station (for example, when there is no data transmission with the mobile phone for 10 seconds, the base station releases the RRC connection with the mobile phone). When an application is opened, the application processor sends an AT command to the modem to set the RRC connection release timer duration. The AT command can activate or validate the RRC connection release timer and set the timing duration of the RRC connection release timer to the target duration.
[0726] Scene 4
[0727] During use, the mobile phone obtains the data packet reception status of long video application A when it runs as the foreground application within a statistical duration (e.g., one hour). For example, the packet intervals of the data packets received within the statistical duration are counted to obtain a data packet interval distribution characteristic. Based on the data packet interval distribution characteristic, an RRC connection release timer duration set and a threshold group are learned using the method shown in FIG8. The newly learned RRC connection release timer duration set and threshold group will be configured as the RRC connection release timer duration set and threshold group corresponding to the application type to which long video application A belongs.
[0728] The newly learned RRC connection release timer duration set and threshold group can be enabled after the mobile phone is restarted, or after the long video application A and similar applications are closed, or after all foreground running applications are closed.
[0729] For the application type to which long video application A belongs, the currently used RRC connection release timer duration set is rrcTimerSetA1 = {10.0, 4.65, 2.16, 1.01}, 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). When all foreground applications on the mobile phone are closed, the newly learned rrcTimerSetA2 = {10, 5, 2.5, 1.25} and threshold group A2 are enabled.
[0730] At this time, if the user clicks on the icon of the Internet long video application A on the mobile phone screen to start 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 on the control in the form of the movie thumbnail to request to obtain 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 according to the TCP connection information, and the modem establishes an RRC connection with the base station according to the AT command.
[0731] The application processor determines that the current foreground application is application A and that the application type to which application A belongs is an internet long video application. Based on the application type, the application processor queries the lookup table shown in Table 3 to obtain threshold group A2 and the RRC connection release timer duration set rrcTimerSetA2 = {10, 5, 2.5, 1.25} corresponding to the application type. The application processor determines that the RRC connection release timer duration needs to be set. Therefore, the application processor sends an AT command to the modem, instructing the modem to set the RRC connection release timer duration to the maximum duration in the set rrcTimerSetA, 10 seconds. After the RRC connection release timer duration is set, the timer begins counting at the set duration.
[0732] The application processor (AP) further activates a counter to count the number of data packets received in the RRC connected state. While long video application A is running, data sent by 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 the data in the video playback window of application A. During this process, the counter counts the number of data packets received by the phone.
[0733] After receiving movie video data sent by the network, the mobile phone caches it in the player's buffer and plays the cached video data in the video window of live video application A. In the first 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%) in a short period of time. Long video application A suspends sending video data download requests to the network, causing the network to no longer send video data to the mobile phone. When the mobile phone receives no data from the network within 10 seconds, the RRC connection release timer times out. The mobile phone then 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 count value of the counter and determines that the count value is greater than ThLowA2 in threshold group A2 corresponding to long video applications. Therefore, it determines that there is no need to adjust the timing of the RRC connection release timer and no need to send an AT command to the modem to set the timing of the RRC connection release timer. At this time, the RRC connection release timer remains at 10 seconds. The application processor clears the counter to zero so as to count the received data packets after the RRC connection is re-established.
[0734] In the second time period thereafter (i.e., after the aforementioned RRC connection is released), the amount of data in the player's buffer drops to a lower threshold (e.g., 40%), and long video application A sends a data transmission and reception request to the application processor. The application processor 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 application switching between the foreground and background, nor does it detect any new application being launched, the application processor does not need to send an AT command to the modem to set the duration of the RRC connection release timer. Therefore, when the RRC connection is re-established, the duration of the RRC connection release timer on the mobile phone remains at 10 seconds.
[0735] In the third time period thereafter (i.e., after the above-mentioned RRC connection is re-established), the user clicks the pause control button in the player window while watching a movie, and the long video application A suspends sending download requests to the network side according to the user operation event. Since the long video application A suspends sending download requests, the network side no longer sends video data to the mobile phone. The mobile phone does not receive any data packets for a period of time. When the duration reaches 10 seconds, the RRC connection release timer times out, and the mobile phone sends a request to the base station to request the release of the RRC connection. The base station accepts the request and releases the RRC connection between it and the mobile phone. The application processor reads the count value of counter and determines that the count value 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. Therefore, the application processor 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 value less than 10 seconds is selected from this set). The application processor then sends an AT command to the modem,...
Claims
1. A radio resource control (RRC) connection release control method, applied to a terminal, It is characterized in that The terminal stores a timing duration of a first timer corresponding to a first type of application, the timing duration of the first timer corresponding to the first type of application includes at least two duration values, the first timer is a timer used when the terminal is in an RRC connected state, when the terminal is in an RRC connected state, the first timer starts timing, when the terminal receives data sent by the network device, the first timer is reset, and the method further includes: When a first application of a terminal runs to the foreground, the terminal determines an application type of the first application; Determining whether the application type of the first application belongs to the first application type; When the application type of the first application belongs to the first application type, the terminal determines a first duration value from the at least two duration values as a timing duration of the first timer; Upon detecting a preset operation for the first application, 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; When the timing value of the first timer exceeds the first duration value, the terminal requests the network device to release the RRC connection.
2. A radio resource control (RRC) connection release control method, It is characterized in that include: When a first application of the terminal is running in the foreground, determining a timing duration of a first timer corresponding to the first application, where the first timer is a timer used when the terminal is in an RRC connected state, and when the terminal is in an RRC connected state, the first timer starts timing, and when the terminal interacts with a network device, the first timer is reset; When a preset operation for the first application 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; When the timing value of the first timer exceeds the timing duration, the terminal requests the network device to release the RRC connection.
3. The method according to claim 2, It is characterized in that The information interaction includes at least one of the following situations: 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 according to claim 2 or 3, It is characterized in that The determining the timing duration of the first timer corresponding to the first application includes: Determine a timing duration of a first timer corresponding to an application type to which the first application belongs.
5. The method according to claim 4, It is characterized in that The determining the timing duration of the first timer corresponding to the application type to which the first application belongs includes: If the application type to which the first application belongs is the first application type, the timing duration of the first timer is the 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 the 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 type.
6. The method according to any one of claims 2 to 5, It is characterized in that After determining the timing duration of the first timer corresponding to the first application, the method further includes: Collecting statistics on the amount of data transmitted by the terminal in the RRC connected state; Based on the statistical result, the timing duration of the first timer is adjusted.
7. The method according to claim 6, It is characterized in that The first application corresponds to at least two duration values, and determining the timing duration of the first timer corresponding to the first application includes: determining the timing duration of the first timer to be the first duration value of the at least two duration values; The adjusting the timing duration of the first timer based on the statistical result includes: If the statistical result is greater than the first threshold, increasing the timing duration of the first timer from the first duration value to a second duration value; or, When there is no information interaction between the terminal and the network device within the timing duration of the first timer, if the statistical result is less than a second threshold, reducing 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 the first threshold, the timing duration of the first timer 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 of the first timer, 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 a third duration value, wherein the second threshold is less than or equal to the first threshold.
8. The method according to claim 7, It is characterized in that 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.
9. The method according to claim 7, It is characterized in that If the statistical result is less than the second threshold, after reducing the timing duration of the first timer from the first duration value to a third duration value, the method further includes: The terminal re-enters the RRC connected state, the first timer starts timing, and the timing duration of the first timer is the third duration value; When the terminal interacts with the network device, the first timer is reset; When the timing value of the first timer exceeds the timing duration, the terminal requests the network device to release the RRC connection.
10. The method according to any one of claims 2 to 9, It is characterized in that After determining 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, where the first instruction carries indication information for indicating the timing duration of the first timer; The second module sets a timing duration of the first timer of the terminal according to the indication information.
11. The method according to claim 10, It is characterized in that The first module includes an application processor of the terminal, and the second module includes a modem of the terminal.
12. The method according to any one of claims 2 to 11, It is characterized in that The first application remains running in the foreground.
13. The method according to any one of claims 2 to 12, It is characterized in that The step of determining the timing duration of a first timer corresponding to the first application program when the first application program of the terminal is running in the foreground includes: When the first application runs to the foreground, the timing duration of the first timer corresponding to the first application is determined, wherein when the first application is run at the first time, the timing duration is a first duration value, and when the first application is run at the second time, the timing duration is a fourth duration value, and the first duration value is different from the fourth duration value.
14. The method according to any one of claims 2 to 13, It is characterized in that 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: Determine the maximum value of 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 inactivity timer configured on the network device.
15. A radio resource control (RRC) connection release control method, It is characterized in that include: When the terminal is in an RRC connected state, counting the data transmission volume of the terminal; Based on the statistical results, the timing duration of the first timer of the terminal is adjusted, the first timer is a timer used when the terminal is in an RRC connected state, and 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.
16. The method of claim 15, It is characterized in that The method further includes 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.
17. The method of claim 15, It is characterized in that The adjusting the timing duration of the first timer based on the statistical result includes: 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; When the timing value of the first timer exceeds the timing duration, if the statistical result is less than a second threshold, the timing duration of the first timer is reduced from the first duration value to a third duration value, and the second threshold is less than or equal to the first threshold.
18. The method of claim 17, It is characterized in that 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, includes: When the timing value of the first timer exceeds the timing duration, if the statistical result is greater than a first threshold, the timing duration of the first timer is increased from the first duration value to the second duration value; or, When the terminal is in the RRC connected state, if the statistical result is greater than a first threshold, the timing duration of the first timer is increased from the first duration value to the second duration value.
19. The method of claim 18, It is characterized in that 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.
20. The method of claim 17, It is characterized in that The method further comprises: According to the application type to which the application program running in the foreground belongs, acquiring the first threshold and the second threshold corresponding to the application type; or, Acquire the common first threshold and the second threshold.
21. The method according to any one of claims 15 to 20, Features: The adjusting the timing duration of the first timer of the terminal includes: The first module of the terminal sends an instruction to the second module of the terminal, wherein the instruction carries 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 a timing duration of the first timer according to the indication information.
22. The method of claim 21, It is characterized in that The indication information also carries indication information for indicating that the terminal enters an idle state or an inactive state after the RRC connection is released.
23. The method according to any one of claims 15 to 22, It is characterized in that The statistical results include at least one of the following: The number of packets received; The amount of data received; The throughput rate of received data; The bit rate of the received data.
24. A communication device, It is characterized in that It includes at least one processor, which is connected to a memory, and is used to read and execute a program stored in the memory so that the device executes the method as described in any one of claims 1 or 2-14 or 15-23.