IP Library Granted Patent US 11,067,409
Granted Patent B2
US 11,067,409 · App. 16/028,927 · Granted Jul 20, 2021

Distributed data processing systems for processing remotely captured sensor data

Inventors: Pratheek M. Harish (Ontario, CA); Benjamin Robertson Yeomans (Greensboro, NC); Alexander Herrmann (Chicago, IL); Kyle Patrick Schmitt (Chicago, IL); Dipti Karmarkar (Hoffman Estates, IL)
Assignee: Allstate Insurance Company
G01C21/3617G01C21/20G01C21/3461G01C21/3476G01C21/362G01P1/07G01P13/00G05D1/0011G05D1/0212G05D1/0276G06F3/14G06F3/147G06F3/1454G06F9/542G06Q40/08G07C5/008G07C5/02G07C5/085G08G1/0112G08G1/0129G08G1/096844H04L67/10H04L67/12H04L67/18H04W4/021H04W4/026H04W4/029H04W4/38G05D2201/0213G06F3/0484G06F16/22H04W4/40
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 11,067,409
App. No.
16/028,927
Granted
Jul 20, 2021
Kind
B2
Abstract

Aspects of the disclosure relate to processing remotely captured sensor data. A computing platform having at least one processor, a communication interface, and memory may receive, via the communication interface, from a user computing device, sensor data captured by the user computing device using one or more sensors built into the user computing device. Subsequently, the computing platform may analyze the sensor data received from the user computing device by executing one or more data processing modules. Then, the computing platform may generate trip record data based on analyzing the sensor data received from the user computing device and may store the trip record data in a trip record database. In addition, the computing platform may generate user record data based on analyzing the sensor data received from the user computing device and may store the user record data in a user record database.

Claims (76)

1. A computing system, comprising:

at least one user computing device including one or more sensors and storing instructions that, when executed, cause the at least one user computing device to:

capture, by a first user computing device of the at least one user computing device, first sensor data using one or more sensors built into the first user computing device, wherein the first sensor data is captured by the first user computing device during a first vehicle trip; and

capture, by the first user computing device of the at least one user computing device, second sensor data using the one or more sensors built into the first user computing device, wherein the second sensor data is captured by the first user computing device during a second vehicle trip; and

a computing platform, comprising:

at least one processor;

a communication interface; and

memory storing computer-readable instructions that, when executed by the at least one processor, cause the at least one processor to:

receive, via the communication interface, from the first user computing device, the first sensor data captured by the first user computing device;

analyze the first sensor data received from the first user computing device to identify an end location of the first vehicle trip;

based on analyzing the first sensor data received from the first user computing device to identify the end location of the first vehicle trip, update a user-specific listing of trip-end locations;

after updating the user-specific listing of trip-end locations, receive, via the communication interface, from the first user computing device, the second sensor data captured by the first user computing device;

determine a distance between the end location of the first vehicle trip and a start location of the second vehicle trip;

based on the distance between the end location of the first vehicle trip and the start location of the second vehicle trip, generate driver-detection data indicative of whether a user of the first user computing device is a driver of a vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

store, in at least one database maintained by the at least one processor and accessible to one or more data analysis modules associated with the at least one processor, the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip,

wherein generating the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip comprises:

generating data indicating that the user of the first user computing device is a driver of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip does not exceed a user-specific distance threshold; and

generating data indicating that the user of the first user computing device is a passenger of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip exceeds the user-specific distance threshold, and

wherein the user-specific distance threshold is learned by the at least one processor based on information indicating end points of multiple previous trips taken by the user of the first user computing device and information indicating how closely to each end point of each previous trip of the multiple previous trips a subsequent vehicle trip started,

based on storing the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, generate a notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

send, via the communication interface, to the first user computing device, the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, wherein sending the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip causes the first user computing device to prompt the first user associated with the first user computing device to confirm whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip; and

update the user-specific distance threshold based on a response from the first user computing device confirming whether the user of the first user computing device was a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip.

2. The computing system of claim 1 , wherein receiving the first sensor data captured by the first user computing device comprises receiving data captured by one or more of an accelerometer, a gyroscope, a magnetometer, a barometer, a gravitometer, a proximity sensor, an ambient light sensor, an ambient temperature sensor, an orientation sensor, a pedometer, an altimeter, a satellite positioning sensor, or an activity recognition sensor built into the first user computing device.

