IP Library Granted Patent US 12,657,971
Granted Patent B1
US 12,657,971 · App. 18/144,398 · Granted Jun 16, 2026

Secure vehicle data system

Inventors: Matt Jarrett (Normal, IL); John Bellegante (Murphy, TX); Sean Yeomans (Plano, TX); Arash Fan (Plano, TX); Shannan J. Smith (Mansfield, TX)
Assignee: State Farm Mutual Automobile Insurance Company
G07C5/085G07C5/008
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 12,657,971
App. No.
18/144,398
Granted
Jun 16, 2026
Kind
B1
Abstract

Described herein are systems and techniques to facilitate secure storage and efficient retrieval of vehicle data from a variety of sources that may be used to reconstruct various vehicular scenarios, such as a car accident. Vehicle data may be generated and/or collected by various systems, including vehicle-based systems, user devices (e.g., smartphones), and external systems (e.g., weather or mapping systems). This data may be aggregated by the disclosed systems into a data structure used to generate transaction data for a blockchain block that may then be stored in a blockchain for later use in vehicle scenario reconstructions.

Claims (124)

1 . A method comprising:

receiving, by a processor, first vehicle data from a vehicle component configured at a vehicle;

receiving, by the processor, second vehicle data from a user device proximate to the vehicle;

determining, by the processor, a trip identifier based at least in part on at least one of the first vehicle data or the second vehicle data;

determining, by the processor, a vehicle data structure associated with the trip identifier;

storing, by the processor and in the vehicle data structure, at least:

a first subset of the first vehicle data, and

a second subset of the second vehicle data;

detecting, by the processor, a condition associated with the trip identifier that triggers generation of a distributed ledger data structure; and

based at least in part on detecting the condition:

determining, by the processor, a distributed ledger based at least in part on the trip identifier;

determining, by the processor, a vehicle path, comprising first topographical data for a surface of the vehicle path, based at least in part on:

one or more of the first vehicle data or the second vehicle data, and

mapping data for a location of the vehicle at a time of detection of the condition, the mapping data comprising second topographical data for a surface of the location;

updating, by the processor, the vehicle data structure to include the vehicle path;

generating, by the processor, distributed ledger data content based at least in part on the updated vehicle data structure;

generating, by the processor, a cryptographic hash of a first distributed ledger data structure of the distributed ledger;

generating, by the processor, a second distributed ledger data structure based at least in part on the distributed ledger data content and the cryptographic hash;

generating, by the processor, an updated distributed ledger based at least in part on the second distributed ledger data structure;

transmitting, by the processor, the updated distributed ledger to a distributed ledger node;

receiving, by the processor, a request to generate a reconstruction of a portion of a trip associated with the trip identifier;

identifying, by the processor, the updated distributed ledger based at least in part on the trip identifier;

determining, by the processor, based at least in part on the updated distributed ledger, reconstruction data associated with at least one of the first vehicle data or the second vehicle data, the reconstruction data comprising three-dimensional data based at least in part on the first topographical data; and

generating, by the processor, the reconstruction based at least in part on the reconstruction data.

2 . The method of claim 1 , further comprising:

receiving condition data associated with environmental conditions at the vehicle from a condition data system remote from a geographical location of the vehicle; and

storing environmental condition data determined based on the condition data in the vehicle data structure.

3 . The method of claim 2 , wherein the environmental condition data comprises data associated with one or more of a weather condition or a visibility condition.

4 . The method of claim 1 , further comprising:

receiving environment data associated with an environment at the vehicle from an environment data system remote from a geographical location of the vehicle; and

storing at least a third subset of the environment data in the vehicle data structure.

5 . The method of claim 4 , wherein the environment data comprises data associated with one or more of a mapping of the geographical location, third topographical data associated with the geographical location, construction zone data associated with the geographical location, or traffic data associated with the geographical location.

6 . The method of claim 1 , wherein the first topographical data comprises data representing one or more of a hill, a grade, or a slope on the vehicle path.

7 . The method of claim 1 , wherein the vehicle path further comprises one or more of acceleration data for the vehicle, velocity data for the vehicle, or braking data for the vehicle.

8 . The method of claim 1 , wherein:

the request comprises a timeframe; and

the method further comprises:

determining one or more distributed ledger data structures in the updated distributed ledger associated with the timeframe;

extracting second distributed ledger data content from the one or more distributed ledger data structures; and

generating the reconstruction further based at least in part on the second distributed ledger data content.

9 . The method of claim 1 , wherein the request is generated in response to detected vehicle motion.

10 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to:

receive first vehicle data from a vehicle component; receive second vehicle data from a user device;

determine a trip identifier based at least in part on at least one of the first vehicle data or the second vehicle data;

determine a trip blockchain based at least in part on the trip identifier;

determining a vehicle path comprising first topographical data for the vehicle path based at least in part on:

one or more of the first vehicle data or the second vehicle data, and

mapping data for a location of a vehicle associated with the one or more of the first vehicle data or the second vehicle data, the mapping data comprising second topographical data for the location;

generate transaction data based at least in part on the vehicle path, the first vehicle data, and the second vehicle data;

generate a cryptographic hash of a first blockchain block of the trip blockchain;

generate a second blockchain block based at least in part on the transaction data and the cryptographic hash;

integrate the second blockchain block into the trip blockchain;

store the trip blockchain in a memory;

receive a request to generate a reconstruction of a portion of a trip associated with the trip identifier;

identify the second blockchain block based at least in part on the trip identifier;

determine, based at least in part on the second blockchain block, reconstruction data associated with at least one of the first vehicle data or the second vehicle data, the reconstruction data comprising three-dimensional data based at least in part on the first topographical data; and

