System for providing extensible location-based services
First Claim
1. A computer-implemented method comprising:
- receiving, at a computer system, location information for a mobile computing device that is associated with a user;
identifying, by the computer system and based, at least in part, on the location information, a plurality of candidate restaurants to be used for requests from the mobile computing device;
determining, by the computer system, distances between a current location of the mobile computing device to locations for the plurality of candidate restaurants;
selecting, by the computer system, historical behavior data for the user with regard to the plurality of candidate restaurants, wherein the historical behavior data identifies the user'"'"'s previous interactions with each of the plurality of candidate restaurants;
detecting, by the computer system, a current time of day;
identifying, by the computer system and from the historical behavior data, temporal information that indicates times of the day at which the user previously interacted with each of the plurality of candidate restaurants;
identifying, by the computer system and from the temporal information, time distributions for the user'"'"'s interactions with each of the plurality of candidate restaurants;
determining, by the computer system, probabilities that the user is most likely of visiting each of the plurality of restaurants based on comparisons of the current time of day with the time distributions;
determining, by the computer system, a plurality of scores for the plurality of candidate restaurants based, at least in part, on (i) the distances between the mobile computing device and the plurality of candidate restaurants (ii) the historical behavior data for the user with regard to the plurality of candidate restaurants, and (iii) the determined probabilities, wherein the plurality of scores indicate likelihoods that the user is currently interested in using each of the plurality of candidate restaurants;
selecting, by the computer system, a particular restaurant from the plurality of candidate restaurants based, at least in part, on the plurality of scores; and
causing, by the computer system, the particular restaurant to be used for requests from the mobile computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for providing location-based services to a mobile device regularly determines the location of the mobile device. Using the location of the device, the system queries a database of virtual geographic regions to determine if the location of the mobile device falls within one or more of the virtual geographic regions. The virtual geographic regions correspond to service entities that have purchased, rented, leased, or otherwise acquired the virtual geographic regions. The virtual geographic regions cover a certain area of a map. If the mobile device is within a virtual geographic region, the system notifies the mobile device. A location-based services application installed on the mobile device launches an applet for the entity that acquired the virtual geographic region within which the mobile device is located. When the mobile device is located within multiple overlapping virtual geographic regions, the system generates a prioritization scheme that defines which of the corresponding service entities should be displayed on the mobile device, and in what order the service entities should be displayed.
163 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving, at a computer system, location information for a mobile computing device that is associated with a user; identifying, by the computer system and based, at least in part, on the location information, a plurality of candidate restaurants to be used for requests from the mobile computing device; determining, by the computer system, distances between a current location of the mobile computing device to locations for the plurality of candidate restaurants; selecting, by the computer system, historical behavior data for the user with regard to the plurality of candidate restaurants, wherein the historical behavior data identifies the user'"'"'s previous interactions with each of the plurality of candidate restaurants; detecting, by the computer system, a current time of day; identifying, by the computer system and from the historical behavior data, temporal information that indicates times of the day at which the user previously interacted with each of the plurality of candidate restaurants; identifying, by the computer system and from the temporal information, time distributions for the user'"'"'s interactions with each of the plurality of candidate restaurants; determining, by the computer system, probabilities that the user is most likely of visiting each of the plurality of restaurants based on comparisons of the current time of day with the time distributions; determining, by the computer system, a plurality of scores for the plurality of candidate restaurants based, at least in part, on (i) the distances between the mobile computing device and the plurality of candidate restaurants (ii) the historical behavior data for the user with regard to the plurality of candidate restaurants, and (iii) the determined probabilities, wherein the plurality of scores indicate likelihoods that the user is currently interested in using each of the plurality of candidate restaurants; selecting, by the computer system, a particular restaurant from the plurality of candidate restaurants based, at least in part, on the plurality of scores; and causing, by the computer system, the particular restaurant to be used for requests from the mobile computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system comprising:
-
one or more processors; memory storing instructions that, when executed, cause the one or more processors to; receive location information for a mobile computing device that is associated with a user; identify, based, at least in part, on the location information, a plurality of candidate restaurants to be used for requests from the mobile computing device; determine distances between a current location of the mobile computing device to locations for the plurality of candidate restaurants; select historical behavior data for the user with regard to the plurality of candidate restaurants, wherein the historical behavior data identifies the user'"'"'s previous interactions with each of the plurality of candidate restaurants; detect a current time of day; identify, from the historical behavior data, temporal information that indicates times of the day at which the user previously interacted with each of the plurality of candidate restaurants; identify, from the temporal information, time distributions for the user'"'"'s interactions with each of the plurality of candidate restaurants; determine probabilities that the user is most likely of visiting each of the plurality of restaurants based on comparisons of the current time of day with the time distributions; determine a plurality of scores for the plurality of candidate restaurants based, at least in part, on (i) the distances between the mobile computing device and the plurality of candidate restaurants (ii) the historical behavior data for the user with regard to the plurality of candidate restaurants, and (iii) the determined probabilities, wherein the plurality of scores indicate likelihoods that the user is currently interested in using each of the plurality of candidate restaurants; select a particular restaurant from the plurality of candidate restaurants based, at least in part, on the plurality of scores; and cause the particular restaurant to be used for requests from the mobile computing device. - View Dependent Claims (17, 18, 19, 20)
-
Specification