Geographic annotation of electronic resources
First Claim
1. A computer-implemented method comprising:
- receiving, by one or more processors, from an electronic device of a user, a query for a resource;
sending, by one or more processors, to the electronic device of the user, a search result corresponding to the resource;
receiving, by one or more processors, a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the request for the resource is received by either;
receiving, by one or more processors, an indication of the user submitting, using the electronic device, the query for the resource, and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user submits the request for the resource, orreceiving, by one or more processors, an indication of the user selecting, using the electronic device, the search result corresponding to the resource and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user selects the search result corresponding to the resource;
identifying, by the one or more processors, a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and
updating, by the one or more processors, the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for geographic annotation of electronic resources. In one aspect, a method includes generating a spatial index for a plurality of resources from a plurality of distinct publishers, including, for each resource of the plurality of resources: receiving a plurality of location data points for the resource, each location data point corresponding to one of a plurality of requests for the resource, and assigning each location data point for the resource to a spatial cluster of a plurality of spatial clusters, each spatial cluster corresponding to a particular geographic region. The spatial index is stored. The spatial index is used to identify a plurality of address locations for resources assigned to a spatial cluster corresponding to a first geographic region in response to a request from a requester to identify resources associated with the first geographic region.
-
Citations
29 Claims
-
1. A computer-implemented method comprising:
-
receiving, by one or more processors, from an electronic device of a user, a query for a resource; sending, by one or more processors, to the electronic device of the user, a search result corresponding to the resource; receiving, by one or more processors, a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the request for the resource is received by either; receiving, by one or more processors, an indication of the user submitting, using the electronic device, the query for the resource, and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user submits the request for the resource, or receiving, by one or more processors, an indication of the user selecting, using the electronic device, the search result corresponding to the resource and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user selects the search result corresponding to the resource; identifying, by the one or more processors, a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and updating, by the one or more processors, the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
one or more memories storing instructions; and one or more processors coupled to the one or more memories and configured to execute the instructions stored thereon to perform the following steps; receiving from an electronic device of a user, a query for a resource; sending to the electronic device of the user, a search result corresponding to the resource; receiving a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the request for the resource is received by either; receiving an indication of the user submitting, using the electronic device, the query for the resource, and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user submits the request for the resource, or receiving an indication of the user selecting, using the electronic device, the search result corresponding to the resource and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user selects the search result corresponding to the resource; identifying a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and updating the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer readable medium comprising program instructions stored thereon that are executable by a processor to cause the following steps:
-
receiving from an electronic device of a user, a query for a resource; sending to the electronic device of the user, a search result corresponding to the resource; receiving a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the request for the resource is received by either; receiving an indication of the user submitting, using the electronic device, the query for the resource, and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user submits the request for the resource, or receiving an indication of the user selecting, using the electronic device, the search result corresponding to the resource and wherein the location data point corresponds to a geographic location of the electronic device at or near the time when the user selects the search result corresponding to the resource; identifying a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and updating the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource. - View Dependent Claims (26)
-
-
27. A server system communicatively coupled to a client user device via an electronic communications network, wherein the server system comprises:
-
one or more memories storing instructions; and one or more processors coupled to the one or more memories and configured to execute the instructions stored thereon to perform the following steps; receiving, from the client user device, a request for a resource, wherein the request is submitted by a user using the client device; identifying a location data point, wherein the location data point corresponds to a geographic location of the client device at or near a time when the user submitted the request for the resource using the client device; identifying a spatial cluster of a spatial index that corresponds to the location data point, wherein the spatial cluster corresponds to a geographic region; and updating the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource using the client device.
-
-
28. A computer-implemented method comprising:
-
receiving, by one or more processors, a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the location data point is received from a content server, wherein the content server; receives a request for the resource from the user; determines the geographic location of the user at or near the time of the request; and serves content corresponding to the resource, wherein the location data point corresponds to the determined geographic location of the user at or near the time of the request; identifying, by the one or more processors, a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and updating, by the one or more processors, the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource.
-
-
29. A system comprising:
-
one or more memories storing instructions; and one or more processors coupled to the one or more memories and configured to execute the instructions stored thereon to perform the following steps; receiving a location data point, wherein the location data point corresponds to a geographic location of a user at or near a time when the user submitted a request for a resource, wherein the location data point is received from a search server, wherein the search server; receives a search request from the user; serves a set search results responsive to the search request; identifies user selection of a search result of the set of search results; and determines the geographic location of the user at or near the time the user selects the search result, wherein the location data point corresponds to the determined geographic location of the user at or near the time the user selects the search result; identifying a spatial cluster of a spatial index that corresponds to the location data point, the spatial cluster corresponding to a geographic region; and updating the spatial index to associate the resource with the identified spatial cluster such that the resource is associated with the spatial cluster corresponding to the geographic location of the user at or near the time when the user submitted the request for the resource.
-
Specification