IP Library › Granted Patent US 9,208,000
Granted Patent B2
US 9,208,000 · App. 14/610,944 · Granted Dec 8, 2015

Calculating quality indicators of computer applications based on application events

Inventors: Ioannis Vlachogiannis (San Francisco, CA); Vasileios Karampinas (San Francisco, CA)
Assignee: Splunk Inc.
G06F9/542G06F11/0709G06F11/0775G06F11/302G06F11/34G06F11/3409G06F11/3476G06F8/77
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 9,208,000
App. No.
14/610,944
Filed
Jan 30, 2015
Granted
Dec 8, 2015
Kind
B2
Art Unit
2113
USPC
714/47.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 (67)

1. A method, comprising:

determining a first number representing a number of unique user devices on which a computer application release has launched at least once;

determining a second number representing a number of unique user devices on which the computer application release has encountered one or more particular application events; and

computing a quality score for the computer application release using at least the first number and the second number;

wherein the method is performed by one or more computing devices.

2. The method as recited in claim 1 , wherein the one or more particular application events includes a specific type of application error.

3. The method as recited in claim 1 , wherein the one or more particular application events includes an abnormal termination of the computer application release.

4. The method as recited in claim 1 , wherein the first number is determined for a specific time range, and wherein the second number is determined for the same specific time range.

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

collecting application event reports from a plurality of user devices, wherein the application event reports comprise one or more application launch log events of the individual computer application release and one or more application events of the individual computer application release; and

determining, based on the one or more application launch log events of the computer application release and the one or more application events of the computer application release, the first number of unique user devices and the second number of unique user devices.

6. The method of claim 1 , further comprising:

determining a third number representing a number of unique user devices on which a second computer application release has launched at least once, and wherein the computer application release and the second computer application release represent two different versions of a specific computer application;

determining a fourth number of unique user devices representing a number of unique user devices on which the second computer application release has encountered one or more particular application events; and

computing a second quality score for the second computer application release using at third number and the fourth number.

7. The method as recited in claim 1 , wherein the computer application release is one of two latest versions of a specific computer application.

8. The method of claim 1 , further comprising computing an application quality score for a specific computer application using the computed quality score of the computer application release and a second quality score of a preceding computer application release, wherein the computer application release and the preceding computer application release represent two versions of the specific computer application released most recently.

9. The method of claim 1 , further comprising:

computing an application quality score of a specific computer application;

determining a number of unique user devices on which a computer application release has launched at least once, the computer application release a version of the specific computer application;

determining an average application quality score across a plurality of computer applications;

determining an average number of unique user devices on which as least one computer application release of a computer application in the plurality of computer applications has launched; and

computing a weighted application quality score for the specific computer application using at least the determined application quality score of the specific computer application, the determined total number of unique user devices for the specific computer application, the determined average application quality score and the determined average number of unique user devices.

10. The method as recited in claim 1 , wherein the quality score for the computer application release is specific to one of one or more different types of errors that causes the computer application release to crash, one or more different types of operating systems, one or more different types of devices, one or more vendors, or one or more different geographic locations.

11. A non-transitory computer readable storage medium, storing software instructions, which when executed by one or more processors cause performance of steps of:

determining a first number representing a number of unique user devices on which a computer application release has launched at least once;

determining a second number representing a number of unique user devices on which the computer application release has encountered one or more particular application events; and

computing a quality score for the computer application release using at least the first number and the second number.

12. The medium as recited in claim 11 , wherein the one or more particular application events includes a specific type of application error.

13. The medium as recited in claim 11 , wherein the one or more particular application events includes an abnormal termination of the computer application release.

14. The medium as recited in claim 11 , wherein the first number is determined for a specific time range, and wherein the second number is determined for the same specific time range.

15. The medium as recited in claim 11 , wherein the steps further comprises:

collecting application event reports from a plurality of user devices, wherein the application event reports comprise one or more application launch log events of the individual computer application release and one or more application events of the individual computer application release; and

determining, based on the one or more application launch log events of the computer application release and the one or more application events of the computer application release, the first number of unique user devices and the second number of unique user devices.

16. The medium as recited in claim 11 , wherein the steps further comprises:

determining a third number representing a number of unique user devices on which a second computer application release has launched at least once, and wherein the computer application release and the second computer application release represent two different versions of a specific computer application;

