WO2021012748A1 - System and method for intelligent system performance management - Google Patents

System and method for intelligent system performance management Download PDF

Info

Publication number
WO2021012748A1
WO2021012748A1 PCT/CN2020/089283 CN2020089283W WO2021012748A1 WO 2021012748 A1 WO2021012748 A1 WO 2021012748A1 CN 2020089283 W CN2020089283 W CN 2020089283W WO 2021012748 A1 WO2021012748 A1 WO 2021012748A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
storage
user
behavior
system performance
Prior art date
Application number
PCT/CN2020/089283
Other languages
French (fr)
Inventor
Rahul Kumar TRIPATHI
Ravindra Jain
Anuj Kumar
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp., Ltd. filed Critical Guangdong Oppo Mobile Telecommunications Corp., Ltd.
Publication of WO2021012748A1 publication Critical patent/WO2021012748A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization

Definitions

  • the present disclosure relates generally to system management, and more particularly, to a system and method for intelligent system performance management.
  • Most techniques to optimize the use of the limited memory area include techniques for data compression and decompression. These techniques includes the storing of data in the memory in a compression formation, when a write operation is executed by a user or an applications. This allows the same data to be stored in much less area, and a larger portion of the memory is then available to store more data. Further, to execute a read operation, the data in the compressed form in the memory is then decompressed and presented to the user.
  • certain technologies provide for management of the storage of the system by deleting data.
  • Such systems seek to provide a mechanism to allow a user to write more data in the memory of the system by deleting irrelevant or redundant data. Therefore, in a scenario when there is not enough space to write a complete file in the memory, the system may delete a file already stored in the memory thereby, creating space for the new write operation to be executed.
  • the mechanism must prevent the space available in the memory to reach a critically low level. Further, in case of critically low memory, the mechanism must enable the system to perform operations for self-recovery even in the state of critically low memory.
  • an object of the present invention is to provide for system and method for intelligent system performance management. It is another object of the present invention to provide a mechanism to prevent the space available in the memory to reach a critically low level. It is yet another object of the present invention to provide a mechanism that enables the system to dynamically and automatically perform operations for self-recovery even in the state of critically low memory. It is yet another object of the present invention to prevent system crashes. Further, it is another object of the present invention to minimize user intervention in the state of critically low memory. It is yet another object of the present invention to provide options to the user for execution to improve the performance of the system.
  • a first aspect of the present invention relates to a method for intelligent system performance management.
  • the method commences by determining at least one system performance parameter associated with a system behavior of a system.
  • the system performance parameter is determined by an efficiency tracking module.
  • the efficiency tracking module also determines a value of a current storage available for storing a data.
  • a current status of the system is dynamically determined by a status monitoring module based on the determined system performance parameter and/or the determined value of the storage.
  • the method further encompasses comparing the current status and a pre-defined critical threshold value, such that in an event the current status is above a pre-defined critical threshold value, one or more recommendations to manage the system performance are provided to the user as a notification.
  • An input corresponding to at least one recommendation is then received from the user.
  • the input of at least one recommendation is then implemented by a management module.
  • the current status is above a pre-defined critical threshold value, one or more actions to manage the system performance are dynamically and automatically implemented by the management module.
  • Another aspect of the invention relates to a system for intelligent system performance management comprising of an efficiency tracking module configured to determine at least one system performance parameter associated with a system behavior and determine a value of a storage available for storing a data.
  • a status monitoring module is then configured to dynamically determine a current status of the system based on at least one of said determined system performance parameter and said determined value of the storage.
  • the status monitoring module is also configured to compare the current status and a pre-defined critical threshold value. In an event the current status is determined to be above a pre-defined critical threshold value by the status monitoring module, a display module is configured to provide one or more recommendations to manage the system performance, wherein the recommendations are provided as a notification.
  • the display module is further configured to receive an input to implement at least one recommendation of the one or more recommendations from the user. Thereafter, a management module is further configured to implement, in response to said input from the user, the at least one recommendation. However, in an event the current status is determined to be below a pre-defined critical threshold value by the status monitoring module, the management module is configured to dynamically and automatically implement one or more actions to manage the system performance.
  • FIG. 1 illustrates an overview of an exemplary architecture of a system for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • FIG. 2 illustrates an overview of an exemplary architecture of the management module for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 3 illustrates a flow diagram depicting an exemplary method for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 4 illustrates an overview of an exemplary scenario depicting the change in the status of the system for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 5 illustrates an exemplary scenario when the status of the system is above a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 6 illustrates an exemplary scenario when the status of the system is below a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • the present invention provides a method and system for intelligent system performance management.
  • the invention commences when an efficiency tracking module determines at least one system performance parameter associated with a system behavior of a system.
  • the efficiency tracking module also determines a value of a storage available for storing a data.
  • a current status of the system is dynamically determined by a status monitoring module based on at least the determined one or more system performance parameters and the determined value of the storage.
  • the current status is compared with a pre-defined critical threshold value, by the status monitoring module.
  • one or more recommendations to manage the system performance are provided to the user as a notification.
  • An input corresponding to at least one recommendation is then received from the user.
  • the input is implemented by a management module.
  • one or more actions to manage the system performance are dynamically and automatically implemented by the management module.
  • connect As used herein, “connect” , “configure” , “couple” and its cognate terms, such as “connects” , “connected” , “configured” and “coupled” may include a physical connection (such as a wired/wireless connection) , a logical connection (such as through logical gates of semiconducting device) , other suitable connections, or a combination of such connections, as may be obvious to a skilled person.
  • send As used herein, “send” , “transfer” , “transmit” , and their cognate terms like “sending” , “sent” , “transferring” , “transmitting” , “transferred” , “transmitted” , etc. include sending or transporting data or information from one unit or component to another unit or component, wherein the data or information may or may not be modified before or after sending, transferring, transmitting.
  • the system [100] comprises of an efficiency tracking module [102] , a storage [104] , a status monitoring module [106] , a management module [108] , a display module [110] and a processor [112] .
  • the system [100] may be implemented in any electrical, electronic, electromechanical and computing device including, but is not limited to, a mobile phone, a smartphone, a tablet, a phone, a laptop, a wearable device, a personal digital assistant and any such device obvious to a person skilled in the art.
  • the structure shown is merely illustrative and does not limit the structure of the system [100] .
  • the present invention encompasses that the system [100] and the device in which it is implemented may also include more or less components than those illustrated in Figure 1 or have a different configuration than that illustrated in this Figure 1.
  • the components may be connected to each other using universal asynchronous receiver/transmitter (UART) , general purpose input output (GPIO) , serial peripheral interface (SPI) , inter-integrated Circuit (I2C) , but not limited to the above standards.
  • UART universal asynchronous receiver/transmitter
  • GPIO general purpose input output
  • SPI serial peripheral interface
  • I2C inter-integrated Circuit
  • the connection may only include a bus, and in other examples, the connection may also include other components, such as one or more controllers.
  • the efficiency tracking module [102] connected to the storage [104] and the status monitoring module [106] , is configured to determine at least one system performance parameter associated with a system behavior of the system [100] .
  • system behavior of the system [100] refers to the working of the input and output operations, the internal working operations along with the overall operational health and working operations of the system [100] including but not limited to, the time for starting an application, the time to receive an input, the number of exceptions encountered in the overall operation, the quality of the battery, the response time of the system [100] , rebooting of the system [100] , crash of the system [100] , etc.
  • the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] .
  • the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] continuously.
  • the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] periodically. For example, the efficiency tracking module [102] may monitor the system behavior of a system [100] after every 5 minutes.
  • the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] dynamically. For example, the efficiency tracking module [102] may monitor the system behavior dynamically when an application is opened by the user.
  • the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] only when a change in the system behavior is detected. For example, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when the time to start an application is detected to be more than a threshold time limit. Further, in yet another embodiment, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when a request is received by the user. For example, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when an input to monitor the system behavior of the system [100] is received from the user.
  • the efficiency tracking module [102] is further configured to determine a system performance parameter based on the detected system behavior of the system [100] .
  • the efficiency tracking module [102] is configured to identify and report [100] the system behavior of the system [100] .
  • the “system performance parameter” refers to a value assigned to the detected system behavior of the system [100] .
  • the present invention encompasses that the value of system performance parameter may be, but not be limited to, a numeric value, a percentage and a quantitative value such as denoting a good system performance or a bad system performance and an integer value.
  • the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the system behavior of the system [100] is not as per a normal system behavior or system performance.
  • the system performance parameter may be determined to be a high value by the efficiency tracking module [102] if the system behavior of the system [100] is in accordance with the normal system behavior or system performance.
  • “normal system behavior or system performance” refers to the system behavior that is expected to be achieved when all the components of the system [100] are working at their expected efficiency levels and the overall health and performance of the system [100] is within the industry accepted limits.
  • the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the time for starting an application is longer than 5 seconds. In another example, the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the time to receive and interpret an input received from the user is longer than 2 seconds.
  • the efficiency tracking module [102] is further configured to send the determined system performance parameter to the status monitoring module [106] .
  • the efficiency tracking module [102] is configured to determine two or more system performance parameter simultaneously based on the system behavior of the system [100] .
  • the efficiency tracking module [102] may determine two low value system performance parameters if the response time for starting an application is longer than 5 seconds and low throughput by the application is detected.
  • the efficiency tracking module [102] is further configured to determine a value of the storage [104] available for storing a data.
  • the efficiency tracking module [102] is configured to read the available space in the storage [104] and determine a value based on the available space.
  • the “value of the storage [104] available for storing a data” refers to the value of unoccupied or free storage space of the storage [104] which can be utilized to store additional data or information, including software program code, executable instructions and the like.
  • the present invention encompasses that the value of a storage [104] available for storing a data may be, but not be limited to, a numeric value or a percentage.
  • the value of a storage [104] available for storing a data may be a low value, such as 10%.
  • the value of a storage [104] available for storing a data may be a low value, such as 2 from a scale of 1 to 10, end values being inclusive.
  • the efficiency tracking module [102] is further configured to send the determined value of the storage [104] available for storing a data to the status monitoring module [106] .
  • the storage [104] connected to the efficiency tracking module [102] , is configured to store software programs, modules, data, information, instructions and the like.
  • the storage [104] is further configured to allow the processor to execute various functional disclosures and data processing by running software programs and modules stored in the storage [104] .
  • the storage [104] may include, but is not limited to, a volatile memory, non-volatile memory, a cache, a remote storage, a cloud storage, high-speed random-access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR) or a combination thereof.
  • storage [104] may further include memory remotely configured to be connected to the system [100] and via a network.
  • networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the status monitoring module [106] connected to the efficiency tracking module [102] , management module [108] and display module [110] , is configured to dynamically determine a current status of the system [100] .
  • the current status of the system [100] is dynamically determined to be based on at least one of the determined system performance parameter and the determined value of the storage.
  • the present invention encompasses that the current status of the system [100] determined by status monitoring module [106] may be, but not be limited to, a numeric value such as 1 , 2 and the like or a qualitative value such status [1] , status [2] and the like.
  • the current status of the system [100] may be determined to be a current status [1] if the determined system performance parameter is low due to long response time to start an application and the value of the storage [104] available is low, such as only 20%.
  • the current status of the system [100] may be determined to be a current status [2] if the determined system performance parameter is very low due to low throughput and slow processing time of the system [100] and the value of the storage [104] available is very low, such as only 10%.
  • the current status of the system [100] may be determined to be a current status [3] if the determined system performance parameter is very low due to automatic rebooting of the system [100] and the value of the storage [104] available is critically low, such as only 2%.
  • the status monitoring module [106] is further configured to send the dynamically determined current status of the system [100] to the management module [108] .
  • the status monitoring module [106] is further configured to compare the current status of the system [100] and a pre-defined critical threshold value.
  • the “pre-defined critical threshold value” refers to a pre-defined status of the system [100] such that when the overall operational health and working operations of the system [100] are below a critical value then system performance and efficiency cannot be achieved.
  • the present invention encompasses that the pre-defined critical threshold value may be, but not be limited to, a numeric value such as 1, 2 and the like or a qualitative value such status [1] , status [2] and the like.
  • the status monitoring module [106] is configured to compare the current status of the system [100] and a pre-defined critical threshold value to determine if the current status of the system [100] is above the pre-defined critical threshold value or if the current status of the system [100] is below the pre-defined critical threshold value.
  • the display module [110] is configured to provide one or more recommendations to manage the system performance, wherein the recommendations are provided as a notification.
  • the display module [110] is further configured to receive an input to implement at least one recommendation of the one or more recommendations from the user.
  • the management module [108] connected to the status monitoring module [106] and the display module [110] , is configured to determine one or more recommendations to manage the system performance of the system [100] .
  • the management module [108] is further configured to send the determined one or more recommendations to manage the system performance of the system to the display module [110] .
  • the “recommendations” refers to various functions that could be chosen by the user for implementation by the management module [108] to improve and manage the performance of system [100] including, but not limited to, clearing the cache data, storing the data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] .
  • the management module [108] is further configured to receive an input from the display module [110] .
  • the input will include, but not be limited to, an input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] or no input from the user.
  • the management module [108] may receive an input from the display module [110] indicating that the user chose the option of clearing the cache data to manage the system performance of the system [100] .
  • the management module [108] is further configured to implement the one or more recommendation chosen by the user to manage the system performance of the system [100] . In furtherance of the aforementioned example, the management module [108] may then implement the option of clearing the cache data to manage the system performance of the system [100] .
  • the invention encompasses that the management module [108] is configured to determine one or more recommendations to manage the system performance of the system only when the current status of the system [100] is determined to be above the pre-defined threshold critical value by the status monitoring module [106] . Also, the management module [108] is configured to send one or more recommendations to the display module [110] to manage the system performance of the system and receive an input from the user when the current status of the system [100] is determined to be above the pre-defined threshold critical value by the status monitoring module [106] .
  • the management module [108] is configured to dynamically and automatically implement one or more actions to manage the system performance, in an event the determined current status is below a pre-defined critical threshold value.
  • the “actions” refers to various functions that could be implemented dynamically and automatically by the management module [108] to improve and manage the performance of system [100] including, but not limited to, automatic clearing the system cache data, clearing of the application cache data, automatic storing the data on a cloud server, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] , only permitting the read option for applications and file, disabling the write function for all files and applications.
  • the display module [110] is configured to receive determined one or more recommendations to manage the system performance of the system [100] from the management module [108] .
  • the display module [110] is further configured to display the one or more recommendations received from the management module [108] to the user.
  • the display module [110] is also configured to receive an input from the user in respect of the one or more recommendations to manage the system performance of the system [100] .
  • the display module [110] is configured to send the input received from the user to the management module [108] .
  • the input will include, but not be limited to, an input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] or an indication that no input is received from the user.
  • the display module [108] may display the options to clear the cache data and zip files to the user to manage the system performance of the system [100] .
  • the user may input a selection of the option to clear the cache. Thereafter, the input will be sent to the management module [110] from the display module [110] indicating that the user has chosen the option of clearing the cache data.
  • the display module [110] will send an input to the management module [110] indicating that no response is received from the user.
  • the display unit [110] may comprise of a touch panel, a soft keypad, a hard keypad (including buttons) and the like. For example, the user may click a soft button on a touch panel of the display module [110] to choose an option to manage system performance.
  • the display module [110] may be configured to display the one or more recommendations of the management module [108] to the user and receive an input from the user via a graphical user interface.
  • a “graphical user interface” may be a user interface that allows a user of the system [100] to interact with the system [100] through graphical icons and visual indicators, such as secondary notation, and any combination thereof.
  • the display module [110] may include a touch panel configured to collect the user’s input via touch operation, thereon or near the surface of the touch panel, and using a finger or a stylus.
  • the invention encompasses that the detection of the touch on a graphical user interface of the display module [110] can be realized by various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the processor [112] is configured to control the overall working of the system [100] .
  • the processor is also configured to control the operation of the efficiency tracking module [102] , the status monitoring module [106] and the management module [108] .
  • a “processor” or “processing unit” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions.
  • the processor [112] may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc.
  • the processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor [112] or processing unit [112] is a hardware processor.
  • system [100] may comprise of more than one efficiency tracking module [102] , storage [104] , the status monitoring module [106] , the management module [108] , the display module [110] and the processor [112] , working in accordance with the present invention.
  • FIG. 2 illustrates an overview of an exemplary architecture of the management module [108] for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • the management module [108] may comprise of a cleaning module, a backup module, a duplicate files module, an app update module, a download manager module, a dex file module, a packager manager module, an auto backup manager and a file permission module.
  • the invention encompasses that the management module [108] may contain one or more components not shown in the figure without departing from the scope of the present invention.
  • the invention further encompasses that one or more components of the management module [108] may be used in one or more dynamiclly determined current status of the system [100] .
  • the current status of the system [100] may be determined to be any of the three current statuses, namely, current status [1] , current status [2] and current status [3] , at a given point of time.
  • the current status [1] and current status [2] may be determined to be above the pre-defined critical threshold value, while the current status [3] may be determined to be below the pre-defined critical threshold value.
  • the management module [108] is configured to use the one or more components in a particular dynamically determined current status. For instance, if the determined status of the system [100] is current status [1] , then the cleaning module, the backup module, the duplicate files module and the app update module may be configured to implement one or more recommendations selected by the user.
  • the cleaning module may be connected to the cache of the storage [104] and may be configured to clean the cache in the storage [104] when an input is received from the user.
  • the backup module may be connected to an external storage, such as cloud storage [104] using any wireless communication network such as networks including, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the backup module may then be configured to initiate and complete a backup of the system [100] when the backup option is selected by the user.
  • the duplicate files module may be configured to delete the duplicate files in the system [100] when the option to delete duplicate files is selected by the user.
  • the app update module may be configured to disallow update of applications of system [100] when an option to disable update of applications is selected by the user.
  • the download manager module, the dex file module and package manager module may be configured to implement one or more recommendations selected the user.
  • the download manager module may be configured to disallow automatic download of file and applications, if the option to disable automatic update of applications is selected by the user.
  • the dex file module may be configured to delete the existing . dex files and stop the creation of new . dex files of the system [100] when such an option is selected by the user.
  • the package manager module may be configured to manage the packages in the system [100] .
  • the automatic backup manager and the file permission module may be configured to automatically implement one or more actions for intelligent system performance management.
  • the automatic backup manager may be configured to automatically initiate and complete the backup of the entire system [100] .
  • the backup may be transmitted to a storage or memory external to the system [100] such as cloud storage [104] using any wireless communication network such as networks including, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the file permission module may be configured to disallow the execution of the write command in the system [100] . Therefore, the user may then only be able to start applications in the read-only mode and will not be able to write any more data to the storage [104] .
  • the present invention encompasses that one or more components may be used in one or more current status determined for the system [100] by the management module [108] .
  • the duplicate files module may be configured to delete the duplicate files in the system [100] when the option to delete duplicate files is selected by the user in current status [1] or the duplicate files may automatically be deleted in the system [100] when the current status of the system is current status [3] .
  • Figure 3 illustrates a flow diagram depicting an exemplary method [300] for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • the method begins at step 302, when at least one system performance parameter is determined by the efficiency tracking module [102] .
  • the at least one system performance parameter is associated with a system behavior of the system [100] .
  • system behavior of the system [100] refers to the working of the input and output operations, the internal working operations along with the overall operational health and working operations of the system [100] including but not limited to, the time for starting an application, the time to receive an input, the number of exceptions encountered in the overall operation, the quality of the battery, the response time of the system [100] , rebooting of the system [100] , crash of the system [100] .
  • the invention encompasses that the system behavior of a system [100] is monitored by the efficiency tracking module [102] .
  • the system behavior of the system [100] is also identified and reported by the efficiency tracking module [102] .
  • the system behavior of the system [100] is monitored continuously by the efficiency tracking module [102] .
  • the system behavior of the system [100] is monitored periodically.
  • the efficiency tracking module [102] may monitor the system behavior of the system [100] every day at 02: 00 hrs.
  • the system behavior of the system [100] is monitored dynamically.
  • the system behavior of the system [100] may be monitored dynamically when an update of an application is requested by the user.
  • the system behavior of the system [100] is monitored only when a change in the system behavior is detected. For example, the system behavior of the system [100] may only be monitored when the time to start an application by the system [100] is more than a threshold time limit. Further, in yet another embodiment, the system behavior of the system [100] is monitored when a request is received by the user. For example, the system behavior of the system [100] may only be monitored when an input to monitor the system behavior of the system [100] is received from the user.
  • the invention encompasses that a system performance parameter based on the detected system behavior of the system [100] is determined by the efficiency tracking module [102] .
  • the “system performance parameter” refers to a value assigned to the detected system behavior of the system [100] .
  • the value of system performance parameter may be, but not be limited to, a numeric value, a percentage and a quantitative value such as denoting a good system performance or a bad system performance and an integer value.
  • the system performance parameter may be determined to be a low value if the system behavior of the system [100] is not as per a normal system behavior or system performance.
  • the system performance parameter may be determined to be a high value if the system behavior of the system [100] is accordance with the normal system behavior or system performance.
  • “normal system behavior or system performance” refers to the system behavior that is expected to be achieved when all the components of the system [100] are working at their expected efficiency levels and the overall health and performance of the system [100] is within the industry accepted limits.
  • the system performance parameter may be determined to be a low value if the time to start an application is longer than 2 seconds. In another example, the system performance parameter may be determined to be a low value if the processing speed of the processor [112] has decreased. The determined system performance parameter based on the system behavior of a system [100] is then transmitted to the status monitoring module [106] by the efficiency tracking module [102] .
  • the invention encompasses that two or more system performance parameters may be simultaneously determined by the efficiency tracking module [102] .
  • the two low value system performance parameters may be determined by the efficiency tracking module [102] if the response time for starting an application is longer than 2 seconds and high processing time by the processor [112] to start the application is detected.
  • a value of a storage [104] available for storing a data is determined by the efficiency tracking module [102] .
  • the efficiency tracking module [102] reads the amount of available space in the storage [104] and a value based on the available space is determined.
  • the value of a storage [104] available for storing a data refers to the value of unoccupied or free storage space of the storage [104] which can be utilized to store additional data or information, including software program code, executable instructions and the like.
  • the present invention encompasses that the value of a storage [104] available for storing a data may be, but not be limited to, a numeric value or a percentage.
  • the value of a storage [104] available for storing a data may be a low value, such as 4, on a scale of 1 to 10, end values being inclusive.
  • the value of the storage [104] available for storing a data may be determined to be a low value, such as 5%. Thereafter, the determined value of the storage [104] available for storing data is sent to the status monitoring module [106] by the efficiency tracking module [102] .
  • the invention encompasses that steps 302 and 304 be continuous steps, wherein the system performance parameter and the value of the storage [104] available for storing data will be automatically and by default determined for any and all operations on the system [100] .
  • a current status of the system [100] is dynamically determined by the status monitoring module [106] .
  • the current status of the system [100] is dynamically determined based on at least one of the determined system performance parameter and the determined value of the storage [104] .
  • the present invention encompasses that the current status of the system [100] determined by status monitoring module [106] may be, but not be limited to, a numeric value such as 1 , 2 and the like or a qualitative value such status [1] , status [2] and the like.
  • the current status of the system [100] may be determined to be a current status [1] if the system performance parameter is determined to be low due to long response time to start an application and the value of the storage [104] available being low, such as only 10%.
  • the current status of the system [100] may be determined to be a current status [2] if the system performance parameter is determined to be very low due to slow processing time of the processor [112] and the value of the storage [104] available being very low, such as only 5%.
  • the current status of the system [100] may be determined to be a current status [3] if the system performance parameter is determined to be very low due to automatic rebooting of the system [100] and the value of the storage [104] available being critically low, such as only 2%.
  • the dynamically determined current status of the system [100] is then sent to the management module [108] by the status monitoring module [106] .
  • the dynamically determined current status of the system [100] is compared with a pre-defined critical threshold value by the status monitoring module [106] .
  • the “pre-defined critical threshold value” refers to a pre-defined status of the system [100] where the overall operational health and working operations of the system [100] are below a critical value and system performance and efficiency cannot be achieved.
  • the present invention encompasses that the pre-defined critical threshold value may be, but not be limited to, a numeric value (such as 1 , 2 and the like) or a qualitative value (such status [1] , status [2] and the like) .
  • step 310 the result of the comparison at the previous step 308 is evaluated and it is determined if the current status of the system [100] is below or above a pre-defined critical threshold value. In an event the current status of the system [100] is determined to be above the pre-defined critical threshold value by the status monitoring module [106] , then the method moves to step 312. Alternatively, in an event the current status of the system [100] is determined to be below the pre-defined critical threshold value by the status monitoring module [106] , then the method moves to step 320.
  • one or more recommendations are determined by the management module [108] to be provided to user to manage the system performance.
  • the “recommendations” refer to various functions that could be chosen by the user for implementation by the management module [108] to improve and manage the performance of system [100] including, but not limited to, clearing the cache data, storing the data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] .
  • the invention encompasses that the one or more recommendations are determined based on the determined current status of the system [100] .
  • the management module [108] may determine one or more recommendations to manage the system performance for current status [1] .
  • Such recommendations may include, but not be limited to, options to zip files, delete duplicate files, delete Dalvik Executable files (. dex files) , clean cache in storage [104] , initiate a backup to cloud storage.
  • the management module [108] may determine one or more recommendations to manage the system performance for current status [2] .
  • recommendations may include, but not be limited to, options to disable all download, delete duplicate files, delete . dex files, stop creation of . dex files.
  • the determined one or more recommendations to manage the system performance of the system [100] are then sent to the display module [110] by the management module [108] .
  • one or more recommendations to manage the system performance are provided to the user by the display module [110] .
  • the one or more recommendations may be provided to the user as a notification.
  • the invention encompasses that the determined one or more recommendations to manage the system performance of the system [100] are received by the display module [110] from the management module [108] which are then displayed to the user.
  • the display module [108] may display the options to clear the cache data and zip files on the graphical user interface to the user to manage the system performance of the system [100] , where the options are determined by the management module [108] if current status of the system is determined to be current status [1] by the status monitoring module [106] .
  • an input is received from the user to implement at least one recommendation of the one or more recommendations by the display module [110] .
  • the input of at least one recommendation to be implemented is received from the user by the display module [110] .
  • the input from the user is sent to the management module [110] from the display module [110] indicating the option chosen by the user.
  • the user may input the option to clear the cache.
  • an input will be sent to the management module [110] from the display module [110] indicating that the user has chosen the option of clearing the cache data.
  • the invention also encompasses that no input may be received from the user. For example, the user may click on the “cancel” input without choosing any option to be implemented. Thereafter, an input will be sent to the management module [110] from the display module [110] indicating that no input has been received from the user.
  • the least one recommendation is implemented by the management module [108] to manage the system performance of the system [100] .
  • the management module [108] receives an input from the display module [110] which includes, but is not be limited to, the input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] .
  • an input to delete duplicate files is received from the user by the display unit [110] .
  • the display unit [110] transfers this input to the management module [108] indicating that the user chosen the option of deleting duplicate files.
  • the management module [108] Upon receipt of the input by the display module [110] , the management module [108] then implements the option of deleting duplicate files to manage the system performance of the system [100] .
  • the management module [108] dynamically and automatically implements actions to manage the system performance of the system [100] .
  • actions refers to various functions that could be implemented dynamically and automatically by the management module [108] to improve and manage the performance of system [100] including, but not limited to, automatic clearing the system cache data, clearing of the application cache data, automatic storing the data on a cloud server, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (.
  • the management module [108] may dynamically and automatically implement actions such as clearing the cache data, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and only permitting the read option for applications.
  • Figure 4 illustrates an overview of an exemplary scenario depicting the change in the status of the system [100] for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • the current status of the system [100] may be determined to be a current status [1] .
  • the current status of the system [100] may be determined to be a current status [1] due to long response time to start an application and the value of the storage [104] available being low, such as only 10%.
  • the invention encompasses that the status monitoring module [106] may then determine that the current status [1] is above a pre-defined critical threshold value.
  • the management module [108] of the system [100] may then determine one or more recommendations to manage the system performance for the determined current status [1] , in accordance with the present invention.
  • the one or more recommendations that may be determined by the management module [108] may include, but not be limited to, options to zip files, delete duplicate files using the duplicate files module, delete Dalvik Executable files (. dex files) using the dex file module, clean cache in storage [104] using the cleaning module, initiate a backup to an external storage using the backup module or disallow automatic update of application using the app update module.
  • the one or more recommendations determined by the management module [108] are then transferred to the display module [110] to be provided to the user.
  • the display module [110] then provides the one or more recommendations determined by the management module [108] for display to the user.
  • An input of at least one recommendation from the one or more recommendations is then received from the user by the display module [110] .
  • the management module [108] implements the at least one recommendation from the one or more recommendations for intelligent system performance management.
  • the current status of the system [100] may then be determined to be current status [2] .
  • figure 4 (b) depicts the current status [2] of the system [100] which is the status of the system [100] when no input is received from the user when the system [100] is in current status [1] .
  • the system behavior may be detected to be slow processing time of the processor [112] and the value of the storage [104] available being very low, such as only 5%.
  • the invention encompasses that the status monitoring module [106] may then determine that the current status [2] is above a pre-defined critical threshold value. Thereafter, the management module [108] may determine one or more recommendations to manage the system performance for current status [2] .
  • the one or more recommendations may include, but not be limited to, options to disable all download using the download manager module, delete duplicate files using the duplicate files module, delete . dex files using the dex file module and stop creation of . dex files using the dex file module.
  • the one or more recommendations determined by the management module [108] are then transferred to the display module [110] to be provided to the user.
  • the display module [110] then provides the one or more recommendations determined by the management module [108] for display to the user.
  • An input of at least one recommendation from the one or more recommendations is then received from the user by the display module [110] .
  • the management module [108] implements the at least one recommendation from the one or more recommendations for intelligent system performance management.
  • the current status of the system [100] may then be determined to be current status [3] .
  • figure 4 (c) depicts the current status [3] of the system [100] which is the status of the system [100] when no input is received from the user when the system [100] is in current status [2] .
  • the system behavior may be detected to be rebooting or crash of the system [100] and the value of the storage [104] available being very low, such as only 2%.
  • the invention encompasses that the status monitoring module [106] may then determine that the current status [3] is below a pre-defined critical threshold value. Therefore, the management module [108] may then dynamically determine and automatically implement one or more actions to manage the system performance of the system [100] .
  • the “actions” may include, but not limited to, automatic clearing the system cache data using the cleaning module, clearing of the application cache data using the cleaning module, automatic storing the data on a cloud server using the auto backup manager, deleting duplicate files using the duplicate files module, facilitating automatic backup of data using the auto backup manager, disabling automatic download of files using the download manager module, disabling automatic update of applications using the app update module and deleting Dalvik Executable files (. dex files) in the system [100] using the dex file module, only permitting the read option for applications and file, disabling the write function for all files and applications.
  • the invention encompasses that the current status [3] of the system [100] may change to current status [2] after the one or more actions to manage the system performance of the system [100] are dynamically and automatically implemented by the management module [108] .
  • Figure 5 illustrates an exemplary scenario when the current status of the system [100] is above a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 5 (a) depicts that a user is using an application, such as a messaging application on the system [100] . Thereafter, in figure 5 (b) , the user provides an input to the display module [110] to open another application. For instance, as shown, the user may tap on the graphical user interface of the display module [110] to open a video application. Thereafter, as depicted in figure 5 (c) , an error occurs in opening the video application.
  • an application such as a messaging application on the system [100] .
  • the invention encompasses that the system behavior of an application not responding is detected by the efficiency tracking module [102] .
  • the efficiency tracking module [102] determines a system performance parameter for the detected system behavior of an application not responding.
  • the efficiency tracking module [102] also determines a value of a storage [104] available for storing data. For instance, the system behavior of the application not responding may be a result of an error that might have occurred when the video application tried to execute a write operation on the storage [104] . Therefore, the efficiency tracking module [102] may then determine a low value of a storage [104] available for storing data, such as, say 10%.
  • the status monitoring module [106] determines a current status of the system [100] based on the determined system performance parameter and the value of a storage [104] available for storing data. The current status is then compared to a pre-defined critical threshold value. In this exemplary embodiment, the current status is determined to be above a pre-defined critical threshold value.
  • one or more recommendations are determined by the management module [108] for intelligent system performance management.
  • the one or more recommendations are then provided to the user by the display module [110] , as shown in figure 5 (d) .
  • the user may then select one or more options from the one or more recommendations.
  • the user may select the option to zip the application and compress the storage area required by the application.
  • the input of the recommendation is then transferred to the management module [108] .
  • the management module [108] receives the input from the display module [110] and implements the recommendation selected by the user for intelligent system performance management.
  • the application then returns to its normal state as shown in figure 5 (e) .
  • Figure 6 illustrates an exemplary scenario when the status of the system [100] is below a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
  • Figure 6 (a) depicts that, in accordance with the working of the present invention, one or more recommendations determined by the management module [108] for intelligent system performance management are provided to the user by the display module [110] . These one or more recommendations are provided as the system behavior of the application not responding was detected by the efficiency tracking module [102] . Additionally, the efficiency tracking module [102] had determined a low value of the storage [104] available for storing data, such as, say 5%. The invention encompasses that the status monitoring module [106] may have then determined a current status of the system [100] based on the determined system performance parameter and the value of a storage [104] available for storing data. The current status would have been determined to be above a pre-defined critical threshold value. As shown in figure 6 (a) , no input is received from the user by the display module [110] as the user selects the “ignore” option on the graphical user interface. As shown in figure 6 (b) , the application is continued to run by the user.
  • figure 6 (c) depicts that the system [100] crashes and stops responding.
  • the status monitoring module [106] will determine a current status of the system [100] based on the determined system performance parameter for the system crash and the value of a storage [104] available for storing data, such as 2%. The current status is then determined to be below a pre-defined critical threshold value.
  • the management module [108] may then dynamically determine and automatically implement one or more actions to manage the system performance of the system [100] including, but not limited to, automatic clearing the system cache data using the cleaning module, clearing of the application cache data using the cleaning module, automatic storing the data on a cloud server using the auto backup manager, deleting duplicate files using the duplicate files module, facilitating automatic backup of data using the auto backup manager, disabling automatic download of files using the download manager module, disabling automatic update of applications using the app update module and deleting Dalvik Executable files (. dex files) in the system [100] using the dex file module, only permitting the read option for applications and file, disabling the write function for all files and applications.
  • actions to manage the system performance of the system [100] including, but not limited to, automatic clearing the system cache data using the cleaning module, clearing of the application cache data using the cleaning module, automatic storing the data on a cloud server using the auto backup manager, deleting duplicate files using the duplicate files module, facilitating automatic backup of data using the auto backup manager, disabling
  • the present disclosure provides for a system and method for intelligent system performance management.
  • the present invention provides a mechanism to prevent the space available in the storage [104] to reach a critically low level by recommending one or more options for system performance management to the user. Further, in case the storage of the system reaches below a critically low level and the system behaviour is adversely effected, the present invention also provides for a mechanism that enables the system to dynamically and automatically perform operations for self-recovery even in the state of critically low memory, thereby enhancing the system performance even in low storage state. Therefore, the present invention prevents system crashes by dynamically implementing one or more solutions for intelligent system performance management. Further, the present invention minimizes user intervention in the state of critically low memory thereby preventing complete crash of the system.
  • Embodiments of the present disclosure also provides an electronic device.
  • the electronic device may be a terminal device or a network device.
  • the electronic device includes a processor.
  • the processor may call and run a computer program from the memory to implement the method according to the embodiments of the present disclosure.
  • the electronic device may also include a memory.
  • the processor may call and run the computer program from the memory to implement the method according to the embodiments of the present disclosure.
  • the memory may be a separate device independent of the processor, or may be integrated in the processor.
  • the electronic device may further include a transceiver, and the processor may control the transceiver to communicate with other devices, specifically, may send information or data to other devices, or receive information or data sent by other devices.
  • the transceiver may include a transmitter and a receiver.
  • the transceiver may further include antennas, and the number of antennas may be one or more.
  • the electronic device has a system for intelligent system performance management according to an embodiment of the present disclosure, and the electronic device can implement the corresponding processes of each method of the embodiment of the present disclosure. For brevity, details are not described herein.
  • Embodiment of the present disclosure further provide a chip, including a processor.
  • the processor may call and run a computer program from the memory to implement the method according to the embodiments of the present disclosure.
  • the chip may further include memory.
  • the processor may call and run the computer program from the memory to implement the method according to the embodiments of the present disclosure.
  • the memory may be a separate device independent of the processor, or may be integrated in the processor.
  • the chip may further include an input interface.
  • the processor may control the input interface to communicate with other devices or chips, specifically, may obtain information or data sent by other devices or chips.
  • the chip may further include an output interface.
  • the processor may control the output interface to communicate with other devices or chips, specifically, output information or data to other devices or chips.
  • the chip can be applied to electronic devices according to the embodiments of the present disclosure, and the chip can implement the corresponding processes of the various methods according to the embodiments of the present disclosure.
  • chip mentioned in the embodiments of the present disclosure may also be referred to as system-level chip, system chip, chip system, or system-on-chip chip.
  • the processor in the embodiments of the present disclosure may be an integrated circuit chip, which has signal processing capability.
  • each action of the foregoing method embodiment may be implemented by an integrated logic circuit in a processor in the form of hardware or instructions in the form of software.
  • the foregoing processor may be a general-purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , an existing programmable gate array (Field Programmable Gate Array, FPGA) , or other available programming logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present disclosure may be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the steps of the method disclosed in conjunction with the embodiments of the present disclosure may be directly embodied and executed by a hardware decoding processor, or may be executed and implemented by a combination of hardware and software modules in the decoding processor.
  • the software modules may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, and a register.
  • the storage medium is located in the memory, and the processor reads the information in the memory and implements the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present disclosure may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM) , programmable read-only memory (Programmable ROM, PROM) , erasable programmable read-only memory (Erasable PROM, EPROM) , electronic Erasable Programmable Read Only Memory (Electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (Random Access Memory, RAM) , which is used as an external cache.
  • RAM random access memory
  • static random access memory SRAM
  • dynamic random access memory DRAM
  • synchronous dynamic random access memory Synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory Double SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory Enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory Synchlink DRAM, SLDRAM
  • direct memory bus random access memory Direct Rambus RAM, DR RAM
  • the memory in the embodiments of the present disclosure may also be static random access memory (static RAM, SRAM) , dynamic random access memory (dynamic RAM, DRAM) , Synchronous dynamic random access memory (synchronous DRAM, SDRAM) , double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM) , enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM) , synchronous connection Dynamic random access memory (synch link DRAM, SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM) , etc. That is to say, the memories in the embodiments of the present disclosure are intended to include but are not limited to these and any other suitable types of memories.
  • Embodiments of the present disclosure further provide a computer-readable storage medium for storing a computer program.
  • the computer-readable storage medium may be applied to the electronic device in the embodiments of the present disclosure, and the computer program causes the computer to execute the corresponding processes in the various methods according to the embodiments of the present disclosure.
  • the computer-readable storage medium can be applied to the mobile terminal /terminal device according to the embodiments of the present disclosure, and the computer program enables the computer to execute the corresponding process implemented by the mobile terminal /terminal device in each method of the embodiments of the present disclosure. For the sake of brevity, details are not described here.
  • Embodiments of the present disclosure provide a computer program product, including computer program instructions.
  • the computer program product may be applied to the electronic device in the embodiments of the present disclosure, and the computer program instructions cause the computer to execute the corresponding processes in each method according to the embodiments of the present disclosure.
  • the computer program instructions cause the computer to execute the corresponding processes in each method according to the embodiments of the present disclosure.
  • the computer program product can be applied to the mobile terminal /terminal device in the embodiments of the present disclosure, and the computer program instructions cause the computer to execute the corresponding process implemented by the mobile terminal /terminal device in each method of the embodiments of the present disclosure.
  • the computer program instructions cause the computer to execute the corresponding process implemented by the mobile terminal /terminal device in each method of the embodiments of the present disclosure.
  • Embodiments of the present disclosure provide a computer program.
  • the computer program can be applied to the electronic device in the embodiment of the present disclosure.
  • the computer program runs on the computer, the computer is caused to execute the corresponding process in each method according to the embodiments of the present disclosure. Repeat again.
  • the computer program can be applied to the mobile terminal /terminal device according to the embodiments of the present disclosure, and when the computer program runs on the computer, the computer is implemented by the mobile terminal /terminal device to perform various methods of the embodiments of the present disclosure. For the sake of brevity, I will not repeat them here.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a division of logical functions.
  • there may be other divisions for example, multiple units or components may be combined or integrated into another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of the present disclosure essentially or partly contributing to the existing technology or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc. ) to perform all or part of the steps of the methods described in the embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM) , random access memory (Random Access Memory, RAM) , magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to intelligent system performance management. The invention commences by determining a system performance parameter associated with a system behavior of a system and a value of a storage available for storing a data. A current status is then dynamically determined based on the system performance parameters and the value of the storage. The current status is then compared with a pre-defined critical threshold value. In an event the current status is above the pre-defined critical threshold value, one or more recommendations to manage the system performance are provided to the user. Thereafter, an input is received from the user which is then implemented for system performance management. However, in an event the current status is below the pre-defined critical threshold value, one or more actions to manage the system performance are dynamically and automatically implemented by the system for system performance management.

