Network-based location determination
AssigneeFacebook, Inc.
InventorsChristopher Jon Kappler, Kuan-Yu Tseng, Qizhen Ruan
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method includes receiving a request from a client device; sending data to the client device from a plurality of geographically distributed servers in response to the request from the client device; and receiving, from the client device, a feature vector representing a network distance for each of the plurality of geographically distributed servers relative to the client device. The network distance is based on at least in part on a measure of network conditions associated with the request and the response to the request. The method also includes determining, based at least in part on the received feature vector, a location of the client device.
Claims20
A method comprising:
- receiving, by a plurality of geographically distributed servers, a request from a client device;
- sending data to the client device from the plurality of geographically distributed servers in response to the request from the client device, the plurality of geographically distributed servers being associated with a social-networking system;
- measuring, by the plurality of geographically-distributed servers, network distances between the client device and the geographically distributed servers, wherein the network distances are measured based on each geographically distributed server measuring their respective network distance from the client device in parallel with other geographically distributed servers of the plurality of geographically-distributed servers;
- sending, to the client device, measured network distances by the plurality of geographically distributed servers;
- receiving, by a computing device of the social-networking system from the client device, a feature vector representing the measured network distances by the plurality of geographically distributed servers and information identifying a geographically distributed server associated with each network distance, wherein the network distance is based on at least in part on a measure of network conditions associated with the request and the response to the request;
- determining, by the computing device of the social-networking system based at least in part on the received feature vector, a location of the client device;
- and
- sending, by the computing device of the social-networking system, a notification associated with the determined location to the client device.
One or more computer-readable non-transitory storage media embodying software configured when executed to:
- receive, by a plurality of geographically distributed servers, a request from a client device;
- send data to the client device from the plurality of geographically distributed servers in response to the request from the client device, the plurality of geographically distributed servers being associated with a social-networking system;
- measure, by the plurality of geographically distributed servers, network distances between the client device and the geographically distributed servers, wherein the network distances are measured based on each geographically distributed server measuring their respective network distance from the client device in parallel with other geographically distributed servers of the plurality of geographically-distributed servers;
- send, to the client device, measured network distances by the plurality of geographically distributed servers;
- receive, from the client device, a feature vector representing the measured network distances by the plurality of geographically distributed servers and information identifying a geographically distributed server associated with each network distance, wherein the network distance is based on at least in part on a measure of network conditions associated with the request and the response to the request;
- determine, based at least in part on the received feature vector, a location of the client device;
- and
- send a notification associated with the determined location to the client device.
A device comprising:
- one or more processors;
- and
- one or more computer-readable non-transitory storage media coupled to the processors and embodying software configured when executed to:
- receive, by a plurality of geographically distributed servers, a request from a client device;
- send data to the client device from the plurality of geographically distributed servers in response to the request from the client device, the plurality of geographically distributed servers being associated with a social-networking system;
- measure, by the plurality of geographically-distributed servers, network distances between the client device and the geographically distributed servers, wherein the network distances are measured based on each geographically distributed server measuring their respective network distance from the client device in parallel with other geographically distributed servers of the plurality of geographically-distributed servers;
- send, to the client device, measured network distances by the plurality of geographically distributed servers;
- receive, from the client device, a feature vector representing the measured network distances by the plurality of geographically distributed servers and information identifying a geographically distributed server associated with each network distance, wherein the network distance is based on at least in part on an amount of time associated with the request and the response to the request;
- determine, based at least in part on the received feature vector, a location of the client device;
- and
- send a notification associated with the determined location to the client device.
Dependencies are inferred from the claim text.