IP Library Granted Patent US 11,137,997
Granted Patent B2
US 11,137,997 · App. 17/205,626 · Granted Oct 5, 2021

Opportunistic software updates during select operational modes

Inventor: Zohar Fox (Tel Aviv, IL)
Assignee: Aurora Labs Ltd.
G06F8/658B60W50/02B60W50/0205B60W50/0225B60W50/04B60W50/045G06F8/60G06F8/65G06F8/654G06F8/656G06F8/71G06F9/4401G06F9/445G06F9/44521G06F11/079G06F11/0721G06F11/0751G06F11/0793G06F11/1433G06F11/1629G06F11/3612G06F12/0284G06F12/0646G06F16/188G06F21/57G06F21/572G06F21/577B60W2050/021G06F8/66G06F2212/1008G06F2212/1044G06F2212/1056G06F2221/033G06N20/00
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,137,997
App. No.
17/205,626
Granted
Oct 5, 2021
Kind
B2
Abstract

Disclosed embodiments relate to opportunistically updating Electronic Control Unit (ECU) software in a vehicle. Operations may include receiving, at a controller in a vehicle, a wireless transmission indicating a need to update software running on at least one ECU in the vehicle; monitoring an operational status of the vehicle to determine whether the vehicle is in a first mode of operation in which an ECU software update is prohibited; delaying the ECU software update when the operational status is prohibited; continuing to monitor the operational status of the vehicle to determine whether the vehicle is in a second mode of operation in which the ECU software update is permitted; and enabling updating of the at least one ECU with the delayed ECU software update when it is determined that the vehicle is in the second mode of operations.

Claims (36)

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 opportunistically updating controller software, the operations comprising:

receiving, at a controller, a prompt to change current software on the controller associated with a device;

determining at a first time whether the device is in a first mode of operation;

delaying a controller software change when the device is in the first mode of operation;

determining at a second time whether the device is in a second mode of operation;

accessing the delayed controller software change based on the device being determined to be in the second mode of operation, wherein the delayed controller software change comprises a delta file having at least one position-independent executable code segment; and

implementing the delayed controller software change on the controller when the device is in the second mode of operation, wherein implementing the delayed controller software change comprises linking the at least one position-independent executable code segment to the current software.

2. The non-transitory computer readable medium of claim 1 , wherein the delayed controller software change is maintained on a remote server or on the device when the device is in the first mode of operation.

3. The non-transitory computer readable medium of claim 1 , wherein the delayed controller software change further comprises startup code configured to initialize a runtime library of the delta file.

4. The non-transitory computer readable medium of claim 1 , wherein implementing the delayed controller software change further comprises causing the controller to skip at least one segment of the current software.

5. The non-transitory computer readable medium of claim 1 , wherein delaying the controller software change comprises storing the controller software change on the controller or discarding the controller software change from the controller.

6. The non-transitory computer readable medium of claim 1 , wherein the second mode of operation is a power-down or idle status.

7. The non-transitory computer readable medium of claim 1 , wherein the delta file is a multidimensional delta file.

8. The non-transitory computer readable medium of claim 1 , wherein the prompt is received in response to a deviation of controller activity data of the controller from an expected envelope.

9. The non-transitory computer readable medium of claim 8 , wherein the expected envelope is based on controller activity data from multiple controllers.

10. The non-transitory computer readable medium of claim 1 , wherein the controller software change is configured to change software on the controller from a first version to a second version.

11. The non-transitory computer readable medium of claim 10 , wherein the second version is deployed subsequent to the first version.

12. The non-transitory computer readable medium of claim 10 , wherein the first version is deployed subsequent to the second version.

13. The non-transitory computer readable medium of claim 1 , wherein the controller software change is identified based on a determined software vulnerability.

14. The non-transitory computer readable medium of claim 1 , wherein:

the controller is a first controller associated with the device; and

the operations further comprise:

determining an interdependency between the first controller and a second controller associated with the device; and

receiving, at the second controller, a prompt to change current software on the second controller.

15. A computer-implemented method for opportunistically updating controller software, the method comprising:

receiving, at a controller, a prompt to change current software on the controller associated with a device;

determining at a first time whether the device is in a first mode of operation;

delaying a controller software change when the device is in the first mode of operation;

determining at a second time whether the device is in a second mode of operation;

accessing the delayed controller software change based on the device being determined to be in the second mode of operation, wherein the delayed controller software change comprises a delta file having at least one position-independent executable code segment; and

implementing the delayed controller software change on the controller when the device is in the second mode of operation, wherein implementing the delayed controller software change comprises linking the at least one position-independent executable code segment to the current software.

16. The computer-implemented method of claim 15 , wherein implementing the delayed controller software change further comprises causing the controller to skip at least one segment of the current software.

17. The computer-implemented method of claim 15 , wherein delaying the controller software change comprises storing the controller software change on the controller or discarding the controller software change from the controller.

18. The computer-implemented method of claim 15 , wherein the prompt is received in response to a deviation of controller activity data of the controller from an expected envelope.

19. The computer-implemented method of claim 18 , wherein the expected envelope is based on controller activity data from multiple controllers.

20. The computer-implemented method of claim 15 , wherein the controller software change is identified based on a determined software vulnerability.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2021
From: FOX, ZOHAR
To: AURORA LABS LTD.
Reel/Frame 055640/0678 →
Continuity (6)
Continuation 16874887 · May 15, 2020
Continuation 16450022 · Jun 24, 2019
Continuation 16044435 · Jul 24, 2018
Provisional Application 62536767 · Jul 25, 2017
Provisional Application 62560224 · Sep 19, 2017
Related Publication 20210208870A1 · Jul 8, 2021
Cited By (3)
US 12,190,092 US 12,327,108 US 12,561,123