Description

SYSTEM AND METHOD FOR INTELLIGENT SYSTEM PERFORMANCE MANAGEMENT TECHNICAL FIELD
The present disclosure relates generally to system management, and more particularly, to a system and method for intelligent system performance management.
BACKGROUND
The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the overall field of the invention, and not as admissions of prior art.
Current systems for device or system management primarily focus on enhancing the output and throughput of the devices such as tablets, laptops, computers, smartphones, etc. There has been a tremendous evolvement in technology that provides higher efficiency to the system and the user experiences an extremely short turn-around time while interacting with the systems. Additionally, there are also various techniques available for optimizing the storage of content in a system. Since the performance of the system is majorly effected by the amount of storage available in the memory of the system, many mechanisms have been evolved to optimize the use of the limited memory area to store the maximum amount of data. However, such techniques to optimize storage in memory do not directly impact the management of the performance of the system.
Most techniques to optimize the use of the limited memory area include techniques for data compression and decompression. These techniques includes the storing of data in the memory in a compression formation, when a write operation is executed by a user or an applications. This allows the same data to be stored in much less area, and a larger portion of the memory is then available to store more data. Further, to execute a read operation, the data in the compressed form in the memory is then decompressed and presented to the user.
Further, certain technologies provide for management of the storage of the system by deleting data. Such systems seek to provide a mechanism to allow a user to write more data in the memory of the system by deleting irrelevant or redundant data. Therefore, in a scenario when there is not enough space to write a complete file in the memory, the system may delete a file already stored in the memory thereby, creating space for the new write operation to be executed.
However, these techniques provide for management and/or optimization of memory of the system when the when the system performance and efficiency is normal and as per expected standards. Particularly, all data compression systems only work when there is space available in the memory to store more compressed data.
Further, there is also currently no mechanism which provides for management and/or enhancement of the behavior or performance of the system when the amount of space available in the storage is low. In fact, in all prior systems, in case the amount of available storage in the memory reaches a critically low value, the mechanisms provide for no solution and often fail resulting in a crash of the entire system. Although some solutions may provide for a mechanism to clear the memory data, however, these rely on a manual intervention by the user. Therefore, the user of the system has to identify a problem in the system behavior and will then have to manually delete some files from the memory to improve the performance of the system. Further, in such a scenario, the system may often reboot automatically, thereby not allowing the user to execute any operations, including the deleting of files. Hence, ultimately, the system may fail.
Due to huge reliance on user intervention, these systems often crash. It has been observed that due to awareness and knowledge, the user of the system is not able to correlate the cause of problems in the system behavior to lack of available space in the memory of the system. Hence, the actions that must be taken by the user to clear memory data are not implemented, resulting in the total failure of the system.
Therefore, it is apparent from the aforementioned problems and limitations, that there exists a need to provide for intelligent system performance management. The mechanism must prevent the space available in the memory to reach a critically low level. Further, in case of critically low memory, the mechanism must enable the system to perform operations for self-recovery even in the state of critically low memory.
SUMMARY OF THE INVENTION
This section is provided to introduce certain objects and aspects of the present invention in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter. In order to overcome at least a few problems associated with the known solutions as provided in the previous section, an object of the present invention is to provide for system and method for intelligent system performance management. It is another object of the present invention to provide a mechanism to prevent the space available in the memory to reach a critically low level. It is yet another object of the present invention to provide a mechanism that enables the system to dynamically and automatically perform operations for self-recovery even in the state of critically low memory. It is yet another object of the present invention to prevent system crashes. Further, it is another object of the present invention to minimize user intervention in the state of critically low memory. It is yet another object of the present invention to provide options to the user for execution to improve the performance of the system.
In view of the aforesaid objects of the present invention, a first aspect of the present invention relates to a method for intelligent system performance management. The method commences by determining at least one system performance parameter associated with a system behavior of a system. The system performance parameter is determined by an efficiency tracking module. The efficiency tracking module also determines a value of a current storage available for storing a data. Thereafter, a current status of the system is dynamically determined by a status monitoring module based on the determined system performance parameter and/or the determined value of the storage. The method further encompasses comparing the current status and a pre-defined critical threshold value, such that in an event the current status is above a pre-defined critical threshold value, one or more recommendations to manage the system performance are provided to the user as a notification. An input corresponding to at least one recommendation is then received from the user. In an event an input is received from the user, the input of at least one recommendation is then implemented by a management module. However, in an event the current status is above a pre-defined critical threshold value, one or more actions to manage the system performance are dynamically and automatically implemented by the management module.
Another aspect of the invention relates to a system for intelligent system performance management comprising of an efficiency tracking module configured to determine at least one system performance parameter associated with a system behavior and determine a value of a storage available for storing a data. A status monitoring module is then configured to dynamically determine a current status of the system based on at least one of said determined system performance parameter and said determined value of the storage. The status monitoring module is also configured to compare the current status and a pre-defined critical threshold value. In an event the current status is determined to be above a pre-defined critical threshold value by the status monitoring module, a display module is configured to provide one or more recommendations to manage the system performance, wherein the recommendations are provided as a notification. The display module is further configured to receive an input to implement at least one recommendation of the one or more recommendations from the user. Thereafter, a management module is further configured to implement, in response to said input from the user, the at least one recommendation. However, in an event the current status is determined to be below a pre-defined critical threshold value by the status monitoring module, the management module is configured to dynamically and automatically implement one or more actions to manage the system performance.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings  may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components or circuitry commonly used to implement such components. Although exemplary connections between sub-components have been shown in the accompanying drawings, it will be appreciated by those skilled in the art, that other connections may also be possible, without departing from the scope of the invention. All sub-components within a component may be connected to each other, unless otherwise indicated.
Figures 1 illustrates an overview of an exemplary architecture of a system for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 2 illustrates an overview of an exemplary architecture of the management module for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 3 illustrates a flow diagram depicting an exemplary method for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 4 illustrates an overview of an exemplary scenario depicting the change in the status of the system for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 5 illustrates an exemplary scenario when the status of the system is above a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 6 illustrates an exemplary scenario when the status of the system is below a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
The foregoing shall be more apparent from the following more detailed description of the invention.
DETAILED DESCRIPTION OF THE INEVNTION
In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of the embodiments of the present invention. It will be apparent, however, that embodiments of the present invention may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present invention are described below, as illustrated in various drawings.
The present invention provides a method and system for intelligent system performance management. The invention commences when an efficiency tracking module determines at least one system performance parameter associated with a system behavior of a system. The efficiency tracking module also determines a value of a storage available for storing a data. Thereafter, a current status of the system is dynamically determined by a status monitoring module based on at least the determined one or more system performance parameters and the determined value of the storage. Thereafter, the current status is compared with a pre-defined critical threshold value, by the status monitoring module. In an event the current status is above the pre-defined critical threshold value, one or more recommendations to manage the system performance are provided to the user as a notification. An input corresponding to at least one recommendation is then received from the user. In an event an input is received from the user, the input is implemented by a management module. However, in an event the current status is below a pre-defined critical threshold value, one or more actions to manage the system performance are dynamically and automatically implemented by the management module.
As used herein, “connect” , “configure” , “couple” and its cognate terms, such as “connects” , “connected” , “configured” and “coupled” may include a physical connection (such as a wired/wireless connection) , a logical connection (such as through logical gates of semiconducting device) , other suitable connections, or a combination of such connections, as may be obvious to a skilled person.
As used herein, “send” , “transfer” , “transmit” , and their cognate terms like “sending” , “sent” , “transferring” , “transmitting” , “transferred” , “transmitted” , etc. include sending or transporting data or  information from one unit or component to another unit or component, wherein the data or information may or may not be modified before or after sending, transferring, transmitting.
Referring to Figure 1, overview of an exemplary architecture of a system for intelligent system performance management is disclosed in accordance with exemplary embodiments of the present invention. As shown in the figure 1, the system [100] comprises of an efficiency tracking module [102] , a storage [104] , a status monitoring module [106] , a management module [108] , a display module [110] and a processor [112] . As used herein in this disclosure, the system [100] may be implemented in any electrical, electronic, electromechanical and computing device including, but is not limited to, a mobile phone, a smartphone, a tablet, a phone, a laptop, a wearable device, a personal digital assistant and any such device obvious to a person skilled in the art. It will be understood by those of ordinary skill in the art that the structure shown is merely illustrative and does not limit the structure of the system [100] . The present invention encompasses that the system [100] and the device in which it is implemented may also include more or less components than those illustrated in Figure 1 or have a different configuration than that illustrated in this Figure 1. Further, it will be understood by those of ordinary skill in the art that the components may be connected to each other using universal asynchronous receiver/transmitter (UART) , general purpose input output (GPIO) , serial peripheral interface (SPI) , inter-integrated Circuit (I2C) , but not limited to the above standards. In some examples, the connection may only include a bus, and in other examples, the connection may also include other components, such as one or more controllers.
The efficiency tracking module [102] , connected to the storage [104] and the status monitoring module [106] , is configured to determine at least one system performance parameter associated with a system behavior of the system [100] . As used herein in the present disclosure, the “system behavior of the system [100] ” refers to the working of the input and output operations, the internal working operations along with the overall operational health and working operations of the system [100] including but not limited to, the time for starting an application, the time to receive an input, the number of exceptions encountered in the overall operation, the quality of the battery, the response time of the system [100] , rebooting of the system [100] , crash of the system [100] , etc.
The invention encompasses that the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] . In a preferred embodiment, the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] continuously. In another embodiment, the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] periodically. For example, the efficiency tracking module [102] may monitor the system behavior of a system [100] after every 5 minutes. In yet another embodiment, the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] dynamically. For example, the efficiency tracking module [102] may monitor the system behavior dynamically when an application is opened by the user. Further, in another embodiment, the efficiency tracking module [102] is configured to monitor the system behavior of the system [100] only when a change in the system behavior is detected. For example, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when the time to start an application is detected to be more than a threshold time limit. Further, in yet another embodiment, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when a request is received by the user. For example, the efficiency tracking module [102] may monitor the system behavior of the system [100] only when an input to monitor the system behavior of the system [100] is received from the user.
The efficiency tracking module [102] is further configured to determine a system performance parameter based on the detected system behavior of the system [100] . The efficiency tracking module [102] is configured to identify and report [100] the system behavior of the system [100] . As used herein in the present disclosure, the “system performance parameter” refers to a value assigned to the detected system behavior of the system [100] . The present invention encompasses that the value of system performance parameter may be, but not be limited to, a numeric value, a percentage and a quantitative value such as denoting a good system performance or a bad system performance and an integer value.
In a preferred embodiment, the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the system behavior of the system [100] is not as per a normal system behavior or system performance. Alternatively, the system performance parameter may be determined to be a high value by the efficiency tracking module [102] if the system behavior of the system [100] is in accordance with the normal system behavior or system performance. As used herein in this disclosure, “normal system behavior or system performance” refers to the system behavior that is expected to be achieved when all  the components of the system [100] are working at their expected efficiency levels and the overall health and performance of the system [100] is within the industry accepted limits. For example, the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the time for starting an application is longer than 5 seconds. In another example, the system performance parameter may be determined to be a low value by the efficiency tracking module [102] if the time to receive and interpret an input received from the user is longer than 2 seconds. The efficiency tracking module [102] is further configured to send the determined system performance parameter to the status monitoring module [106] .
Further, the invention encompasses that the efficiency tracking module [102] is configured to determine two or more system performance parameter simultaneously based on the system behavior of the system [100] . For example, the efficiency tracking module [102] may determine two low value system performance parameters if the response time for starting an application is longer than 5 seconds and low throughput by the application is detected.
The efficiency tracking module [102] is further configured to determine a value of the storage [104] available for storing a data. The efficiency tracking module [102] is configured to read the available space in the storage [104] and determine a value based on the available space. As used herein in this disclosure, the “value of the storage [104] available for storing a data” , refers to the value of unoccupied or free storage space of the storage [104] which can be utilized to store additional data or information, including software program code, executable instructions and the like. The present invention encompasses that the value of a storage [104] available for storing a data may be, but not be limited to, a numeric value or a percentage. For example, when a write operation cannot be successfully executed due to that the space in the storage [104] is less than the space required to write a complete program in storage [104] , then the value of a storage [104] available for storing a data may be a low value, such as 10%. In another example, when there is no available space to write more data in the cache of the storage [104] , then the value of a storage [104] available for storing a data may be a low value, such as 2 from a scale of 1 to 10, end values being inclusive. The efficiency tracking module [102] is further configured to send the determined value of the storage [104] available for storing a data to the status monitoring module [106] .
The storage [104] , connected to the efficiency tracking module [102] , is configured to store software programs, modules, data, information, instructions and the like. The storage [104] , is further configured to allow the processor to execute various functional disclosures and data processing by running software programs and modules stored in the storage [104] . The storage [104] , may include, but is not limited to, a volatile memory, non-volatile memory, a cache, a remote storage, a cloud storage, high-speed random-access memory and/or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and/or flash memory (e.g., NAND, NOR) or a combination thereof. In some embodiments, storage [104] , may further include memory remotely configured to be connected to the system [100] and via a network. Embodiments of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The status monitoring module [106] , connected to the efficiency tracking module [102] , management module [108] and display module [110] , is configured to dynamically determine a current status of the system [100] . The current status of the system [100] is dynamically determined to be based on at least one of the determined system performance parameter and the determined value of the storage. The present invention encompasses that the current status of the system [100] determined by status monitoring module [106] may be, but not be limited to, a numeric value such as 1 , 2 and the like or a qualitative value such status [1] , status [2] and the like. In an exemplary embodiment, the current status of the system [100] may be determined to be a current status [1] if the determined system performance parameter is low due to long response time to start an application and the value of the storage [104] available is low, such as only 20%. In another exemplary embodiment, the current status of the system [100] may be determined to be a current status [2] if the determined system performance parameter is very low due to low throughput and slow processing time of the system [100] and the value of the storage [104] available is very low, such as only 10%. In yet another exemplary embodiment, the current status of the system [100] may be determined to be a current status [3] if the determined system performance parameter is very low due to automatic rebooting of the system [100] and the value of the storage [104] available is critically low, such as only 2%. The status monitoring module [106] is further configured to send the dynamically determined current status of the system [100] to the management module [108] .
The status monitoring module [106] is further configured to compare the current status of the system [100] and a pre-defined critical threshold value. As used herein in this disclosure, the “pre-defined critical threshold value” refers to a pre-defined status of the system [100] such that when the overall operational health and working operations of the system [100] are below a critical value then system performance and efficiency cannot be achieved. The present invention encompasses that the pre-defined critical threshold value may be, but not be limited to, a numeric value such as 1, 2 and the like or a qualitative value such status [1] , status [2] and the like. The status monitoring module [106] is configured to compare the current status of the system [100] and a pre-defined critical threshold value to determine if the current status of the system [100] is above the pre-defined critical threshold value or if the current status of the system [100] is below the pre-defined critical threshold value.
In an event the current status of the system [100] is determined to be above the pre-defined critical threshold value by the status monitoring module [106] , the display module [110] is configured to provide one or more recommendations to manage the system performance, wherein the recommendations are provided as a notification. The display module [110] is further configured to receive an input to implement at least one recommendation of the one or more recommendations from the user.
The management module [108] , connected to the status monitoring module [106] and the display module [110] , is configured to determine one or more recommendations to manage the system performance of the system [100] . The management module [108] is further configured to send the determined one or more recommendations to manage the system performance of the system to the display module [110] . As used herein, the “recommendations” refers to various functions that could be chosen by the user for implementation by the management module [108] to improve and manage the performance of system [100] including, but not limited to, clearing the cache data, storing the data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] .
The management module [108] is further configured to receive an input from the display module [110] . The input will include, but not be limited to, an input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] or no input from the user. For example, the management module [108] may receive an input from the display module [110] indicating that the user chose the option of clearing the cache data to manage the system performance of the system [100] .
The management module [108] is further configured to implement the one or more recommendation chosen by the user to manage the system performance of the system [100] . In furtherance of the aforementioned example, the management module [108] may then implement the option of clearing the cache data to manage the system performance of the system [100] .
The invention encompasses that the management module [108] is configured to determine one or more recommendations to manage the system performance of the system only when the current status of the system [100] is determined to be above the pre-defined threshold critical value by the status monitoring module [106] . Also, the management module [108] is configured to send one or more recommendations to the display module [110] to manage the system performance of the system and receive an input from the user when the current status of the system [100] is determined to be above the pre-defined threshold critical value by the status monitoring module [106] .
Further, the management module [108] is configured to dynamically and automatically implement one or more actions to manage the system performance, in an event the determined current status is below a pre-defined critical threshold value. As used herein, the “actions” refers to various functions that could be implemented dynamically and automatically by the management module [108] to improve and manage the performance of system [100] including, but not limited to, automatic clearing the system cache data, clearing of the application cache data, automatic storing the data on a cloud server, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] , only permitting the read option for applications and file, disabling the write function for all files and applications.
The display module [110] is configured to receive determined one or more recommendations to manage the system performance of the system [100] from the management module [108] . The display module  [110] is further configured to display the one or more recommendations received from the management module [108] to the user. The display module [110] is also configured to receive an input from the user in respect of the one or more recommendations to manage the system performance of the system [100] . Further, the display module [110] is configured to send the input received from the user to the management module [108] . The input will include, but not be limited to, an input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] or an indication that no input is received from the user. For example, the display module [108] may display the options to clear the cache data and zip files to the user to manage the system performance of the system [100] . The user may input a selection of the option to clear the cache. Thereafter, the input will be sent to the management module [110] from the display module [110] indicating that the user has chosen the option of clearing the cache data. In case no response is received from the user, or the user has cancelled the recommended options, the display module [110] will send an input to the management module [110] indicating that no response is received from the user.
The invention encompasses that the display unit [110] may comprise of a touch panel, a soft keypad, a hard keypad (including buttons) and the like. For example, the user may click a soft button on a touch panel of the display module [110] to choose an option to manage system performance. In a preferred embodiment, the display module [110] may be configured to display the one or more recommendations of the management module [108] to the user and receive an input from the user via a graphical user interface. As used herein, a “graphical user interface” may be a user interface that allows a user of the system [100] to interact with the system [100] through graphical icons and visual indicators, such as secondary notation, and any combination thereof. For example, the display module [110] may include a touch panel configured to collect the user’s input via touch operation, thereon or near the surface of the touch panel, and using a finger or a stylus. The invention encompasses that the detection of the touch on a graphical user interface of the display module [110] can be realized by various types such as resistive, capacitive, infrared, and surface acoustic waves.
The processor [112] is configured to control the overall working of the system [100] . The processor is also configured to control the operation of the efficiency tracking module [102] , the status monitoring module [106] and the management module [108] . As used herein, a “processor” or “processing unit” includes one or more processors, wherein processor refers to any logic circuitry for processing instructions. The processor [112] may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor [112] or processing unit [112] is a hardware processor.
Although only one system [100] has been shown in the Fig. 1, it will be appreciated by those skilled in the art that the invention may be implemented in any number of systems [100] . Further, the system [100] may comprise of more than one efficiency tracking module [102] , storage [104] , the status monitoring module [106] , the management module [108] , the display module [110] and the processor [112] , working in accordance with the present invention.
Figure 2 illustrates an overview of an exemplary architecture of the management module [108] for intelligent system performance management, in accordance with exemplary embodiments of the present invention. As depicted in figure 2, the management module [108] may comprise of a cleaning module, a backup module, a duplicate files module, an app update module, a download manager module, a dex file module, a packager manager module, an auto backup manager and a file permission module. The invention encompasses that the management module [108] may contain one or more components not shown in the figure without departing from the scope of the present invention.
The invention further encompasses that one or more components of the management module [108] may be used in one or more dynamiclly determined current status of the system [100] . As shown in the figure, in an exemplary embodiment, the current status of the system [100] may be determined to be any of the three current statuses, namely, current status [1] , current status [2] and current status [3] , at a given point of time. The current status [1] and current status [2] may be determined to be above the pre-defined critical threshold value, while the current status [3] may be determined to be below the pre-defined critical threshold value.
The management module [108] is configured to use the one or more components in a particular dynamically determined current status. For instance, if the determined status of the system [100] is current status [1] , then the cleaning module, the backup module, the duplicate files module and the app update module may be configured to implement one or more recommendations selected by the user. The cleaning module may be connected to the cache of the storage [104] and may be configured to clean the cache in the storage [104] when an input is received from the user. Further, the backup module may be connected to an external storage, such as cloud storage [104] using any wireless communication network such as networks including, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof. The backup module may then be configured to initiate and complete a backup of the system [100] when the backup option is selected by the user. Additionally, the duplicate files module may be configured to delete the duplicate files in the system [100] when the option to delete duplicate files is selected by the user. Further, the app update module may be configured to disallow update of applications of system [100] when an option to disable update of applications is selected by the user.
In another instance, if the determined status of the system [100] is current status [2] , then the download manager module, the dex file module and package manager module may be configured to implement one or more recommendations selected the user. The download manager module may be configured to disallow automatic download of file and applications, if the option to disable automatic update of applications is selected by the user. Further, the dex file module may be configured to delete the existing . dex files and stop the creation of new . dex files of the system [100] when such an option is selected by the user. Further, the package manager module may be configured to manage the packages in the system [100] .
Further, in yet another instance, when the determined status of the system [100] is current status [3] , then the automatic backup manager and the file permission module may be configured to automatically implement one or more actions for intelligent system performance management. The automatic backup manager may be configured to automatically initiate and complete the backup of the entire system [100] . The backup may be transmitted to a storage or memory external to the system [100] such as cloud storage [104] using any wireless communication network such as networks including, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof. Further, the file permission module may be configured to disallow the execution of the write command in the system [100] . Therefore, the user may then only be able to start applications in the read-only mode and will not be able to write any more data to the storage [104] .
Although specific components have been shown to be used in a particular determined current status by the management module [108] , the present invention encompasses that one or more components may be used in one or more current status determined for the system [100] by the management module [108] . For example, the duplicate files module may be configured to delete the duplicate files in the system [100] when the option to delete duplicate files is selected by the user in current status [1] or the duplicate files may automatically be deleted in the system [100] when the current status of the system is current status [3] .
Figure 3 illustrates a flow diagram depicting an exemplary method [300] for intelligent system performance management, in accordance with exemplary embodiments of the present invention. The method begins at step 302, when at least one system performance parameter is determined by the efficiency tracking module [102] . The at least one system performance parameter is associated with a system behavior of the system [100] . As explained above in the present disclosure, the “system behavior of the system [100] ” refers to the working of the input and output operations, the internal working operations along with the overall operational health and working operations of the system [100] including but not limited to, the time for starting an application, the time to receive an input, the number of exceptions encountered in the overall operation, the quality of the battery, the response time of the system [100] , rebooting of the system [100] , crash of the system [100] .
The invention encompasses that the system behavior of a system [100] is monitored by the efficiency tracking module [102] . The system behavior of the system [100] is also identified and reported by the efficiency tracking module [102] . In a preferred embodiment, the system behavior of the system [100] is monitored continuously by the efficiency tracking module [102] . In another embodiment, the system behavior of the system [100] is monitored periodically. For example, the efficiency tracking module [102] may monitor the system behavior of the system [100] every day at 02: 00 hrs. In yet another embodiment, the system behavior of the system [100] is monitored dynamically. For example, the system behavior of the system [100] may be monitored dynamically when an update of an application is requested by the user. Further, in yet  another embodiment, the system behavior of the system [100] is monitored only when a change in the system behavior is detected. For example, the system behavior of the system [100] may only be monitored when the time to start an application by the system [100] is more than a threshold time limit. Further, in yet another embodiment, the system behavior of the system [100] is monitored when a request is received by the user. For example, the system behavior of the system [100] may only be monitored when an input to monitor the system behavior of the system [100] is received from the user.
The invention encompasses that a system performance parameter based on the detected system behavior of the system [100] is determined by the efficiency tracking module [102] . As explained above in the present disclosure, the “system performance parameter” refers to a value assigned to the detected system behavior of the system [100] . The present invention encompasses that the value of system performance parameter may be, but not be limited to, a numeric value, a percentage and a quantitative value such as denoting a good system performance or a bad system performance and an integer value. In a preferred embodiment, the system performance parameter may be determined to be a low value if the system behavior of the system [100] is not as per a normal system behavior or system performance. Alternatively, the system performance parameter may be determined to be a high value if the system behavior of the system [100] is accordance with the normal system behavior or system performance. As explained above in this disclosure, “normal system behavior or system performance” refers to the system behavior that is expected to be achieved when all the components of the system [100] are working at their expected efficiency levels and the overall health and performance of the system [100] is within the industry accepted limits. For example, the system performance parameter may be determined to be a low value if the time to start an application is longer than 2 seconds. In another example, the system performance parameter may be determined to be a low value if the processing speed of the processor [112] has decreased. The determined system performance parameter based on the system behavior of a system [100] is then transmitted to the status monitoring module [106] by the efficiency tracking module [102] .
Further, the invention encompasses that two or more system performance parameters may be simultaneously determined by the efficiency tracking module [102] . For example, the two low value system performance parameters may be determined by the efficiency tracking module [102] if the response time for starting an application is longer than 2 seconds and high processing time by the processor [112] to start the application is detected.
At step 304, a value of a storage [104] available for storing a data is determined by the efficiency tracking module [102] . The efficiency tracking module [102] reads the amount of available space in the storage [104] and a value based on the available space is determined. As explained above in this disclosure, the value of a storage [104] available for storing a data, refers to the value of unoccupied or free storage space of the storage [104] which can be utilized to store additional data or information, including software program code, executable instructions and the like. The present invention encompasses that the value of a storage [104] available for storing a data may be, but not be limited to, a numeric value or a percentage. For example, when a write operation cannot be successfully executed due to that the space in the storage [104] is less than the space required to write a code in the storage [104] , then the value of a storage [104] available for storing a data may be a low value, such as 4, on a scale of 1 to 10, end values being inclusive. In another example, when there is very little space available to write data in an application cache of the storage [104] , then the value of the storage [104] available for storing a data may be determined to be a low value, such as 5%. Thereafter, the determined value of the storage [104] available for storing data is sent to the status monitoring module [106] by the efficiency tracking module [102] .
The invention encompasses that  steps  302 and 304 be continuous steps, wherein the system performance parameter and the value of the storage [104] available for storing data will be automatically and by default determined for any and all operations on the system [100] .
Thereafter, at 306, a current status of the system [100] is dynamically determined by the status monitoring module [106] . The current status of the system [100] is dynamically determined based on at least one of the determined system performance parameter and the determined value of the storage [104] . The present invention encompasses that the current status of the system [100] determined by status monitoring module [106] may be, but not be limited to, a numeric value such as 1 , 2 and the like or a qualitative value such status [1] , status [2] and the like. In an exemplary embodiment, the current status of the system [100] may be determined to be a current status [1] if the system performance parameter is determined to be low due to long response time to start an application and the value of the storage [104] available being low, such as only  10%. In another exemplary embodiment, the current status of the system [100] may be determined to be a current status [2] if the system performance parameter is determined to be very low due to slow processing time of the processor [112] and the value of the storage [104] available being very low, such as only 5%. In yet another exemplary embodiment, the current status of the system [100] may be determined to be a current status [3] if the system performance parameter is determined to be very low due to automatic rebooting of the system [100] and the value of the storage [104] available being critically low, such as only 2%. The dynamically determined current status of the system [100] is then sent to the management module [108] by the status monitoring module [106] .
At step 308, the dynamically determined current status of the system [100] is compared with a pre-defined critical threshold value by the status monitoring module [106] . As explained above in this disclosure, the “pre-defined critical threshold value” refers to a pre-defined status of the system [100] where the overall operational health and working operations of the system [100] are below a critical value and system performance and efficiency cannot be achieved. The present invention encompasses that the pre-defined critical threshold value may be, but not be limited to, a numeric value (such as 1 , 2 and the like) or a qualitative value (such status [1] , status [2] and the like) .
At step 310, the result of the comparison at the previous step 308 is evaluated and it is determined if the current status of the system [100] is below or above a pre-defined critical threshold value. In an event the current status of the system [100] is determined to be above the pre-defined critical threshold value by the status monitoring module [106] , then the method moves to step 312. Alternatively, in an event the current status of the system [100] is determined to be below the pre-defined critical threshold value by the status monitoring module [106] , then the method moves to step 320.
At step 312, in an event the current status of the system [100] is determined to be above the pre-defined critical threshold value, one or more recommendations are determined by the management module [108] to be provided to user to manage the system performance. As explained above in this disclosure, the “recommendations” refer to various functions that could be chosen by the user for implementation by the management module [108] to improve and manage the performance of system [100] including, but not limited to, clearing the cache data, storing the data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] .
The invention encompasses that the one or more recommendations are determined based on the determined current status of the system [100] . In an exemplary embodiment, if the current status of the system [100] is determined to be a current status [1] due to long response time to start an application and the value of the storage [104] available being low, such as only 10%, then the management module [108] may determine one or more recommendations to manage the system performance for current status [1] . Such recommendations may include, but not be limited to, options to zip files, delete duplicate files, delete Dalvik Executable files (. dex files) , clean cache in storage [104] , initiate a backup to cloud storage. In another exemplary embodiment, if the current status of the system [100] is determined to be a current status [2] due to slow processing time of the processor [112] and the value of the storage [104] available being very low, such as only 5%, then the management module [108] may determine one or more recommendations to manage the system performance for current status [2] . Such recommendations may include, but not be limited to, options to disable all download, delete duplicate files, delete . dex files, stop creation of . dex files.
The determined one or more recommendations to manage the system performance of the system [100] are then sent to the display module [110] by the management module [108] .
At step 314, one or more recommendations to manage the system performance are provided to the user by the display module [110] . The one or more recommendations may be provided to the user as a notification. The invention encompasses that the determined one or more recommendations to manage the system performance of the system [100] are received by the display module [110] from the management module [108] which are then displayed to the user. For example, the display module [108] may display the options to clear the cache data and zip files on the graphical user interface to the user to manage the system performance of the system [100] , where the options are determined by the management module [108] if current status of the system is determined to be current status [1] by the status monitoring module [106] .
At step 316, an input is received from the user to implement at least one recommendation of the one or more recommendations by the display module [110] . The input of at least one recommendation to be implemented is received from the user by the display module [110] . Thereafter, the input from the user is sent to the management module [110] from the display module [110] indicating the option chosen by the user. For example, the user may input the option to clear the cache. Thereafter, an input will be sent to the management module [110] from the display module [110] indicating that the user has chosen the option of clearing the cache data. The invention also encompasses that no input may be received from the user. For example, the user may click on the “cancel” input without choosing any option to be implemented. Thereafter, an input will be sent to the management module [110] from the display module [110] indicating that no input has been received from the user.
Finally, at 318, in response to the input received from the user, the least one recommendation is implemented by the management module [108] to manage the system performance of the system [100] . The management module [108] receives an input from the display module [110] which includes, but is not be limited to, the input received from the user to implement one or more recommendations chosen by the user to manage the system performance of the system [100] . For example, an input to delete duplicate files is received from the user by the display unit [110] . The display unit [110] then transfers this input to the management module [108] indicating that the user chosen the option of deleting duplicate files. Upon receipt of the input by the display module [110] , the management module [108] then implements the option of deleting duplicate files to manage the system performance of the system [100] .
Further, at 320, in an event the current status of the system [100] is determined to be below the pre-defined critical threshold value by the status monitoring module [106] , the management module [108] dynamically and automatically implements actions to manage the system performance of the system [100] . As explained above the “actions” refers to various functions that could be implemented dynamically and automatically by the management module [108] to improve and manage the performance of system [100] including, but not limited to, automatic clearing the system cache data, clearing of the application cache data, automatic storing the data on a cloud server, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and deleting Dalvik Executable files (. dex files) in the system [100] , only permitting the read option for applications and file, disabling the write function for all files and applications. In an exemplary embodiment, when the current status is determined to be below the pre-defined critical threshold value, such as status [3] as the system [100] starts rebooting, then the management module [108] may dynamically and automatically implement actions such as clearing the cache data, deleting duplicate files, facilitating automatic backup of data, disabling automatic download of files, disabling automatic update of applications and only permitting the read option for applications.
Figure 4 illustrates an overview of an exemplary scenario depicting the change in the status of the system [100] for intelligent system performance management, in accordance with exemplary embodiments of the present invention. As depicted in figure 4 (a) , the current status of the system [100] may be determined to be a current status [1] . In this exemplary embodiment, the current status of the system [100] may be determined to be a current status [1] due to long response time to start an application and the value of the storage [104] available being low, such as only 10%. The invention encompasses that the status monitoring module [106] may then determine that the current status [1] is above a pre-defined critical threshold value. Thereafter, the management module [108] of the system [100] may then determine one or more recommendations to manage the system performance for the determined current status [1] , in accordance with the present invention. The one or more recommendations that may be determined by the management module [108] may include, but not be limited to, options to zip files, delete duplicate files using the duplicate files module, delete Dalvik Executable files (. dex files) using the dex file module, clean cache in storage [104] using the cleaning module, initiate a backup to an external storage using the backup module or disallow automatic update of application using the app update module. The one or more recommendations determined by the management module [108] are then transferred to the display module [110] to be provided to the user. The display module [110] then provides the one or more recommendations determined by the management module [108] for display to the user. An input of at least one recommendation from the one or more recommendations is then received from the user by the display module [110] . In an event an input is received from the user, the management module [108] implements the at least one recommendation from the one or more recommendations for intelligent system performance management. Alternatively, if an input is not received from the user, and the value of the available storage [104] becomes lower, the current status of the system [100] may then be determined to be current status [2] .
In this exemplary scenario, figure 4 (b) depicts the current status [2] of the system [100] which is the status of the system [100] when no input is received from the user when the system [100] is in current status [1] . In this current status [2] , the system behavior may be detected to be slow processing time of the processor [112] and the value of the storage [104] available being very low, such as only 5%. The invention encompasses that the status monitoring module [106] may then determine that the current status [2] is above a pre-defined critical threshold value. Thereafter, the management module [108] may determine one or more recommendations to manage the system performance for current status [2] . The one or more recommendations may include, but not be limited to, options to disable all download using the download manager module, delete duplicate files using the duplicate files module, delete . dex files using the dex file module and stop creation of . dex files using the dex file module. The one or more recommendations determined by the management module [108] are then transferred to the display module [110] to be provided to the user. The display module [110] then provides the one or more recommendations determined by the management module [108] for display to the user. An input of at least one recommendation from the one or more recommendations is then received from the user by the display module [110] . In an event an input is received from the user, the management module [108] implements the at least one recommendation from the one or more recommendations for intelligent system performance management. Alternatively, if an input is not received from the user, and the value of the available storage [104] becomes even lower, the current status of the system [100] may then be determined to be current status [3] .
In this exemplary scenario, figure 4 (c) depicts the current status [3] of the system [100] which is the status of the system [100] when no input is received from the user when the system [100] is in current status [2] . In this current status [3] , the system behavior may be detected to be rebooting or crash of the system [100] and the value of the storage [104] available being very low, such as only 2%. The invention encompasses that the status monitoring module [106] may then determine that the current status [3] is below a pre-defined critical threshold value. Therefore, the management module [108] may then dynamically determine and automatically implement one or more actions to manage the system performance of the system [100] . The “actions” may include, but not limited to, automatic clearing the system cache data using the cleaning module, clearing of the application cache data using the cleaning module, automatic storing the data on a cloud server using the auto backup manager, deleting duplicate files using the duplicate files module, facilitating automatic backup of data using the auto backup manager, disabling automatic download of files using the download manager module, disabling automatic update of applications using the app update module and deleting Dalvik Executable files (. dex files) in the system [100] using the dex file module, only permitting the read option for applications and file, disabling the write function for all files and applications.
The invention encompasses that the current status [3] of the system [100] may change to current status [2] after the one or more actions to manage the system performance of the system [100] are dynamically and automatically implemented by the management module [108] .
Figure 5 illustrates an exemplary scenario when the current status of the system [100] is above a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 5 (a) depicts that a user is using an application, such as a messaging application on the system [100] . Thereafter, in figure 5 (b) , the user provides an input to the display module [110] to open another application. For instance, as shown, the user may tap on the graphical user interface of the display module [110] to open a video application. Thereafter, as depicted in figure 5 (c) , an error occurs in opening the video application.
The invention encompasses that the system behavior of an application not responding is detected by the efficiency tracking module [102] . The efficiency tracking module [102] then determines a system performance parameter for the detected system behavior of an application not responding. The efficiency tracking module [102] also determines a value of a storage [104] available for storing data. For instance, the system behavior of the application not responding may be a result of an error that might have occurred when the video application tried to execute a write operation on the storage [104] . Therefore, the efficiency tracking module [102] may then determine a low value of a storage [104] available for storing data, such as, say 10%.
Thereafter, the status monitoring module [106] determines a current status of the system [100] based on the determined system performance parameter and the value of a storage [104] available for storing data.  The current status is then compared to a pre-defined critical threshold value. In this exemplary embodiment, the current status is determined to be above a pre-defined critical threshold value.
Thereafter, one or more recommendations are determined by the management module [108] for intelligent system performance management. The one or more recommendations are then provided to the user by the display module [110] , as shown in figure 5 (d) . As shown in figure 5 (d) , the user may then select one or more options from the one or more recommendations. As shown, the user may select the option to zip the application and compress the storage area required by the application.
The input of the recommendation is then transferred to the management module [108] . The management module [108] receives the input from the display module [110] and implements the recommendation selected by the user for intelligent system performance management. The application then returns to its normal state as shown in figure 5 (e) .
Figure 6 illustrates an exemplary scenario when the status of the system [100] is below a pre-defined critical threshold value for intelligent system performance management, in accordance with exemplary embodiments of the present invention.
Figure 6 (a) depicts that, in accordance with the working of the present invention, one or more recommendations determined by the management module [108] for intelligent system performance management are provided to the user by the display module [110] . These one or more recommendations are provided as the system behavior of the application not responding was detected by the efficiency tracking module [102] . Additionally, the efficiency tracking module [102] had determined a low value of the storage [104] available for storing data, such as, say 5%. The invention encompasses that the status monitoring module [106] may have then determined a current status of the system [100] based on the determined system performance parameter and the value of a storage [104] available for storing data. The current status would have been determined to be above a pre-defined critical threshold value. As shown in figure 6 (a) , no input is received from the user by the display module [110] as the user selects the “ignore” option on the graphical user interface. As shown in figure 6 (b) , the application is continued to run by the user.
Further, after a short period of time, or after the value of the storage [104] available for storing data decreases to a lower value, such as, say 2%, figure 6 (c) depicts that the system [100] crashes and stops responding. Thereafter, the status monitoring module [106] will determine a current status of the system [100] based on the determined system performance parameter for the system crash and the value of a storage [104] available for storing data, such as 2%. The current status is then determined to be below a pre-defined critical threshold value.
Thereafter, the management module [108] may then dynamically determine and automatically implement one or more actions to manage the system performance of the system [100] including, but not limited to, automatic clearing the system cache data using the cleaning module, clearing of the application cache data using the cleaning module, automatic storing the data on a cloud server using the auto backup manager, deleting duplicate files using the duplicate files module, facilitating automatic backup of data using the auto backup manager, disabling automatic download of files using the download manager module, disabling automatic update of applications using the app update module and deleting Dalvik Executable files (. dex files) in the system [100] using the dex file module, only permitting the read option for applications and file, disabling the write function for all files and applications.
As evident from the above description, the present disclosure provides for a system and method for intelligent system performance management. The present invention provides a mechanism to prevent the space available in the storage [104] to reach a critically low level by recommending one or more options for system performance management to the user. Further, in case the storage of the system reaches below a critically low level and the system behaviour is adversely effected, the present invention also provides for a mechanism that enables the system to dynamically and automatically perform operations for self-recovery even in the state of critically low memory, thereby enhancing the system performance even in low storage state. Therefore, the present invention prevents system crashes by dynamically implementing one or more solutions for intelligent system performance management. Further, the present invention minimizes user intervention in the state of critically low memory thereby preventing complete crash of the system.
Embodiments of the present disclosure also provides an electronic device. The electronic device may be a terminal device or a network device. The electronic device includes a processor. The processor may call  and run a computer program from the memory to implement the method according to the embodiments of the present disclosure. In an embodiment, the electronic device may also include a memory. The processor may call and run the computer program from the memory to implement the method according to the embodiments of the present disclosure.
The memory may be a separate device independent of the processor, or may be integrated in the processor.
In an embodiment, the electronic device may further include a transceiver, and the processor may control the transceiver to communicate with other devices, specifically, may send information or data to other devices, or receive information or data sent by other devices.
The transceiver may include a transmitter and a receiver. The transceiver may further include antennas, and the number of antennas may be one or more.
In an embodiment, the electronic device has a system for intelligent system performance management according to an embodiment of the present disclosure, and the electronic device can implement the corresponding processes of each method of the embodiment of the present disclosure. For brevity, details are not described herein.
Embodiment of the present disclosure further provide a chip, including a processor. The processor may call and run a computer program from the memory to implement the method according to the embodiments of the present disclosure.
In an embodiment, the chip may further include memory. The processor may call and run the computer program from the memory to implement the method according to the embodiments of the present disclosure. The memory may be a separate device independent of the processor, or may be integrated in the processor.
In an embodiment, the chip may further include an input interface. The processor may control the input interface to communicate with other devices or chips, specifically, may obtain information or data sent by other devices or chips.
In an embodiment, the chip may further include an output interface. The processor may control the output interface to communicate with other devices or chips, specifically, output information or data to other devices or chips.
In an embodiment, the chip can be applied to electronic devices according to the embodiments of the present disclosure, and the chip can implement the corresponding processes of the various methods according to the embodiments of the present disclosure.
It should be understood that the chip mentioned in the embodiments of the present disclosure may also be referred to as system-level chip, system chip, chip system, or system-on-chip chip.
It should be understood that the processor in the embodiments of the present disclosure may be an integrated circuit chip, which has signal processing capability. In the implementation process, each action of the foregoing method embodiment may be implemented by an integrated logic circuit in a processor in the form of hardware or instructions in the form of software. The foregoing processor may be a general-purpose processor, a digital signal processor (DSP) , an application specific integrated circuit (ASIC) , an existing programmable gate array (Field Programmable Gate Array, FPGA) , or other available programming logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps, and logical block diagrams disclosed in the embodiments of the present disclosure may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in conjunction with the embodiments of the present disclosure may be directly embodied and executed by a hardware decoding processor, or may be executed and implemented by a combination of hardware and software modules in the decoding processor. The software modules may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, and a register. The storage medium is located in the memory, and the processor reads the information in the memory and implements the steps of the above method in combination with its hardware.
It can be understood that the memory in the embodiments of the present disclosure may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (Read-Only Memory, ROM) , programmable read-only memory (Programmable ROM, PROM) , erasable programmable read-only memory (Erasable PROM, EPROM) , electronic Erasable Programmable Read Only Memory (Electrically EPROM, EEPROM) or flash memory. The volatile memory may be random access memory (Random Access Memory, RAM) , which is used as an external cache. By way of example but not limitation, many kinds of RAM are available, such as static random access memory (Static RAM, SRAM) , dynamic random access memory (Dynamic RAM, DRAM) , synchronous dynamic random access memory (Synchronous DRAM, SDRAM) , double data rate synchronous dynamic random access memory (Double SDRAM, DDR SDRAM) , enhanced synchronous dynamic random  access memory (Enhanced SDRAM, ESDRAM) , synchronous connection dynamic random access memory (Synchlink DRAM, SLDRAM) ) , and direct memory bus random access memory (Direct Rambus RAM, DR RAM) . It should be noted that the memories of the systems and methods described herein are intended to include, but are not limited to these and any other suitable types of memories.
It should be understood that the foregoing memory is exemplary but not limiting, for example, the memory in the embodiments of the present disclosure may also be static random access memory (static RAM, SRAM) , dynamic random access memory (dynamic RAM, DRAM) , Synchronous dynamic random access memory (synchronous DRAM, SDRAM) , double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM) , enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM) , synchronous connection Dynamic random access memory (synch link DRAM, SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM) , etc. That is to say, the memories in the embodiments of the present disclosure are intended to include but are not limited to these and any other suitable types of memories.
Embodiments of the present disclosure further provide a computer-readable storage medium for storing a computer program.
In an embodiment, the computer-readable storage medium may be applied to the electronic device in the embodiments of the present disclosure, and the computer program causes the computer to execute the corresponding processes in the various methods according to the embodiments of the present disclosure.
In an embodiment, the computer-readable storage medium can be applied to the mobile terminal /terminal device according to the embodiments of the present disclosure, and the computer program enables the computer to execute the corresponding process implemented by the mobile terminal /terminal device in each method of the embodiments of the present disclosure. For the sake of brevity, details are not described here.
Embodiments of the present disclosure provide a computer program product, including computer program instructions.
In an embodiment, the computer program product may be applied to the electronic device in the embodiments of the present disclosure, and the computer program instructions cause the computer to execute the corresponding processes in each method according to the embodiments of the present disclosure. For the sake of brevity, details are not described here.
In an embodiment, the computer program product can be applied to the mobile terminal /terminal device in the embodiments of the present disclosure, and the computer program instructions cause the computer to execute the corresponding process implemented by the mobile terminal /terminal device in each method of the embodiments of the present disclosure. For the sake of brevity, details are not described here.
Embodiments of the present disclosure provide a computer program.
In an embodiment, the computer program can be applied to the electronic device in the embodiment of the present disclosure. When the computer program runs on the computer, the computer is caused to execute the corresponding process in each method according to the embodiments of the present disclosure. Repeat again.
In an embodiment, the computer program can be applied to the mobile terminal /terminal device according to the embodiments of the present disclosure, and when the computer program runs on the computer, the computer is implemented by the mobile terminal /terminal device to perform various methods of the embodiments of the present disclosure. For the sake of brevity, I will not repeat them here.
Those of ordinary skill in the art may realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application of the technical solution and design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
Those skilled in the art can clearly understand that for the convenience and conciseness of the description, the specific working process of the system, device and unit described above can be seen from the corresponding process in the foregoing method embodiments, which will not be repeated here.
In the several embodiments of the present disclosure, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a division of logical functions. In actual implementation, there may be other divisions, for example, multiple units or components may be combined or integrated into another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
If the function is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present disclosure essentially or partly contributing to the existing technology or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc. ) to perform all or part of the steps of the methods described in the embodiments of the present disclosure. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM) , random access memory (Random Access Memory, RAM) , magnetic disk or optical disk and other media that can store program codes.
The above is only the specific implementation of this application, but the scope of protection of this application is not limited to this, any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in this application, which should be within the scope of the present disclosure. Therefore, the scope of the present disclosure shall be subjected to the scope of the claims.

