IP Library › Granted Patent US 11,074,152
Granted Patent B2
US 11,074,152 · App. 16/888,771 · Granted Jul 27, 2021

Measuring mobile application program reliability caused by runtime errors

Inventors: Ioannis Vlachogiannis (San Francisco, CA); Vasileios Karampinas (San Francisco, CA)
Assignee: Splunk Inc.
G06F11/3495G06F9/542G06F11/0709G06F11/0715G06F11/0742G06F11/0775G06F11/302G06F11/3003G06F11/3013G06F11/3082G06F11/34G06F11/3409G06F11/3466G06F8/77G06F11/3093G06F11/3476G06F2201/86G06F2201/865G06F2201/88
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,074,152
App. No.
16/888,771
Filed
May 31, 2020
Granted
Jul 27, 2021
Kind
B2
Art Unit
2113
USPC
714/38.1
Abstract

A quality score for a computer application release is determined using a first number of unique users who have launched the computer application release on user devices and a second number of unique users who have encountered at least once an abnormal termination with the computer application release on user devices. Additionally or optionally, an application quality score can be computed for a computer application based on quality scores of computer application releases that represent different versions of the computer application. Additionally or optionally, a weighted application quality score can be computed for a computer application by further taking into consideration the average application quality score and popularity of a plurality of computer applications.

Claims (59)

1. A method, comprising:

receiving, by a server, application performance events from monitoring code operating on a plurality of mobile devices, the monitoring code included in a computer application program and monitors operations of the computer application program executing on a mobile device, the monitoring code sends application performance events relating to the computer application program to the server;

calculating, by the server, specific types of errors leading to a crash of the computer application program using application performance data extracted from received application performance events associated with the computer application program;

calculating, by the server, a user experience score for one or more types of errors leading to the crash of a particular version of the computer application program;

causing display, by the server, of information relating to the user experience score for the particular version of the application program.

2. The method as recited in claim 1 , wherein the application performance events include application performance data relating to the computer application program prior to an error occurring in the computer application program.

3. The method as recited in claim 1 , further comprising:

wherein the calculating specific types of errors further comprises:

classifying, by the server, the received application performance events into a plurality of specific types of errors by evaluating the application performance data in each application performance event of the received application performance events; and

calculating, by the server, a number of unique occurrences of each specific type of error among the plurality of specific types of errors associated with the computer application program, the number of unique occurrences of each specific type of error indicating a number of unique users that have launched the computer application program and have been affected by the specific type of error;

wherein the causing display further comprises:

causing display of information relating to a number of unique occurrences of a particular type of error associated with the particular version of the computer application program.

4. The method as recited in claim 1 ,

wherein the calculating specific types of errors further comprises:

classifying, by the server, the received application performance events into a plurality of specific types of errors by evaluating the application performance data in each application performance event of the received application performance events; and

calculating, by the server, a number of unique occurrences of each specific type of error among the plurality of specific types of errors associated with a plurality of versions of the computer application program;

wherein the causing display further comprises:

causing display of information relating to a number of unique occurrences of a particular type of error associated with the plurality of versions of the computer application program.

5. The method as recited in claim 1 , further comprising:

wherein the calculating specific types of errors further comprises:

classifying, by the server, the received application performance events into a plurality of specific types of errors by evaluating the application performance data in each application performance event of the received application performance events; and

calculating, by the server, a number of unique occurrences of each specific type of error among the plurality of specific types of errors associated with a plurality of versions of the particular computer application program;

wherein the causing display further comprises:

causing display of information relating to a number of unique occurrences of a particular type of error associated with the plurality of versions of the particular computer application program along with an associated version number.

6. The method as recited in claim 1 , wherein the calculating the user experience score calculates the user experience score for a specific time period.

7. The method as recited in claim 1 , wherein the calculating the user experience score calculates the user experience score for a particular geographical area for mobile devices running the particular version of the computer application program.

8. The method as recited in claim 1 , wherein the calculating the user experience score calculates the user experience score for a particular mobile device type running the particular version of the computer application program.

9. The method as recited in claim 1 , wherein at least one application performance event among the application performance events includes a trace leading up to an error.

