Mobile device application monitoring software
First Claim
Patent Images
1. A method for identifying mobile device app parameters that negatively impact system efficiency and/or security, said system comprises comprising obtaining statistical data of app performance of a large number of apps, said statistical data being used for establishing a performance metric for each app parameter, said app parameters being measured during use of said mobile device and providing an alert to a user when a parameter exceeds crowd source derived limits for the metric.
0 Assignments
0 Petitions
Accused Products
Abstract
A software application for monitoring the performance of other software applications on mobile devices using efficient crowd sourced data and efficient proxies for performance of the applications.
-
Citations
20 Claims
- 1. A method for identifying mobile device app parameters that negatively impact system efficiency and/or security, said system comprises comprising obtaining statistical data of app performance of a large number of apps, said statistical data being used for establishing a performance metric for each app parameter, said app parameters being measured during use of said mobile device and providing an alert to a user when a parameter exceeds crowd source derived limits for the metric.
-
20. A method of identifying mobile device app parameters that negatively impact system efficiency and/or security comprising:
-
starting a timer that raises a flag at ten minutes and which then restarts; creating a table in memory to store information on currently running apps; pulling the data collected in the table every ten minutes; summing the pulled data, summing said data for each app in an active application table, computing a latest application average CPU usage with new data, computing a latest application average memory usage with new data, computing a latest application average battery use with new data, computing a latest application average data usage with new data, computing a number of times an app has crashed during a given monitoring cycle, computing a current application storage usage, computing a permission, a security and a resource overage, updating the application table with all newly computed data, updating a notification status to match resource flags to be displayed in the app and a status bar; logging current app readings, writing an entry of the app readings for each app, pushing the current app readings to the log table; checking the data to determine whether it is necessary for the M2AppMonitor to take any outward actions, checking the database size, averaging data and trimming the database, trimming the database in the event it is too large, checking for four different extreme notifications, checking whether storage exceeds threshold, checking whether battery exceeds threshold, checking whether data use exceeds threshold, checking whether data use exceeds a plan limit, sending notification when there are flagged apps, sending notification when an extreme notification condition is satisfied, checking if it is time to submit data to a master database, when it is time submitting a summary of application data to M2AppMonitor master database; clearing the table in preparation for the next cycle; starting a fifteen second cycle where a flag is raised at the 15 second mark, indicating the start of running application data collection; getting a list of running applications, adding each app to the main app table if it is not yet in the table, tracking the start time of newly added apps, tracking the stop time in the event an app has stopped running, start a tracking time for an app that is a “
front”
app, stop tracking time for an app that is no longer a “
front”
app;getting memory information, obtaining app memory usage, averaging collected memory data with previous data, pushing the average value to a running application table; getting CPU information, obtaining CPU information for all processes used by an application, combining the collected CPU data per application, averaging collected CPU data with the previous data, averaging foreground usage with past foreground usage, averaging background usage with past background usage, pushing the average value to a running application table; getting data usage, starting to collect data readings if data usage has not been collected for the app, adding to a tally of data usage collected for the app, tallying background data usage, tallying Wi-Fi data usage, tallying mobile data usage; combining data, averaging all of the collected data, organizing and combining all collected data, averaging background data, combining background data, averaging Wi-Fi data, combine Wi-Fi data, averaging mobile data, combining mobile data getting battery usage, obtaining battery usage for each app, averaging collected battery data with previous data, pushing battery data to the table, updating the table with the latest collected data, wait for the fifteen second cycle to complete before restarting; transmitting collected data to a back-end server, collecting device information, collecting app information from a database, collecting app log record from database, combing data in a JSON object, compressing said object, transmitting data to backend server, receiving application category information, update database with app categories, sending JSON data and device information to back end server, receiving crowd source data, updating the local database with crowd source data; adding new apps to M2AppMonitor when M2AppMonitor is initially installed, adding new apps to M2AppMonitor when new apps are installed, adding new apps to M2AppMonitor when an existing app is updated, collecting storage usage, collecting permissions, collecting notification access, collecting analytics used, updating count incrementally.
-
Specification