US20150133076A1 - Mobile device application monitoring software - Google Patents

Mobile device application monitoring software Download PDF

Info

Publication number
US20150133076A1
US20150133076A1 US14/078,518 US201314078518A US2015133076A1 US 20150133076 A1 US20150133076 A1 US 20150133076A1 US 201314078518 A US201314078518 A US 201314078518A US 2015133076 A1 US2015133076 A1 US 2015133076A1
Authority
US
United States
Prior art keywords
data
app
usage
apps
application
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US14/078,518
Inventor
Michael Brough
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US14/078,518 priority Critical patent/US20150133076A1/en
Priority to US14/305,726 priority patent/US9946622B2/en
Publication of US20150133076A1 publication Critical patent/US20150133076A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • H04W4/003
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Definitions

  • the present invention relates to mobile phone applications and methods of use thereof.
  • the invention relates to a software system for monitoring and reporting upon the performance of mobile phone applications.
  • the most novel element of this invention is the crowd-source dynamic feedback mechanism which pushes all of the app quality and performance data to the cloud based servers for analysis and then pushes aggregated crowd-source statistics, Flagged app alerts and recommendations down to the consumer based on their specific applications, operating system version, device and wireless carrier network they are on.
  • apps mobile phone applications
  • apps A significant fraction of mobile phone applications (hereinafter referred to as “apps”) are not efficient, optimized, or safe for mobile device performance and for the quality of a consumer's user experience.
  • apps A leading cause of this problem is that a vast majority of apps in the iPhone and Android markets are designed and coded by hobbyists or other programming amateurs who do not employ sufficient quality controls.
  • To further the problem in the Android market there are over 10,000 different device types on over 300 carrier networks, each of which performs differently.
  • the largest Android app market, the Google Play Store is growing at an enormous rate of approximately 1000 new apps added into the market every day.
  • the market for iPhone apps is experiencing similar growth.
  • the vast majority of app developers do not have the capability to properly test their apps to work on all of the different devices and carrier networks.
  • Flagged apps are those that are poorly designed, poorly optimized, poorly quality tested, and/or unsafe, cause consumer frustration and result in device returns for Wireless Carriers and Device OEMs.
  • the problem of flagged apps concerns performance and quality. Additional examples of flagged apps would be malware or viruses infecting apps.
  • Sophisticated mobile phone users deal with flagged apps by downloading 10 or more app performance and quality monitoring tools. These existing app monitoring tools enable sophisticated users to track their applications across essential performance and quality metrics.
  • M2AppMonitor is designed to provide a complete solution, eliminating the need for users to download and install multiple applications.
  • M2AppMonitor data that is gathered is pushed to the cloud on a timed basis, integrated with data from other M2AppMonitor users and then crowd-sourced statistics, app recommendations and flagged app alerts are pushed to the consumers based on their applications, operating system version, device type and carrier network.
  • the invention provides a mobile device application software monitoring and quick-alert system that measures quality and performance of applications across a wide range of metrics and enables users to flag and then force-stop or uninstall poorly performing apps.
  • the M2AppMonitor enables the average consumer to monitor the 10 key app performance and quality metrics in one application.
  • the invention makes this possible by first collecting data on all 10 performance parameters and then alerting the user if there are resource overages or abnormal results on those 10 criteria.
  • the M2AppMonitor app on the device sends the app quality and performance data gathered on the device to the M2AppMonitor Cloud Based Servers for analysis.
  • the data is compared and apps are sorted by app type in to categories such as games, utilities or multi-media apps. Then norms are created for each monitoring criteria for each app category.
  • the app's performance data is compared to the criteria norms for the app's respective app category.
  • the M2AppMonitor user will be alerted of the app's high resource usage.
  • the software can have the feature of segmenting this data by device type, operating system version, and carrier network. This is critical because apps run differently on powerful devices and carrier networks versus devices which have low memory, cpu, storage or bandwidth availability.
  • the M2AppMonitor database pushes the norms and alert levels down to the M2AppMonitor users and provides alerts and app recommendations for the various categories of apps based on the crowd-source metrics gathered. Based on the crowd-source metrics gathered, M2AppMonitor would then send alerts to M2AppMonitor users on apps that may run inefficiently on the user's device.
  • M2AppMonitor would send recommendations to M2AppMonitor users on apps that run efficiently on the user's device. This is greatly beneficial to the user because M2AppMonitor will receive alerts that are tailored to their specific device. In the event the invention determines an app is functioning poorly it alerts users to these problems as they are happening on the device using a simple notification screen. The invention further gives users a pathway to either force-stop or uninstall flagged apps.
  • the overall sequence of operation of the app is First the app identifies each and every app installed on the device. Second the app reads the application resource usage for each app on the following list of parameters: battery usage wherein flagged apps require disproportionately more battery drain; wireless data usage wherein flagged apps require disproportionately greater bandwidth; memory usage wherein a flagged app will use a disproportionately large amount of device memory; CPU usage wherein a flagged app will use disproportionately more CPU time; storage usage wherein flagged apps use disproportionately more device storage; permissions wherein flagged apps require an unreasonably high number of permissions as well as relatively more invasive permissions; crashes wherein flagged apps crash more often; notification wherein flagged apps send unimportant or excessive notifications to the user; analytics wherein flagged apps have a disproportionately high number of analytic agents installed; and updates wherein flagged apps update frequently for non-essential matters.
  • M2AppMonitor compares the application's data to crowd-sourced data. Applications with usage above the 95th percentile are flagged for high resource usage. Multiple methods and statistical tools could be used to compare usage data between apps within given usage categories. For example in a preferred embodiment the 95th percentile is used as a cutoff point to determine which apps should be flagged in a given category. When the app in question exceeds the 95th percentile threshold in usage terms then it will be flagged. In yet a further embodiment, users will have an option to adjust the threshold for each monitored parameter after which the app will be flagged. Finally, the scoring information is output to the M2AppMonitor where the user can view and assess the performance of apps installed on the user's device.
  • the M2AppMonitor is a single interface that allows users to see how their installed apps are affecting their device's health and performance. From the M2AppMonitor, the user can not only either force-stop or uninstall flagged apps but may also filter the display of apps by any of the 10 performance metrics. The M2AppMonitor will continuously monitor applications running on a user's device in the background, even while the user is using other apps or functions on the mobile device.
  • FIG. 1 is a flow diagram showing the two timed operations that are employed for populating the table and assessing application performance.
  • FIG. 2 is a flow diagram of the method for summation.
  • FIG. 3 is a flow diagram of the method for Application Summation.
  • FIG. 4 is a flow diagram of the Logging of Application Readings.
  • FIG. 5 is a flow diagram of the method for Performing Checks.
  • FIG. 6 is a flow diagram of the method for Get and Combine Data.
  • FIG. 7 is a flow diagram of the method for Get Running Applications.
  • FIG. 8 is a flow diagram of the method for Get Memory Information.
  • FIG. 9 is a flow diagram of the method for Get CPU Information.
  • FIG. 10 is a flow diagram of the method for Get Data Usage.
  • FIG. 11 is a flow diagram of the method for Combine Data.
  • FIG. 12 is a flow diagram of the method for Get Battery Usage.
  • FIG. 13 is a flow diagram of the M2AppMonitor App Data Transmission.
  • FIG. 14 is a flow diagram of the M2AppMonitor initial data collection for newly installed apps or upgraded apps.
  • FIG. 1 is a flow diagram showing the two timed operations that are employed for populating the table and assessing application performance.
  • the process begins by initiating a ten minute cycle, followed by the creation of an application table in memory for storing the data. After the application table is created and the ten minute clock is initiated, a fifteen-second cycle runs forty times repeatedly. Upon initiation of each 15 second cycle.
  • Step 1 is to start a timer that will raise a flag at the 10 minute mark. This timer restarts approximately every ten minutes after the data table is cleared.
  • Step 2 is to create a table in memory to store information on currently running applications.
  • Step 3 is to pull the data collected in the table every ten minutes.
  • Step 4 is Summation, which is a series of processes that run computations on the collected data.
  • Step 4 . 1 is Application Summation which is a series of processes that run computations on the collected data.
  • Step 4 . 1 . 1 is to repeat the Application Summation for every app in the active application table.
  • Step 4 . 1 . 2 is to compute the application latest average CPU usage with new data.
  • Step 4 . 1 . 3 is to compute the application latest average memory usage with new data.
  • Step 4 . 1 . 4 is to compute the latest application average battery use with new data.
  • Step 4 . 1 . 5 comprises computing the application average as to data usage.
  • Step 4 . 1 . 6 comprises summing the number of times an app has crashed during this monitoring cycle.
  • Step 4 . 1 . 7 is to determine current application storage.
  • Step 4 . 1 . 8 is to determine permission, security, and resource overages.
  • Step 4 . 1 . 9 is to update the application table with all the newly computed data.
  • Step 4 . 1 . 10 is to update notification status to match the new resource flags
  • Step 4 . 2 is to log the current application readings.
  • Step 4 . 2 . 1 is to write an entry for each application and then push the app data to the log table.
  • Step 5 is Perform Checks, which comprises a series of processes that analyze the collected data to determine whether it is necessary for M2AppMonitor to take any outward action.
  • Step 5 . 1 is to check the database size.
  • Step 5 . 2 is to Perform data averaging and then trimming the database.
  • Step 5 . 3 is to Perform database trimming in the event it is too large.
  • Step 5 . 4 is to Send Notification when there are flagged apps or Extreme Notifications to report.
  • Step 5 . 5 is to check if it is time to submit data to the master database. If it is time, the app will submit summary of application data to M2AppMonitor master database.
  • Step 6 is to clear the table in preparation for the next cycle.
  • Step 7 is to start a 15 second cycle where a flag is raised at the 15 second mark, indicating the start of running application data collection.
  • Step 8 is to Get and Combine the data, comprising a series of processes that collect and organize data about the applications.
  • Step 8 . 1 is to Get Running Applications, comprising a series of steps that obtains information about the running applications.
  • Step 8 . 1 . 1 is to Get a list of running applications.
  • Step 8 . 1 . 2 is to Add each app to the main app table if it is not yet in the table.
  • Step 8 . 1 . 3 is to Track the start time of the newly added app.
  • Step 8 . 1 . 4 is to Track stop time, where in the event an app has stopped running its stop time is tracked.
  • Step 8 . 1 . 5 is Start tracking time for an app that is a “front” app.
  • Step 8 . 1 . 6 is Stop tracking time if an app is no longer a “front” app.
  • Step 8 . 2 is to Get memory information, comprising a series of processes that obtain data about memory usage.
  • Step 8 . 2 . 1 is to Collect memory for application comprising obtaining app memory usage.
  • Step 8 . 2 . 2 is Average with last reading comprising averaging collected memory data with previous data.
  • Step 8 . 2 . 3 is Enter in running application table, comprising pushing memory data to the table.
  • Step 8 . 3 is to get CPU information comprising a series of processes that obtain data about CPU usage.
  • Step 8 . 3 . 1 is to collect CPU information for processes.
  • Step 8 . 3 . 2 is to Combine CPU for all processes per application comprising organizing CPU data per application.
  • Step 8 . 3 . 3 is Average CPU reading with last readings comprising averaging collected CPU data with previous data.
  • Step 8 . 3 . 4 is to average foreground usage with past foreground usage.
  • Step 8 . 3 . 5 is to average background usage with past background usage.
  • Step 8 . 3 . 6 is to enter in running application table, comprising pushing the CPU data to the table.
  • Step 8 . 4 is to get the Data usage comprising a series of processes that obtain data about Data usage.
  • Step 8 . 4 . 1 is to Start collecting data readings comprising if data usage has not been collected for the app.
  • Step 8 . 4 . 2 is to Add to tally of data collected, comprising if data usage has already been collected for the app then update the current information.
  • Step 8 . 4 . 3 is to tally background data usage.
  • Step 8 . 4 . 4 is to tally Wi-Fi data usage.
  • Step 8 . 4 . 5 is to tally mobile data usage.
  • Step 8 . 5 is to Combine data comprising a series of processes that organizes the collected data.
  • Step 8 . 5 . 1 is Average Data, comprising averaging all of the collected data.
  • Step 8 . 5 . 2 is Combine data comprising organizing and combining all collected data.
  • Step 8 . 5 . 3 is to average background data.
  • Step 8 . 5 . 4 is to combine background data.
  • Step 8 . 5 . 5 is to average Wi-Fi data.
  • Step 8 . 5 . 6 is to combine Wi-Fi data.
  • Step 8 . 5 . 7 is to average mobile data.
  • Step 8 . 5 . 8 is to combine mobile data.
  • Step 8 . 6 is to Get battery usage comprising a series of processes that obtain data about battery usage.
  • Step 8 . 6 . 1 is to Collect battery usage for application comprising obtaining app battery usage.
  • Step 8 . 6 . 2 is Average with last reading comprising averaging collected battery data with previous data.
  • Step 8 . 6 . 3 is Enter in running application table, comprising pushing battery data to the table.
  • Step 9 is to Update the Table with the latest collected data.
  • Step 10 is to Wait until 15 second are met, comprising the data collection process is repeated every 15 seconds, and if the process ends early due to faster hardware, the software still waits 15 seconds before restarting.
  • FIG. 13 shows the method of transmitting the collected data to a back-end server.
  • Step 11 is to collect device information.
  • Step 12 is to collect app information from database.
  • Step 13 is to collect app log record data from database.
  • Step 14 is to combine data into JSON object.
  • Step 15 is to compress data object.
  • Step 16 is to transmit data to back-end server.
  • Step 17 is to receive application category information.
  • Step 18 is to update database with app categories.
  • Step 19 is to send JSON with device info to back end server.
  • Step 20 is to receive crowd source data.
  • Step 21 is to update the local database with crowd source data.
  • FIG. 14 shows the method of adding new applications to M2AppMonitor. This occurs on initial install of M2AppMonitor, install of new applications on a device, or update of an existing app.
  • Step 22 is to collect storage usage.
  • Step 23 is to collect permissions.
  • Step 24 is to collect notification access.
  • Step 25 is to collect analytics used.
  • Step 26 is to increment update count.

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.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • claiming priority to U.S. provisional application No. 61/724,993 dated Nov. 11, 2012 entitled “M2AppMonitor—A Mobile Application Monitoring System enabling device users, IT Managers or Wireless Carriers to monitor Performance, Quality, Access Rights and Usage of Apps” and claiming priority to U.S. provisional application No. 61/816,183 dated Apr. 26, 2013 entitled “A Mobile Device application software monitoring and quick alert system” the contents of which are hereby incorporated by reference.
  • BACKGROUND
  • The present invention relates to mobile phone applications and methods of use thereof. In particular, the invention relates to a software system for monitoring and reporting upon the performance of mobile phone applications. The most novel element of this invention is the crowd-source dynamic feedback mechanism which pushes all of the app quality and performance data to the cloud based servers for analysis and then pushes aggregated crowd-source statistics, Flagged app alerts and recommendations down to the consumer based on their specific applications, operating system version, device and wireless carrier network they are on.
  • A significant fraction of mobile phone applications (hereinafter referred to as “apps”) are not efficient, optimized, or safe for mobile device performance and for the quality of a consumer's user experience. A leading cause of this problem is that a vast majority of apps in the iPhone and Android markets are designed and coded by hobbyists or other programming amateurs who do not employ sufficient quality controls. To further the problem in the Android market there are over 10,000 different device types on over 300 carrier networks, each of which performs differently. The largest Android app market, the Google Play Store, is growing at an enormous rate of approximately 1000 new apps added into the market every day. The market for iPhone apps is experiencing similar growth. The vast majority of app developers do not have the capability to properly test their apps to work on all of the different devices and carrier networks.
  • Flagged apps are those that are poorly designed, poorly optimized, poorly quality tested, and/or unsafe, cause consumer frustration and result in device returns for Wireless Carriers and Device OEMs. The problem of flagged apps concerns performance and quality. Additional examples of flagged apps would be malware or viruses infecting apps. Sophisticated mobile phone users deal with flagged apps by downloading 10 or more app performance and quality monitoring tools. These existing app monitoring tools enable sophisticated users to track their applications across essential performance and quality metrics. M2AppMonitor is designed to provide a complete solution, eliminating the need for users to download and install multiple applications. More importantly, the M2AppMonitor data that is gathered, is pushed to the cloud on a timed basis, integrated with data from other M2AppMonitor users and then crowd-sourced statistics, app recommendations and flagged app alerts are pushed to the consumers based on their applications, operating system version, device type and carrier network.
  • SUMMARY OF THE INVENTION
  • The invention provides a mobile device application software monitoring and quick-alert system that measures quality and performance of applications across a wide range of metrics and enables users to flag and then force-stop or uninstall poorly performing apps.
  • Additionally, the M2AppMonitor enables the average consumer to monitor the 10 key app performance and quality metrics in one application. The invention makes this possible by first collecting data on all 10 performance parameters and then alerting the user if there are resource overages or abnormal results on those 10 criteria. The M2AppMonitor app on the device sends the app quality and performance data gathered on the device to the M2AppMonitor Cloud Based Servers for analysis. In the cloud, the data is compared and apps are sorted by app type in to categories such as games, utilities or multi-media apps. Then norms are created for each monitoring criteria for each app category. Then, the app's performance data is compared to the criteria norms for the app's respective app category. If the app's resource usage greatly exceeds the category's norm, the M2AppMonitor user will be alerted of the app's high resource usage. Further, the software can have the feature of segmenting this data by device type, operating system version, and carrier network. This is critical because apps run differently on powerful devices and carrier networks versus devices which have low memory, cpu, storage or bandwidth availability. The M2AppMonitor database pushes the norms and alert levels down to the M2AppMonitor users and provides alerts and app recommendations for the various categories of apps based on the crowd-source metrics gathered. Based on the crowd-source metrics gathered, M2AppMonitor would then send alerts to M2AppMonitor users on apps that may run inefficiently on the user's device. Also based on the crowd-source metrics gathered, M2AppMonitor would send recommendations to M2AppMonitor users on apps that run efficiently on the user's device. This is greatly beneficial to the user because M2AppMonitor will receive alerts that are tailored to their specific device. In the event the invention determines an app is functioning poorly it alerts users to these problems as they are happening on the device using a simple notification screen. The invention further gives users a pathway to either force-stop or uninstall flagged apps.
  • The overall sequence of operation of the app is First the app identifies each and every app installed on the device. Second the app reads the application resource usage for each app on the following list of parameters: battery usage wherein flagged apps require disproportionately more battery drain; wireless data usage wherein flagged apps require disproportionately greater bandwidth; memory usage wherein a flagged app will use a disproportionately large amount of device memory; CPU usage wherein a flagged app will use disproportionately more CPU time; storage usage wherein flagged apps use disproportionately more device storage; permissions wherein flagged apps require an unreasonably high number of permissions as well as relatively more invasive permissions; crashes wherein flagged apps crash more often; notification wherein flagged apps send unimportant or excessive notifications to the user; analytics wherein flagged apps have a disproportionately high number of analytic agents installed; and updates wherein flagged apps update frequently for non-essential matters. Third, after collecting data on all of these parameters, M2AppMonitor compares the application's data to crowd-sourced data. Applications with usage above the 95th percentile are flagged for high resource usage. Multiple methods and statistical tools could be used to compare usage data between apps within given usage categories. For example in a preferred embodiment the 95th percentile is used as a cutoff point to determine which apps should be flagged in a given category. When the app in question exceeds the 95th percentile threshold in usage terms then it will be flagged. In yet a further embodiment, users will have an option to adjust the threshold for each monitored parameter after which the app will be flagged. Finally, the scoring information is output to the M2AppMonitor where the user can view and assess the performance of apps installed on the user's device.
  • Additionally, the M2AppMonitor is a single interface that allows users to see how their installed apps are affecting their device's health and performance. From the M2AppMonitor, the user can not only either force-stop or uninstall flagged apps but may also filter the display of apps by any of the 10 performance metrics. The M2AppMonitor will continuously monitor applications running on a user's device in the background, even while the user is using other apps or functions on the mobile device.
  • In view of the shortcomings of the prior art, it is the object of this invention to provide a mobile device application software monitoring and quick-alert system that measures quality and performance of applications across a wide range of metrics. Further objects and advantages of the invention will become apparent to those skilled in the art upon reading and consideration of the following description of a preferred embodiment and the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flow diagram showing the two timed operations that are employed for populating the table and assessing application performance.
  • FIG. 2 is a flow diagram of the method for summation.
  • FIG. 3 is a flow diagram of the method for Application Summation.
  • FIG. 4 is a flow diagram of the Logging of Application Readings.
  • FIG. 5 is a flow diagram of the method for Performing Checks.
  • FIG. 6 is a flow diagram of the method for Get and Combine Data.
  • FIG. 7 is a flow diagram of the method for Get Running Applications.
  • FIG. 8 is a flow diagram of the method for Get Memory Information.
  • FIG. 9 is a flow diagram of the method for Get CPU Information.
  • FIG. 10 is a flow diagram of the method for Get Data Usage.
  • FIG. 11 is a flow diagram of the method for Combine Data.
  • FIG. 12 is a flow diagram of the method for Get Battery Usage.
  • FIG. 13 is a flow diagram of the M2AppMonitor App Data Transmission.
  • FIG. 14 is a flow diagram of the M2AppMonitor initial data collection for newly installed apps or upgraded apps.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • Referring now to the drawings wherein the showings are for purposes of illustrating a preferred embodiment of the present invention and not for purposes of limiting the same, FIGS. 1-12 show the method of collecting data on, and assessing each application. FIG. 1 is a flow diagram showing the two timed operations that are employed for populating the table and assessing application performance. The process begins by initiating a ten minute cycle, followed by the creation of an application table in memory for storing the data. After the application table is created and the ten minute clock is initiated, a fifteen-second cycle runs forty times repeatedly. Upon initiation of each 15 second cycle. Step 1 is to start a timer that will raise a flag at the 10 minute mark. This timer restarts approximately every ten minutes after the data table is cleared. Step 2 is to create a table in memory to store information on currently running applications. Step 3 is to pull the data collected in the table every ten minutes. Step 4 is Summation, which is a series of processes that run computations on the collected data.
  • Step 4.1 is Application Summation which is a series of processes that run computations on the collected data. Step 4.1.1 is to repeat the Application Summation for every app in the active application table. Step 4.1.2 is to compute the application latest average CPU usage with new data. Step 4.1.3 is to compute the application latest average memory usage with new data. Step 4.1.4 is to compute the latest application average battery use with new data. Step 4.1.5 comprises computing the application average as to data usage. Step 4.1.6 comprises summing the number of times an app has crashed during this monitoring cycle. Step 4.1.7 is to determine current application storage. Step 4.1.8 is to determine permission, security, and resource overages. Step 4.1.9 is to update the application table with all the newly computed data. Step 4.1.10 is to update notification status to match the new resource flags to be displayed in the app and status bar.
  • Step 4.2 is to log the current application readings. Step 4.2.1 is to write an entry for each application and then push the app data to the log table.
  • Step 5 is Perform Checks, which comprises a series of processes that analyze the collected data to determine whether it is necessary for M2AppMonitor to take any outward action. Step 5.1 is to check the database size. Step 5.2 is to Perform data averaging and then trimming the database. Step 5.3 is to Perform database trimming in the event it is too large. Next, check for four different Extreme Notifications: does storage exceed threshold, does battery exceed threshold, does data use exceed threshold, does data use exceed plan limit. Step 5.4 is to Send Notification when there are flagged apps or Extreme Notifications to report. Step 5.5 is to check if it is time to submit data to the master database. If it is time, the app will submit summary of application data to M2AppMonitor master database.
  • Step 6 is to clear the table in preparation for the next cycle. Step 7 is to start a 15 second cycle where a flag is raised at the 15 second mark, indicating the start of running application data collection.
  • Step 8 is to Get and Combine the data, comprising a series of processes that collect and organize data about the applications.
  • Step 8.1 is to Get Running Applications, comprising a series of steps that obtains information about the running applications. Step 8.1.1 is to Get a list of running applications. Step 8.1.2 is to Add each app to the main app table if it is not yet in the table. Step 8.1.3 is to Track the start time of the newly added app. Step 8.1.4 is to Track stop time, where in the event an app has stopped running its stop time is tracked. Step 8.1.5 is Start tracking time for an app that is a “front” app. Step 8.1.6 is Stop tracking time if an app is no longer a “front” app.
  • Step 8.2 is to Get memory information, comprising a series of processes that obtain data about memory usage. Step 8.2.1 is to Collect memory for application comprising obtaining app memory usage. Step 8.2.2 is Average with last reading comprising averaging collected memory data with previous data. Step 8.2.3 is Enter in running application table, comprising pushing memory data to the table.
  • 8.3 is to get CPU information comprising a series of processes that obtain data about CPU usage. Step 8.3.1 is to collect CPU information for processes. Step 8.3.2 is to Combine CPU for all processes per application comprising organizing CPU data per application. Step 8.3.3 is Average CPU reading with last readings comprising averaging collected CPU data with previous data. Step 8.3.4 is to average foreground usage with past foreground usage. Step 8.3.5 is to average background usage with past background usage. Step 8.3.6 is to enter in running application table, comprising pushing the CPU data to the table.
  • Step 8.4 is to get the Data usage comprising a series of processes that obtain data about Data usage. Step 8.4.1 is to Start collecting data readings comprising if data usage has not been collected for the app. Step 8.4.2 is to Add to tally of data collected, comprising if data usage has already been collected for the app then update the current information. Step 8.4.3 is to tally background data usage. Step 8.4.4 is to tally Wi-Fi data usage. Step 8.4.5 is to tally mobile data usage.
  • Step 8.5 is to Combine data comprising a series of processes that organizes the collected data. Step 8.5.1 is Average Data, comprising averaging all of the collected data. Step 8.5.2 is Combine data comprising organizing and combining all collected data. Step 8.5.3 is to average background data. Step 8.5.4 is to combine background data. Step 8.5.5 is to average Wi-Fi data. Step 8.5.6 is to combine Wi-Fi data. Step 8.5.7 is to average mobile data. Step 8.5.8 is to combine mobile data.
  • Step 8.6 is to Get battery usage comprising a series of processes that obtain data about battery usage. Step 8.6.1 is to Collect battery usage for application comprising obtaining app battery usage. Step 8.6.2 is Average with last reading comprising averaging collected battery data with previous data. Step 8.6.3 is Enter in running application table, comprising pushing battery data to the table. Step 9 is to Update the Table with the latest collected data. Step 10 is to Wait until 15 second are met, comprising the data collection process is repeated every 15 seconds, and if the process ends early due to faster hardware, the software still waits 15 seconds before restarting.
  • FIG. 13 shows the method of transmitting the collected data to a back-end server. Step 11 is to collect device information. Step 12 is to collect app information from database. Step 13 is to collect app log record data from database. Step 14 is to combine data into JSON object. Step 15 is to compress data object. Step 16 is to transmit data to back-end server. Step 17 is to receive application category information. Step 18 is to update database with app categories. Step 19 is to send JSON with device info to back end server. Step 20 is to receive crowd source data. Step 21 is to update the local database with crowd source data.
  • FIG. 14 shows the method of adding new applications to M2AppMonitor. This occurs on initial install of M2AppMonitor, install of new applications on a device, or update of an existing app. Step 22 is to collect storage usage. Step 23 is to collect permissions. Step 24 is to collect notification access. Step 25 is to collect analytics used. Step 26 is to increment update count.
  • Additional modifications and improvements of the present invention may also be apparent to those skilled in the art. Thus, the particular combination of parts described and illustrated herein is intended to represent only one embodiment of the invention, and is not intended to serve as a limitation of alternative devices within the spirit and scope of the invention.

