Constructing software delta updates for vehicle ECU software and abnormality detection based on toolchain

US10402192B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10402192-B2
Application numberUS-201816044002-A
CountryUS
Kind codeB2
Filing dateJul 24, 2018
Priority dateJul 25, 2017
Publication dateSep 3, 2019
Grant dateSep 3, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a delta file representing differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison; and providing the delta file to the ECU, wherein the delta file is configured to be processed by startup code in the ECU that enables the delta file to execute in the ECU in the vehicle.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer readable medium including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle, comprising: accessing a plurality of attributes of a software update to be executed on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a multi-dimensional delta file comprising position-independent code, wherein the multi-dimensional delta file represents differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison and the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, or a map file dimension; configuring the position-independent code to execute on the ECU; and providing the multi-dimensional delta file to the ECU; wherein the software on the ECU is mapped to a plurality of functional units, and the ECU is configured to utilize a virtual file system (VFS) to generate the multi-dimensional delta file to use for execution on the ECU. 2. The non-transitory computer readable medium of claim 1 , wherein startup code integrated into the multi-dimensional delta file is configured to enable the multi-dimensional delta file to execute in the ECU in the vehicle. 3. The non-transitory computer readable medium of claim 2 , wherein the startup code is installed on the ECU before the multi-dimensional delta file is received by the ECU. 4. The non-transitory computer readable medium of claim 2 , wherein the startup code is configured to initialize a runtime library of the multi-dimensional delta file. 5. The non-transitory computer readable medium of claim 2 , wherein the startup code is configured to update a program counter of the ECU to execute an instruction contained in the multi-dimensional delta file. 6. The non-transitory computer readable medium of claim 1 , wherein the multi-dimensional delta file comprises variable data representing a value of a variable referenced by the software update. 7. The non-transitory computer readable medium of claim 6 , wherein startup code is configured to extract the variable data from the multi-dimensional delta file and place the variable data into a memory accessible to the ECU. 8. The non-transitory computer readable medium of claim 1 , wherein the multi-dimensional delta file comprises code for updating memory addresses in the ECU. 9. The non-transitory computer readable medium of claim 8 , wherein startup code is configured to extract the code for updating memory addresses and update the memory addresses in the ECU. 10. The non-transitory computer readable medium of claim 1 , wherein the ECU is configured to utilize the virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units. 11. The non-transitory computer readable medium of claim 10 , wherein the plurality of attributes of the software update to be stored on the ECU comprises at least one of the plurality of functional units managed by the VFS. 12. The non-transitory computer readable medium of claim 1 , wherein the instructions further comprise: applying a first grid to the software update; applying a second grid to the current software stored on the ECU; and identifying the plurality of attributes and the corresponding plurality of attributes based on a comparison of the first and second grids. 13. The non-transitory computer readable medium of claim 12 , wherein the first grid represents the software update in one or more dimensions, including at least one of: the binary data dimension, the source attribute dimension, and the map file dimension. 14. The non-transitory computer readable medium of claim 1 , wherein the plurality of attributes is identified at least partially based on a programming language used to develop the software update. 15. The non-transitory computer readable medium of claim 1 , wherein the plurality of attributes is identified at least partially based on a binary file resolution of the software update. 16. The non-transitory computer readable medium of claim 1 , wherein the plurality of attributes is identified at least partially based on a map file associated with the software update. 17. The non-transitory computer readable medium of claim 1 , wherein the software update is a monolithic file. 18. The non-transitory computer readable medium of claim 1 , wherein the software update is a file interdependent on other files. 19. The non-transitory computer readable medium of claim 1 , wherein the operations include, before providing the multi-dimensional delta file to the ECU, checking a dependency system to determine whether any interdependent ECUs should be updated based on the multi-dimensional delta file being provided to the ECU. 20. The non-transitory computer readable medium of claim 19 , wherein the operations further include automatically providing additional multi-dimensional delta files to the interdependent ECUs to perform software updates on the interdependent ECUs. 21. A system for generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle, the system comprising: one or more processors; and one or more memories having instructions that, when executed by the one or more processors, cause the one or more processors to perform the operations of: accessing a plurality of attributes of a software update to be executed on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a multi-dimensional delta file comprising position-independent code, wherein the multi-dimensional delta file represents differences between the plurality of attributes and the corresponding plurality of attributes determined in the comparison and the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, or a map file dimension; configuring the position-independent code to execute on the ECU; and providing the multi-dimensional delta file to the ECU; wherein the software on the ECU is mapped to a plurality of functional units, and the ECU is configured to utilize a virtual file system (VFS) to generate the multi-dimensional delta file to use for execution on the ECU. 22. The system of claim 21 , wherein startup code configured to enable the multi-dimensional delta file to execute in the ECU in the vehicle is configured to initialize a runtime library of the multi-dimensional delta file. 23. A computer-implemented method for generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle, the method comprising: accessing a plurality of attributes of a software update to be executed on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes with the corresponding plurality of attributes; generating a multi-dimensional delta file comprising position-independent code, wherein the multi-dimensional de

Assignees

Inventors

Classifications

  • Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40) · CPC title

  • Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36) · CPC title

  • within a central processing unit [CPU] · CPC title

  • Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06) · CPC title

  • Space efficiency improvement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10402192B2 cover?
Disclosed embodiments relate to generating an update package for updating software on an Electronic Control Unit (ECU) in a vehicle. Operations may include accessing a plurality of attributes of a software update to be stored on the ECU in the vehicle; accessing a corresponding plurality of attributes of current software stored on the ECU in the vehicle; comparing the plurality of attributes wi…
Who is the assignee on this patent?
Aurora Labs Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/658. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 03 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).