IP Library Granted Patent US 9,501,785
Granted Patent B2
US 9,501,785 · App. 13/147,241 · Granted Nov 22, 2016

Using feedback reports to determine performance of an application in a geographic location

Inventors: Rajat Dewan (Mountain View, CA); Michal Kaczmarek (Waedenswil, CH); Joanna K. Chwastowska (Tarnow, PL); Adrian D. Zakrzewski (Warsaw, PL); Jacek Surazski (Cracow, PL)
Assignee: Google Inc.
G06Q30/0261G06F11/0742G06F11/0784G06Q30/02G06Q30/0205G06Q30/0269
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,501,785
App. No.
13/147,241
Filed
Aug 1, 2011
Granted
Nov 22, 2016
Kind
B2
Art Unit
3689
USPC
705/26.1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for ranking applications. In one aspect, a method includes receiving, from a computing device, a feedback report related to an application configured to run on the computing device, the feedback report including information indicative of an error with the application, and a geographic location of the computing device at a time when the application encountered the error; generating, based on the feedback report, one or more metrics indicative of a performance of the application in the geographic location; retrieving information indicative of other applications associated with metrics indicative of a performance of the other applications in the geographic location; and ranking the applications in accordance with the metrics indicative of the performance of the applications in the geographic location.

Claims (63)

1. A computer-implemented method comprising:

receiving, from a computing device, a first feedback report related to a first application configured to run on the computing device, the first feedback report comprising information relating to an error that occurred during execution of the first application, and a first geographic location of the computing device at a time when the first application encountered the error;

generating by a processor, based on the first feedback report, one or more metrics indicative of a performance of the first application in the first geographic location;

retrieving information indicative of one or more other applications associated with the one or more metrics, the information indicative of a performance of each of the one or more other applications in the first geographic location;

ranking, by the processor, the one or more other applications in accordance with the information indicative of the performance of each of the one or more other applications in the first geographic location;

retrieving one or more second feedback reports, the one or more second feedback reports comprising one or more attributes of the one or more other applications;

receiving, at a request time, a request associated with one or more criteria, the request received from the computing device located at a second geographic location;

determining, based on the one or more second feedback reports, the one or more other applications associated with matching attributes of the one or more attributes, wherein the matching attributes match at least one of the one or more criteria;

ranking the one or more other applications associated with the matching attributes, where the ranking is based on (i) a relevance of each of the one or more other applications associated with the matching attributes to the one or more criteria, and (ii) the information indicative of the performance, during a time interval surrounding the request time, of each of the one or more other applications associated with the matching attributes in the second geographic location;

sending a list of the ranked one or more other applications associated with the matching attributes to the computing device;

receiving, from the computing device, a selection from among the ranked one or more other applications associated with the matching attributes; and

sending an application associated with the selection to the computing device.

2. The computer-implemented method of claim 1 , further comprising:

parsing the first feedback report to determine information indicative of a name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location; and

storing in a database the information indicative of the name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location, with one or more pointers linking each of the information indicative of the name of the first application, the information indicative of the error, and the information indicative of the first geographic location.

3. The computer-implemented method of claim 1 , further comprising: generating a graphical user interface that when rendered on a display device renders a visual representation of the ranked applications associated with the matching attributes.

4. The computer-implemented method of claim 1 , wherein the first feedback report is (i) generated by a feedback application configured to run on the computing device, and (ii) periodically received from the computing device.

5. A system comprising:

one or more processing devices; and

one or more machine-readable media configured to store instructions that are executable by the one or more processing devices to perform operations comprising:

receiving, from a computing device, a first feedback report related to a first application configured to run on the computing device, the first feedback report comprising information relating to an error that occurred during execution of the first application, and a first geographic location of the computing device at a time when the first application encountered the error;

generating, based on the first feedback report, one or more metrics indicative of a performance of the first application in the first geographic location;

retrieving information indicative of one or more other applications associated with the one or more metrics, the information indicative of a performance of each of the one or more other applications in the first geographic location;

ranking the one or more other applications in accordance with the information indicative of the performance of each of the one or more other applications in the first geographic location;

retrieving one or more second feedback reports, the one or more second feedback reports comprising one or more attributes of the one or more other applications;

receiving, at a request time, a request associated with one or more criteria, the request received from the computing device located at a second geographic location;

determining, based on the one or more second feedback reports, the one or more other applications associated with matching attributes of the one or more attributes, where the matching attributes match at least one of the one or more criteria;

ranking the one or more other applications associated with the matching attributes, where the ranking is based on (i) a relevance of each of the one or more other applications associated with the matching attributes to the one or more criteria, and (ii) the information indicative of the performance, during a time interval surrounding the request time, of each of the one or more other applications associated with the matching attributes in the second geographic location;