determining a fourth number of unique user devices representing a number of unique user devices on which the second computer application release has encountered one or more particular application events; and

computing a second quality score for the second computer application release using at third number and the fourth number.

17. The medium as recited in claim 11 , wherein the computer application release is one of two latest versions of a specific computer application.

18. The medium as recited in claim 11 , wherein the steps further comprises computing an application quality score for a specific computer application using the computed quality score of the computer application release and a second quality score of a preceding computer application release, wherein the computer application release and the preceding computer application release represent two versions of the specific computer application released most recently.

19. The medium as recited in claim 11 , wherein the steps further comprises:

computing an application quality score of a specific computer application;

determining a number of unique user devices on which a computer application release has launched at least once, the computer application release a version of the specific computer application;

determining an average application quality score across a plurality of computer applications;

determining an average number of unique user devices on which as least one computer application release of a computer application in the plurality of computer applications has launched; and

computing a weighted application quality score for the specific computer application using at least the determined application quality score of the specific computer application, the determined total number of unique user devices for the specific computer application, the determined average application quality score and the determined average number of unique user devices.

20. An apparatus comprising:

a subsystem, implemented at least partially in hardware, that determines a first number representing a number of unique user devices on which a computer application release has launched at least once;

a subsystem, implemented at least partially in hardware, that determines a second number representing a number of unique user devices on which the computer application release has encountered one or more particular application events; and

a subsystem, implemented at least partially in hardware, that computes a quality score for the computer application release using at least the first number and the second number.

21. The apparatus as recited in claim 20 , wherein the one or more particular application events includes a specific type of application error.

22. The apparatus as recited in claim 20 , wherein the one or more particular application events includes an abnormal termination of the computer application release.

23. The apparatus as recited in claim 20 , wherein the first number is determined for a specific time range, and wherein the second number is determined for the same specific time range.

24. The apparatus as recited in claim 20 , further comprising:

a subsystem, implemented at least partially in hardware, that collects application event reports from a plurality of user devices, wherein the application event reports comprise one or more application launch log events of the individual computer application release and one or more application events of the individual computer application release; and

a subsystem, implemented at least partially in hardware, that determines, based on the one or more application launch log events of the computer application release and the one or more application events of the computer application release, the first number of unique user devices and the second number of unique user devices.

25. The apparatus as recited in claim 20 , further comprising:

a subsystem, implemented at least partially in hardware, that determines a third number representing a number of unique user devices on which a second computer application release has launched at least once, and wherein the computer application release and the second computer application release represent two different versions of a specific computer application;

a subsystem, implemented at least partially in hardware, that determines a fourth number of unique user devices representing a number of unique user devices on which the second computer application release has encountered one or more particular application events; and

a subsystem, implemented at least partially in hardware, that computes a second quality score for the second computer application release using at third number and the fourth number.

26. The apparatus as recited in claim 20 , further comprising a subsystem, implemented at least partially in hardware, that an application quality score for a specific computer application using the computed quality score of the computer application release and a second quality score of a preceding computer application release, wherein the computer application release and the preceding computer application release represent two versions of the specific computer application released most recently.

27. The apparatus as recited in claim 20 , further comprising:

a subsystem, implemented at least partially in hardware, that determines an application quality score of a specific computer application;

a subsystem, implemented at least partially in hardware, that determines a number of unique user devices on which a computer application has launched at least once, the computer application a version of the specific computer application;

a subsystem, implemented at least partially in hardware, that determines an average application quality score across a plurality of computer applications;

a subsystem, implemented at least partially in hardware, that determines an average number of unique user devices on which as least one computer application release of a computer application in the plurality of computer applications has launched; and

a subsystem, implemented at least partially in hardware, that computes a weighted application quality score for the specific computer application using at least the determined application quality score of the specific computer application, the determined total number of unique user devices for the specific computer application, the determined average application quality score and the determined average number of unique user devices.

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 Dec 14, 2015
From: VLACHOGIANNIS, IOANNIS; KARAMPINAS, VASILEIOS
To: SPLUNK INC
Reel/Frame 037281/0907 →
Continuity (2)
Continuation 14215667 · Mar 17, 2014
Related Publication 20150261585A1 · Sep 17, 2015