Claims (20)

What is claimed:
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.
2. A method as in claim 1 wherein the parameters for which a metric is established comprise one or more of: battery usage, data usage, memory usage, CPU usage, storage space usage, permissions incidence, crash incidence, notification incidence, and analytics.
3. A method as in claim 1 to supply crowd source information to said mobile device where application averages and limits are transmitted to said device.
4. A method as in claim 1 wherein comparative values for battery usage, data consumption, cpu, memory and storage are transmitted back to said device, comparing against all other devices, devices with the same operating system version, devices of the same model and devices on the same carrier network
5. A method as in claim 1 wherein crowd-source based application recommendations and information reports will be fed back into the application.
6. A method as in claim 1 wherein a back-end database will analyze application information supplied from all users and will determine if an extreme application alert notification should be sent to a device type, carrier group or operating system, and when such a notification is deemed appropriate M2AppMonitor will collect the notification request and display the alert to the device user.
7. A method as in claim 1 providing an indication of the performance of each of a plurality of installed apps on a mobile phone comprising aggregating metrics data for performance and/or quality of each of a plurality of apps and after collecting data on all of these parameters, M2AppMonitor compares the application's data to crowd-sourced data and those apps with usage above the 95th percentile are flagged for high resource usage.
8. A method as in claim 1 comprising assessing said data for determining a crowd-source performance threshold for each app and providing a notification icon in the notification tray as a visual indicator that an app is performing above the threshold.
9. A method as in claim 1 wherein scoring of the parameters and flagging resource overages of apps is made by summation and is an objective measurement of the parameters in their own units.
10. A method as in claim 1 wherein scoring of the parameters and flagging of apps is made by comparison to the 5th to the 99th percentile of performance of similar apps in the same performance category.
11. A method as in claim 1 wherein scoring of the parameters and flagging of apps is made by comparison to a threshold performance of similar apps in the same performance category where the threshold is set by the user.
12. A method as in claim 1 comprising a pathway for a user to force stop a flagged app.
13. A method as in claim 1 comprising a pathway for a user to uninstall a flagged app.
14. A method as in claim 1 comprising providing alert data to a system carrier.
15. A method as in claim 1 wherein said carrier comprises software responsive to alert data from user.
16. A method as in claim 1 wherein said carrier is responsive to the receipt of data representative of said scoring for identifying unintended app operation.
17. A method as in claim 1 comprising continually monitoring said plurality of apps while said mobile device is turned on.
18. A method as in claim 1 comprising providing a notification icon in the device notification tray as a visual indicator that an app is performing below the threshold
19. A method as in claim 1 for controlling unwanted mobile device app operations comprising an internet carrier and a plurality of mobile devices, each of said devices being configured to operate controllably in communication with said carrier, each of said devices having installed therein a plurality of apps, each of said apps being characterized by operator selected operation features and “unintended” operation that negatively impacts system efficiency and security, said system comprising mobile devices each adapted to include app monitoring software for scoring of one or more of key metrics.
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.
US14/078,518 2012-11-11 2013-11-12 Mobile device application monitoring software Abandoned US20150133076A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/078,518 US20150133076A1 (en) 2012-11-11 2013-11-12 Mobile device application monitoring software
US14/305,726 US9946622B2 (en) 2012-11-11 2014-06-16 Mobile device application monitoring software

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261724993P 2012-11-11 2012-11-11
US201361816183P 2013-04-26 2013-04-26
US14/078,518 US20150133076A1 (en) 2012-11-11 2013-11-12 Mobile device application monitoring software