3. The computing system of claim 1 , wherein receiving the first sensor data from the first user computing device comprises receiving location data identifying geographic coordinates of the end location of the first vehicle trip.

4. The computing system of claim 1 , wherein analyzing the first sensor data received from the first user computing device to identify the end location of the first vehicle trip comprises determining the end location of the first vehicle trip by determining an exit point associated with a time window in which the user of the first user computing device exited a vehicle during the first vehicle trip.

5. The computing system of claim 4 , wherein determining the exit point associated with the time window in which the user of the first user computing device exited the vehicle during the first vehicle trip comprises using a sliding window approach to determine a point in time at which the user of the first user computing device exited the vehicle during the first vehicle trip, and wherein using the sliding window approach to determine the point in time at which the user of the first user computing device exited the vehicle during the first vehicle trip comprises creating 3-second or 5-second window frames that form a partially-overlapping sequence.

6. The computing system of claim 4 , wherein determining the exit point associated with the time window in which the user of the first user computing device exited the vehicle during the first vehicle trip comprises assigning probability values to a plurality of time windows associated with possible times at which the user of the first user computing device exited the vehicle during the first vehicle trip.

7. The computing system of claim 1 , wherein the user-specific listing of trip-end locations comprises information identifying one or more locations at which one or more previous vehicle trips taken by the user of the first user computing device ended.

8. The computing system of claim 1 , wherein receiving the second sensor data from the first user computing device comprises receiving location data identifying geographic coordinates of the start location of the second vehicle trip.

9. The computing system of claim 1 , wherein the memory stores additional computer-readable instructions that, when executed by the at least one processor, cause the at least one processor to:

based on storing the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, send, to a data analyst console computing device, detection data indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, wherein sending the detection data to the data analyst console computing device causes the data analyst console computing device to wake and display driver-detection information identifying whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip.

10. A method, comprising:

at least one user computing device including one or more sensors:

capturing, by a first user computing device of the at least one user computing device, first sensor data using one or more sensors built into the first user computing device, wherein the first sensor data is captured by the first user computing device during a first vehicle trip; and

capturing, by the first user computing device of the at least one user computing device, second sensor data using the one or more sensors built into the first user computing device, wherein the second sensor data is captured by the first user computing device during a second vehicle trip, and

at a computing platform comprising at least one processor, a communication interface, and memory:

receiving, by the at least one processor, via the communication interface, from the first user computing device, the first sensor data captured by the first user computing device;

analyzing, by the at least one processor, the first sensor data received from the first user computing device to identify an end location of the first vehicle trip;

based on analyzing the first sensor data received from the first user computing device to identify the end location of the first vehicle trip, updating, by the at least one processor, a user-specific listing of trip-end locations;

after updating the user-specific listing of trip-end locations, receiving, by the at least one processor, via the communication interface, from the first user computing device, the second sensor data captured by the first user computing device;

determining, by the at least one processor, a distance between the end location of the first vehicle trip and a start location of the second vehicle trip;

based on the distance between the end location of the first vehicle trip and the start location of the second vehicle trip, generating, by the at least one processor, driver-detection data indicative of whether a user of the first user computing device is a driver of a vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

storing, by the at least one processor, in at least one database maintained by the at least one processor and accessible to one or more data analysis modules associated with the at least one processor, the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip,

wherein generating the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip comprises:

generating data indicating that the user of the first user computing device is a driver of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip does not exceed a user-specific distance threshold; and

generating data indicating that the user of the first user computing device is a passenger of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip exceeds the user-specific distance threshold, and

wherein the user-specific distance threshold is learned by the at least one processor based on information indicating end points of multiple previous trips taken by the user of the first user computing device and information indicating how closely to each end point of each previous trip of the multiple previous trips a subsequent vehicle trip started,

based on storing the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, generating, by the at least one processor, a notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

sending, by the at least one processor, via the communication interface, to the first user computing device, the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, wherein sending the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip causes the first user computing device to prompt the first user associated with the first user computing device to confirm whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip; and

updating, by the at least one processor, the user-specific distance threshold based on a response from the first user computing device confirming whether the user of the first user computing device was a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip.

