Location-Based Searching
Abstract
A method includes receiving a search query from a user device, identifying a plurality of function records included in a data store based on the received search query, and determining a search location. Each function record includes an access mechanism specifying a state of an application, state information corresponding to the state of the application, and location data including a coordinate and a perimeter. The coordinate defines the location of a place corresponding to the state information and the perimeter defines a geographic area surrounding the coordinate. The method also includes determining whether the search location is located within the geographic area defined by the location data of the function record for each of the plurality of function records, selecting access mechanisms from function records that include location data defining a geographic area that includes the search location, and transmitting the selected access mechanisms to the user device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving, at a computing device, a search query from a user device; identifying, by the computing device, a plurality of function records included in a data store based on the received search query, each of the function records including:
an access mechanism specifying a state of an application;
state information corresponding to the state of the application specified by the access mechanism; and
location data including a coordinate and a perimeter, wherein the coordinate defines the location of a place corresponding to the state information and the perimeter defines a geographic area surrounding the coordinate;
determining, by the computing device, a search location; for each of the plurality of function records, determining, by the computing device, whether the search location is located within the geographic area defined by the location data of the function record; selecting, by the computing device, access mechanisms from function records that include location data defining a geographic area that includes the search location; and transmitting the selected access mechanisms from the computing device to the user device.
2 . The method of claim 1 , wherein the identified plurality of function records comprise a first set of function records defining geographic areas that include the search location, wherein the identified plurality of function records include a second set of function records defining geographic areas that do not include the search location, and wherein selecting access mechanisms from function records comprises filtering out function records in the second set of function records and selecting access mechanisms from the first set of function records.
3 . The method of claim 1 , further comprising generating, by the computing device, the perimeter for at least one of the function records based on the population of the area surrounding the coordinate.
4 . The method of claim 1 , further comprising generating, by the computing device, the perimeter for at least one of the function records based on the population density of the area surrounding the coordinate.
5 . The method of claim 1 , further comprising generating, by the computing device, the perimeter for at least one of the function records based on the proximity of the coordinate to transportation infrastructure.
6 . The method of claim 1 , further comprising generating, by the computing device, the perimeter for at least one of the function records based on the popularity of the place defined by the state information.
7 . The method of claim 1 , wherein, for at least one of the plurality of function records, the perimeter is a circular perimeter defining a circular geographic area surrounding the coordinate, and wherein the coordinate defines a center point of the circular perimeter.
8 . The method of claim 7 , wherein the location data includes a radius value around the coordinate that defines the circular perimeter, and wherein the method further comprises generating, by the computing device, the radius value based on the population of the geographic area surrounding the coordinate.
9 . The method of claim 1 , wherein, for at least one of the plurality of function records, the perimeter is a polygon perimeter defining a geographic area surrounding the coordinate, and wherein the coordinate defines a center point of the polygon perimeter.
10 . The method of claim 1 , further comprising, for each of the identified function records, determining, by the computing device, a score for the function record based on where the determined search location is located within the geographic area defined by the location data of the function record, wherein the score indicates a relevance of the identified function record to the search query and the search location.
11 . The method of claim 10 , wherein determining the score for the function record further comprises determining the score based on the distance of the search location from the coordinate.
12 . The method of claim 1 , further comprising receiving, at the computing device, data from the user device indicating the geo-location of the user device, wherein determining the search location comprises determining the search location based on at least one of a location specified in the search query and the data from the user device indicating the geo-location of the user device.
13 . A system comprising:
a non-transitory data store that includes function records, each of the function records comprising:
an access mechanism specifying a state of an application;
state information corresponding to the state of the application specified by the access mechanism; and
location data including a coordinate and a perimeter, wherein the coordinate defines the location of a place corresponding to the state information and the perimeter defines a geographic area surrounding the coordinate; and
one or more computing devices in communication with the non-transitory data store and configured to:
receive a search query from a user device;
identify a plurality of function records included in the data store based on the received search query;
determine a search location;
for each of the plurality of function records, determine whether the search location is located within the geographic area defined by the location data of the function record;
select access mechanisms from function records that include location data defining a geographic area that includes the search location; and
transmit the selected access mechanisms to the user device.
14 . The system of claim 13 , wherein the one or more computing devices are configured to select access mechanisms by filtering out function records that define geographic areas that do not include the search location and selecting access mechanisms that define geographic areas that include the search location.
15 . The system of claim 13 , wherein the one or more computing devices are configured to generate the perimeter for at least one of the function records based on the population of the area surrounding the coordinate.
16 . The system of claim 13 , wherein the one or more computing devices are configured to generate the perimeter for at least one of the function records based on the population density of the area surrounding the coordinate.
17 . The system of claim 13 , wherein, for at least one of the plurality of function records, the perimeter is a circular perimeter defining a circular geographic area surrounding the coordinate, and wherein the coordinate defines a center point of the circular perimeter.
18 . The system of claim 17 , wherein the location data includes a radius value around the coordinate that defines the circular perimeter, and wherein the one or more computing devices are configured to generate the radius value based on the population of the geographic area surrounding the coordinate.
19 . The system of claim 13 , wherein the one or more computing devices are configured to determine, for each of the identified function records, a score for the function record based on where the determined search location is located within the geographic area defined by the location data of the function record, and wherein the score indicates a relevance of the identified function record to the search query and the search location.
20 . A non-transitory computer-readable storage medium comprising instructions that cause one or more computing devices to:
receive a search query from a user device; identify a plurality of function records included in a data store based on the received search query, each of the function records including:
an access mechanism specifying a state of an application;
state information corresponding to the state of the application specified by the access mechanism; and
location data including a coordinate and a perimeter, wherein the coordinate defines the location of a place corresponding to the state information and the perimeter defines a geographic area surrounding the coordinate;
determine a search location; for each of the plurality of function records, determine whether the search location is located within the geographic area defined by the location data of the function record; select access mechanisms from function records that include location data defining a geographic area that includes the search location; and transmit the selected access mechanisms to the user device.Join the waitlist — get patent alerts
Track US2015242420A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.