Location service request throttling
Abstract
A technique to allow a server such as a location server to throttle concurrent or closely timed location requests for the position of a given wireless device such that within a certain time period preferably only one location request will be initiated to the positioning engine and the remaining closely-timed location requests will be buffered or cached. When a position for the given wireless device is returned per the outstanding location request, then the retrieved position will be used to respond to each of the buffered location requests. Thus, a plurality of location requests are satisfied with a single request to the positioning engine. By optimizing the use of cached position requests, throttling of location requests per the invention reduces network traffic significantly, increases the efficiency of a positioning server (therefore reducing business cost), and provides for an improved grade or quality of location based services in general.
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . A method comprising:
receiving, at a location server, a given location request for the location of a particular wireless device from a given location application; requesting, at the location server, a current location of the given wireless device in response to the given location request from the given location application; buffering, at the location server, another location request for the location of the particular wireless device in response to receiving another location request from another location application after receipt of the given location request and prior to receipt of a response to the request for the current location; receiving, at the location server, the current location of the particular wireless device; and transmitting, from the location server, the received current location to the given location application and the other location application.
3 . The method of claim 2 , further comprising:
setting, at the location server, a timer that expires after a predetermined amount of time in response to receipt of the current location of the particular wireless device; and receiving a third location request from a third location application for the location of the particular wireless device, wherein the third location request is received after receipt of the current location of the particular wireless device and prior to expiration of the timer.
4 . The method of claim 3 , wherein the predetermined amount of time is about 15 seconds.
5 . The method of claim 3 , further comprising:
receiving, at the location server, a fourth location request from a fourth location application for the location of the particular wireless device, wherein the fourth location request is received after receipt of the current location of the particular wireless device and prior to expiration of the timer, wherein the fourth location request includes a stale age parameter that indicates than an immediate update to the location of the particular wireless device is desired; and requesting, at the location server, an updated location of the given wireless device in response to the fourth location request from the fourth location application.
6 . The method of claim 5 , further comprising:
timing out, by the location server, in response to not receiving the updated location of the given wireless device within a predetermined amount of time after the request for the updated location of the particular wireless device; and providing the current location of the particular wireless device to the fourth location application in response to the timing out.
7 . The method of claim 5 , further comprising:
receiving the updated location for the particular wireless device; and resetting the timer in response to receipt of the updated location for the particular wireless device.
8 . The method of claim 2 , wherein the current location corresponds to a position measured by a global positioning system (GPS) of the particular wireless device.
9 . A location server comprising:
a non-transitory machine readable medium storing machine readable instructions; and a processor to access the non-transitory machine readable medium and execute the machine readable instructions, the machine readable instructions being configured to:
receive a given location request for the location of a particular wireless device from a given location application;
request a current location of the given wireless device in response to the given location request from the given location application;
receiving, at the location server, the current location of the particular wireless device;
set a timer that expires after a predetermined amount of time in response to the receipt of the current location of the particular wireless device;
buffer another location request for the location of the particular wireless device from another location application in response to either (i) receiving the other location request after receipt of the given location request and prior to receipt of a response to the request for the current location or (ii) receiving the other location request after receipt of the response to the request for the current location and prior to expiration of the timer; and
transmitting, from the location server, the received current location of the particular wireless device to the given location application and the other location application.
10 . The location server of claim 9 , wherein the current location of the particular wireless device corresponds to a position measured by a global positioning system (GPS) of the particular wireless device.
11 . The location server of claim 9 , wherein the predetermined amount of time is about 15 seconds.
12 . The location server of claim 9 , wherein the machine readable instructions are further configured to:
receive a third location request from a third location application for the location of the particular wireless device, wherein the third location request is received after receipt of the current location of the particular wireless device and prior to expiration of the timer, wherein the third location request includes a stale age parameter that indicates than an immediate update to the location of the particular wireless device is desired; and request an updated location of the particular wireless device in response to the third location request from the third location application.
13 . The location server of claim 12 , wherein the machine readable instructions are further configured to:
time out in response to not receiving the updated location of the particular wireless device within a predetermined amount of time after the request for the updated location of the particular wireless device; and provide the current location of the particular wireless device to the third location application in response to the timing out.
14 . The location server of claim 12 , wherein the machine readable instructions are further configured to:
receive the updated location for the particular wireless device; and reset the timer in response to receipt of the updated location for the particular wireless device.
15 . A method comprising:
transmitting, from a location server, a location request for a current location of a particular wireless device; receiving, at a location server, the current location of the particular wireless device; setting, at the location server, a timer that expires after a predetermined amount of time in response to receipt of the current location of the particular wireless device; buffering, at the location server, a given location request from a given location application for the location of the particular wireless device in response to receiving the given location request after receipt of the current location of the particular wireless device and prior to expiration of the timer; and transmitting, from the location server, the received current location to the given location.
16 . The method of claim 15 , further comprising:
buffering, at the location server, another location request from another location application for the location of the particular wireless device in response to receiving the other location request after transmitting the location request and prior to receipt of the current location; and transmitting, from the location server, the received current location to the other location application.
17 . The method of claim 15 , wherein the predetermined amount of time is about 15 seconds.
18 . The method of claim 15 , further comprising:
receiving, at the location server, another location request from another location application for the location of the particular wireless device, wherein the other location request is received after receipt of the current location and prior to expiration of the timer, wherein the other location request includes a stale age parameter that indicates than an immediate update to the location of the particular wireless device is desired; and requesting, at the location server, an updated location of the particular wireless device in response to the other location request from the other location application.
19 . The method of claim 18 , further comprising:
timing out, by the location server, in response to not receiving the updated location of the given wireless device within a predetermined amount of time after the requesting of the updated location of the particular wireless device; and providing the current location of the particular wireless device to the other location application in response to the timing out.
20 . The method of claim 18 , further comprising:
receiving the updated location for the particular wireless device; and resetting the timer in response to receipt of the updated location for the particular wireless device.
21 . The method of claim 15 , wherein the current location corresponds to a position measured by a global positioning system (GPS) of the particular wireless device.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.