11. The method of claim 10 , wherein receiving the first sensor data captured by the first user computing device comprises receiving data captured by one or more of an accelerometer, a gyroscope, a magnetometer, a barometer, a gravitometer, a proximity sensor, an ambient light sensor, an ambient temperature sensor, an orientation sensor, a pedometer, an altimeter, a satellite positioning sensor, or an activity recognition sensor built into the first user computing device.

12. The method of claim 10 , wherein receiving the first sensor data from the first user computing device comprises receiving location data identifying geographic coordinates of the end location of the first vehicle trip.

13. The method of claim 10 , wherein analyzing the first sensor data received from the first user computing device to identify the end location of the first vehicle comprises determining the end location of the first vehicle trip by determining an exit point associated with a time window in which the user of the first user computing device exited a vehicle during the first vehicle trip.

14. The method of claim 10 , wherein the user-specific listing of trip-end locations comprises information identifying one or more locations at which one or more previous vehicle trips taken by the user of the first user computing device ended.

15. The method of claim 10 , wherein receiving the second sensor data from the first user computing device comprises receiving location data identifying geographic coordinates of the start location of the second vehicle trip.

16. The method of claim 10 , comprising:

based on storing the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, sending, by the at least one processor, to a data analyst console computing device, detection data indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, wherein sending the detection data to the data analyst console computing device causes the data analyst console computing device to wake and display driver-detection information identifying whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip.

17. One or more non-transitory computer-readable media storing instructions that,

when executed by at least one user computing device including one or more sensors, cause the at least one user computing device to:

capture, by a first user computing device of the at least one user computing device, first sensor data using one or more sensors built into the first user computing device, wherein the first sensor data is captured by the first user computing device during a first vehicle trip; and

capture, by the first user computing device of the at least one user computing device, second sensor data using the one or more sensors built into the first user computing device, wherein the second sensor data is captured by the first user computing device during a second vehicle trip, and

when executed by a computing platform comprising at least one processor, a communication interface, and memory, cause the at least one processor to:

receive, via the communication interface, from the first user computing device, the first sensor data captured by the first user computing device;

analyze the first sensor data received from the first user computing device to identify an end location of the first vehicle trip;

based on analyzing the first sensor data received from the first user computing device to identify the end location of the first vehicle trip, update a user-specific listing of trip-end locations;

after updating the user-specific listing of trip-end locations, receive, via the communication interface, from the first user computing device, the second sensor data captured by the first user computing device;

determine a distance between the end location of the first vehicle trip and a start location of the second vehicle trip;

based on the distance between the end location of the first vehicle trip and the start location of the second vehicle trip, generate driver-detection data indicative of whether a user of the first user computing device is a driver of a vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

store, in at least one database maintained by the at least one processor and accessible to one or more data analysis modules associated with the at least one processor, the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip,

wherein generating the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip comprises:

generating data indicating that the user of the first user computing device is a driver of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip does not exceed a user-specific distance threshold; and

generating data indicating that the user of the first user computing device is a passenger of the vehicle during the second vehicle trip when the distance between the end location of the first vehicle trip and the start location of the second vehicle trip exceeds the user-specific distance threshold, and

wherein the user-specific distance threshold is learned by the at least one processor based on information indicating end points of multiple previous trips taken by the user of the first user computing device and information indicating how closely to each end point of each previous trip of the multiple previous trips a subsequent vehicle trip started,

based on storing the driver-detection data indicative of whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, generate a notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip;

send, via the communication interface, to the first user computing device, the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip, wherein sending the notification indicating whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip causes the first user computing device to prompt the first user associated with the first user computing device to confirm whether the user of the first user computing device is a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip; and

update the user-specific distance threshold based on a response from the first user computing device confirming whether the user of the first user computing device was a driver of the vehicle during the second vehicle trip or a passenger of the vehicle during the second vehicle trip.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2018
From: HARISH, PRATHEEK M.; YEOMANS, BENJAMIN ROBERTSON; HERRMANN, ALEXANDER; SCHMITT, KYLE PATRICK; KARMARKAR, DIPTI
To: ALLSTATE INSURANCE COMPANY
Reel/Frame 047461/0880 →
Continuity (3)
Provisional Application 62571108 · Oct 11, 2017
Provisional Application 62532514 · Jul 14, 2017
Related Publication 20190017837A1 · Jan 17, 2019