sending a list of the ranked one or more other applications associated with the matching attributes to the computing device;

receiving, from the computing device, a selection from among the ranked one or more other applications associated with the matching attributes; and

sending an application associated with the selection to the computing device.

6. The system of claim 5 , wherein the operations further comprise:

parsing the first feedback report to determine information indicative of a name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location; and

storing in a database the information indicative of the name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location, with one or more pointers linking each of the information indicative of the name of the first application, the information indicative of the error, and the information indicative of the first geographic location.

7. The system of claim 5 , wherein the operations further comprise: generating a graphical user interface that when rendered on a display device renders a visual representation of the ranked applications associated with the matching attributes.

8. The system of claim 5 , wherein the first feedback report is (i) generated by a feedback application configured to run on the computing device, and (ii) periodically received from the computing device.

9. One or more processing devices comprising a machine-readable medium configured to store instructions that are executable by the one or more processing devices to perform operations comprising:

receiving, from a computing device, a first feedback report related to a first application configured to run on the computing device, the first feedback report comprising information relating to an error that occurred during execution of the first application, and a first geographic location of the computing device at a time when the first application encountered the error;

generating, based on the first feedback report, one or more metrics indicative of a performance of the first application in the first geographic location;

retrieving information indicative of one or more other applications associated with the one or more metrics, the information indicative of a performance of each of the one or more other applications in the first geographic location;

ranking the one or more other applications in accordance with the information indicative of the performance of each of the one or more other applications in the first geographic location;

retrieving one or more second feedback reports, the one or more second feedback reports comprising one or more attributes of the one or more other applications;

receiving, at a request time, a request associated with one or more criteria, the request received from the computing device located at a second geographic location;

determining, based on the one or more second feedback reports, the one or more other applications associated with matching attributes of the one or more attributes, where the matching attributes match at least one of the one or more criteria;

ranking the one or more other applications associated with the matching attributes, where the ranking is based on (i) a relevance of each of the one or more other applications associated with the matching attributes to the one or more criteria, and (ii) the information indicative of the performance, during a time interval surrounding the request time, of each of the one or more other applications associated with the matching attributes in the second geographic location;

sending a list of the ranked one or more other applications associated with the matching attributes to the computing device;

receiving, from the computing device, a selection from among the ranked one or more other applications associated with the matching attributes; and

sending an application associated with the selection to the computing device.

10. The one or more processing devices comprising a machine-readable medium of claim 9 , wherein the operations further comprise:

parsing the first feedback report to determine information indicative of a name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location; and

storing in a database the information indicative of the name of the first application, the information indicative of the error with the first application, and the information indicative of the first geographic location, with one or more pointers linking each of the information indicative of the name of the first application, the information indicative of the error, and the information indicative of the first geographic location.

11. The one or more processing devices comprising a machine-readable medium of claim 9 , wherein the operations further comprise: generating a graphical user interface that when rendered on a display device renders a visual representation of the ranked applications associated with the matching attributes.

12. The one or more processing devices comprising a machine-readable medium of claim 9 , wherein the first feedback report is (i) generated by a feedback application configured to run on the computing device, and (ii) periodically received from the computing device.

13. A computer-implemented method comprising:

receiving, from a computing device, a feedback report related to a first application configured to run on the computing device, the feedback report comprising information relating to an error that occurred during execution of the first application, and a first geographic location of the computing device at a time when the first application encountered the error;

generating by a processor, based on the feedback report, one or more metrics indicative of a performance of the first application in the first geographic location;

receiving, at a request time, a request for an application associated with one or more criteria, the request received from a computing device located at a second location;

retrieving information indicative of one or more other applications associated with the one or more criteria, the information indicative of a performance, during a time interval surrounding the request time, of each of the one or more other applications in the second geographic location;

ranking, by the processor, the one or more other applications based on (i) a relevance of each of the one or more other applications to the one or more criteria, and (ii) the information indicative of the performance during the time interval surrounding the request time of each of the one or more other applications in the second geographic location;

sending a list of the ranked one or more other applications to the computing device;

receiving, from the computing device, a selection of at least one of the ranked one or more other applications; and

sending an application associated with the selection to the computing device.

14. The method of claim 13 , further comprising ranking, by the processor, the first application among the one or more other applications based on (i) a relevance of the first application to the one or more criteria, and (ii) the one or more metrics indicative of the performance of the first application in the first geographic location.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2011
From: DEWAN, RAJAT; KACZMAREK, MICHAL; CHWASTOWSKA, JOANNA K.; ZAKRZEWSKI, ADRIAN D.; SURAZSKI, JACEK
To: GOOGLE INC.
Reel/Frame 026679/0693 →
Continuity (1)
Related Publication 20120278194A1 · Nov 1, 2012