10. The method as recited in claim 1 , wherein at least one application performance event among the application performance events includes information about system conditions under which the application performance event occurred.

11. The method as recited in claim 1 , further comprising:

retrieving a set of user experience scores for the computer application program over a series of version numbers from a datastore; and

wherein the causing display further comprises:

causing display of information relating to each user experience score in the set of user experience scores along with an associated version number.

12. The method as recited in claim 1 , wherein the calculating the user experience score includes a popularity rating of the computer application program in relation to other computer application programs.

13. One or more non-transitory computer-readable media, storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform:

receiving, by a server, application performance events from monitoring code operating on a plurality of mobile devices, the monitoring code included in a computer application program and monitors operations of the computer application program executing on a mobile device, the monitoring code sends application performance events relating to the computer application program to the server;

calculating, by the server, specific types of errors leading to a crash of the computer application program using application performance data extracted from received application performance events associated with the computer application program;

calculating, by the server, a user experience score for one or more types of errors leading to the crash of a particular version of the computer application program;

causing display, by the server, of information relating to the user experience score for the particular version of the application program.

14. The one or more non-transitory computer-readable media as recited in claim 13 , wherein the application performance events include application performance data relating to the computer application program prior to an error occurring in the computer application program.

15. The one or more non-transitory computer-readable media as recited in claim 13 , further comprising:

wherein the calculating specific types of errors further comprises:

classifying, by the server, the received application performance events into a plurality of specific types of errors by evaluating the application performance data in each application performance event of the received application performance events; and

calculating, by the server, a number of unique occurrences of each specific type of error among the plurality of specific types of errors associated with the computer application program, the number of unique occurrences of each specific type of error indicating a number of unique users that have launched the computer application program and have been affected by the specific type of error;

wherein the causing display further comprises:

causing display of information relating to a number of unique occurrences of a particular type of error associated with the particular version of the computer application program.

16. The one or more non-transitory computer-readable media as recited in claim 13 , wherein the calculating the user experience score calculates the user experience score for a particular geographical area for mobile devices running the particular version of the computer application program.

17. A system, comprising:

an application performance event receiving device, implemented at least partially in hardware at a server, that receives application performance events from monitoring code operating on a plurality of mobile devices, the monitoring code included in a computer application program and monitors operations of the computer application program executing on a mobile device, the monitoring code sends application performance events relating to the computer application program to the server;

a user experience calculation device, implemented at least partially in hardware at the server, that calculates specific types of errors leading to a crash of the computer application program using application performance data extracted from received application performance events associated with the computer application program;

wherein the user experience calculation device calculates a user experience for one or more types of errors leading to the crash of a particular version of the computer application program;

a display formatting device, implemented at least partially in hardware at the server, that causes display of information relating to the user experience score for the particular version of the application program.

18. The system as recited in claim 17 , wherein the application performance events include application performance data relating to the computer application program prior to an error occurring in the computer application program.

19. The system as recited in claim 17 , further comprising:

wherein the user experience calculation device further:

classifies the received application performance events into a plurality of specific types of errors by evaluating the application performance data in each application performance event of the received application performance events; and

calculates a number of unique occurrences of each specific type of error among the plurality of specific types of errors associated with the computer application program, the number of unique occurrences of each specific type of error indicating a number of unique users that have launched the computer application program and have been affected by the specific type of error;

wherein the display formatting device causes display of information relating to a number of unique occurrences of a particular type of error associated with the particular version of the computer application program.

20. The system as recited in claim 17 , wherein the user experience calculation device calculates the user experience score for a particular geographical area for mobile devices running the particular version of the computer application program.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2020
From: VLACHOGIANNIS, IOANNIS; KARAMPINAS, VASILEIOS
To: SPLUNK INC.
Reel/Frame 052809/0320 →
Continuity (7)
Continuation 16051406 · Jul 31, 2018
Continuation 15339950 · Nov 1, 2016
Continuation 15143578 · Apr 30, 2016
Continuation 14929290 · Oct 31, 2015
Continuation 14610944 · Jan 30, 2015
Continuation 14215667 · Mar 17, 2014
Related Publication 20200293426A1 · Sep 17, 2020