IP Library Granted Patent US 12,309,287
Granted Patent B2
US 12,309,287 · App. 18/462,202 · Granted May 20, 2025

Systems and methods for vehicle message signing

Inventors: Michael David Sorensen (Pittsburgh, PA); Matthew Charles Ellis Wood (Pittsburgh, PA); Matthew James Harris (Pittsburgh, PA)
Assignee: AURORA OPERATIONS, INC.
H04L9/3247H04L9/3263H04W4/44
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,309,287
App. No.
18/462,202
Granted
May 20, 2025
Kind
B2
Abstract

Systems and methods for vehicle message signing are provided. A method includes obtaining, by a vehicle computing system of an autonomous vehicle, a computing system state associated with the vehicle computing system and a message from at least one remote process running a computing device remote from the vehicle computing system. The message is associated with an intended recipient process running on the vehicle computing system. The method includes determining an originating sender for the message. The originating sender is indicative of a remote process that generated the message. The method includes determining a routing action for the message based on a comparison of the originating sender and the computing system state. The routing action includes at least one of a discarding action or a forwarding action to the intended recipient process. The method includes performing the routing action for the message.

Claims (65)

1. A computer-implemented method for routing a message received by an autonomous vehicle, the method comprising:

obtaining, from an originating sender, a message associated with a recipient process running on a vehicle computing system of the autonomous vehicle;

obtaining operational data associated with the autonomous vehicle, the operational data obtained at a particular time associated with obtaining the message;

processing the recipient process and the originating sender based on the operational data to determine whether a prohibited state or a permitted state for receiving messages is present at the particular time;

determining, based on the processing, a routing action comprising one of a discarding action for discarding the message or a forwarding action for transmitting the message, wherein the discarding action is implemented upon the prohibited state associated with the recipient process or the originating sender being present at the particular time, and wherein the forwarding action is implemented upon the permitted state associated with the recipient process or the originating sender being present at the particular time; and

performing the routing action for the message.

2. The computer-implemented method of claim 1 , wherein the operational data is indicative of an operational status of the autonomous vehicle.

3. The computer-implemented method of claim 2 , wherein the operational status of the autonomous vehicle comprises one or more vehicle operational modes, the one or more vehicle operational modes comprising at least one of an autonomous driving mode, a manual driving mode, a parking mode, or a calibration mode.

4. The computer-implemented method of claim 1 , wherein the operational data is indicative of an operational status of one or more processes running on the vehicle computing system of the autonomous vehicle.

5. The computer-implemented method of claim 4 , wherein the operational status of the one or more processes running on the autonomous vehicle comprise one or more process operational modes, the one or more process operational modes comprising at least one of an off mode, a running mode, or a calibration mode.

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

the off mode is indicative of the one or more processes being turned off at the particular time;

the running mode is indicative of the one or more processes being turned on at the particular time; and

the calibration mode is indicative of the one or more processes starting up or undergoing maintenance at the particular time.

7. The computer-implemented method of claim 1 , wherein the recipient process comprises a provisioning process configured to update one or more software components of the vehicle computing system.

8. The computer-implemented method of claim 1 , wherein the prohibited state associated with the recipient process comprises one of a driving state of the autonomous vehicle, a deployed state of the vehicle computing system, or a busy state of a process running on the vehicle computing system.

9. The computer-implemented method of claim 8 , wherein:

the driving state of the autonomous vehicle is indicative of the autonomous vehicle driving on a road at the particular time;

the deployed state of the vehicle computing system is indicative of the vehicle computing system being engaged while the autonomous vehicle is completing a service request at the particular time;

the busy state of the process running on the vehicle computing system comprises application level knowledge of the process completing tasks on the vehicle computing system at the particular time.

10. The computer-implemented method of claim 1 , wherein the permitted state associated with the recipient process comprises a parked state of the autonomous vehicle, an off state of the vehicle computing system, or an idle state of a process running on the vehicle computing system.

11. The computer-implemented method of claim 10 , wherein:

the parked state of the autonomous vehicle is indicative of the autonomous vehicle being parked at the particular time;

the off state of the vehicle computing system is indicative of the vehicle computing system being turned off at the particular time;

the idle state of the process running on the vehicle computing system comprises application level knowledge of the process not completing tasks on the vehicle computing system at the particular time.

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

the message associated with the recipient process comprises an annotation including a cryptographic signature previously generated for the message by the originating sender using a process specific identifier that is unique to a specific process; and

the method further comprises determining the originating sender for the message based on the annotation.

