# US 10,502,839 B2 · Battery efficient automatic mileage tracking

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,502,839 B2
- Document ID: US10502839B2
- Status: Granted
- Kind: B2
- Application number: 15/339,895
- Filed: 2016-10-31
- Published: 2018-05-03
- Granted: 2019-12-10
- Earliest claimed: 2016-10-31
- Assignees: Intuit Inc.
- Applicants: Braden Young; Pranay Airan; Jean-Luc Delpech; Scott Garten
- Inventors: Braden Young; Pranay Airan; Jean-Luc Delpech; Scott Garten
- Web page: https://patentgrep.com/patent/US10502839B2

## CPC

- G01S 19/34: Power consumption
- G01S 19/24: Acquisition or tracking {or demodulation} of signals transmitted by the system {(synchronisation aspects of direct sequence spread spectrum modulation H04B1/7073)}
- G01S 19/393: {Trajectory determination or predictive tracking, e.g. Kalman filtering}
- G01S 19/42: Determining position
- G01S 19/52: Determining velocity
- G01S 19/14: specially adapted for specific applications
- G01S 19/39: the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S: RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES

## Abstract

A method for reducing battery consumption while automatically tracking mileage may include detecting a trip initiation event at a location of a mobile device, initiating, by activating a geolocation sensor, tracking of global positions, and obtaining a global position of the mobile device corresponding to the location. The method may further include adding the global position to a global position sequence, and detecting, using trip updating parameters, a sequence of trip updating events. The trip updating parameters may include an update distance, an update period, and a reduced update velocity. The method may further include obtaining a sequence of updated global positions corresponding to the sequence of trip updating events. The method may further include adding each updated global position to the global position sequence, detecting a trip termination event, and stopping, in response to detecting the trip termination event, the tracking of global positions by deactivating the geolocation sensor.

## Claims

### Claim 1

A method for reducing battery consumption while automatically tracking mileage, comprising:
initiating, by activating a geolocation sensor of a mobile device, tracking of global positions of the mobile device;
obtaining a first global position of the mobile device corresponding to the first location, wherein the first global position comprises a first timestamp;
adding the first global position to a first global position sequence of the first trip;
detecting, using a plurality of trip updating parameters, a sequence of trip updating events for the first trip,
wherein one or more trip updating events of the sequence of trip updating events correspond to an updated location of the mobile device,
wherein the plurality of trip updating parameters comprises an update distance, an update period, and a threshold velocity, and
wherein detecting the one or more trip updating events comprises:
when a velocity of the mobile device is below the threshold velocity, determining that a distance from the updated location to a most recently obtained global position of the first global position sequence is at least the update distance, and
when the velocity of the mobile device is at least the threshold velocity, determining that an elapsed time from a timestamp of the most recently obtained global position of the first global position sequence is at least the update period;
obtaining a sequence of updated global positions corresponding to the sequence of trip updating events, wherein each updated global position of the sequence of updated global positions comprises an updated timestamp;
adding each updated global position of the sequence of updated global positions to the first global position sequence; and
calculating a length of the first trip.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting a trip termination event for the first trip,
wherein detecting the trip termination event for the first trip comprises setting a geofence around a destination of the first trip, wherein the destination of the first trip is a last global position of the first global position sequence, and
wherein the method further comprises detecting a trip initiation event for a second trip of the mobile device, wherein detecting the trip initiation event for the second trip comprises detecting a crossing of a boundary of the geofence.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
adding the destination of the first trip to a second global position sequence of the second trip;
calculating an origin offset distance between the destination of the first trip and a next global position of the second global position sequence, wherein the next global position immediately follows the destination of the first trip in the second global position sequence;
determining that the origin offset distance exceeds an origin displacement limit; and
removing the destination of the first trip from the second global position sequence.

### Claim 4 (depends on 2)

The method of claim 2, further comprising detecting a trip initiation event for the first trip, wherein:
detecting the trip initiation event for the first trip comprises analyzing motion data obtained from a motion sensor of the mobile device, wherein the tracking is initiated in response to detecting the trip initiation event for the first trip, and
detecting the trip termination event for the first trip further comprises analyzing motion data obtained from the motion sensor of the mobile device.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the one or more trip updating events further comprises, when the velocity of the mobile device is below the threshold velocity:
determining that the velocity of the mobile device is at least a minimum driving velocity.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
adjusting one or more trip updating parameters of the plurality of trip updating parameters based on a linearity prediction for the first trip, wherein the linearity prediction is based on comparing a portion of the first global position sequence with a portion of a previous global position sequence of a previous trip.

### Claim 7

A system for reducing battery consumption while automatically tracking mileage, comprising:
a mobile device comprising a geolocation sensor, a computer processor, and a memory comprising instructions that, when executed by the computer processor, cause the computer processor to:
initiate, by activating the geolocation sensor, tracking of global positions of the mobile device;
obtain a first global position of the mobile device corresponding to the first location, wherein the first global position comprises a first timestamp;
add the first global position to a first global position sequence of the first trip;
detect, using a plurality of trip updating parameters, a sequence of trip updating events for the first trip,
wherein one or more trip updating events of the sequence of trip updating events corresponds to an updated location of the mobile device,
wherein the plurality of trip updating parameters comprises an update distance, an update period, and a threshold velocity, and
wherein detecting the one or more trip updating events comprises:
when a velocity of the mobile device is below the threshold velocity, determining that a distance from the updated location to a most recently obtained global position of the first global position sequence is at least the update distance, and
when the velocity of the mobile device is at least the threshold velocity, determining that an elapsed time from a timestamp of the most recently obtained global position of the first global position sequence is at least the update period;
obtain a sequence of updated global positions corresponding to the sequence of trip updating events, wherein each updated global position of the sequence of updated global positions comprises an updated timestamp;
add each updated global position of the sequence of updated global positions to the first global position sequence; and
a data repository storing at least the first trip.