Claims (21)

  1. A method for intelligent system performance management, the method comprising:
    determining (302) at least one system performance parameter associated with a system behavior;
    determining (304) a value of a storage;
    determining (306) a current status of a system based on at least one of the at least one system performance parameter or the value of the storage; and
    implementing (320) one or more actions to manage the system performance, in response to the current status being below a pre-defined critical threshold value.
  2. The method of claim 1, wherein determining at least one system performance parameter associated with the system behavior comprises:
    monitoring the system behavior of the system; and
    determining, based on the monitored system behavior of the system, the at least one system performance parameter,
    wherein monitoring the system behavior of the system comprises:
    continuously monitoring the system behavior of the system; or,
    periodically monitoring the system behavior of the system; or,
    dynamically monitoring the system behavior of the system; or,
    monitoring the system behavior of the system upon detection of a change in the system behavior; or,
    monitoring the system behavior of the system upon reception of a monitoring request from a user.
  3. The method of any one of claims 1 to 2, wherein determining the value of the storage comprises:
    reading an available space of the storage, wherein the available space is unoccupied or free storage space; and
    determining the value of the storage based on the available space of the storage.
  4. The method of any one of claims 1 to 3, further comprising:
    outputting (314) one or more recommendations, in response to the current status being above the pre-defined critical threshold value,
    wherein each of the one or more recommendations is used to instruct to perform one action to manage system performance.
  5. The method of claim 4, further comprising:
    receiving (316) a first input instruction, wherein the first input instruction is used to indicate that at least one of the one or more recommendations is selected by the user; and
    in response to the first input instruction, executing (318) at least one action corresponding to the at least one recommendation to manage the system performance.
  6. The method of claim 4, further comprising:
    determining that the user has not selected a recommendation, in response to not receiving the first input instruction or receiving a second input instruction,
    wherein the second input instruction is used to indicate that the one or more recommendations are cancelled by the user.
  7. The method of any one of claims 4 to 6, wherein outputting one or more recommendations, comprising:
    displaying one or more options, wherein each of the one or more options corresponds to a respective one of the one or more recommendations.
  8. The method of any one of claims 1 to 7, wherein the one or more actions include at least one of the following: clearing system cache data, clearing application cache data, storing data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications, deleting Dalvik executable files in the system, disabling a writing function of files, and disabling a writing function of applications.
  9. A system for intelligent system performance management, comprising:
    an efficiency tracking module (102) , configured to determine at least one system performance parameter associated with a system behavior, and determine a value of a storage;
    a status monitoring module (106) , connected to the efficiency tracking module, configured to determine a current status of the system based on at least one of the at least one system performance parameter and the value of the storage; and
    a management module (108) , connected to the status monitoring module, configured to implement one or more actions to manage system performance, in response to the current status being below a pre-defined critical threshold value.
  10. The system of claim 9, wherein the efficiency tracking module (102) is configured to:
    monitor the system behavior of the system; and
    determine, based on the monitored system behavior of the system, the at least one system performance parameter,
    wherein in terms of monitoring the system behavior of the system, the efficiency tracking module (102) is configured to:
    continuously monitor the system behavior of the system; or,
    periodically monitor the system behavior of the system; or,
    dynamically monitor the system behavior of the system; or,
    monitor the system behavior of the system upon detection of a change in the system behavior; or,
    monitor the system behavior of the system upon reception of a monitoring request from a user.
  11. The system of claim 9 or 10, wherein the efficiency tracking module (102) is configured to:
    read an available space of the storage, wherein the available space is unoccupied or free storage space; and
    determine the value of the storage based on the available space of the storage.
  12. The system of any one of claims 9 to 11, further comprising:
    a display module (110) , configured to output one or more recommendations in response to the current status being above the pre-defined critical threshold value, wherein each of the one or more recommendations is used to instruct to perform one action to manage system performance.
  13. The system of claim 12, wherein
    the display module (110) is further configured to receive a first input instruction, wherein the first input instruction is used to indicate that at least one of the one or more recommendations is selected by the user; and
    the management module (108) is further configured to execute at least one action corresponding to the at least one recommendation to manage the system performance.
  14. The system of claim 13, wherein the display module (110) is further configured to send instruction information to the management module (108) , in response to not receiving the first input instruction or receiving a second input instruction,
    wherein the instruction information is used to indicate that the user has not selected a recommendation, and the second input instruction is used to indicate that the one or more recommendations are cancelled by the user.
  15. The system of any one of claims 12 to 14, wherein the display module (108) is configured to display one or more options, wherein each of the one or more options corresponds to a respective one of the one or more recommendations.
  16. The system of any one of claims 9 to 15, wherein the one or more actions include at least one of the following: clearing system cache data, clearing application cache data, storing data on a cloud server, deleting duplicate files, facilitating backup of data, disabling automatic download of files, disabling automatic update of applications, deleting Dalvik executable files in the system, disabling a writing function of files, and disabling a writing function of applications.
  17. An electronic device, comprising: a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to call and run the computer program stored in the memory, to execute the method of any one of claims 1 to 8.
  18. A chip, comprising: a processor, for calling and running a computer program from a memory, to enable a device installed with the chip to execute the method of any one of claims 1 to 8.
  19. A computer-readable storage medium, storing a computer program, which when executed by a computer, causes the computer to perform the method of any one of claims 1 to 8.
  20. A computer program product comprising computer program instructions, the computer program instructions, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 8.
  21. A computer program that causes a computer to perform the method of any one of claims 1 to 8.
