IP Library Granted Patent US 8,914,393
Granted Patent B2
US 8,914,393 · App. 13/685,246 · Granted Dec 16, 2014

Search results using density-based map tiles

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 8,914,393
App. No.
13/685,246
Granted
Dec 16, 2014
Kind
B2
Abstract

In one embodiment, a method includes accessing a map comprising a plurality of tiles representing a plurality of geographic areas, respectively, where each tile comprises a plurality of objects having locations within the tile, and each tile has below a threshold number of objects located within the tile; receiving a first query from a first user that includes a first location within a first tile; identifying one or more objects corresponding to the first query, where each identified object has a location within the first tile; and generating search results comprising references to one or more of the identified objects.

Claims (52)

1. A method comprising, by a computing device:

accessing a map comprising a plurality of tiles representing a plurality of geographic areas, respectively, wherein each tile comprises a plurality of objects having locations within the tile, and wherein the map is divided into the plurality of tiles such that each tile has an approximately constant object density, each tile having below a threshold number of objects located within the tile;

receiving, from a client device of a first user, a first query for one or more objects, the first query comprising a first location within a first tile;

identifying, responsive to the first query, a plurality of objects corresponding to the first query, one or more of the identified objects having a location within the first tile; and

generating search results comprising references to a plurality of the identified objects, wherein a threshold number of the search results comprise references to identified objects having a location within the first tile.

2. The method of claim 1 , wherein the plurality of tiles comprises tiles of a plurality of sizes.

3. The method of claim 1 , further comprising generating the plurality of tiles by:

accessing the map;

generating a first set of tiles at a first level, wherein each tile of the first set of tiles has a first number of objects having locations within the tile; and

for each tile in the first set of tiles having a number of objects greater than or equal to the threshold number of objects, generating a second set of tiles at a second level within the tile.

4. The method of claim 1 , further comprising generating the plurality of tiles by:

accessing the map, wherein the map comprises N levels of tiles; and

for each level m of levels 1 to N−1:

for each tile in level m:

calculating the number of objects located within the tile; and

if the number of objects is greater than or equal to the threshold number of objects, then generating a set of tiles at level m+1 with the tile.

5. The method of claim 1 , further comprising:

transmitting the search results to a client system associated with the first user.

6. The method of claim 1 , wherein identifying one or more objects corresponding to the first query comprises:

calculating a distance for each object from the first location;

identifying one or more object having a distance less than a threshold distance from the first location.

7. The method of claim 1 , further comprising:

ranking the identified objects; and

wherein generating search results comprising references to one or more of the identified objects comprises generating search results comprising references to one or more of the identified objects having a raking greater than a threshold ranking.

8. The method of claim 1 , wherein the map comprises N levels of tiles organized in a tree-data structure having a root node corresponding to the map and a plurality of child nodes corresponding to the tiles.

9. The method of claim 1 , wherein the first location is received from a geographic-position component of a client system associated with the first user.

10. The method of claim 1 , wherein the first location is based on one or more of a global position system (GPS) signal, a Wi-Fi signal, or a cellular radio signal.

11. The method of claim 1 , wherein the first location is based on a search history associated with the first user.

12. The method of claim 1 , further comprising:

accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:

a first-user node corresponding to the first user, the first user being associated with an online social network; and

a plurality of second nodes that each correspond to a concept or a second user associated with the online social network, each second node being associated with a second location; and

wherein identifying one or more objects corresponding to the first query comprises identifying one or more second nodes corresponding to the first query.

13. The method of claim 12 , wherein identifying one or more second nodes corresponding to the first query comprises:

for each object in the first tile, calculating a degree of separation between the first-user node and the second node associated with the object; and

identifying one or more objects having a degree of separation less than a threshold degree of separation.

14. The method of claim 1 , further comprising:

identifying one or more neighboring tiles of the first tile; and

wherein each identified object has a location within either the first tile or one of the neighboring tiles.

15. The method of claim 1 , further comprising:

identifying a parent tile of the first tile; and

wherein each identified object has a location within either the first tile or the parent tile.

16. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

access a map comprising a plurality of tiles representing a plurality of geographic areas, respectively, wherein each tile comprises a plurality of objects having locations within the tile, and wherein the map is divided into the plurality of tiles such that each tile has an approximately constant object density, each tile having below a threshold number of objects located within the tile;

receive, from a client device of a first user, a first query for one or more objects, the first query comprising a first location within a first tile;

identify, responsive to the first query, a plurality of objects corresponding to the first query, one or more of the identified objects having a location within the first tile; and

generate search results comprising references to a plurality of the identified objects, wherein a threshold number of the search results comprise references to identified objects having a location within the first tile.

17. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

access a map comprising a plurality of tiles representing a plurality of geographic areas, respectively, wherein each tile comprises a plurality of objects having locations within the tile, and wherein the map is divided into the plurality of tiles such that each tile has an approximately constant object density, each tile having below a threshold number of objects located within the tile;

receive, from a client device of a first user, a first query for one or more objects, the first query comprising a first location within a first tile;

identify, responsive to the first query, a plurality of objects corresponding to the first query, one or more of the identified objects having a location within the first tile; and

generate search results comprising references to a plurality of the identified objects, wherein a threshold number of the search results comprise references to identified objects having a location within the first tile.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →