Adaptive location updating
Abstract
A location of a network user computing device is determined relative to a location of a point of interest. If the user device is determined to be stationary, the user device is monitored for movement, the movement resulting in re-determining the location of the user device relative to a location of the point of interest. If the user device is determined to be moving, the velocity of the user device is matched with a predetermined velocity, and a preliminary estimated time of arrival to the point of interest is determined based on the predetermined velocity matched to the user device. At a later time that is based on a function of the preliminary estimated time of arrival, an estimated time of arrival to the point of interest is verified based on the predetermined velocity matched to the user device.
Claims
exact text as granted — not AI-modified1 . A computer-implemented method for location determination, comprising:
determining, using one or more computing devices, a location of a user computing device; determining, using the one or more computing devices and based on the determined location of the user computing device, a distance of the user computing device to a location of a point of interest; determining, using the one or more computing devices, a velocity of the user computing device, wherein the determined velocity indicates that the the user computing device is stationary based on a determination that the velocity of the user computing device is at or below a predetermined minimum threshold; associating, using the one or more computing devices, an assigned velocity with the user device, wherein the assigned velocity is determined based at least in part on the determined velocity of the user computing device determining, using the one or more computing devices, an estimated time of arrival to the point of interest based at least in part on the assigned velocity associated with the user device and the distance of the user computing device to the location of the point of interest; monitoring, using the one or more computing devices, at a later time determined based on the estimated time of arrival, for movement of the user computing device, movement of the user device resulting in re-determining the location of the user device relative to a location of the point of interest and determining a subsequent estimated time of arrival to the point of interest.
2 . The computer-implemented method of claim 1 , wherein the monitoring for the movement of the user computing device comprises:
monitoring, using the one or more computing devices, a velocity of the user computing device based at least in part on:
determining, using the one or more computing devices, a plurality of re-check times that decrease in frequency from a time associated with a previous location check, and
determining, using the one or more computing devices, a velocity of the user computing device at each re-check time subsequent to a time associated with a previous location check until the velocity determined at a particular re-check time determines that the user computing device is moving.
3 . The computer-implemented method of claim 1 , wherein the monitoring for the movement of the user computing device further comprises:
monitoring, using the one or more computing devices, Wi-Fi results scans of the user computing device by:
receiving, using the one or more computing devices, a first Wi-Fi results scan from the user computing device,
receiving, using the one or more computing devices, a second Wi-Fi results scan from the user computing device,
comparing, using the one or more computing devices, the first Wi-Fi results scan with the second Wi-Fi results scan, wherein a change in the Wi-Fi results determines that the user computing device has moved.
4 . The computer-implemented method of claim 3 , wherein the monitoring of the Wi-Fi results scans of the user device further comprises monitoring at least one media access control (“MAC”) address on the user computing device.
5 . The computer-implemented method of claim 1 , wherein determining a velocity of the user computing device comprises:
making, using the one or more computing devices, a series of location determinations of the user device; determining, using the one or more computing devices, a distance between each location in the series of locations; determining, using the one or more computing devices, an elapsed time between each serial location determination; determining, using the one or more computing devices, a plurality of velocities of the user computing device, wherein each of the plurality of velocities is determined between each serial location based on the distance between each serial location determination and the elapsed time between each corresponding serial location determination; and, determining, using the one or more computing devices, a velocity of the user device based on the determination of the velocity of the user device between each serial location.
6 . The computer-implemented method of claim 1 , wherein
determining an estimated time of arrival to the point of interest comprises: determining, using the one or more computing devices, a length of time to arrival at the point of interest based on a preliminary estimated time of arrival; determining, using the one or more computing devices, a plurality of re-check times based on a fraction of the length of time to arrival at the point of interest; determining, using the one or more computing devices, a second velocity of the user computing device at a re-check time; matching, using the one or more computing devices, the second velocity of the user computing device at the re-check time to a second predetermined velocity; and, determining, using the one or more computing devices, a secondary estimated time of arrival to the point of interest based on the velocity of the user device at the re-check time.
7 . The computer-implemented method of claim 1 , wherein the location of the point of interest comprises a zone boundary around a latitude and longitude of the location of the point of interest.
8 . The computer-implemented method of claim 1 , wherein, at the later time, when the user device is determined to be moving based on a determination that a subsequent velocity of the user device at the later time is above the predetermined minimum threshold:
associating, using the one or more computing devices, a subsequent assigned velocity with the user device, wherein the subsequent assigned velocity is determined based at least in part on the subsequent determined velocity of the user computing device determining, using the one or more computing devices, a subsequent estimated time of arrival to the point of interest based at least in part on the assigned subsequent velocity associated with the user device and a subsequent distance of the user computing device to the location of the point of interest; invoking an application on the user device at the subsequent estimated time of arrival.
9 . The computer-implemented method of claim 8 , wherein the application on the user computing device presents an alert for display on the user computing device regarding the point of interest.
10 . (canceled)
11 . (canceled)
12 . (canceled)
13 . A system to determine locations of user computing devices, the system comprising:
a storage device; a processor communicatively coupled to the storage device, wherein the processor executes application code instructions that are stored in the storage device to cause the system to:
determine a location of a user computing device;
determine, based on the determined location of the user computing device, a distance of the user computing device to a location of a point of interest;
determine a velocity of the user computing device, wherein the determined velocity indicates that the user computing device is stationary based on a determination that velocity of the user computing device is at or below a predetermined minimum threshold;
associate an assigned velocity with the user device, wherein the assigned velocity is determined based at least in part on the determined velocity of the user computing device;
determine an estimated time of arrival to the point of interest based at least in part on the assigned velocity associated with the user device and the distance of the user computing device to the location of the point of interest; and,
monitor, at a later time determined based on the estimated time of arrival, the user computing device for movement, the movement of the user device resulting in re-determining the location of the user computing device relative to a location of the point of interest;
14 . (canceled)
15 . The system of claim 13 , wherein the monitoring for the movement of the user computing device further comprises:
monitoring Wi-Fi results scans of the user computing device by receiving a first Wi-Fi results scan from the user computing device, receiving a second Wi-Fi results scan from the user computing device, comparing the first Wi-Fi results scan with the second Wi-Fi results scan, wherein a change in the Wi-Fi results determines that the user computing device has moved.
16 . The system of claim 15 , wherein the monitoring of the Wi-Fi results scans of the user computing device further comprises monitoring at least one media access control (“MAC”) address on the user computing device.
17 . The system of claim 13 , wherein determining whether the velocity of the user computing device comprises:
making, using the one or more computing devices, a series of location determinations of the user computing device; determining, using the one or more computing devices, a distance between each location in the series of locations; determining, using the one or more computing devices, an elapsed time between each serial location determination; determining, using the one or more computing devices, a plurality of velocities of the user computing device, wherein each of the plurality of velocities is determined between each serial location based on the distance between each serial location determination and the elapsed time between each corresponding serial location determination; and, determining, using the one or more computing devices, a velocity of the user device based on the determination of the velocity of the user device between each serial location.
18 . The system of claim 13 , wherein determining the estimated time of arrival to the point of interest comprises:
determining, using the one or more computing devices, a length of time to arrival at the point of interest based on a preliminary estimated time of arrival; determining, using the one or more computing devices, a plurality of re-check times based on a fraction of the length of time to arrival at the point of interest; determining, using the one or more computing devise, a second velocity of the user computing device at a re-check time; matching, using the one or more computing devices, the second velocity of the user computing device at the re-check time to a second predetermined velocity; and, determining, using the one or more computing devices, a secondary estimated time of arrival to the point of interest based on the velocity of the user device at the re-check time.
19 . The system of claim 13 , wherein the location of the point of interest comprises a zone boundary around a latitude and longitude of the location of the point of interest.
20 . The system of claim 13 , further comprising, at the later time, when the user device is determined to be moving based on a determination that a subsequent velocity of the user device at the later time is above the predetermined minimum threshold:
associating, using the one or more computing devices, a subsequent assigned velocity with the user device, wherein the subsequent assigned velocity is determined based at least in part on the subsequent determined velocity of the user computing device determining, using the one or more computing devices, a subsequent estimated time of arrival to the point of interest based at least in part on the assigned subsequent velocity associated with the user device and a subsequent distance of the user computing device to the location of the point of interest; invoking an application on the user device at the subsequent estimated time of arrival.
21 . A computer program product, comprising:
a non-transitory computer-executable storage device having computer-readable program instructions embodied thereon that when executed by a computer cause the computer to alert users with estimated times of arrival to points of interest based on assigned predetermined velocities of user computing devices, the computer-executable program instructions comprising:
computer-executable program instructions to determine a location of a user computing device;
computer-executable program instructions to determine, based on the determined location of the user computing device, a distance of the user computing device to a location of a point of interest;
computer-executable program instructions to determine a velocity of the user computing device, wherein the determined velocity indicates that the user computing device is stationary based on a determination that the velocity of the user computing is at or below a predetermined minimum threshold;
computer-executable program instructions to determine an estimated time of arrival to the point of interest based at least in part on the assigned velocity associated with the user computing device and the distance of the user computing device to the location of the point of interest,
computer-executable program instructions to transmit instructions to invoke an application on the user computing device at the estimated time of arrival to cause the application to present an alert on the user computing device regarding the point of interest;
22 . The computer program product of claim 21 , wherein the monitoring for movement of the user computing device comprises:
monitoring a velocity of the user computing device based at least in part on:
determining a plurality of re-check times that decrease in frequency from a time associated with a previous location check, and
determining a velocity of the user computing device at each re-check time subsequent to a time associated with a previous location check until the velocity determined at a particular re-check time determines that the user computing device is moving.
23 . The computer program product of claim 21 , wherein the monitoring for the movement of the user device further comprises:
monitoring Wi-Fi results scans of the user computing device by
receiving a first Wi-Fi results scan from the user computing device,
receiving a second Wi-Fi results scan from the user computing device,
comparing the first Wi-Fi results scan with the second Wi-Fi results scan, wherein a change in the Wi-Fi results determines that the user computing device has moved.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.