SYSTEMS AND METHODS FOR PROVIDING PREDICTIONS TO APPLICATIONS EXECUTING ON A COMPUTING DEVICE
First Claim
1. A method for synchronously providing a prediction to a software application executing on a mobile computing device, the method comprising:
- at a prediction center executing on the mobile computing device;
receiving, from the software application, a request to synchronously provide a prediction for a prediction category;
identifying one or more prediction engines that are associated with the prediction category;
receiving one or more predictions produced by the one or more prediction engines in accordance with the request;
aggregating the one or more predictions to produce the prediction requested by the software application; and
providing the prediction to the software application.
1 Assignment
0 Petitions
Accused Products
Abstract
The embodiments set forth techniques for implementing various “prediction engines” that can be configured to provide different kinds of predictions within a mobile computing device. According to some embodiments, each prediction engine can assign itself as an “expert” on one or more “prediction categories” within the mobile computing device. When a software application issues a request for a prediction for a particular category, and two or more prediction engines respond with their respective prediction(s), a “prediction center” can be configured to receive and process the predictions prior to responding to the request. Processing the predictions can involve removing duplicate information that exists across the predictions, sorting the predictions in accordance with confidence levels advertised by the prediction engines, and the like. In this manner, the prediction center can distill multiple predictions down into an optimized prediction and provide the optimized prediction to the software application.
-
Citations
20 Claims
-
1. A method for synchronously providing a prediction to a software application executing on a mobile computing device, the method comprising:
at a prediction center executing on the mobile computing device; receiving, from the software application, a request to synchronously provide a prediction for a prediction category; identifying one or more prediction engines that are associated with the prediction category; receiving one or more predictions produced by the one or more prediction engines in accordance with the request; aggregating the one or more predictions to produce the prediction requested by the software application; and providing the prediction to the software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method for asynchronously providing a prediction to an software application executing on a mobile computing device, the method comprising:
at a prediction center executing on the mobile computing device; receiving, from the software application, a request to asynchronously provide a prediction for a prediction category; identifying one or more prediction engines that are associated with the prediction category; and notifying each prediction engine of the one or more prediction engines to asynchronously provide one or more predictions in accordance with the request. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A mobile computing device configured to generate predictions in accordance with user behavior, the mobile computing device comprising a processor that is configured to execute:
-
a prediction center configured serve as a mediator between one or more prediction engines and one or more software applications, wherein the prediction center manages a plurality of prediction categories; the one or more prediction engines, wherein each prediction engine of the one or more prediction engines serves as an expert on at least one prediction category of the plurality of prediction categories managed by the prediction center; and the one or more software applications, wherein each software application of the one or more software applications is configured to carry out steps that include; issuing, to the prediction center, a request for a prediction for a particular prediction category of the plurality of prediction categories, and receiving the prediction from the prediction center in accordance with the request, wherein the prediction is an aggregation of at least two predictions produced by the prediction engines that serve as an expert on the particular prediction category. - View Dependent Claims (18, 19, 20)
-
Specification