PCT/CN2020/089283 2019-07-22 2020-05-08 System and method for intelligent system performance management WO2021012748A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201941029438 2019-07-22
IN201941029438 2019-07-22

Publications (1)

Publication Number Publication Date
WO2021012748A1 true WO2021012748A1 (en) 2021-01-28

Family

ID=74193088

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/089283 WO2021012748A1 (en) 2019-07-22 2020-05-08 System and method for intelligent system performance management

Country Status (1)

Country Link
WO (1) WO2021012748A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140223134A1 (en) * 2013-02-01 2014-08-07 Tencent Technology (Shenzhen) Company Limited Method, apparatus and terminal for releasing memory
CN104035769A (en) * 2014-05-30 2014-09-10 北京金山安全软件有限公司 Processing method and device for space shortage
CN104932963A (en) * 2015-05-29 2015-09-23 广东欧珀移动通信有限公司 Method and device for terminal management
CN106294188A (en) * 2015-05-18 2017-01-04 中兴通讯股份有限公司 Memory space processing method and processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140223134A1 (en) * 2013-02-01 2014-08-07 Tencent Technology (Shenzhen) Company Limited Method, apparatus and terminal for releasing memory
CN104035769A (en) * 2014-05-30 2014-09-10 北京金山安全软件有限公司 Processing method and device for space shortage
CN106294188A (en) * 2015-05-18 2017-01-04 中兴通讯股份有限公司 Memory space processing method and processing device
CN104932963A (en) * 2015-05-29 2015-09-23 广东欧珀移动通信有限公司 Method and device for terminal management

