IP Library Granted Patent US 10,122,810
Granted Patent B2
US 10,122,810 · App. 15/646,655 · Granted Nov 6, 2018

Implicit geolocation of social networking users

Inventors: Pierre Moreels (San Jose, CA); Mukund Narasimhan (Bellevue, WA)
Assignee: Facebook, Inc.
H04L67/22G06Q10/0833G06Q30/0261G06Q50/01H04L67/18H04W4/029H05K999/99
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 10,122,810
App. No.
15/646,655
Granted
Nov 6, 2018
Kind
B2
Abstract

In one embodiment, one or more computing systems receive a request for a location prediction for a user from a service. The computing systems access one or more real-time location signals and one or more aggregated location signals. The aggregated location signals may comprise one or more previous location signals. The computing systems may then generate one or more location predictions from the one or more real-time location signals and the one or more aggregated location signals, and calculate a single location prediction for the user from the one or more location predictions. The computing systems may then send, in response to the request, the single location prediction for the user to the requesting service.

Claims (35)

1. A method comprising, by one or more computing systems:

receiving, from a requesting service, a request for a location prediction for a user;

generating a current location prediction from a plurality of previous location signals, wherein each previous location signal comprises an indication of the user's location at a respective time prior to a predetermined time span, and wherein each previous location signal is weighted based on (1) a type of the previous location signal and (2) a difference between a current time and the respective time for the previous location signal; and

sending, in response to the request, the current location prediction for the user to the requesting service.

2. The method of claim 1 , wherein the plurality of previous location signals comprise the user's IP address.

3. The method of claim 1 , wherein the plurality of previous location signals comprise a self-declared user location.

4. The method of claim 1 , wherein the plurality of previous location signals comprise real-time location signals received before the predetermined time span.

5. The method of claim 1 , wherein generating the current location prediction further comprises weighting the plurality of previous location signals based on a relative reliability of each previous location signal.

6. The method of claim 1 , further comprising storing, when each previous location signal is received, each previous location signal in a histogram, wherein each previous location signal is weighted based on predetermined time decay for the histogram.

7. The method of claim 1 , further comprising storing, when each previous location signal is received, each previous location signal in one of a fast decay histogram or a slow decay histogram, wherein the fast-decay histogram comprises previous location signals of a first type, and the slow-decay histogram comprises previous location signals of a second type.

8. The method of claim 1 , further comprising:

generating a plurality of location predictions; and

filtering the plurality of location predictions based on a set of rules to generate the current location prediction, wherein the set of rules comprises filtering out location predictions that exceed a predetermined geographic radius from a location associated with the user's IP address.

9. The method of claim 1 , wherein generating the current location prediction comprises calculating a weighted average for a plurality of location predictions, wherein a weight of each prediction is based at least in part on a source of signals from which the prediction was generated.

10. The method of claim 1 , wherein generating the current location prediction comprises weighting each previous location signal, and wherein the weight applied to each previous location signals is determined via a machine learning algorithm.

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

receive, from a requesting service, a request for a location prediction for a user;

generate a current location prediction from a plurality of previous location signals, wherein each previous location signal comprises an indication of the user's location at a respective time prior to a predetermined time span, and wherein each previous location signal is weighted based on (1) a type of the previous location signal, and (2) a difference between a current time and the respective time for the previous location signal; and

send, in response to the request, the current location prediction for the user to the requesting service.

12. The media of claim 11 , wherein the plurality of previous location signals comprise the user's IP address.

13. The media of claim 11 , wherein the plurality of previous location signals comprise a self-declared user location.

14. The media of claim 11 , wherein the plurality of previous location signals comprise real-time location signals received before the predetermined time span.

15. The media of claim 11 , wherein generating the current location prediction further comprises weighting the plurality of previous location signals based on a relative reliability of each previous location signal.

16. The media of claim 11 , wherein the software is further operable to store, when each previous location signal is received, each previous location signal in a histogram, wherein each previous location signal is weighted based on predetermined time decay for the histogram.

17. The media of claim 11 , wherein the software is further operable to store, when each previous location signal is received, each previous location signal in one of a fast decay histogram or a slow decay histogram, wherein the fast-decay histogram comprises previous location signals of a first type, and the slow-decay histogram comprises previous location signals of a second type.

18. The media of claim 11 , wherein the software is further operable to:

generate a plurality of location predictions; and

filter the plurality of location predictions based on a set of rules to generate the current location prediction, wherein the set of rules comprises filtering out location predictions that exceed a predetermined geographic radius from a location associated with the user's IP address.

19. The media of claim 11 , wherein generating the current location prediction comprises calculating a weighted average for a plurality of location predictions, wherein a weight of each prediction is based at least in part on a source of signals from which the prediction was generated.

20. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

receive, from a requesting service, a request for a location prediction for a user;

generate a current location prediction from a plurality of previous location signals, wherein each previous location signal comprises an indication of the user's location at a respective time prior to a predetermined time span, and wherein each previous location signal is weighted based on (1) a type of the previous location signal, and (2) a difference between a current time and the respective time for the previous location signal; and

send, in response to the request, the current location prediction for the user to the requesting service.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
Continuity (3)
Continuation 14594895 · Jan 12, 2015
Continuation 13588956 · Aug 17, 2012
Related Publication 20170310776A1 · Oct 26, 2017