generate the reconstruction based at least in part on the reconstruction data.

11 . The non-transitory computer-readable medium of claim 10 , wherein the second vehicle data comprises one or more of:

a user device location;

a time of generation of the second vehicle data;

a heading;

a speed;

an acceleration;

an image;

video data; or

audio data.

12 . The non-transitory computer-readable medium of claim 10 , wherein the first vehicle data comprises vehicle sensor data generated by one or more of:

a camera;

a lidar sensor;

a radar sensor;

a sonar sensor;

an inertial sensor;

a time-of-flight sensor;

a location sensor;

an audio sensor; or

an environment sensor.

13 . The non-transitory computer-readable medium of claim 10 , wherein the first topographical data comprises data representing one or more of a hill, a grade, or a slope on the vehicle path.

14 . The non-transitory computer-readable medium of claim 10 , wherein:

the request comprises a timeframe; and

the non-transitory computer-readable medium further comprises instructions that, when executed by the one or more processors, cause the one or more processors to:

determine one or more blockchain blocks in the trip blockchain associated with the timeframe;

extract second transaction data from the one or more blockchain blocks; and

generate the reconstruction further based at least in part on the second transaction data.

15 . The non-transitory computer-readable medium of claim 10 , wherein the request is generated in response to a detected vehicle impact.

16 . A system comprising:

one or more processors; and

a non-transitory memory storing computer-executable instructions that, when executed, cause the one or more processors to:

receive first vehicle data from a first vehicle data system;

receive second vehicle data from a second vehicle data system distinct from the first vehicle data system;

determine a trip identifier based at least in part on at least one of the first vehicle data or the second vehicle data;

determine a trip blockchain based at least in part on the trip identifier;

determining a vehicle path comprising first topographical data for the vehicle path based at least in part on:

one or more of the first vehicle data or the second vehicle data, and

mapping data for a location of a vehicle associated with the one or more of the first vehicle data or the second vehicle data, the mapping data comprising second topographical data for the location;

generate transaction data based at least in part on the vehicle path, the first vehicle data, and the second vehicle data;

generate a cryptographic hash of a first blockchain block of the trip blockchain;

generate a second blockchain block based at least in part on the transaction data and the cryptographic hash;

integrate the second blockchain block into the trip blockchain;

store the trip blockchain in a memory;

receive a request to generate a reconstruction of a portion of a trip associated with the trip identifier;

identify the second blockchain block based at least in part on the trip identifier;

determine, based at least in part on the second blockchain block, reconstruction data associated with at least one of the first vehicle data or the second vehicle data, the reconstruction data comprising three-dimensional data based at least in part on the first topographical data; and

generate the reconstruction based at least in part on the reconstruction data.

17 . The system of claim 16 , wherein the non-transitory memory further stores computer-executable instructions that, when executed, cause the one or more processors to transmit the trip blockchain comprising the second blockchain block to one or more blockchain nodes.

18 . The system of claim 16 , wherein:

the non-transitory memory further stores computer-executable instructions that, when executed, cause the one or more processors to detect a blockchain block generation condition; and

generating the second blockchain block is further based at least in part on detecting the blockchain block generation condition.

19 . The system of claim 18 , wherein the blockchain block generation condition comprises one of a timeframe expiration detection or a vehicle impact detection.

20 . A system for determining vehicle trip data, the system comprising:

means for receive first vehicle data from a first vehicle data system;

means for receiving second vehicle data from a second vehicle data system;

means for determining a trip identifier based at least in part on at least one of the first vehicle data or the second vehicle data;

means for determining a trip blockchain based at least in part on the trip identifier;

means for determining a vehicle path comprising first topographical data for the vehicle path based at least in part on:

one or more of the first vehicle data or the second vehicle data, and

mapping data for a location of a vehicle associated with the one or more of the first vehicle data or the second vehicle data, the mapping data comprising second topographical data for the location;

means for generating transaction data based at least in part on the vehicle path, the first vehicle data, and the second vehicle data;

means for generating a cryptographic hash of a first blockchain block of the trip blockchain;

means for generating a second blockchain block based at least in part on the transaction data and the cryptographic hash;

means for updating the trip blockchain based at least in part on the second blockchain block;

means for receiving a request to generate a reconstruction of a portion of a trip associated with the trip identifier;

means for identifying the second blockchain block based at least in part on the trip identifier;

means for determining, based at least in part on the second blockchain block, reconstruction data associated with at least one of the first vehicle data or the second vehicle data, the reconstruction data comprising three-dimensional data based at least in part on the first topographical data; and

means for generating the reconstruction based at least in part on the reconstruction data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2023
From: JARRETT, MATT; BELLEGANTE, JOHN; YEOMANS, SEAN; FAN, ARASH; SMITH, SHANNAN J.
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 063565/0055 →
References Cited (10)
US 10891694B1 · Leise · 2021 [cited by examiner]
US 20200023846A1 · Husain · 2020 [cited by examiner]
US 20200380801A1 · Macneille · 2020 [cited by examiner]
US 20210264382A1 · Leise · 2021 [cited by examiner]
US 20230098880A1 · Puchalski · 2023 [cited by examiner]
US 20230394894A1 · Cain, Jr. · 2023 [cited by examiner]
US 20240019262A1 · Harris · 2024 [cited by examiner]
US 20240054563A1 · Shen · 2024 [cited by examiner]
US 20240054823A1 · Lu · 2024 [cited by examiner]
WO WO2014202435A1 · 2014 [cited by examiner]