IP Library Granted Patent US 10,841,787
Granted Patent B2
US 10,841,787 · App. 16/195,243 · Granted Nov 17, 2020

System and method for providing location information

Inventor: Andrew Weiss (San Ramon, CA)
Assignee: Location Labs, Inc.
H04W8/10
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,841,787
App. No.
16/195,243
Granted
Nov 17, 2020
Kind
B2
Abstract

A computer implemented method for determining the location of a target device is disclosed. A locate request is received for the target device. The locate request is forwarded. A locate for the target device in response to the locate request is received, the locate including a location and a location accuracy. The received location accuracy is compared with an accuracy threshold, and a calculated location of the target device is forwarded when the received location accuracy is not within the accuracy threshold.

Claims (48)

1. A computer-implemented method for determining a location of a first device comprising:

maintaining a historic record of locate request times for the first device;

receiving a locate request for the first device from a second device via a network;

forwarding the locate request for the first device;

transmitting signals by the first device to a telecommunications carrier system;

receiving a locate for the first device in response to the locate request, the locate including a tuple including a latitude, a longitude, and a location accuracy, and the location accuracy determined as a function of a strength of a signal received by the telecommunications carrier system from the first device;

comparing the time of the locate request to times of prior requests stored in the historic record;

determining an accuracy threshold based on the comparing of the time of the locate request and the times of the prior requests;

comparing the received location accuracy with the accuracy threshold;

forwarding to the telecommunication carrier system a set of repeat locate requests for the first device when the received location accuracy is not within the accuracy threshold, the repeat locate requests performed serially, wherein it is determined that the telecommunication carrier system completes processing of a particular location request prior to initiating a subsequent location request;

receiving a set of locates for the first device, wherein the set of locates comprises a plurality of tuples including a plurality of latitudes, a plurality of longitudes, and a plurality of location accuracies, the plurality of location accuracies determined as a function of strengths of respective signals received by the telecommunications carrier system from the first device;

calculating the location of the first device based on the plurality of latitudes, the plurality of longitudes, and the plurality of location accuracies of the set of locates; and

forwarding the calculated location of the first device to the second device.

2. The computer-implemented method of claim 1 , wherein calculating the location of the first device comprises determining a weighted centroid of the set of locates.

3. The computer-implemented method of claim 2 , wherein the weighted centroid of the set of locates is determined based on the plurality of location accuracies of the set of locates.

4. The computer-implemented method of claim 1 , the set of repeat locate requests comprising at least seven (7) serially performed locate requests.

5. The computer-implemented method of claim 1 , further comprising:

determining a locate loading on the telecommunication carrier system; and

determining the number of locate requests to be forwarded based on the determined locate loading on the telecommunication carrier system.

6. A location server for determining a location of a first device, the location server comprising a processor for performing a computer-implemented method, the method including:

maintaining a historic record of locate request times for the first device;

receiving a locate request for the first device from a second device via a network;

transmitting signals by the first device to a telecommunications carrier system;

receiving a locate for the first device in response to the locate request from the second device via the network, the locate including a tuple including a latitude, a longitude, and a location accuracy, and the location accuracy determined as a function of a strength of a signal received by the telecommunications carrier system from the first device;

comparing the time of the locate request to times of prior requests stored in the historic record;

determining an accuracy threshold based on the comparing of the time of the locate request and the times of the prior requests;

comparing the received location accuracy with the accuracy threshold;

forwarding to the telecommunication carrier system a set of repeat locate requests for the first device when the received location accuracy is not within the accuracy threshold, the repeat locate requests performed serially, wherein it is determined that the telecommunication carrier system completes the processing of a particular location request prior to initiating a subsequent location request;

receiving a set of locates for the first device, wherein the set of locates comprises a plurality of tuples including a plurality of latitudes, a plurality of longitudes, and a plurality of location accuracies, the plurality of location accuracies determined as a function of strengths of respective signals received by the telecommunications carrier system from the first device;

calculating the location of the first device based on the plurality of latitudes, the plurality of longitudes, and the plurality of location accuracies of the set of locates; and

forwarding the calculated location of the first device to the second device.

7. The location server of claim 6 , wherein the calculating the location of the first device by the processor comprises determining a weighted centroid of the set of locates.

8. The location server of claim 7 , wherein the weighted centroid of the set of locates is determined based on the plurality of location accuracies of the set of locates.

9. A computer-implemented method for determining a location of a first device comprising:

maintaining a historic record of locate request times for the first device;

receiving a locate request for the first device from a second device via a network;

forwarding the locate request for the first device;

transmitting signals by the first device to a telecommunications carrier system;

receiving a locate for the first device in response to the locate request, the locate including a tuple including a latitude, a longitude, and a location accuracy, and the location accuracy determined as a function of a strength of a signal received by the telecommunications carrier system from the first device;

comparing the time of the locate request to times of prior requests stored in the historic record;

determining an accuracy threshold based on the comparing of the time of the locate request and the times of the prior requests;

comparing the received location accuracy with the accuracy threshold;

forwarding to the telecommunication carrier system a set of repeat locate requests for the first device when the received location accuracy is not within the accuracy threshold, the repeat locate requests performed serially, wherein it is determined that the telecommunication carrier system completes processing of a particular location request prior to initiating a subsequent location request;

receiving a set of locates for the first device, wherein the set of locates comprises a plurality of tuples including a plurality of latitudes, a plurality of longitudes, and a plurality of location accuracies, the plurality of location accuracies determined as a function of strengths of respective signals received by the telecommunications carrier system from the first device;

determining a cumulative accuracy of the set of locates;

selecting a number of the set of locates based on the cumulative accuracy of the set of locates;

calculating the location of the first device based on the plurality of latitudes, the plurality of longitudes, and the plurality of location accuracies of the selected number of the set of locates; and

forwarding the calculated location of the first device to the second device.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2021
From: LOCATION LABS, INC.
To: LOCATION LABS, LLC.
Reel/Frame 057908/0949 →
CHANGE OF NAME Recorded Oct 25, 2021
From: LOCATION LABS, LLC.
To: SMITH MICRO SOFTWARE, LLC
Reel/Frame 057909/0020 →
Continuity (2)
Continuation 13345118 · Jan 6, 2012
Related Publication 20190090121A1 · Mar 21, 2019