US 12,260,210 B2
Using data deltas in controllers and managing interdependencies between software versions in controllers using tool chain
Zohar Fox, Tel Aviv (IL)
Assigned to Aurora Labs Ltd., Tel Aviv (IL)
Filed by Aurora Labs Ltd., Tel Aviv (IL)
Filed on May 30, 2023, as Appl. No. 18/325,256.
Application 18/325,256 is a continuation of application No. 17/810,908, filed on Jul. 6, 2022, granted, now 11,704,111.
Application 17/810,908 is a continuation of application No. 17/574,620, filed on Jan. 13, 2022, granted, now 11,422,794, issued on Aug. 23, 2022.
Application 17/574,620 is a continuation of application No. 17/348,919, filed on Jun. 16, 2021, granted, now 11,256,500, issued on Feb. 22, 2022.
Application 17/348,919 is a continuation of application No. 17/152,281, filed on Jan. 19, 2021, granted, now 11,068,258, issued on Jul. 20, 2021.
Application 17/152,281 is a continuation of application No. 16/999,855, filed on Aug. 21, 2020, granted, now 10,929,123, issued on Feb. 23, 2021.
Application 16/999,855 is a continuation of application No. 16/444,110, filed on Jun. 18, 2019, granted, now 10,789,121, issued on Sep. 29, 2020.
Application 16/444,110 is a continuation of application No. 16/044,157, filed on Jul. 24, 2018, granted, now 10,394,548, issued on Aug. 27, 2019.
Claims priority of provisional application 62/560,224, filed on Sep. 19, 2017.
Claims priority of provisional application 62/536,767, filed on Jul. 25, 2017.
Prior Publication US 2023/0297365 A1, Sep. 21, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/44 (2018.01); B60W 50/02 (2012.01); B60W 50/04 (2006.01); G06F 8/60 (2018.01); G06F 8/65 (2018.01); G06F 8/654 (2018.01); G06F 8/656 (2018.01); G06F 8/658 (2018.01); G06F 8/71 (2018.01); G06F 9/4401 (2018.01); G06F 9/445 (2018.01); G06F 11/07 (2006.01); G06F 11/14 (2006.01); G06F 11/16 (2006.01); G06F 11/36 (2006.01); G06F 11/3604 (2025.01); G06F 12/02 (2006.01); G06F 12/06 (2006.01); G06F 16/188 (2019.01); G06F 21/57 (2013.01); G06N 20/00 (2019.01)
CPC G06F 8/658 (2018.02) [B60W 50/02 (2013.01); B60W 50/0205 (2013.01); B60W 50/0225 (2013.01); B60W 50/04 (2013.01); B60W 50/045 (2013.01); G06F 8/60 (2013.01); G06F 8/65 (2013.01); G06F 8/654 (2018.02); G06F 8/656 (2018.02); G06F 8/71 (2013.01); G06F 9/4401 (2013.01); G06F 9/445 (2013.01); G06F 9/44521 (2013.01); G06F 11/0721 (2013.01); G06F 11/0751 (2013.01); G06F 11/079 (2013.01); G06F 11/0793 (2013.01); G06F 11/1433 (2013.01); G06F 11/1629 (2013.01); G06F 11/3612 (2013.01); G06F 12/0284 (2013.01); G06F 12/0646 (2013.01); G06F 16/188 (2019.01); G06F 21/57 (2013.01); G06F 21/572 (2013.01); G06F 21/577 (2013.01); B60W 2050/021 (2013.01); G06F 8/66 (2013.01); G06F 2212/1008 (2013.01); G06F 2212/1044 (2013.01); G06F 2212/1056 (2013.01); G06F 2221/033 (2013.01); G06N 20/00 (2019.01)] 19 Claims
OG exemplary drawing
 
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 integrating a delta file into a first controller, the operations comprising:
receiving, at a first controller, a delta file corresponding to a software change for the first controller, wherein the delta file is executable without rebooting the first controller and has code to:
execute an instruction of the delta file;
link execution of at least one code segment of the delta file to execution of current controller software of the first controller; and
update a program counter of the first controller;
storing the delta file at the first controller;
automatically executing startup code to update memory addresses of the first controller to correspond to at least a portion of the delta file; and
prompting a software change to a second controller based on a relationship between the first controller and the second controller.