Publications (1)

Publication Number Publication Date
US20150133076A1 true US20150133076A1 (en) 2015-05-14

Family

ID=53044196

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/078,518 Abandoned US20150133076A1 (en) 2012-11-11 2013-11-12 Mobile device application monitoring software
US14/305,726 Active US9946622B2 (en) 2012-11-11 2014-06-16 Mobile device application monitoring software

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/305,726 Active US9946622B2 (en) 2012-11-11 2014-06-16 Mobile device application monitoring software

Country Status (1)

Country Link
US (2) US20150133076A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317284A1 (en) * 2011-09-28 2014-10-23 Robert W. Navarette Managing data usage of a computing device
US20150062352A1 (en) * 2013-09-03 2015-03-05 Samsung Electronics Co., Ltd. Method for transmitting contents and electronic device thereof
US20150278403A1 (en) * 2014-03-26 2015-10-01 Xerox Corporation Methods and systems for modeling crowdsourcing platform
US20150347262A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Performance management based on resource consumption
US20150346933A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Battery usage tracking user interface
US20150363289A1 (en) * 2012-11-11 2015-12-17 Michael Brough Mobile device application monitoring software
US20170102989A1 (en) * 2015-10-09 2017-04-13 Intuit Inc. Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered
US9749453B2 (en) * 2015-11-20 2017-08-29 Sap Se Relaxation of mobile device features restrictions leveraging embedded auditing system
EP3277029A1 (en) * 2016-07-29 2018-01-31 Samsung Electronics Co., Ltd Electronic device and method for operating the same
US9929970B1 (en) 2015-12-03 2018-03-27 Innovium, Inc. Efficient resource tracking
EP3316141A1 (en) * 2016-10-28 2018-05-02 Wipro Limited Method and system for determining performance of an application installed on mobile stations
US10148590B2 (en) 2015-10-23 2018-12-04 Intuit Inc. Method and system for dynamically unblocking customers in critical workflows using pre-defined unlock codes
US10218589B1 (en) 2015-12-17 2019-02-26 Innovium, Inc. Efficient resource status reporting apparatuses
CN109918088A (en) * 2019-01-29 2019-06-21 维沃移动通信有限公司 A kind of program unloading method and mobile terminal
KR20190086144A (en) * 2018-01-12 2019-07-22 엔에이치엔 주식회사 Mobile terminal and method for management application of the mobile terminal and target advertisement providing system using the same
US20190294484A1 (en) * 2018-03-21 2019-09-26 International Business Machines Corporation Root cause analysis for correlated development and operations data
US10432429B1 (en) 2016-02-16 2019-10-01 Innovium, Inc. Efficient traffic management
US10567302B2 (en) 2016-06-01 2020-02-18 At&T Intellectual Property I, L.P. Enterprise business mobile dashboard
US10613608B2 (en) 2014-08-06 2020-04-07 Apple Inc. Reduced-size user interfaces for battery management
CN111459755A (en) * 2020-03-27 2020-07-28 海信视像科技股份有限公司 Log file output control method and device based on EMMC life value
US10747520B2 (en) 2017-04-14 2020-08-18 Microsoft Technology Licensing, Llc Resource deployment using device analytics
US10932109B2 (en) * 2016-06-24 2021-02-23 Paypal, Inc. System configurations to determine user data associated with mobile applications
US10951043B2 (en) 2017-06-04 2021-03-16 Apple Inc. Multi-device charging user interface
CN113010797A (en) * 2021-04-15 2021-06-22 王美珍 Smart city data sharing method and system based on cloud platform
US11153373B2 (en) 2019-05-03 2021-10-19 EMC IP Holding Company LLC Method and system for performance-driven load shifting
US11163633B2 (en) 2019-04-24 2021-11-02 Bank Of America Corporation Application fault detection and forecasting
CN113626694A (en) * 2020-10-29 2021-11-09 胡培培 Application program pushing system based on big data
US11646591B2 (en) 2019-05-09 2023-05-09 Apple Inc. Indication for protective charging mode
US11748437B2 (en) 2019-04-26 2023-09-05 Motorola Solutions, Inc. System and method for management of commercial virtual assistant services

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6630069B2 (en) * 2014-07-11 2020-01-15 キヤノン株式会社 Information processing method, program, and information processing apparatus
US10262353B1 (en) * 2015-02-13 2019-04-16 Symantec Corporation Method and system to estimate mobile device performance based on personal behavior patterns
US10581987B2 (en) 2015-07-06 2020-03-03 Airwatch Llc Application network usage management
US10382306B2 (en) * 2015-07-06 2019-08-13 Airwatch Llc Application network usage management
US10871878B1 (en) * 2015-12-29 2020-12-22 Palantir Technologies Inc. System log analysis and object user interaction correlation system
US10248788B2 (en) 2016-06-28 2019-04-02 International Business Machines Corporation Detecting harmful applications prior to installation on a user device
US10241772B1 (en) 2016-07-07 2019-03-26 Google Llc Recommending substitute applications
CN107643968A (en) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 Crash log processing method and processing device
US11074599B2 (en) 2016-12-08 2021-07-27 App Annie Inc. Determining usage data of mobile applications for a population
US10621062B2 (en) 2017-02-21 2020-04-14 International Business Machines Corporation Widget provisioning of user experience analytics and user interface / application management
US10262265B2 (en) 2017-05-24 2019-04-16 Google Llc Systems and methods for generating and communicating application recommendations at uninstall time
US10834213B2 (en) * 2017-07-20 2020-11-10 International Business Machines Corporation System and method for measuring user engagement
CN108337127B (en) * 2017-12-21 2020-11-03 中国平安人寿保险股份有限公司 Application performance monitoring method, system, terminal and computer readable storage medium
MX2021000905A (en) 2018-07-25 2021-06-23 Blues Inc DATA SYSTEM ON A MODULE (DSoM) FOR CONNECTING COMPUTING DEVICES AND CLOUD-BASED SERVICES.
CN111292114B (en) * 2018-12-10 2023-06-23 百度在线网络技术(北京)有限公司 Method and device for generating labels
US11409515B2 (en) * 2019-02-01 2022-08-09 Hewlett-Packard Development Company, L.P. Upgrade determinations of devices based on telemetry data
US11422911B2 (en) 2019-03-14 2022-08-23 International Business Machines Corporation Assisted smart device context performance information retrieval

