Method and system for controlling an application feature based on system metrics
Computer-implemented methods, systems, and computer program products for controlling application feature processing based on central processing unit (CPU) usage and/or feature requirement to apply the application feature are disclosed. The computer-implemented method for controlling application feature processing based on central processing unit (CPU) usage to apply the application feature includes monitoring system metrics for availability of system resources; determining availability of system resources required to perform the particular application feature; determining if the particular application feature is to be applied based on the determination of the availability of system resources; and applying the particular application feature based on results of the determination of the availability of system resources.
1 . A method comprising:
monitoring, by a processing system including a processor, system metrics for availability of system resources during a first monitoring period, wherein the system resources include processing power, memory or a combination thereof;
based on the system metrics, determining, by the processing system, that availability of system resources required to perform a first application feature satisfies a first system resource threshold associated with the first application feature during the first monitoring time period resulting in a first determination;
applying, by the processing system, the first application feature based on the first determination;
suspending, by the processing system, the monitoring of the system metrics for the availability of system resources for a sleep mode time period;
upon expiration of the sleep mode time period, monitoring, by the processing system, the availability of system resources for a second monitoring time period;
based on the system metrics, determining, by the processing system, that the availability of system resources required to perform the first application feature does not satisfy a second system resource threshold associated with the first application feature during the second monitoring time period resulting in a second determination, wherein the first system resource threshold is less than the second system resource threshold;
deactivating, by the processing system, the first application feature based on the second determination; and
applying, by the processing system, a second application feature based on the second determination.
2 . The method of claim 1 , further comprising:
monitoring and analyzing incoming and outgoing data in real time resulting in a first analysis;
determining a third application feature is required based on results of the first analysis resulting in a third determination;
determining the third application feature is to be applied based on the third determination; and
applying the third application feature.
3 . The method of claim 1 , wherein the system resources comprise any one or more of: processing power of central processing unit and physical memory.
4 . The method of claim 1 , wherein applying the first application feature further comprises choosing, by the processing system, an appropriate level of processing mode based on the availability of system resources.
5 . The method of claim 4 , further comprising analyzing, by the processing system, system configuration resulting in a second analysis, and using, by the processing system, results of the second analysis for choosing the appropriate level of processing mode.
6 . The method of claim 1 , wherein the first application feature comprises audio processing feature.
7 . The method of claim 6 , comprising analyzing, by the processing system, audio data in real time to identify human speech and determining, by processing system, that there is noise in the audio data and level of noise in the audio data.
8 . The method of claim 1 , wherein the first application feature comprises video processing feature.
9 . The method of claim 8 , comprising analyzing, by the processing system, video data in real time to identify noise in the video data and level of noise in the video data.
10 . The method of claim 1 , wherein the first application feature comprises data transfer feature.
11 . The method of claim 1 , wherein the determining that the availability of system resources required to perform a first application satisfies one or more system resource thresholds comprises determining, by the processing system, that the availability of system resources required to perform the first application satisfies a first system threshold, wherein the determining that the availability of system resources required to perform the first application feature does not satisfy the one or more system resource thresholds comprises determining, by the processing system, that the availability of system resources required to perform the first application feature does not satisfy a second system resource threshold, wherein the one or more system resource thresholds comprises the first system resource threshold and the second system resource threshold, wherein the first system resource threshold is less than the second system resource threshold.
12 . A system comprising:
a processing system including a processor; and
a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising:
monitoring system metrics for availability of system resources during a first monitoring time period, wherein the system resources include processing power, memory or a combination thereof;
based on the system metrics, determining that availability of system resources required to perform a first application feature satisfies a first system resource threshold associated with the first application feature during the first monitoring time period resulting in a first determination;
applying the first application feature based on the first determination;
suspending the monitoring of the system metrics for the availability of system resources during a sleep mode time period;
upon expiration of the sleep mode time period, monitoring the availability of system resources for a second monitoring time period;
based on the system metrics, determining that the availability of system resources required to perform the first application feature does not satisfy a second system resource threshold associated with the first application feature during the second monitoring time period resulting in a second determination, wherein the first system resource threshold is less than the second system resource threshold;
deactivating the first application feature based on the second determination; and
applying a second application feature based on the second determination.
13 . The system of claim 12 , wherein the operations comprise:
monitoring and analyzing incoming and outgoing data in real time resulting in a first analysis;
determining a third application feature is required based on results of the first analysis resulting in a third determination;
determining the third application feature is to be applied based on the third determination; and
applying the third application feature.
14 . The system of claim 12 , wherein the system resources comprise any one or more of: processing power of central processing unit and physical memory.
15 . The system of claim 12 , wherein applying the first application feature further comprises choosing an appropriate level of processing mode based on the availability of system resources.
16 . The system of claim 15 , wherein the operations comprise analyzing system configuration resulting in a second analysis, and using results of the second analysis for choosing the appropriate level of processing mode.
17 . The system of claim 12 , wherein the first application feature comprises audio processing feature.
18 . The system of claim 17 , wherein the operations comprise analyzing audio data in real time to identify human speech and determining that there is noise in the audio data and level of noise in the audio data.
19 . The system of claim 12 , wherein the first application feature comprises video processing feature.
20 . The system of claim 19 , wherein the operations comprise analyzing video data in real time to identify noise in the video data and level of noise in the video data.
21 . The system of claim 12 , wherein the first application feature comprises data transfer feature.
22 . The system of claim 21 , wherein the operations comprise analyzing data in real time to prioritize the transfer of data based on type of data.
23 . A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:
monitoring system metrics for availability of system resources during a first monitoring time period, wherein the system resources include processing power, memory or a combination thereof;
based on the system metrics, determining that availability of system resources required to perform a first application feature satisfies a first system resource threshold associated with the first application feature during the first monitoring time period resulting in a first determination;
applying the first application feature based on the first determination;
suspending the monitoring of the system metrics for the availability of system resources during a sleep mode time period;
upon expiration of the sleep mode time period, monitoring the availability of system resources for a second monitoring time period;
based on the system metrics, determining that the availability of system resources required to perform the first application feature does not satisfy a second system resource threshold associated with the first application feature during the second monitoring time period resulting in a second determination;
deactivating the first application feature based on the second determination; and
applying a second application feature based on the second determination.
24 . The non-transitory machine-readable medium of claim 23 , wherein the operations comprise:
monitoring and analyzing incoming and outgoing data in real time resulting in a first analysis;
determining a third application feature is required based on results of the first analysis resulting in a third determination;
determining the third application feature is to be applied based on the third determination; and
applying the third application feature.
25 . The non-transitory machine-readable medium of claim 23 , wherein the system resources comprise any one or more of: processing power of central processing unit and physical memory.
26 . The non-transitory machine-readable medium of claim 23 , wherein applying the first application feature further comprises choosing an appropriate level of processing mode based on the availability of system resources.
27 . The non-transitory machine-readable medium of claim 26 , wherein the operations comprise analyzing system configuration resulting in a second analysis, and using results of the second analysis for choosing the appropriate level of processing mode.
28 . The non-transitory machine-readable medium of claim 23 , wherein the first application feature comprises audio processing feature.
29 . The non-transitory machine-readable medium of claim 28 , wherein the operations comprise analyzing audio data in real time to identify human speech and determining that there is noise in the audio data and level of noise in the audio data.
30 . The non-transitory machine-readable medium of claim 23 , wherein the first application feature comprises video processing feature.
31 . The non-transitory machine-readable medium of claim 30 , wherein the operations comprise analyzing video data in real time to identify noise in the video data and level of noise in the video data.
32 . The non-transitory machine-readable medium of claim 23 , wherein the first application feature comprises data transfer feature.
33 . The non-transitory machine-readable medium of claim 32 , wherein the operations comprise analyzing data in real time to prioritize the transfer of data based on type of data.