IP Library Granted Patent US 11,656,965
Granted Patent B2
US 11,656,965 · App. 17/461,179 · Granted May 23, 2023

Execution sequence integrity monitoring system

Inventor: Ching Yee Hu (San Jose, CA)
Assignee: ARGO AI, LLC
G06F11/28G06F11/0736G06F11/0751G06F11/0793H04L9/0643
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,656,965
App. No.
17/461,179
Granted
May 23, 2023
Kind
B2
Abstract

A method of verifying execution sequence integrity of an execution flow includes receiving, by a local monitor of an automated device monitoring system from one or more sensors of an automated device, a unique identifier for each function in a subset of an execution flow for which the local monitor is responsible for monitoring. The method includes combining the received unique identifiers to generate a combination value, applying a hashing algorithm to the combination value to generate a temporary hash value, retrieving, from a data store, a true hash value, determining whether the temporary hash value matches the true hash value, and in response to the temporary hash value not matching the true hash value, generating a fault notification. The true hash value represents a result of applying the hashing algorithm to a combination of actual unique identifiers associated with each function in the subset.

Claims (49)

1. A method, comprising:

receiving, by a processor, a first unique identifier from a first function of a plurality of functions in an execution flow that are to be sequentially performed by an automated device, the first unique identifier identifying the first function and each of the functions comprising at least one operational instruction that causes the automated device to perform at least one action;

applying, by the processor, an algorithm to the first unique identifier to obtain a first code value;

searching a data store for a first reference code value associated with the first code value, the first reference code value representing a result of applying the algorithm to an actual unique identifier associated with the first function; and

in response to the first reference code value matching the first code value, performing the following operations by the processor:

receiving a second unique identifier from a second function of the plurality of functions that immediately follows the first function in the execution flow, the second unique identifier identifying the second function;

combining the first code value and the second unique identifier to generate a combined value;

applying the algorithm to the combined value to obtain a second code value;

retrieving, from the data store, a second reference code value representing a result of applying the algorithm to a combination of the first code value and an actual unique identifier associated with the second function; and

generating a fault notification in response to the second reference code value indicating that the second code value is incorrect.

2. The method according to claim 1 , wherein the second code value is obtained by concatenating the first code value and the second unique identifier in accordance with a sequence defined by the execution flow.

3. The method according to claim 1 , wherein the processor is configured to monitor all functions of the plurality of functions that are to be performed by the automated device.

4. The method according to claim 1 , wherein the processor is configured to monitor different subsets of said functions separately from each other.

5. The method according to claim 1 , wherein the fault notification comprises halting the at least one operational instruction of the automated device.

6. The method according to claim 1 , wherein the plurality of functions are to be performed by one or more sensors of the automated device, the one or more sensors comprising at least one of an image sensor, a lidar sensor, a radar sensor, an audio sensor, an optics sensor, an inertial measurement unit, a gyroscope, an accelerometer, and a geolocation sensor.

7. The method according to claim 1 , wherein the automated device comprises an autonomous vehicle and the processor comprises an on-board diagnostic system.

8. A non-transitory computer-readable medium that stores instructions that is configured to, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receive a first unique identifier from a first function of a plurality of functions in an execution flow that are to be sequentially performed by an automated device, the first unique identifier identifying the first function and each of the functions comprising at least one operational instruction that causes the automated device to perform at least one action;

apply an algorithm to the first unique identifier to obtain a first code value;

searching a data store for a first reference code value associated with the first code value, the first reference code value representing a result of applying the algorithm to an actual unique identifier associated with the first function; and

in response to the first reference code value matching the first code value:

receive a second unique identifier from a second function of the plurality of functions that immediately follows the first function in the execution flow, the second unique identifier identifying the second function;

combine the first code value and the second unique identifier to generate a combined value;

apply the algorithm to the combined value to obtain a second code value;

retrieve, from the data store, a second reference code value representing a result of applying the algorithm to a combination of the first code value and an actual unique identifier associated with the second function; and

generate a fault notification in response to the second reference code value indicating that the second code value is incorrect.

9. The non-transitory computer-readable medium according to claim 8 , wherein the second code value is obtained by concatenating the first code value and the second unique identifier in accordance with a sequence defined by the execution flow.

10. The non-transitory computer-readable medium according to claim 8 , wherein a processor is configured to monitor all functions of the plurality of functions that are to be performed by the automated device.

11. The non-transitory computer-readable medium according to claim 8 , wherein a processor is configured to monitor different subsets of said functions separately from each other.

12. The non-transitory computer-readable medium according to claim 8 , wherein the fault notification comprises halting the at least one operational instruction of the automated device.

13. The non-transitory computer-readable medium according to claim 8 , wherein the plurality of functions are to be performed by one or more sensors of the automated device, the one or more sensors comprising at least one of an image sensor, a lidar sensor, a radar sensor, an audio sensor, an optics sensor, an inertial measurement unit, a gyroscope, an accelerometer, and a geolocation sensor.

14. The non-transitory computer-readable medium according to claim 8 , wherein the automated device comprises an autonomous vehicle and the processor comprises an on-board diagnostic system.

15. A system, comprising:

a processor;

a non-transitory computer-readable storage medium comprising programming instructions that are configured to cause the processor to implement a method for verifying execution sequence integrity of an execution flow, wherein the programming instructions comprise instructions to:

receive a first unique identifier from a first function of a plurality of functions in an execution flow that are to be sequentially performed by an automated device, the first unique identifier identifying the first function and each of the functions comprising at least one operational instruction that causes the automated device to perform at least one action;

apply an algorithm to the first unique identifier to obtain a first code value;

search a data store for a first reference code value associated with the first code value, the first reference code value representing a result of applying the algorithm to an actual unique identifier associated with the first function; and

in response to the first reference code value matching the first code value:

receive a second unique identifier from a second function of the plurality of functions that immediately follows the first function in the execution flow, the second unique identifier identifying the second function;

combine the first code value and the second unique identifier to generate a combined value;

apply the algorithm to the combined value to obtain a second code value;

retrieve, from the data store, a second reference code value representing a result of applying the algorithm to a combination of the first code value and an actual unique identifier associated with the second function; and

generate a fault notification in response to the second reference code value indicating that the second code value is incorrect.

16. The system according to claim 15 , wherein the second code value is obtained by concatenating the first code value and the second unique identifier in accordance with a sequence defined by the execution flow.

17. The system according to claim 15 , wherein the processor is configured to monitor all functions of the plurality of functions that are to be performed by the automated device.

18. The system according to claim 15 , wherein the processor is configured to monitor different subsets of said functions separately from each other.

19. The system according to claim 15 , wherein the fault notification comprises halting the at least one operational instruction of the automated device.

20. The system according to claim 15 , wherein the plurality of functions are to be performed by one or more sensors of the automated device, the one or more sensors comprising at least one of an image sensor, a lidar sensor, a radar sensor, an audio sensor, an optics sensor, an inertial measurement unit, a gyroscope, an accelerometer, and a geolocation sensor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2024
From: ARGO AI, LLC
To: VOLKSWAGEN GROUP OF AMERICA INVESTMENTS, LLC
Reel/Frame 069177/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2021
From: HU, CHING YEE
To: ARGO AI, LLC
Reel/Frame 057329/0972 →
Continuity (2)
Continuation 16155199 · Oct 9, 2018
Related Publication 20210390025A1 · Dec 16, 2021