US2022413841A1PendingUtilityA1

Constructing software delta updates for controller software and abnormality detection based on toolchain

Assignee: AURORA LABS LTDPriority: Jul 25, 2017Filed: Sep 1, 2022Published: Dec 29, 2022
Est. expiryJul 25, 2037(~11 yrs left)· nominal 20-yr term from priority
Inventors:Zohar Fox
G06F 8/658G06F 12/0284G06F 8/60B60W 50/0225G06F 11/1433G06F 8/71G06F 2212/1044G06F 11/0751G06F 11/0721G06F 12/0646G06F 11/0793B60W 50/04G06F 11/079G06F 11/3612G06F 21/572G06F 21/57B60W 2050/021G06F 9/4401G06F 16/188G06F 2212/1056G06F 8/66B60W 50/02G06F 8/654Y02D10/00G06F 8/65G06F 9/445B60W 50/0205G06N 20/00G06F 21/577G06F 9/44521G06F 2221/033G06F 11/1629B60W 50/045G06F 2212/1008G06F 8/656
85
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
1 - 24 . (canceled) 
     
     
         25 . 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 changing current software on a controller, the operations comprising:
 accessing a delta file comprising controller software change code, the delta file being generated based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, the first dimensions being software representations of the first version of controller software that are different with respect to each other and the second dimensions being software representations of the second version of controller software that are different with respect to each other; and   configuring the controller software change code to execute on the controller, wherein the controller is configured to link execution of current software on the controller to execution of an instruction contained in the delta file.   
     
     
         26 . The non-transitory computer-readable medium of  claim 25 , wherein the delta file is accessed based on controller activity data associated with the controller. 
     
     
         27 . The non-transitory computer-readable medium of  claim 25 , wherein the delta file is accessed in response to a detected deviation of controller behavior from an acceptable operational envelope. 
     
     
         28 . The non-transitory computer-readable medium of  claim 27 , wherein the acceptable operational envelope is based on controller activity data associated with the controller. 
     
     
         29 . The non-transitory computer-readable medium of  claim 25 , wherein the controller software change code comprises memory-position-independent code. 
     
     
         30 . The non-transitory computer-readable medium of  claim 25 , wherein the delta file causes the controller to skip code contained in the current software and to execute code contained in the delta file instead of the skipped code. 
     
     
         31 . The non-transitory computer-readable medium of  claim 25 , wherein the delta file comprises variable data representing a value of a variable referenced by the controller software change code. 
     
     
         32 . The non-transitory computer-readable medium of  claim 31 , wherein startup code in the controller is configured to extract the variable data from the delta file and place the variable data into a memory accessible to the controller. 
     
     
         33 . The non-transitory computer-readable medium of  claim 25 , wherein the delta file comprises code for updating memory addresses in the controller. 
     
     
         34 . The non-transitory computer-readable medium of  claim 33 , wherein startup code in the controller is configured to extract the code for updating memory addresses and update the memory addresses in the controller. 
     
     
         35 . The non-transitory computer-readable medium of  claim 25 , where one of the first dimensions and one of the second dimensions is a binary data dimension, a source attribute dimension, or a map file dimension. 
     
     
         36 . The non-transitory computer-readable medium of  claim 25 , wherein the controller is configured to use a virtual file system to track different versions of symbols associated with at least one of the current software or the delta file. 
     
     
         37 . The non-transitory computer-readable medium of  claim 25 , wherein startup code on the controller is configured to update a program counter of the controller to execute an instruction contained in the delta file without erasing existing content of a memory component of the controller. 
     
     
         38 . The non-transitory computer-readable medium of  claim 25 , wherein the linked execution of the current software on the controller and the instruction contained in the delta file form a functional equivalent of a software update that is functioning prior to rebooting the controller. 
     
     
         39 . The non-transitory computer-readable medium of  claim 25 , wherein the operations further comprise:
 checking a dependency system to determine whether any interdependent controllers should be updated; and   configuring additional delta files to change software on the interdependent controllers.   
     
     
         40 . A computer-implemented method for generating an update package for changing current software on a controller, the method comprising:
 accessing a delta file comprising controller software change code, the delta file being generated based on comparisons of first dimensions of a first version of controller software and second dimensions of a second version of controller software, the first dimensions being software representations of the first version of controller software that are different with respect to each other and the second dimensions being software representations of the second version of controller software that are different with respect to each other; and   configuring the controller software change code to execute on the controller, wherein the controller is configured to link execution of current software on the controller to execution of an instruction contained in the delta file.   
     
     
         41 . The computer-implemented method of  claim 40 , wherein the controller software change code comprises memory-position-independent code. 
     
     
         42 . The computer-implemented method of  claim 40 , wherein the delta file causes the controller to skip code contained in the current software and to execute code contained in the delta file instead of the skipped code. 
     
     
         43 . The computer-implemented method of  claim 40 , wherein the controller is configured to use a virtual file system to track different versions of symbols associated with at least one of the current software or the delta file. 
     
     
         44 . The computer-implemented method of  claim 40 , wherein startup code on the controller is configured to update a program counter of the controller to execute an instruction contained in the delta file without erasing existing content of a memory component of the controller.

Join the waitlist — get patent alerts

Track US2022413841A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.