Calculation unit wake-up control method and device, electronic equipment and storage medium
By analyzing the sleep records and predicting the sleep depth type of the computing unit, and combining the weight value and confidence level, the sleep duration is dynamically adjusted to solve the problems of power consumption and performance instability in traditional sleep control methods, thus realizing efficient wake-up control of the computing unit.
Patent Information
- Application Number
- CN202511556490.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2026-03-03
AI Technical Summary
Traditional sleep control methods cannot dynamically adjust the sleep duration according to actual usage, leading to increased power consumption and unstable device performance, which may result in data loss.
By analyzing the hibernation records of the computing unit, the hibernation depth type is determined, and the future hibernation duration is predicted by combining the weight value and confidence level. The hibernation duration is then dynamically adjusted based on the time of the next wake-up event.
While ensuring device performance, power consumption is minimized, improving prediction accuracy and control flexibility, and ensuring that computing units are woken up in a timely manner when needed.
Smart Images

Figure CN121597291A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a wake-up control method, apparatus, electronic device, and storage medium for a computing unit. Background Technology
[0002] With the widespread adoption and continuous improvement of electronic devices, power management of computing modules has become an important research area. Especially in applications such as mobile devices and IoT devices where battery life is critical, reducing power consumption while maintaining device performance is a key challenge.
[0003] However, traditional hibernation control methods have some limitations. Simple timed hibernation strategies cannot dynamically adjust the hibernation duration based on actual usage, resulting in excessively long or short hibernation times, which affects device performance and user experience. Furthermore, some devices may wake up prematurely during hibernation due to external events, which not only increases power consumption but may also lead to data loss or system instability. Summary of the Invention
[0004] This application aims to at least partially address one of the technical problems in the related art.
[0005] Therefore, this application proposes a method, apparatus, electronic device, and storage medium.
[0006] One embodiment of this application proposes a wake-up control method for a computing unit, including: The control computing unit enters a sleep state, and the duration of the target prediction while the computing unit is in the sleep state is determined; The wake-up time of the computing unit in the sleep state is determined based on the predicted duration of the target and the occurrence time of the wake-up event in the event queue.
[0007] Optionally, determining the target prediction duration of the sleep state of the computing unit includes: Obtain the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The hibernation depth type corresponding to each hibernation state is determined based on the duration of the hibernation state. The predicted duration value for each type of dormancy depth is determined based on the duration of the dormancy state corresponding to each type of dormancy depth. The target predicted duration is determined from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
[0008] Optionally, determining the hibernation depth type corresponding to each hibernation state based on the duration of the hibernation state includes: The initial sleep depth type of the sleep state is determined based on the duration interval corresponding to the sleep state. A first value is generated based on the duration of the sleep state corresponding to the initial sleep depth type; The hibernation depth type of the hibernation state is determined based on the duration of the hibernation state and the first value.
[0009] Optionally, determining the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value includes: Obtain multiple preset dwell time thresholds, and determine the duration interval based on adjacent dwell time thresholds on the time axis; Determine the duration interval of the dormant state, and use the initial dormant depth type corresponding to the duration interval as the initial dormant depth type of the dormant state.
[0010] Optionally, determining the predicted duration value for each type of hibernation depth based on the duration of the hibernation state corresponding to each type of hibernation depth includes: A second value is generated based on the duration of the dormant state in various dormant depth types, and the second value is used as the duration prediction value.
[0011] Optionally, determining the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state includes: The weight values of various dormancy depth types are determined based on the occurrence time of the dormancy state, and the candidate predicted duration of the dormancy state is determined from the duration prediction values based on the weight values of the dormancy depth types. The confidence level of each type of dormancy depth is determined based on the historical predicted duration of the dormancy state, and the target predicted duration is determined from the candidate predicted durations based on the confidence level of the dormancy depth type.
[0012] Optionally, determining the weight values for various sleep depth types based on the occurrence time of the sleep state includes: Based on the weight values of the hibernation states of the same hibernation depth type, the weight values corresponding to each hibernation depth type are determined. The weight values of the hibernation states are determined according to the occurrence time of the hibernation state, and the weight values decrease as the occurrence time advances.
[0013] Optionally, determining the candidate predicted duration of the dormant state from the predicted duration values based on the weight value of the dormant depth type includes any one of the following: In response to the weight value corresponding to the sleep depth type being greater than or equal to the weight threshold, the duration prediction value corresponding to the sleep depth type is determined to be the candidate prediction duration. In response to the weight value corresponding to the sleep depth type being less than the weight threshold, it is determined that the duration prediction value corresponding to the sleep depth type is not the candidate prediction duration.
[0014] Optionally, determining the confidence level of various dormancy depth types based on the historical predicted duration of the dormancy state includes: In response to the fact that the historical predicted duration and the actual duration correspond to the same dormancy depth type, a first confidence value is assigned to the dormancy depth type corresponding to the dormancy state. In response to the fact that the hibernation depth type corresponding to the historical predicted duration and the actual duration are different, and the historical predicted duration is lower than the actual duration, a second confidence value is assigned to the hibernation depth type corresponding to the hibernation state. In response to the fact that the predicted duration of the historical sleep state and the actual duration of the sleep state correspond to different sleep depth types, and the predicted duration of the historical sleep state is longer than the actual duration of the sleep state, a third confidence value is assigned to the sleep depth type corresponding to the sleep state; wherein, the first confidence value is greater than the second confidence value, and the second confidence value is greater than the third confidence value.
[0015] Optionally, determining the target predicted duration from the candidate predicted durations based on the confidence level of the dormancy depth type includes: The candidate prediction duration with the highest confidence level corresponding to the sleep depth type among the candidate prediction durations is taken as the target prediction duration.
[0016] Optionally, determining the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of wake-up events in the event queue includes any one of the following: In response to the event wake-up duration and the target prediction duration belonging to the same sleep depth type, the calculation module is woken up when the wake-up event occurs; wherein, the event wake-up duration is the duration from the start of the sleep state to the occurrence of the next wake-up event; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is longer than the target predicted duration, the computing module is woken up after the target predicted duration is reached; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is less than the target predicted duration, the computing module is woken up when the wake-up event occurs.
[0017] Another embodiment of this application proposes a wake-up control device for a computing unit, comprising: The prediction module is used to control the computing unit to enter a sleep state and determine the duration of the target prediction while the computing unit is in the sleep state. The control module is used to determine the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of wake-up events in the event queue.
[0018] Optionally, the prediction module includes: The record acquisition submodule is used to acquire the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The type determination submodule is used to determine the hibernation depth type corresponding to each hibernation state based on the duration of the hibernation state in the hibernation state; The first prediction submodule is used to determine the predicted duration value corresponding to each type of dormancy depth based on the duration of the dormancy state corresponding to each type of dormancy depth. The second prediction submodule is used to determine the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
[0019] Optionally, the type determination submodule includes: The first determining unit is used to determine the initial sleep depth type of the sleep state based on the duration interval of the sleep state. A calculation unit is used to generate a first value based on the duration of the sleep state corresponding to the initial sleep depth type; The second determining unit is used to determine the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value.
[0020] Another embodiment of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method described in the foregoing aspect.
[0021] Another embodiment of this application proposes a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method described in the foregoing aspect.
[0022] Another embodiment of this application proposes a chip including processing circuitry configured to perform the method described in one aspect above.
[0023] Another embodiment of this application proposes a computer program product that, when executed by a processor, implements the method described in the foregoing aspect.
[0024] The wake-up control method, device, electronic equipment, chip, and storage medium for the computing unit proposed in this application predict future sleep duration by considering multiple factors and dynamically adjusts the sleep duration of the computing module based on the time of the next wake-up event, thereby minimizing power consumption while ensuring device performance. It not only considers historical sleep duration data but also introduces analysis of sleep depth types and dynamic adjustment of weight values, further improving the accuracy of prediction and the flexibility of control.
[0025] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0026] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein: Figure 1 A flowchart illustrating a wake-up control method for a computing unit provided in an embodiment of this application; Figure 2 A schematic diagram of the structure of a wake-up control device for a computing unit provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application; Figure 4 This is a schematic diagram of the structure of a chip proposed in an embodiment of this application. Detailed Implementation
[0027] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0028] The wake-up control method, apparatus, electronic device, chip, and storage medium of the computing unit according to embodiments of this application are described below with reference to the accompanying drawings.
[0029] Figure 1 This is a schematic diagram of a wake-up control process for a computing unit provided in an embodiment of this application.
[0030] As one implementation, the wake-up control method of the computing unit in this application embodiment can be configured in the wake-up control device of the computing unit. The wake-up control device of the computing unit can be applied to any electronic device so that the electronic device can perform the wake-up control function of the computing unit.
[0031] Among them, electronic devices can be any device with computing capabilities, such as mobile terminals, which can be hardware devices with various operating systems, touch screens and / or displays, such as mobile phones, tablets, personal digital assistants, wearable devices, etc.
[0032] As another implementation, the wake-up control method of the computing unit in this application embodiment can also be executed by a chip with processing capabilities. The chip includes an image signal processing chip (ISP), a central processing unit (CPU), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field-programmable gate array (FPGA), a system on a chip (SOC), a reduced instruction set computer (RISC), etc., which will not be listed here.
[0033] It should be noted that all data collection operations related to users in this application are conducted with the user's authorization and in strict compliance with relevant laws and regulations such as privacy and security.
[0034] like Figure 1 As shown, the method may include the following steps: Step 101: Control the computing unit to enter a sleep state, and determine the duration of the target prediction while the computing unit is in the sleep state; Step 102: Determine the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of the wake-up event in the event queue.
[0035] In this embodiment, the computing unit is first controlled to enter a sleep state (idle state), keeping it in a low-power or inactive state for a period of time to save energy or resources. After the computing unit enters the sleep state, the target predicted duration of the computing unit's future sleep state is further determined, that is, the predicted length of time the computing unit may remain in sleep mode during this sleep process. This predicted duration is based on certain analysis and calculations and is used to determine the subsequent wake-up time.
[0036] Then, the wake-up time of the computing unit in the sleep state is determined based on the predicted duration of the target and the occurrence time of the next wake-up event in the event queue. The event queue records various events that may trigger the computing unit to wake up from the sleep state and their occurrence times. By comprehensively considering the predicted duration of the target and the occurrence time of the next wake-up event, the specific wake-up time of the computing unit in the sleep state is accurately determined, so as to achieve reasonable control over the wake-up of the computing unit, ensuring that the computing unit is woken up in a timely manner when needed, while making full use of the sleep state to save resources.
[0037] In one possible implementation, to more accurately predict the arrival time of the next event, the prediction process adds the recording of scheduling events and interrupt events compared to the usual idle history. However, interrupts and scheduling occur too frequently during CPU operation, so interrupt types and scheduling need to be categorized and processed according to system and application characteristics. Specifically, scheduling events only focus on cross-CPU scheduling events. Interrupts, on the other hand, need to be recorded according to business requirements; for example, if an event is periodically triggered by a clock interrupt, then that clock interrupt should be the focus of recording.
[0038] Optionally, determining the target prediction duration of the sleep state of the computing unit includes: Obtain the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The hibernation depth type corresponding to each hibernation state is determined based on the duration of the hibernation state. The predicted duration value for each type of dormancy depth is determined based on the duration of the dormancy state corresponding to each type of dormancy depth. The target predicted duration is determined from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
[0039] In this embodiment, the hibernation records of the computing unit are obtained. These hibernation records detail one or more historical hibernation states of the computing unit and the duration of each hibernation state. This historical hibernation data provides a foundation for subsequent analysis. By reviewing past hibernation patterns, some regularities and trends can be identified, providing a reference for predicting future hibernation durations.
[0040] The hibernation depth type is determined based on the duration of each hibernation state within the multiple hibernation states. The hibernation depth type reflects the computing unit's energy consumption level, response speed, and other characteristics during hibernation; different hibernation depths may exhibit significant differences in duration. By analyzing the duration of each hibernation session, it is categorized into different hibernation depth types to allow for a more detailed study of the duration patterns of hibernation states at different depths.
[0041] The predicted duration for each dormancy depth type is determined based on the duration of each dormancy state corresponding to various dormancy depth types. After identifying the different dormancy depth types, the duration of each dormancy state within each dormancy depth type is further analyzed and processed to calculate the predicted duration for each dormancy depth type. This predicted duration is an estimate of the possible duration of this type of dormancy depth type in the future, providing a basis for determining the subsequent target predicted duration.
[0042] Finally, the target predicted duration is determined from the predicted duration values corresponding to each type of sleep depth based on the weight values and confidence levels of each sleep state. Weight values and confidence levels are indicators that measure the importance and reliability of different sleep states. Taking these factors into account, the most suitable duration is selected from the predicted duration values for each type of sleep depth as the target predicted duration, ensuring that this predicted duration more accurately reflects the future sleep duration of the computing unit.
[0043] Optionally, the hibernation depth type corresponding to each hibernation state is determined based on the duration of the hibernation state, including: The initial sleep depth type of the sleep state is determined based on the duration interval corresponding to the sleep state. A first value is generated based on the duration of the sleep state corresponding to the initial sleep depth type; The hibernation depth type of the hibernation state is determined based on the duration of the hibernation state and the first value.
[0044] In this embodiment, the initial hibernation depth type of each hibernation state is determined based on the duration interval corresponding to each hibernation state. The hibernation duration is divided into different duration intervals, and each duration interval corresponds to an initial hibernation depth type. By determining the duration interval in which each hibernation duration falls, the initial hibernation depth type is initially determined, providing a basic classification basis for further precise determination of the hibernation depth type.
[0045] A first value is generated based on the duration of each hibernation state corresponding to the initial hibernation depth type. This first value is the result of some calculation or statistics on the duration of each hibernation state in the initial hibernation depth type, and is used for subsequent analysis and comparison to more accurately evaluate the hibernation depth type.
[0046] The hibernation depth type of each hibernation state is determined based on its duration and the first value. By comparing and analyzing the duration of each hibernation state with the first value, and combining other relevant factors, the accurate hibernation depth type of each hibernation state is finally determined. This hibernation depth type can more realistically reflect the depth of the computing unit during that hibernation, providing a more accurate classification basis for subsequent operations such as duration prediction.
[0047] Optionally, determining the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value includes: Obtain multiple preset dwell time thresholds, and determine the duration interval based on adjacent dwell time thresholds on the time axis; Determine the duration interval of the dormant state, and use the initial dormant depth type corresponding to the duration interval as the initial dormant depth type of the dormant state.
[0048] In this embodiment, multiple preset dwell time thresholds are obtained. These dwell time thresholds are pre-set reference values used to divide the duration of hibernation. They divide the duration of hibernation into different intervals on the time axis, and each interval corresponds to an initial hibernation depth type.
[0049] The duration intervals are determined based on adjacent dwell time thresholds on the timeline. The specific boundaries of each duration interval are defined by the range between adjacent dwell time thresholds, ensuring that the duration of each sleep cycle can be accurately assigned to the corresponding duration interval.
[0050] The duration interval of each hibernation state is determined, and the initial hibernation depth type corresponding to the duration interval is used as the initial hibernation depth type for each hibernation state. Based on the duration interval of each hibernation state, the corresponding initial hibernation depth type is directly assigned to that hibernation state, thus completing the determination of the initial hibernation depth type and providing a preliminary classification result for subsequent analysis and processing.
[0051] Optionally, determining the predicted duration value for each type of hibernation depth based on the duration of the hibernation state corresponding to each type of hibernation depth includes: A second value is generated based on the duration of the dormant state in various dormant depth types, and the second value is used as the duration prediction value.
[0052] In this embodiment, a second value is generated based on the duration of each dormancy state in each type of dormancy depth. This second value is obtained by comprehensively calculating or statistically analyzing the duration of each dormancy state in each type of dormancy depth, and it can reflect the overall characteristics or trend of the duration of dormancy in that type of dormancy depth.
[0053] The second value is used as the duration prediction value. The generated second value is directly used as the duration prediction value corresponding to this type of sleep depth, and is used to determine the subsequent target prediction duration. This duration prediction value is an estimate of the possible duration of this type of sleep depth in the future, providing an important reference for the wake-up control of the computing unit.
[0054] In one possible implementation, heuristic prediction uses a multi-clustering algorithm. First, the history is divided into multiple classes based on the minimum dwell time for each dormancy depth type. Then, the most suitable class is selected to obtain the idle duration. The steps are as follows: For each type of historical record 1) Each initial sleep depth type of the idle state of the computing unit has a minimum dwell time. First, according to the interval of each event in the historical record or the duration of the idle state, each record is assigned to the shallowest initial sleep depth type whose minimum dwell time is greater than the record duration.
[0055] 2) Calculate the first average value for each initial hibernation depth type.
[0056] 3) Retrace through all records in the history, calculate the difference between the duration of the record and the first average value of each initial hibernation depth type, and then classify it into the hibernation depth type with the smallest distance, thus obtaining the final hibernation depth type.
[0057] 4) Recalculate the second average value for each hibernation depth type.
[0058] 5) Based on the order of historical occurrence, the most recent occurrence has the highest weight. Add weight to each historical record, and then calculate the weight value for each dormancy depth type.
[0059] 6) Select the state with the highest weight and compare it with the weight threshold. If the weight cannot exceed the set threshold, the prediction is considered to have failed. If the weight exceeds the threshold, the historical average value of the state is used as the candidate prediction duration.
[0060] 7) Compare the duration of the candidate prediction with the target period. When the difference is less than the duration threshold, the periodic event is considered to have been found.
[0061] Optionally, determining the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state includes: The weight values of various dormancy depth types are determined based on the occurrence time of the dormancy state, and the candidate predicted duration of the dormancy state is determined from the duration prediction values based on the weight values of the dormancy depth types. The confidence level of each type of dormancy depth is determined based on the historical predicted duration of the dormancy state, and the target predicted duration is determined from the candidate predicted durations based on the confidence level of the dormancy depth type.
[0062] In this embodiment, weight values for various dormancy depth types are determined based on the occurrence time of each dormancy state, and candidate predicted durations of dormancy states are determined from the predicted duration values based on the weight values of the dormancy depth types. The more recent the occurrence time of a dormancy state, the greater its reference value for the current prediction. Therefore, determining weight values based on occurrence time and the dormancy depth type with a higher weight value makes the predicted duration value corresponding to that dormancy state more likely to be selected as a candidate predicted duration.
[0063] The confidence level of each dormancy depth type is determined based on the historical predicted duration of each dormancy state. The prediction accuracy of different dormancy depth types is evaluated by analyzing the degree of matching between historical predicted duration and actual duration, thereby determining their confidence level. Dormancy depth types with higher confidence levels correspond to more reliable candidate predicted durations.
[0064] The target predicted duration is determined from the candidate predicted durations based on the confidence level of the sleep depth type. Taking into account factors such as confidence level, the most suitable duration is selected as the target predicted duration from the candidate predicted durations to improve the accuracy and reliability of the prediction, providing a precise basis for the wake-up control of the computing unit.
[0065] Optionally, weight values for various sleep depth types are determined based on the occurrence time of the sleep state, including: Based on the weight values of the hibernation states of the same hibernation depth type, the weight values corresponding to each hibernation depth type are determined. The weight values of the hibernation states are determined according to the occurrence time of the hibernation state, and the weight values decrease as the occurrence time advances.
[0066] In this embodiment, the weight value corresponding to each hibernation depth type is determined based on the weight value of the hibernation state of the same hibernation depth type. Different hibernation states under the same hibernation depth type may have different weight values, and these weight values are determined based on the occurrence time of the hibernation state.
[0067] The weight value of the dormant state is determined based on the occurrence time of the dormant state, and the weight value decreases as the occurrence time advances. That is, the earlier the dormant state occurs, the lower its weight value; the closer the occurrence time is to the current time, the higher its weight value. This is because the most recently occurring dormant state better reflects the current operating status and dormant trend of the computing unit, and has greater reference value for predicting the future duration of dormancy. Therefore, it is assigned a higher weight value to highlight its importance in the weight calculation.
[0068] Optionally, determining the candidate predicted duration of the dormant state from the predicted duration values based on the weight value of the dormant depth type includes any one of the following: In response to the weight value corresponding to the sleep depth type being greater than or equal to the weight threshold, the duration prediction value corresponding to the sleep depth type is determined to be the candidate prediction duration. In response to the weight value corresponding to the sleep depth type being less than the weight threshold, it is determined that the duration prediction value corresponding to the sleep depth type is not the candidate prediction duration.
[0069] In this embodiment, in response to the weight value corresponding to the dormancy depth type being greater than or equal to the weight threshold, the predicted duration value corresponding to the dormancy depth type is determined as the candidate predicted duration. That is, when the weight value of the dormancy depth type reaches or exceeds the set weight threshold, it indicates that the dormancy depth type has sufficient reference value, and its corresponding predicted duration value is used as the candidate predicted duration for further screening and determination.
[0070] In response to a weight value corresponding to the dormancy depth type being less than the weight threshold, it is determined that the predicted duration corresponding to the dormancy depth type is not a candidate predicted duration. If the weight value of the dormancy depth type is lower than the weight threshold, the dormancy depth type is considered to have insufficient reference value, and its corresponding predicted duration is not selected as a candidate predicted duration, thereby eliminating some less important predicted durations and improving the quality and reliability of candidate predicted durations.
[0071] Optionally, determining the confidence level of various dormancy depth types based on the historical predicted duration of the dormancy state includes: In response to the fact that the historical predicted duration and the actual duration correspond to the same dormancy depth type, a first confidence value is assigned to the dormancy depth type corresponding to the dormancy state. In response to the fact that the hibernation depth type corresponding to the historical predicted duration and the actual duration are different, and the historical predicted duration is lower than the actual duration, a second confidence value is assigned to the hibernation depth type corresponding to the hibernation state. In response to the fact that the predicted duration of the historical sleep state and the actual duration of the sleep state correspond to different sleep depth types, and the predicted duration of the historical sleep state is longer than the actual duration of the sleep state, a third confidence value is assigned to the sleep depth type corresponding to the sleep state; wherein, the first confidence value is greater than the second confidence value, and the second confidence value is greater than the third confidence value.
[0072] In this embodiment, in response to the fact that the historical predicted duration and the actual duration correspond to the same dormancy depth type, a first confidence value is assigned to the dormancy depth type corresponding to the dormancy state. If the historical predicted duration and the actual duration belong to the same dormancy depth type, it indicates that the prediction is relatively accurate, and therefore a higher first confidence value is assigned, indicating a high degree of confidence in the prediction result of that dormancy depth type.
[0073] In response to the difference between the predicted duration and the actual duration of hibernation and the corresponding hibernation depth type, and the predicted duration being shorter than the actual duration, a second confidence value is assigned to the hibernation depth type corresponding to the hibernation state. In this case, although the predicted duration is shorter than the actual duration, the deviation is relatively minor, thus a moderate second confidence value is assigned, indicating a certain level of confidence in the prediction result for this hibernation depth type, but lower than the first confidence value.
[0074] In response to a difference between the predicted duration and the actual duration of hibernation and the corresponding hibernation depth type, and where the predicted duration is longer than the actual duration, a third confidence value is assigned to the hibernation depth type corresponding to the hibernation state. In this case, the predicted duration is longer than the actual duration, and the deviation may be significant. Therefore, a lower third confidence value is assigned, indicating a lower level of confidence in the prediction result for this hibernation depth type.
[0075] The first confidence value is greater than the second confidence value, and the second confidence value is greater than the third confidence value. This tiered confidence assignment method allows for a more nuanced differentiation of the accuracy of predictions for different dormancy depth types. This provides a more reasonable basis for determining the target prediction duration from candidate prediction durations, ensuring that the determination of the target prediction duration fully considers the reliability of the prediction.
[0076] Optionally, determining the target predicted duration from the candidate predicted durations based on the confidence level of the dormancy depth type includes: The candidate prediction duration with the highest confidence level corresponding to the sleep depth type among the candidate prediction durations is taken as the target prediction duration.
[0077] In this embodiment, the candidate predicted duration with the highest confidence level corresponding to the dormancy depth type is selected from the candidate predicted durations. The candidate predicted durations may contain multiple durations of different dormancy depth types. By comparing the confidence levels of the dormancy depth types corresponding to these durations, the candidate predicted duration with the highest confidence level is identified.
[0078] The candidate predicted duration with the highest confidence level corresponding to the sleep depth type among the candidate predicted durations is selected as the target predicted duration. Since the sleep depth type corresponding to the candidate predicted duration with the highest confidence level has the best historical prediction accuracy, it is determined as the target predicted duration. This is intended to more accurately reflect the actual future sleep duration of the computing unit, providing the most reliable basis for the wake-up control of the computing unit and achieving precise control over the wake-up of the computing unit.
[0079] In one possible implementation, the prediction duration with the highest confidence level among the calculated candidate prediction durations is selected as the final target prediction duration. Here, the historical records for each type of sleep depth are labeled as an Agent, and the confidence evaluation process is as follows: 1) If the current Agent makes a prediction, record the prediction result; Agents that do not make a prediction skip the current round of evaluation.
[0080] 2) After the computing unit exits the idle state, compare the target predicted duration with the actual idle duration for each agent. If both fall within the same sleep depth type, the agent receives 2 points; if the agent's prediction is only one level lower than the actual sleep depth type, the agent receives 1 point; otherwise, no points are awarded. 3) Due to historical progression, each Agent loses 1 point. For the sake of simplicity, the above scores are for illustrative purposes only.
[0081] Based on the above process, the prediction duration of the target prediction in each round can refer to the scores of each agent, and the candidate prediction duration of the agent with the highest score is selected as the final target prediction duration.
[0082] Optionally, the wake-up time of the computing unit in the sleep state is determined based on the target prediction duration and the occurrence time of wake-up events in the event queue, including any one of the following: In response to the event wake-up duration and the target prediction duration belonging to the same sleep depth type, the calculation module is woken up when the wake-up event occurs; wherein, the event wake-up duration is the duration from the start of the sleep state to the occurrence of the next wake-up event; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is longer than the target predicted duration, the computing module is woken up after the target predicted duration is reached; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is less than the target predicted duration, the computing module is woken up when the wake-up event occurs.
[0083] In this embodiment, in response to the event wake-up duration and the target predicted duration belonging to the same sleep depth type, the computing module is woken up when the next wake-up event occurs. The event wake-up duration is the time from the start of the sleep state to the occurrence of the next wake-up event. If the event wake-up duration and the target predicted duration are in the same sleep depth type, it indicates that waking up according to the target predicted duration can well meet the requirements of the next wake-up event. Therefore, waking up the computing module on time when the next wake-up event occurs ensures that the computing module can respond to the wake-up event promptly and also fully utilizes the resource-saving advantage of the sleep state.
[0084] In response to situations where the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is longer than the target predicted duration, the computing module is woken up after the target predicted duration is reached. When the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is longer, the computing module is woken up according to the target predicted duration. This approach minimizes the sleep time of the computing module while ensuring it can be woken up, avoiding response delays caused by excessive sleep, and also conserves resources to some extent.
[0085] In response to the event wake-up duration and the target predicted duration not belonging to the same sleep depth type, and the event wake-up duration being less than the target predicted duration, the computing module is woken up when the next wake-up event occurs. In this case, the event wake-up duration is short, and waking up according to the target predicted duration might miss the wake-up event. Therefore, the computing module is woken up immediately when the next wake-up event occurs to ensure that the computing module can respond to the event in a timely manner, guaranteeing the normal operation of the system and the timely processing of tasks.
[0086] To implement the above embodiments, this application also proposes a wake-up control device for a computing unit.
[0087] Figure 2 This is a schematic diagram of the structure of a wake-up control device for a computing unit provided in an embodiment of this application.
[0088] like Figure 2 As shown, the device may include: The prediction module 210 is used to control the computing unit to enter a sleep state and determine the target prediction duration of the computing unit in the sleep state; The control module 220 is used to determine the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of the wake-up event in the event queue.
[0089] Optionally, the prediction module includes: The record acquisition submodule is used to acquire the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The type determination submodule is used to determine the hibernation depth type corresponding to each hibernation state based on the duration of the hibernation state in the hibernation state; The first prediction submodule is used to determine the predicted duration value corresponding to each type of dormancy depth based on the duration of the dormancy state corresponding to each type of dormancy depth. The second prediction submodule is used to determine the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
[0090] Optionally, the type determination submodule includes: The first determining unit is used to determine the initial sleep depth type of the sleep state based on the duration interval of the sleep state. A calculation unit is used to generate a first value based on the duration of the sleep state corresponding to the initial sleep depth type; The second determining unit is used to determine the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value.
[0091] It should be noted that the foregoing explanation of the method embodiments also applies to the apparatus of this embodiment, and will not be repeated here.
[0092] To implement the above embodiments, this application also proposes a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in the foregoing method embodiments.
[0093] To implement the above embodiments, this application also proposes a computer program product having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in the foregoing method embodiments.
[0094] To implement the above embodiments, this application also proposes an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method described in the foregoing method embodiments.
[0095] Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example, the electronic device 800 may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0096] Reference Figure 3 The electronic device 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input / output (I / O) interface 812, sensor component 814, and communication component 816.
[0097] Processing component 802 typically controls the overall operation of electronic device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
[0098] Memory 804 is configured to store various types of data to support the operation of electronic device 800. Examples of such data include instructions for any application or method operating on electronic device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0099] Power component 806 provides power to various components of electronic device 800. Power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 800.
[0100] Multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0101] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when electronic device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
[0102] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0103] Sensor assembly 814 includes one or more sensors for providing state assessments of various aspects of electronic device 800. For example, sensor assembly 814 can detect the on / off state of electronic device 800, the relative positioning of components such as the display and keypad of electronic device 800, changes in position of electronic device 800 or a component of electronic device 800, the presence or absence of user contact with electronic device 800, orientation or acceleration / deceleration of electronic device 800, and temperature changes of electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0104] Communication component 816 is configured to facilitate wired or wireless communication between electronic device 800 and other devices. Electronic device 800 can access wireless networks based on communication standards, such as WiFi, 4G, or 5G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0105] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0106] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, which can be executed by a processor 820 of an electronic device 800 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0107] To implement the above embodiments, this application also proposes a chip, including: the chip includes a processing circuit configured to perform the methods provided in the foregoing embodiments.
[0108] Figure 4 This is a schematic diagram of the structure of a chip according to an embodiment of this application. See also... Figure 4 The diagram shown is a schematic representation of the structure of chip 1100, but it is not limited to this.
[0109] Chip 1100 includes processing circuitry 1101, which is configured to perform any of the above methods.
[0110] In some embodiments, chip 1100 further includes one or more interface circuits 1102. Optionally, the interface circuit 1102 is connected to memory 1103, and the interface circuit 1102 can be used to receive signals from memory 1103 or other devices, and the interface circuit 1102 can be used to send signals to memory 1103 or other devices. For example, the interface circuit 1102 can read instructions stored in memory 1103 and send the instructions to processing circuit 1101.
[0111] In some embodiments, the interface circuit 1102 performs at least one of the communication steps such as sending and / or receiving in the above method, while the processing circuit 1101 performs other steps.
[0112] In some embodiments, the terms interface circuit, interface, transceiver pin, transceiver, etc., can be used interchangeably.
[0113] In some embodiments, chip 1100 further includes one or more memories 1103 for storing instructions. Optionally, all or part of the memories 1103 may be located outside of chip 1100.
[0114] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0115] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0116] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
[0117] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0118] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0119] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0120] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
[0121] The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions, and variations to the above embodiments within the scope of this application.
Claims
1. A wake-up control method for a computing unit, characterized in that, include: The control computing unit enters a sleep state, and the duration of the target prediction while the computing unit is in the sleep state is determined; The wake-up time of the computing unit in the sleep state is determined based on the predicted duration of the target and the occurrence time of the wake-up event in the event queue.
2. The method according to claim 1, characterized in that, Determining the target prediction duration of the dormant state of the computing unit includes: Obtain the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The hibernation depth type corresponding to each hibernation state is determined based on the duration of the hibernation state. The predicted duration value for each type of dormancy depth is determined based on the duration of the dormancy state corresponding to each type of dormancy depth. The target predicted duration is determined from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
3. The method according to claim 2, characterized in that, The step of determining the hibernation depth type corresponding to each hibernation state based on the duration of the hibernation state includes: The initial sleep depth type of the sleep state is determined based on the duration interval corresponding to the sleep state. A first value is generated based on the duration of the sleep state corresponding to the initial sleep depth type; The hibernation depth type of the hibernation state is determined based on the duration of the hibernation state and the first value.
4. The method according to claim 3, characterized in that, The step of determining the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value includes: Obtain multiple preset dwell time thresholds, and determine the duration interval based on adjacent dwell time thresholds on the time axis; Determine the duration interval of the dormant state, and use the initial dormant depth type corresponding to the duration interval as the initial dormant depth type of the dormant state.
5. The method according to any one of claims 2-4, characterized in that, The step of determining the predicted duration value for each type of hibernation depth based on the duration of the hibernation state corresponding to each type of hibernation depth includes: A second value is generated based on the duration of the dormant state in various dormant depth types, and the second value is used as the duration prediction value.
6. The method according to claim 5, characterized in that, The step of determining the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state includes: The weight values of various dormancy depth types are determined based on the occurrence time of the dormancy state, and the candidate predicted duration of the dormancy state is determined from the duration prediction values based on the weight values of the dormancy depth types. The confidence level of each type of dormancy depth is determined based on the historical predicted duration of the dormancy state, and the target predicted duration is determined from the candidate predicted durations based on the confidence level of the dormancy depth type.
7. The method according to claim 6, characterized in that, The step of determining the weight values for various sleep depth types based on the occurrence time of the sleep state includes: Based on the weight values of the hibernation states of the same hibernation depth type, the weight values corresponding to each hibernation depth type are determined. The weight values of the hibernation states are determined according to the occurrence time of the hibernation state, and the weight values decrease as the occurrence time advances.
8. The method according to claim 7, characterized in that, The step of determining the candidate predicted duration of the dormancy state from the predicted duration values based on the weight value of the dormancy depth type includes any one of the following: In response to the weight value corresponding to the sleep depth type being greater than or equal to the weight threshold, the duration prediction value corresponding to the sleep depth type is determined to be the candidate prediction duration. In response to the weight value corresponding to the sleep depth type being less than the weight threshold, it is determined that the duration prediction value corresponding to the sleep depth type is not the candidate prediction duration.
9. The method according to claim 6, characterized in that, The step of determining the confidence level of various dormancy depth types based on the historical predicted duration of the dormancy state includes: In response to the fact that the historical predicted duration and the actual duration correspond to the same dormancy depth type, a first confidence value is assigned to the dormancy depth type corresponding to the dormancy state. In response to the fact that the hibernation depth type corresponding to the historical predicted duration and the actual duration are different, and the historical predicted duration is lower than the actual duration, a second confidence value is assigned to the hibernation depth type corresponding to the hibernation state. In response to the fact that the predicted duration of the historical sleep state and the actual duration of the sleep state correspond to different sleep depth types, and the predicted duration of the historical sleep state is longer than the actual duration of the sleep state, a third confidence value is assigned to the sleep depth type corresponding to the sleep state; wherein, the first confidence value is greater than the second confidence value, and the second confidence value is greater than the third confidence value.
10. The method according to claim 9, characterized in that, Determining the target predicted duration from the candidate predicted durations based on the confidence level of the dormancy depth type includes: The candidate prediction duration with the highest confidence level corresponding to the sleep depth type among the candidate prediction durations is taken as the target prediction duration.
11. The method according to any one of claims 1-10, characterized in that, The step of determining the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of wake-up events in the event queue includes any one of the following: In response to the event wake-up duration and the target prediction duration belonging to the same sleep depth type, the calculation module is woken up when the wake-up event occurs; wherein, the event wake-up duration is the duration from the start of the sleep state to the occurrence of the next wake-up event; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is longer than the target predicted duration, the computing module is woken up after the target predicted duration is reached; In response to the fact that the event wake-up duration and the target predicted duration do not belong to the same sleep depth type, and the event wake-up duration is less than the target predicted duration, the computing module is woken up when the wake-up event occurs.
12. A wake-up control device for a computing unit, characterized in that, include: The prediction module is used to control the computing unit to enter a sleep state and determine the duration of the target prediction while the computing unit is in the sleep state. The control module is used to determine the wake-up time of the computing unit in the sleep state based on the target prediction duration and the occurrence time of wake-up events in the event queue.
13. The apparatus according to claim 12, characterized in that, The prediction module includes: The record acquisition submodule is used to acquire the sleep records of the computing unit, wherein the sleep records include the historical sleep states of the computing unit and the duration of each sleep state; The type determination submodule is used to determine the hibernation depth type corresponding to each hibernation state based on the duration of the hibernation state in the hibernation state; The first prediction submodule is used to determine the predicted duration value corresponding to each type of dormancy depth based on the duration of the dormancy state corresponding to each type of dormancy depth. The second prediction submodule is used to determine the target predicted duration from the predicted duration values corresponding to each type of dormancy depth based on the weight value and confidence level of the dormancy state.
14. The apparatus according to claim 13, characterized in that, The type determination submodule includes: The first determining unit is used to determine the initial sleep depth type of the sleep state based on the duration interval of the sleep state. A calculation unit is used to generate a first value based on the duration of the sleep state corresponding to the initial sleep depth type; The second determining unit is used to determine the hibernation depth type of the hibernation state based on the duration of the hibernation state and the first value.
15. An electronic device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, it implements the method as described in any one of the preceding claims 1-11.
16. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of the preceding claims 1-11.
17. A chip, characterized in that, The chip includes processing circuitry configured to perform the method described in any one of claims 1-11.
18. A computer program product, characterized in that, It includes a computer program, which, when executed by a processor, implements the method as described in any one of claims 1-11.