13. The computer-implemented method of claim 1 , wherein the message is associated with a message priority, and wherein the method further comprises:

processing the message priority based on the operational data; and

determining, based on the processing of the message priority, a routing action comprising one of a discarding action for discarding the message or a forwarding action for transmitting the message, wherein the discarding action is indicative of the message priority having a first priority level, and wherein the forwarding action is indicative of the message priority having a second priority level that is different than the first priority level.

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

generating metrics data based on the routing action, the metrics data comprising an indication of the originating sender, the recipient process, and the routing action;

providing the metrics data to one or more processes associated with the vehicle computing system; and

determining, by the one or more processes associated with the vehicle computing system and based on the metrics data, a reliability score indicative of a level of trustworthiness of the originating sender.

15. A vehicle computing system for an autonomous vehicle, the vehicle computing system comprising:

one or more processors; and

one or more tangible, non-transitory, computer readable media that store instructions that are executable by the one or more processors to cause the vehicle computing system to perform operations, the operations comprising:

obtaining, from an originating sender, a message associated with a recipient process running on a vehicle computing system of the autonomous vehicle;

obtaining operational data associated with the autonomous vehicle, the operational data obtained at a particular time associated with obtaining the message;

processing the recipient process and the originating sender based on the operational data to determine whether a prohibited state or a permitted state for receiving messages is present at the particular time;

determining, based on the processing, a routing action comprising one of a discarding action for discarding the message or a forwarding action for transmitting the message, wherein the discarding action is implemented upon the prohibited state associated with the recipient process or the originating sender being present at the particular time, and wherein the forwarding action is implemented upon the permitted state associated with the recipient process or the originating sender being present at the particular time; and

performing the routing action for the message.

16. The vehicle computing system of claim 15 , wherein the message is associated with a message priority, and wherein the operations further comprise:

processing the message priority based on the operational data; and

determining, based on the processing of the message priority, a routing action comprising one of a discarding action for discarding the message or a forwarding action for transmitting the message, wherein the discarding action is indicative of the message priority having a first priority level, and wherein the forwarding action is indicative of the message priority having a second priority level that is different than the first priority level.

17. The vehicle computing system of claim 15 , the operations further comprising:

generating metrics data based on the routing action, the metrics data comprising an indication of the originating sender, the recipient process, and the routing action;

providing the metrics data to one or more processes associated with the vehicle computing system; and

determining, by the one or more processes associated with the vehicle computing system and based on the metrics data, a reliability score indicative of a level of trustworthiness of the originating sender.

18. The vehicle computing system of claim 15 , wherein:

the message associated with the recipient process comprises an annotation including a cryptographic signature previously generated for the message by the originating sender using a process specific identifier that is unique to a specific process; and

the operations further comprise determining the originating sender for the message based on the annotation.

19. The vehicle computing system of claim 15 , wherein:

the prohibited state associated with the recipient process comprises one of a driving state of the autonomous vehicle, a deployed state of the vehicle computing system, or a busy state of a process running on the vehicle computing system; and

the permitted state associated with the recipient process comprises a parked state of the autonomous vehicle, an off state of the vehicle computing system, or an idle state of a process running on the vehicle computing system.

20. An autonomous vehicle comprising:

one or more communication interfaces;

one or more processors; and

one or more tangible, non-transitory, computer readable media that store instructions that are executable by the one or more processors to cause the one or more processors to perform operations associated with a signature verification plugin, the operations comprising:

obtaining, by the one or more communication interfaces, from an originating sender, a message associated with a recipient process running on a vehicle computing system of the autonomous vehicle;

obtaining operational data associated with the autonomous vehicle, the operational data obtained at a particular time associated with obtaining the message;

processing the recipient process and the originating sender based on the operational data to determine whether a prohibited state or a permitted state for receiving messages is present at the particular time;

determining, based on the processing, a routing action comprising one of a discarding action for discarding the message or a forwarding action for transmitting the message, wherein the discarding action is implemented upon the prohibited state associated with the recipient process or the originating sender being present at the particular time, and wherein the forwarding action is implemented upon the permitted state associated with the recipient process or the originating sender being present at the particular time; and

performing the routing action for the message.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: UATC, LLC
To: AURORA OPERATIONS, INC.
Reel/Frame 067733/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2024
From: SORENSEN, MICHAEL DAVID; WOOD, MATTHEW CHARLES ELLIS; HARRIS, MATTHEW JAMES
To: UATC, LLC
Reel/Frame 066901/0079 →