### Claim 8 (depends on 7)

The system of claim 7, wherein the memory further comprises instructions that, when executed by the processor, cause the processor to:
detect a trip termination event for the first trip,
wherein detecting the trip termination event for the first trip comprises setting a geofence around a destination of the first trip, wherein the destination of the first trip is a last global position of the first global position sequence, and
wherein the memory further comprises instructions that, when executed by the processor, cause the processor to:
detect a trip initiation event for a second trip of the mobile device, wherein detecting the trip initiation event for the second trip comprises detecting a crossing of a boundary of the geofence.

### Claim 9 (depends on 8)

The system of claim 8, wherein the memory further comprises instructions that, when executed by the processor, cause the processor to:
add the destination of the first trip to a second global position sequence of the second trip;
calculate an origin offset distance between the destination of the first trip and a next global position of the second global position sequence, wherein the next global position immediately follows the destination of the first trip in the second global position sequence;
determine that the origin offset distance exceeds an origin displacement limit; and
remove the destination of the first trip from the second global position sequence.

### Claim 10 (depends on 8)

The system of claim 8, wherein:
the mobile device further comprises a motion sensor, and
the memory further comprises instructions that, when executed by the processor, cause the processor to:
detect a trip initiation event for the first trip,
detect the trip initiation event for the first trip by analyzing motion data obtained from the motion sensor, and
detect the trip termination event for the first trip further by analyzing motion data obtained from the motion sensor.

### Claim 11 (depends on 7)

The system of claim 7, wherein detecting the one or more trip updating events further comprises, when the velocity of the mobile device is below the threshold velocity:
determining that the velocity of the mobile device is at least a minimum driving velocity.

### Claim 12 (depends on 7)

The system of claim 7, wherein the memory further comprises instructions that, when executed by the processor, cause the processor to:
adjust one or more trip updating parameters of the plurality of trip updating parameters based on a linearity prediction for the first trip, wherein the linearity prediction is based on comparing a portion of the first global position sequence with a portion of a previous global position sequence of a previous trip.

### Claim 13

A non-transitory computer readable medium comprising instructions that, when executed by a processor, perform a method for reducing battery consumption while automatically tracking mileage, comprising:
initiating, by activating a geolocation sensor of a mobile device, tracking of global positions of the mobile device;
obtaining a first global position of the mobile device corresponding to the first location, wherein the first global position comprises a first timestamp;
adding the first global position to a first global position sequence of the first trip;
detecting, using a plurality of trip updating parameters, a sequence of trip updating events for the first trip,
wherein one or more trip updating events of the sequence of trip updating events corresponds to an updated location of the mobile device,
wherein the plurality of trip updating parameters comprises an update distance, an update period, and a threshold velocity, and
wherein detecting the one or more trip updating events comprises:
when a velocity of the mobile device is below the threshold velocity, determining that a distance from the updated location to a most recently obtained global position of the first global position sequence is at least the update distance, and
when the velocity of the mobile device is at least the threshold velocity, determining that an elapsed time from a timestamp of the most recently obtained global position of the first global position sequence is at least the update period;
obtaining a sequence of updated global positions corresponding to the sequence of trip updating events, wherein each updated global position of the sequence of updated global positions comprises an updated timestamp;
adding each updated global position of the sequence of updated global positions to the first global position sequence; and
calculating a length of the first trip.

### Claim 14 (depends on 13)

The non-transitory computer readable medium of claim 13, wherein the method further comprises:
detecting a trip termination event for the first trip,
wherein detecting the trip termination event for the first trip comprises setting a geofence around a destination of the first trip, wherein the destination of the first trip is a last global position of the first global position sequence, and
wherein the method further comprises detecting a trip initiation event for a second trip of the mobile device, wherein detecting the trip initiation event for the second trip comprises detecting a crossing of a boundary of the geofence.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein the method further comprises:
adding the destination of the first trip to a second global position sequence of the second trip;
calculating an origin offset distance between the destination of the first trip and a next global position of the second global position sequence, wherein the next global position immediately follows the destination of the first trip in the second global position sequence;
determining that the origin offset distance exceeds an origin displacement limit; and
removing the destination of the first trip from the second global position sequence.

### Claim 16 (depends on 13)

The non-transitory computer readable medium of claim 13, wherein detecting the one or more trip updating events further comprises, when the velocity of the mobile device is below the threshold velocity:
determining that a velocity of the mobile device is at least a minimum driving velocity.

### Claim 17 (depends on 13)

The non-transitory computer readable medium of claim 13, further comprising:
adjusting one or more trip updating parameters of the plurality of trip updating parameters based on a linearity prediction for the first trip, wherein the linearity prediction is based on comparing a portion of the first global position sequence with a portion of a previous global position sequence of a previous trip.