Similar Documents

Publication Publication Date Title
CN100440157C (en) System and method for logging recoverable errors
TWI553650B (en) Method, apparatus and system for handling data error events with a memory controller
CN100456251C (en) Inter-processor interrupts
US6625761B1 (en) Fault tolerant USB method and apparatus
CN110908838B (en) Data processing method and device, electronic equipment and storage medium
US7565567B2 (en) Highly available computing platform
US6594787B1 (en) Input/output device managed timer process
US6671831B1 (en) Fault tolerant USB method and apparatus
CN114138838B (en) Data processing method, device, equipment and medium
US11593191B2 (en) Systems and methods for self-healing and/or failure analysis of information handling system storage
CN101178678A (en) Write-operation process method, system and apparatus of FLASH
CN112235630B (en) Data backup transmission method, LED mesh loop backup system and electronic equipment
CN115617411A (en) Electronic device data processing method, device, electronic device and storage medium
US20070294600A1 (en) Method of detecting heartbeats and device thereof
US20180196602A1 (en) Data storage device and data processing system including the same
WO2021012748A1 (en) System and method for intelligent system performance management
CN113467656B (en) Screen touch event notification method and vehicle machine
US7496789B2 (en) Handling restart attempts for high availability managed resources
US20140181492A1 (en) Method of booting an electronic system and an electronic system applying the same
US9189160B2 (en) Transport agnostic sequential drive recovery with mode data snooping
CN116015425A (en) Optical module control method and device, storage medium and electronic device
CN115422099A (en) Communication information sending method and device, electronic equipment and storage medium
US20100005162A1 (en) Bypass control module and network management apparatus thereof and control method of the network system
US20250231901A1 (en) Memory controller, solid-state storage device, and method for monitoring link signal quality of solid-state storage device
CN116802635A (en) BIOS update for electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20843232

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20843232

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20843232

Country of ref document: EP

Kind code of ref document: A1