Low latency client location estimation with dynamic integration of server output
First Claim
1. A computer-implemented method for estimating a location of a client device, the computer-implemented method comprising:
- generating, by a motion summarizer of a client device, a first location estimate for the client device, based on first output from at least one location sensor and corresponding to a first time period;
sending, by the client device, to a server, the first location estimate;
generating, by the motion summarizer of the client device, a second location estimate for the client device, based on the first location estimate and on second output from at least one location sensor and corresponding to a second time period subsequent to the first time period;
receiving, by the client device, from the server, after generating the second location estimate, a server location estimate for the first time period corresponding to the first location estimate, wherein the server location estimate comprises a location estimate based on a non-linear filter;
correcting, by the client device, the first location estimate based on the received server location estimate;
responsive to correcting the first location estimate, updating, by the client device, the second location estimate based on the corrected first location estimate; and
using, by the client device, the updated second location estimate to update a location-aware service of the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
A client device maintains location state data including a first location estimate of a geographic location of the client device. The first location estimate is based on a first motion measurement obtained over a first time period. The client device retrieves a second motion measurement obtained over a second time period subsequent to the first time period and uses it and the first location estimate to generate a second location estimate. The client device sends the second location estimate to a server. The server further processes the second location estimate to generate an updated second location estimate. The client device retrieves a third motion measurement and generates a third location estimate. The client device receives the updated second location estimate and uses it to adjust the third location estimate. A fourth location estimate is generated using the adjusted third location estimate.
-
Citations
20 Claims
-
1. A computer-implemented method for estimating a location of a client device, the computer-implemented method comprising:
-
generating, by a motion summarizer of a client device, a first location estimate for the client device, based on first output from at least one location sensor and corresponding to a first time period; sending, by the client device, to a server, the first location estimate; generating, by the motion summarizer of the client device, a second location estimate for the client device, based on the first location estimate and on second output from at least one location sensor and corresponding to a second time period subsequent to the first time period; receiving, by the client device, from the server, after generating the second location estimate, a server location estimate for the first time period corresponding to the first location estimate, wherein the server location estimate comprises a location estimate based on a non-linear filter; correcting, by the client device, the first location estimate based on the received server location estimate; responsive to correcting the first location estimate, updating, by the client device, the second location estimate based on the corrected first location estimate; and using, by the client device, the updated second location estimate to update a location-aware service of the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for estimating a location of a client device, the operations comprising:
-
generating, by a motion summarizer of a client device, a first location estimate for the client device, based on first output from at least one location sensor and corresponding to a first time period; sending, by the client device, to a server, the first location estimate; generating, by the motion summarizer of the client device, a second location estimate for the client device, based on the first location estimate and on second output from at least one location sensor and corresponding to a second time period subsequent to the first time period; receiving, by the client device, from the server, after generating the second location estimate, a server location estimate for the first time period corresponding to the first location estimate, wherein the server location estimate comprises a location estimate based on a non-linear filter; correcting, by the client device, the first location estimate based on the received server location estimate; responsive to correcting the first location estimate, updating, by the client device, the second location estimate based on the corrected first location estimate; and using, by the client device, the updated second location estimate to update a location-aware service of the client device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor for executing computer program instructions; and a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations for estimating a location of a client device, the operations comprising; generating, by a motion summarizer of a client device, a first location estimate for the client device, based on first output from at least one location sensor and corresponding to a first time period; sending, by the client device, to a server, the first location estimate; generating, by the motion summarizer of the client device, a second location estimate for the client device, based on the first location estimate and on second output from at least one location sensor and corresponding to a second time period subsequent to the first time period; receiving, by the client device, from the server, after generating the second location estimate, a server location estimate for the first time period corresponding to the first location estimate, wherein the server location estimate comprises a location estimate based on a non-linear filter; correcting, by the client device, the first location estimate based on the received server location estimate; responsive to correcting the first location estimate, updating, by the client device, the second location estimate based on the corrected first location estimate; and using, by the client device, the updated second location estimate to update a location-aware service of the client device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification