IP Library Granted Patent US 10,832,337
Granted Patent B1
US 10,832,337 · App. 15/624,287 · Granted Nov 10, 2020

Systems and methods for maintaining a distributed ledger pertaining to smart contracts

Inventors: Matthew L. Floyd (Alpharetta, GA); Alvin Hon-Wai Yu (Johns Creek, GA); Antwuan Murphy (Riverdale, GA); Brittney Benzio (Atlanta, GA); Lindsi Brantley (Atlanta, GA); Matthew S. Delaney (Alpharetta, GA); Matthew Vulich (Marietta, GA); Matthew S. Rodriguez (Dunwoody, GA); Neha Goel (Atlanta, GA); Sabrina Collins (Woodstock, GA); Annie Pudlo Murillo (Roswell, GA)
Assignee: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
G06Q40/08G05D1/0088G05D1/0214G06Q50/26H04L9/0637G05D2201/0212
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,832,337
App. No.
15/624,287
Filed
Jun 15, 2017
Granted
Nov 10, 2020
Kind
B1
Art Unit
3693
USPC
705/4
Abstract

Methods and systems for maintaining a distributed ledger and/or blockchain of transactions and/or events pertaining to autonomous vehicles and/or smart contracts. An enforcement server may receive indications of transactions and/or events generated by one or more autonomous vehicles. The transactions and/or events may include information relating to a trigger condition and/or a decision condition associated with one or more smart contracts. The enforcement server may route the transaction to the appropriate smart contract to determine whether a trigger condition has been satisfied. When a trigger condition is satisfied, the enforcement server may automatically perform an action to enforce the smart contract and/or update the distributed ledger. In some aspects, the distributed ledger may record events associated with autonomous and semi-autonomous vehicle technology or system usage, including events associated with transitioning between manual and autonomous control, or vice versa, of one or more autonomous or semi-autonomous vehicles.

Claims (59)

1. A computer-implemented method for maintaining a distributed ledger of transactions pertaining to a plurality of smart contracts, the method comprising:

receiving, at one or more processors, a plurality of transactions from a plurality of autonomous vehicles, the transactions indicative of at least one of a trigger condition or a decision condition associated with one or more smart contracts of the plurality of smart contracts, wherein a decision condition for a first smart contract of the plurality of smart contracts relates to a control state of a particular vehicle, and a first transaction of the plurality of transactions is generated by an electronic device associated with the particular vehicle in response to a change in the control state of the particular vehicle;

compiling, by the one or more processors, the plurality of transactions into a block of transactions;

distributing, by the one or more processors, the block to a plurality of validation entities to form a consensus on an update to the distributed ledger;

routing, by the one or more processors, the plurality of transactions within the block to respective smart contracts from the plurality of smart contracts, wherein a second transaction corresponding to the first smart contract indicates that a trigger condition for the first smart contract has occurred; and

automatically executing, by the one or more processors, an action the first smart contract directs should be performed in response to the particular trigger condition, the action determined based upon the control state of the particular vehicle indicated by the first transaction.

2. The computer-implemented method of claim 1 , wherein:

the trigger condition for the first smart contract is a particular autonomous vehicle of the plurality of autonomous vehicles incurring liability; and

the second transaction indicates that the particular autonomous vehicle incurred liability.

3. The computer-implemented method of claim 2 , wherein:

the control state indicates whether the particular autonomous vehicle was being autonomously, remotely, or manually operated.

4. The computer-implemented method of claim 3 , wherein automatically executing the action further comprises:

assigning, by the one or more processors, the liability to (i) an insurer associated with an operator of the particular autonomous vehicle when the first transaction indicates the particular autonomous vehicle was being manually operated, and (ii) a manufacturer of the particular autonomous vehicle when the first transaction indicates the particular autonomous vehicle was being autonomously operated.

5. The computer-implemented method of claim 3 , wherein automatically executing the action further comprises:

transmitting, by the one or more processors, at least one of a tow request to a towing service, a police report to a law enforcement entity, or a subrogation request to an insurer of another autonomous vehicle.

6. The computer-implemented method of claim 2 , wherein:

a decision condition for a second smart contract of the plurality of smart contracts is a distance traversed by the particular autonomous vehicle; and

the plurality of transaction includes a third transaction that indicates the distance that the particular autonomous vehicle has traversed during a trip.

7. The computer-implemented method of claim 6 , wherein automatically executing the action further comprises:

assigning, by the one or more processors, liability to (i) an operator of the particular autonomous vehicle when the distance traversed by the particular autonomous vehicle exceeds a maximum trip length indicated in the second smart contract, or (ii) an insurer associated with the operator of the particular autonomous vehicle when the distance traversed by the particular autonomous vehicle does not exceed the maximum trip length indicated in the second smart contract.

8. The computer-implemented method of claim 1 , wherein receiving the plurality of transactions further comprises:

receiving, at the one or more processors, the plurality of transactions via a mesh network formed of a portion of the plurality of autonomous vehicles.

9. The computer-implemented method of claim 1 , wherein distributing the block to the plurality of validation entities further comprises:

distributing, by the one or more processors, the block to a portion of the plurality of autonomous vehicles.

10. The computer-implemented method of claim 9 , further comprising:

detecting, by the one or more processors, that the portion of the plurality of autonomous vehicles participated in finding a solution to a cryptographic puzzle; and

crediting, by the one or more processors, currency in a respective account associated with each autonomous vehicle of the portion of the plurality of autonomous vehicles.

11. The computer-implemented method of claim 1 , wherein distributing the block to the plurality of validation entities further comprises:

distributing, by the one or more processors, the block to a dedicated validation entity.

12. The computer-implemented method of claim 1 , wherein compiling the plurality of transactions into the block of transactions further comprises:

compiling, by the one or more processors, a plurality of transactions received prior to receiving an urgent transaction.

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

analyzing, by the one or more processors, the distributed ledger to determine that a particular block of the distributed ledger contains a transaction that is no longer relevant to the plurality of smart contracts; and

pruning, by the one or more processors, the transaction that is no longer relevant to the plurality of smart contracts from the particular block.

14. The computer-implemented method of claim 13 , wherein determining that the particular block of the distributed ledger contains a transaction that is no longer relevant to the plurality of smart contracts, further comprises:

determining, by the one or more processors, that the transaction is older than a threshold age or that the transaction includes decision condition data when a trigger condition did not occur.

15. The computer-implemented method of claim 13 , further comprising:

storing, by the one or more processors, the pruned transaction in an archival database.

16. A computer system for maintaining a distributed ledger of transactions pertaining to a plurality of smart contracts, the computer system comprising:

one or more processors;

a communication module adapted to communicate with a plurality of autonomous vehicles;

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

receive a plurality of transactions from the plurality of autonomous vehicles, the transactions indicative of at least one of a trigger condition or a decision condition associated with one or more smart contracts of the plurality of smart contracts, wherein a decision condition for a particular smart contract of the plurality of smart contracts relates to a control state of a particular vehicle, and a first transaction of the plurality of transactions is generated by an electronic device associated with the particular vehicle in response to a change in the control state of the particular vehicle;

compile the plurality of transactions into a block of transactions;

distribute the block to a plurality of validation entities to form a consensus on an update to the distributed ledger;

route the plurality of transactions within the block to respective smart contracts from the plurality of smart contracts, wherein a second transaction corresponding to the particular smart contract indicates that a trigger condition for the particular smart contract has occurred; and

automatically execute an action the particular smart contract directs should be performed in response to the particular trigger condition, the action determined based upon the control state of the particular vehicle indicated by the first transaction.

17. The computer system of claim 16 , wherein:

the trigger condition for the particular smart contract is a particular autonomous vehicle of the plurality of autonomous vehicles incurring liability; and

the second transaction indicates that the particular autonomous vehicle incurred liability.

18. The computer system of claim 16 , wherein to receive the plurality of transactions, the instructions, when executed, cause the computer system to:

receive the plurality of transactions via a mesh network formed of a portion of the plurality of autonomous vehicles.

19. A non-transitory computer readable storage medium storing processor-executable instructions, that, when executed, cause one or more processors to:

receive a plurality of transactions from the plurality of autonomous vehicles, the transactions indicative of at least one of a trigger condition or a decision condition associated with one or more smart contracts of the plurality of smart contracts, wherein a decision condition for a particular smart contract of the plurality of smart contracts relates to a control state of a particular vehicle, and a first transaction of the plurality of transactions is generated by an electronic device associated with the particular vehicle in response to a change in the control state of the particular vehicle;

compile the plurality of transactions into a block of transactions;

distribute the block to a plurality of validation entities to form a consensus on an update to the distributed ledger;

route the plurality of transactions within the block to respective smart contracts from the plurality of smart contracts, wherein a second transaction corresponding to the particular smart contract indicates that a trigger condition for the particular smart contract has occurred; and

automatically execute an action the particular smart contract directs should be performed in response to the particular trigger condition, the action determined based upon the control state of the particular vehicle indicated by the first transaction.

20. The computer-implemented method of claim 1 , wherein the electronic device detects the change in the control state of the particular vehicle based on a vibration sensor associated with a steering wheel of the particular vehicle.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: FLOYD, MATTHEW L.; YU, ALVIN HON-WAI; MURPHY, ANTWUAN; BENZIO, BRITTNEY; BRANTLEY, LINDSI; DELANEY, MATTHEW S.; VULICH, MATTHEW; RODRIGUEZ, MATTHEW S.; GOEL, NEHA; COLLINS, SABRINA; MURILLO, ANNIE PUDLO
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 042730/0599 →
Continuity (4)
Provisional Application 62457430 · Feb 10, 2017
Provisional Application 62434215 · Dec 14, 2016
Provisional Application 62428223 · Nov 30, 2016
Provisional Application 62425684 · Nov 23, 2016
Cited By (35)
US 12,190,389 US 12,260,456 US 12,320,654 US 12,340,080 US 12,346,841 US 12,346,987 US 12,347,265 US 12,354,033 US 12,361,486 US 12,417,496 US 12,487,095 US 12,493,831 US 12,517,892 US 12,518,242 US 12,536,585 US 12,536,586 US 12,541,292 US 12,579,486 US 12,579,492 US 12,579,585 US 12,579,588 US 12,591,926 US 12,597,046 US 12,597,063 US 12,597,068 US 12,602,635 US 12,602,729 US 12,619,928 US 12,620,035 US 12,646,130 US 12,651,286 US 12,694,420 US 12,710,278 US 12,711,556 US 12,731,107