Citations (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115680A (en) * 1995-06-07 2000-09-05 Media Metrix, Inc. Computer use meter and analyzer
US20040153867A1 (en) * 2003-01-03 2004-08-05 Mcalinden Paul Dynamic performance and resource management in a processing system
US6801940B1 (en) * 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert
US20060026467A1 (en) * 2004-07-30 2006-02-02 Smadar Nehab Method and apparatus for automatically discovering of application errors as a predictive metric for the functional health of enterprise applications
US20070150581A1 (en) * 2005-12-22 2007-06-28 American Express Travel Services, Co., Inc. a New York Corporation System and method for monitoring system performance levels across a network
US20090199160A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Centralized system for analyzing software performance metrics
US20100016011A1 (en) * 2008-07-15 2010-01-21 Motorola, Inc. Method for Collecting Usage Information on Wireless Devices for Ratings Purposes
US20100088552A1 (en) * 2007-01-26 2010-04-08 Samsung Sds Co., Ltd. Method for Obstruction and Capacity Information Unification Monitoring in Unification Management System Environment and System for Thereof
US20100151817A1 (en) * 2007-02-26 2010-06-17 Lidstroem Mattias Method And Apparatus For Monitoring Client Behaviour
US20110040990A1 (en) * 2009-08-14 2011-02-17 Google Inc. Providing A User With Feedback Regarding Power Consumption In Battery-Operated Electronic Devices
US20110047594A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for mobile communication device application advisement
US20110099433A1 (en) * 2009-10-28 2011-04-28 Fujitsu Limited Information generating apparatus and information generating method
US20120023375A1 (en) * 2010-07-23 2012-01-26 Salesforce.Com, Inc. Generating performance alerts
US20120036498A1 (en) * 2010-08-04 2012-02-09 BoxTone, Inc. Mobile application performance management
US8171351B1 (en) * 2009-01-16 2012-05-01 Amazon Technologies, Inc. Collecting information from user devices
US20120173933A1 (en) * 2011-01-03 2012-07-05 Greb Karl F Profile-based execution monitoring
US20120192014A1 (en) * 2008-02-25 2012-07-26 Kiyoshi Kato Operations management apparatus, operations management system, data processing method, and operations management program
US20120275377A1 (en) * 2011-04-26 2012-11-01 Openet Telecom Ltd. Systems, devices and methods of crowd-sourcing across multiple domains
US8340633B1 (en) * 2009-04-09 2012-12-25 Mobile Iron, Inc. Mobile activity intelligence
US20130007255A1 (en) * 2011-06-30 2013-01-03 Alexandre Gerber Methods, Devices, and Computer Program Products for Providing a Computing Application Rating
US20130132896A1 (en) * 2011-11-22 2013-05-23 Samsung Electronics Co., Ltd. System and method of recommending applications based on context information
US20130159502A1 (en) * 2011-12-19 2013-06-20 Go Daddy Operating Company, Llc. Methods for Monitoring Computer Resources
US20130166731A1 (en) * 2011-12-22 2013-06-27 Naoaki Yamanaka Apparatus, mobile terminal, and method to estimate quality of experience of application
US20130196616A1 (en) * 2012-01-27 2013-08-01 Microsoft Corporation Data usage profiles for users and applications
US20130204911A1 (en) * 2012-02-02 2013-08-08 Tata Consultancy Services Limited Real time performance monitoring
US20130325856A1 (en) * 2012-06-04 2013-12-05 Apple Inc. App recommendation using crowd-sourced localized app usage data
US20140053261A1 (en) * 2012-08-15 2014-02-20 Qualcomm Incorporated On-Line Behavioral Analysis Engine in Mobile Device with Multiple Analyzer Model Providers
US20140088895A1 (en) * 2008-05-15 2014-03-27 John Houston Systems and methods for metering and analyzing energy consumption of events within a portable device
US20140117780A1 (en) * 2012-10-31 2014-05-01 James Buchheim Wireless communication-enabled energy consumption monitor and mobile application for same
US20140156660A1 (en) * 2012-06-05 2014-06-05 uTest, Inc. Methods and systems for quantifying and tracking software application quality
US20140235179A1 (en) * 2013-02-18 2014-08-21 Airometric Wireless Inc. Performance evaluation of services and applications on devices in live wireless environments
US8863022B2 (en) * 2011-09-07 2014-10-14 Microsoft Corporation Process management views
US20150011177A1 (en) * 2013-07-02 2015-01-08 Carrier Iq Resource Consumption Estimation with Out of Norm Determination in Mobile Devices
US8935393B1 (en) * 2012-08-23 2015-01-13 Google Inc. Recommendations based on usage and resource consumption data
US20150033086A1 (en) * 2013-07-28 2015-01-29 OpsClarity Inc. Organizing network performance metrics into historical anomaly dependency data
US20150058679A1 (en) * 2013-08-26 2015-02-26 Google Inc. Application resource utilizaton management
US20150067147A1 (en) * 2013-09-04 2015-03-05 AppDynamics, Inc. Group server performance correction via actions to server subset
US20150082097A1 (en) * 2013-09-13 2015-03-19 Mobile Defense Inc. Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
US9037922B1 (en) * 2012-05-01 2015-05-19 Amazon Technololgies, Inc. Monitoring and analysis of operating states in a computing environment
US20150163121A1 (en) * 2013-12-06 2015-06-11 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US20150363289A1 (en) * 2012-11-11 2015-12-17 Michael Brough Mobile device application monitoring software
US20150382227A1 (en) * 2012-12-21 2015-12-31 Qualcomm Incorporated Adaptive Control of Crowdsourcing Data Using Mobile Device Generated Parameters
US20160124830A1 (en) * 2012-06-25 2016-05-05 International Business Machines Corporation Predictive Alert Threshold Determination Tool
US9344431B2 (en) * 2008-10-21 2016-05-17 Lookout, Inc. System and method for assessing an application based on data from multiple devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270561A1 (en) * 2005-06-30 2008-10-30 Cascada Mobile Corp. System and Method of Recommendation and Provisioning of Mobile Device Related Content and Applications
US8166052B2 (en) * 2007-10-22 2012-04-24 Samsung Electronics Co., Ltd. Situation recognition for recommendation using merge-split approach
US8171035B2 (en) * 2007-10-22 2012-05-01 Samsung Electronics Co., Ltd. Situation-aware recommendation using correlation
US8285840B2 (en) * 2010-03-15 2012-10-09 Cellco Partnership Using social networking to help users purchase mobile applications and devices
US9112926B2 (en) * 2011-04-04 2015-08-18 Qualcomm, Incorporated Recommending mobile content by matching similar users
US20120316955A1 (en) * 2011-04-06 2012-12-13 Yahoo! Inc. System and Method for Mobile Application Search
US9781540B2 (en) * 2011-07-07 2017-10-03 Qualcomm Incorporated Application relevance determination based on social context
KR101491878B1 (en) * 2011-08-31 2015-02-09 라인 가부시키가이샤 System and method for providing ranking information of mobile application using information obtained from user terminal
US8856168B2 (en) * 2012-04-30 2014-10-07 Hewlett-Packard Development Company, L.P. Contextual application recommendations
US20140006517A1 (en) * 2012-07-02 2014-01-02 WUPIMA, Inc. System and method for social invitations to facilitate playing and sharing of mobile application or mobile game on mobile device
US20140279787A1 (en) * 2013-03-15 2014-09-18 Ximplar Limited Systems And Methods for an Adaptive Application Recommender

Patent Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115680A (en) * 1995-06-07 2000-09-05 Media Metrix, Inc. Computer use meter and analyzer
US6801940B1 (en) * 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert
US20040153867A1 (en) * 2003-01-03 2004-08-05 Mcalinden Paul Dynamic performance and resource management in a processing system
US20060026467A1 (en) * 2004-07-30 2006-02-02 Smadar Nehab Method and apparatus for automatically discovering of application errors as a predictive metric for the functional health of enterprise applications
US20070150581A1 (en) * 2005-12-22 2007-06-28 American Express Travel Services, Co., Inc. a New York Corporation System and method for monitoring system performance levels across a network
US20100088552A1 (en) * 2007-01-26 2010-04-08 Samsung Sds Co., Ltd. Method for Obstruction and Capacity Information Unification Monitoring in Unification Management System Environment and System for Thereof
US20100151817A1 (en) * 2007-02-26 2010-06-17 Lidstroem Mattias Method And Apparatus For Monitoring Client Behaviour
US20090199160A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Centralized system for analyzing software performance metrics
US20120192014A1 (en) * 2008-02-25 2012-07-26 Kiyoshi Kato Operations management apparatus, operations management system, data processing method, and operations management program
US20140088895A1 (en) * 2008-05-15 2014-03-27 John Houston Systems and methods for metering and analyzing energy consumption of events within a portable device
US20100016011A1 (en) * 2008-07-15 2010-01-21 Motorola, Inc. Method for Collecting Usage Information on Wireless Devices for Ratings Purposes
US20130263260A1 (en) * 2008-10-21 2013-10-03 Lookout, Inc. System and method for assessing an application to be installed on a mobile communication device
US20110047594A1 (en) * 2008-10-21 2011-02-24 Lookout, Inc., A California Corporation System and method for mobile communication device application advisement
US9344431B2 (en) * 2008-10-21 2016-05-17 Lookout, Inc. System and method for assessing an application based on data from multiple devices
US9367680B2 (en) * 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8171351B1 (en) * 2009-01-16 2012-05-01 Amazon Technologies, Inc. Collecting information from user devices
US8340633B1 (en) * 2009-04-09 2012-12-25 Mobile Iron, Inc. Mobile activity intelligence
US20110040990A1 (en) * 2009-08-14 2011-02-17 Google Inc. Providing A User With Feedback Regarding Power Consumption In Battery-Operated Electronic Devices
US20110099433A1 (en) * 2009-10-28 2011-04-28 Fujitsu Limited Information generating apparatus and information generating method
US20120023375A1 (en) * 2010-07-23 2012-01-26 Salesforce.Com, Inc. Generating performance alerts
US20120036498A1 (en) * 2010-08-04 2012-02-09 BoxTone, Inc. Mobile application performance management
US20120173933A1 (en) * 2011-01-03 2012-07-05 Greb Karl F Profile-based execution monitoring
US20120275377A1 (en) * 2011-04-26 2012-11-01 Openet Telecom Ltd. Systems, devices and methods of crowd-sourcing across multiple domains
US20130007255A1 (en) * 2011-06-30 2013-01-03 Alexandre Gerber Methods, Devices, and Computer Program Products for Providing a Computing Application Rating
US8863022B2 (en) * 2011-09-07 2014-10-14 Microsoft Corporation Process management views
US20130132896A1 (en) * 2011-11-22 2013-05-23 Samsung Electronics Co., Ltd. System and method of recommending applications based on context information
US20130159502A1 (en) * 2011-12-19 2013-06-20 Go Daddy Operating Company, Llc. Methods for Monitoring Computer Resources
US20130166731A1 (en) * 2011-12-22 2013-06-27 Naoaki Yamanaka Apparatus, mobile terminal, and method to estimate quality of experience of application
US20130196616A1 (en) * 2012-01-27 2013-08-01 Microsoft Corporation Data usage profiles for users and applications
US20130204911A1 (en) * 2012-02-02 2013-08-08 Tata Consultancy Services Limited Real time performance monitoring
US9037922B1 (en) * 2012-05-01 2015-05-19 Amazon Technololgies, Inc. Monitoring and analysis of operating states in a computing environment
US20130325856A1 (en) * 2012-06-04 2013-12-05 Apple Inc. App recommendation using crowd-sourced localized app usage data
US20140156660A1 (en) * 2012-06-05 2014-06-05 uTest, Inc. Methods and systems for quantifying and tracking software application quality
US20160124830A1 (en) * 2012-06-25 2016-05-05 International Business Machines Corporation Predictive Alert Threshold Determination Tool
US20140053261A1 (en) * 2012-08-15 2014-02-20 Qualcomm Incorporated On-Line Behavioral Analysis Engine in Mobile Device with Multiple Analyzer Model Providers
US8935393B1 (en) * 2012-08-23 2015-01-13 Google Inc. Recommendations based on usage and resource consumption data
US20140117780A1 (en) * 2012-10-31 2014-05-01 James Buchheim Wireless communication-enabled energy consumption monitor and mobile application for same
US20150363289A1 (en) * 2012-11-11 2015-12-17 Michael Brough Mobile device application monitoring software
US20150382227A1 (en) * 2012-12-21 2015-12-31 Qualcomm Incorporated Adaptive Control of Crowdsourcing Data Using Mobile Device Generated Parameters
US20140235179A1 (en) * 2013-02-18 2014-08-21 Airometric Wireless Inc. Performance evaluation of services and applications on devices in live wireless environments
US20150011177A1 (en) * 2013-07-02 2015-01-08 Carrier Iq Resource Consumption Estimation with Out of Norm Determination in Mobile Devices
US20150033086A1 (en) * 2013-07-28 2015-01-29 OpsClarity Inc. Organizing network performance metrics into historical anomaly dependency data
US20150058679A1 (en) * 2013-08-26 2015-02-26 Google Inc. Application resource utilizaton management
US20150067147A1 (en) * 2013-09-04 2015-03-05 AppDynamics, Inc. Group server performance correction via actions to server subset
US20150082097A1 (en) * 2013-09-13 2015-03-19 Mobile Defense Inc. Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
US20150163121A1 (en) * 2013-12-06 2015-06-11 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Allum, Simon, Battery Stat Plus - Recommended Android App, 11/21/2012, Coolsmartphone *
Parker, Carl, Diagnosis - System Information: Android app for monitoring your phone system, http://www.androidauthority.com/author/car/), May 8 2012 *
SystemPanel Screenshot Tour, retrieved from Wayback Machine January 4 2012, Android.nextapp.com, *
SystemPanel System Monitor, retrieved from Wayback Machine October 19 2011, Android.nextapp.com *

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140317284A1 (en) * 2011-09-28 2014-10-23 Robert W. Navarette Managing data usage of a computing device
US9674063B2 (en) * 2011-09-28 2017-06-06 Hewlett-Packard Development Company, L.P. Managing data usage of a computing device
US9946622B2 (en) * 2012-11-11 2018-04-17 Michael Brough Mobile device application monitoring software
US20150363289A1 (en) * 2012-11-11 2015-12-17 Michael Brough Mobile device application monitoring software
US20150062352A1 (en) * 2013-09-03 2015-03-05 Samsung Electronics Co., Ltd. Method for transmitting contents and electronic device thereof
US10432926B2 (en) * 2013-09-03 2019-10-01 Samsung Electronics Co., Ltd. Method for transmitting contents and electronic device thereof
US9411917B2 (en) * 2014-03-26 2016-08-09 Xerox Corporation Methods and systems for modeling crowdsourcing platform
US20150278403A1 (en) * 2014-03-26 2015-10-01 Xerox Corporation Methods and systems for modeling crowdsourcing platform
US9606706B2 (en) * 2014-05-30 2017-03-28 Apple Inc. Battery usage tracking user interface
US20150346933A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Battery usage tracking user interface
US20150347262A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Performance management based on resource consumption
US9690685B2 (en) * 2014-05-30 2017-06-27 Apple Inc. Performance management based on resource consumption
US10416745B2 (en) 2014-05-30 2019-09-17 Apple Inc. Battery usage tracking user interface
US11301017B2 (en) 2014-05-30 2022-04-12 Apple Inc. Battery usage tracking user interface
US11561596B2 (en) 2014-08-06 2023-01-24 Apple Inc. Reduced-size user interfaces for battery management
US11256315B2 (en) 2014-08-06 2022-02-22 Apple Inc. Reduced-size user interfaces for battery management
US10901482B2 (en) 2014-08-06 2021-01-26 Apple Inc. Reduced-size user interfaces for battery management
US10613608B2 (en) 2014-08-06 2020-04-07 Apple Inc. Reduced-size user interfaces for battery management
US10152400B2 (en) * 2015-10-09 2018-12-11 Intuit Inc. Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered
US20170102989A1 (en) * 2015-10-09 2017-04-13 Intuit Inc. Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered
US10148590B2 (en) 2015-10-23 2018-12-04 Intuit Inc. Method and system for dynamically unblocking customers in critical workflows using pre-defined unlock codes
US9749453B2 (en) * 2015-11-20 2017-08-29 Sap Se Relaxation of mobile device features restrictions leveraging embedded auditing system
US9929970B1 (en) 2015-12-03 2018-03-27 Innovium, Inc. Efficient resource tracking
US10511538B1 (en) 2015-12-03 2019-12-17 Innovium, Inc. Efficient resource tracking
US10218589B1 (en) 2015-12-17 2019-02-26 Innovium, Inc. Efficient resource status reporting apparatuses
US10469345B1 (en) * 2015-12-17 2019-11-05 Innovium, Inc. Efficient resources status reporting systems
US10432429B1 (en) 2016-02-16 2019-10-01 Innovium, Inc. Efficient traffic management
US10567302B2 (en) 2016-06-01 2020-02-18 At&T Intellectual Property I, L.P. Enterprise business mobile dashboard
US11271863B2 (en) 2016-06-01 2022-03-08 At&T Intellectual Property I, L.P. Enterprise business mobile dashboard
US10932109B2 (en) * 2016-06-24 2021-02-23 Paypal, Inc. System configurations to determine user data associated with mobile applications
US11138032B2 (en) 2016-07-29 2021-10-05 Samsung Electronics Co., Ltd. Electronic device and method for operating the same
EP3277029A1 (en) * 2016-07-29 2018-01-31 Samsung Electronics Co., Ltd Electronic device and method for operating the same
EP3316141A1 (en) * 2016-10-28 2018-05-02 Wipro Limited Method and system for determining performance of an application installed on mobile stations
US9986407B2 (en) 2016-10-28 2018-05-29 Wipro Limited Method and system for determining performance of an application installed on mobile stations
US10747520B2 (en) 2017-04-14 2020-08-18 Microsoft Technology Licensing, Llc Resource deployment using device analytics
US10754631B2 (en) 2017-04-14 2020-08-25 Microsoft Technology Licensing, Llc Tenant upgrade analytics
US10951043B2 (en) 2017-06-04 2021-03-16 Apple Inc. Multi-device charging user interface
US11669867B2 (en) * 2018-01-12 2023-06-06 Nhn Corporation Mobile terminal and method of managing application thereof, and system for providing target advertisement using the same
KR102222133B1 (en) * 2018-01-12 2021-03-03 엔에이치엔 주식회사 Mobile terminal and method for management application of the mobile terminal and target advertisement providing system using the same
KR20190086144A (en) * 2018-01-12 2019-07-22 엔에이치엔 주식회사 Mobile terminal and method for management application of the mobile terminal and target advertisement providing system using the same
US20190294484A1 (en) * 2018-03-21 2019-09-26 International Business Machines Corporation Root cause analysis for correlated development and operations data
US10769009B2 (en) * 2018-03-21 2020-09-08 International Business Machines Corporation Root cause analysis for correlated development and operations data
CN109918088A (en) * 2019-01-29 2019-06-21 维沃移动通信有限公司 A kind of program unloading method and mobile terminal
US11163633B2 (en) 2019-04-24 2021-11-02 Bank Of America Corporation Application fault detection and forecasting
US11748437B2 (en) 2019-04-26 2023-09-05 Motorola Solutions, Inc. System and method for management of commercial virtual assistant services
US11153373B2 (en) 2019-05-03 2021-10-19 EMC IP Holding Company LLC Method and system for performance-driven load shifting
US11646591B2 (en) 2019-05-09 2023-05-09 Apple Inc. Indication for protective charging mode
CN111459755A (en) * 2020-03-27 2020-07-28 海信视像科技股份有限公司 Log file output control method and device based on EMMC life value
CN113626694A (en) * 2020-10-29 2021-11-09 胡培培 Application program pushing system based on big data
CN113010797A (en) * 2021-04-15 2021-06-22 王美珍 Smart city data sharing method and system based on cloud platform

Also Published As

Publication number Publication date
US9946622B2 (en) 2018-04-17
US20150363289A1 (en) 2015-12-17

Similar Documents

Publication Publication Date Title
US20150133076A1 (en) Mobile device application monitoring software
US11704221B2 (en) Systems and methods for collecting, tracking, and storing system performance and event data for computing devices
US7409316B1 (en) Method for performance monitoring and modeling
US7082381B1 (en) Method for performance monitoring and modeling
US11457029B2 (en) Log analysis based on user activity volume
US10459780B2 (en) Automatic application repair by network device agent
WO2015180291A1 (en) Method and system for monitoring server cluster
US7369967B1 (en) System and method for monitoring and modeling system performance
CN105471932B (en) Monitoring method, device and system for front-end application
CN107704387B (en) Method, device, electronic equipment and computer readable medium for system early warning
US7617313B1 (en) Metric transport and database load
CN113806191A (en) Data processing method, device, equipment and storage medium
US10313459B2 (en) Monitoring application flow of applications using a regular or extended mode
US7752303B2 (en) Data reporting using distribution estimation
CN109828883B (en) Task data processing method and device, storage medium and electronic device
US20170228680A1 (en) Improvement message based on element score
US20160050101A1 (en) Real-Time Network Monitoring and Alerting
US20180314765A1 (en) Field name recommendation
WO2015103764A1 (en) Monitoring an object to prevent an occurrence of an issue
Divate TECHNOLOGY ACCEPTANCE MODEL FOR INCIDENTS MONITORING THROUGH CLOUD BASED PLATFORMS
CN117061335A (en) Cloud platform equipment health management and control method and device, storage medium and electronic equipment
CN114266248A (en) Word cloud processing method, device and system
CN111782468A (en) Method and device for monitoring performance of Web front end
CN113791801A (en) Application program updating method and device, storage medium and electronic device
CN111290903A (en) Software system monitoring method and device based on user behaviors and machine learning

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION