IP Library Granted Patent US 11,442,721
Granted Patent B2
US 11,442,721 · App. 17/466,560 · Granted Sep 13, 2022

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,442,721
App. No.
17/466,560
Granted
Sep 13, 2022
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 (34)

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:

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

accessing a controller software change based on the device being determined to be in the first mode of operation, the controller software change comprising a delta file generated based on comparing two multidimensional grids, each multidimensional grid representing a version of software in multiple dimensions; and

implementing the controller software change on a controller associated with the device when the device is in the first mode of operation, wherein implementing the controller software change comprises:

storing the delta file adjacent to current software on the controller; and

linking at least one code segment of the delta file to the current software.

2. The non-transitory computer-readable medium of claim 1 , wherein the first mode of operation comprises a predetermined safe operating condition.

3. The non-transitory computer-readable medium of claim 2 , wherein the predetermined safe operating condition is one of a plurality of predetermined safe operating conditions.

4. The non-transitory computer-readable medium of claim 1 , wherein the first mode of operation comprises a power-down status or an idling status.

5. The non-transitory computer-readable medium of claim 1 , wherein accessing the controller software change comprises:

sending a message to a remote server requesting the controller software change; and

in response to the message, receiving the controller software change.

6. The non-transitory computer-readable medium of claim 5 , wherein the message is sent after discarding the controller software change.

7. The non-transitory computer-readable medium of claim 6 , wherein the controller software change is discarded while the device is in a second mode of operation.

8. The non-transitory computer-readable medium of claim 1 , the operations further comprising:

determining a device is in a second mode of operation at a second time, the second time being before the first time; and

delaying the controller software change when the device is in the second mode of operation.

9. The non-transitory computer-readable medium of claim 1 , the operations further comprising configuring the controller so that a code segment of the current software is executed after a code segment of the delta file.

10. The non-transitory computer-readable medium of claim 9 , wherein configuring the controller comprises updating a program counter.

11. The non-transitory computer-readable medium of claim 1 , the operations further comprising configuring the controller to skip a code segment of the current software and instead execute a code segment of the delta file.

12. The non-transitory computer-readable medium of claim 1 , wherein accessing the controller software change is performed in response to identifying an anomaly associated with the controller.

13. The non-transitory computer-readable medium of claim 1 , wherein determining a device is in the first mode of operation is performed as part of monitoring an operational status of the device according to a preestablished interval.

14. The non-transitory computer-readable medium of claim 1 , wherein the first mode of operation comprises a preselected environmental condition of the device.

15. The non-transitory computer readable medium of claim 1 , wherein the multiple dimensions comprise at least two of: a binary data dimension, a source attribute dimension, or a map file dimension.

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

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

accessing a controller software change based on the device being determined to be in the first mode of operation, the controller software change comprising a delta file generated based on comparing two multidimensional grids, each multidimensional grid representing a version of software in multiple dimensions; and

implementing the controller software change on a controller associated with the device when the device is in the first mode of operation, wherein implementing the controller software change comprises:

storing the delta file adjacent to current software on the controller; and

linking at least one code segment of the delta file to the current software.

17. The computer-implemented method of claim 16 , wherein the first mode of operation comprises a predetermined safe operating condition.

18. The computer-implemented method of claim 16 , further comprising configuring the controller so that a code segment of the current software is executed after a code segment of the delta file.

19. The computer-implemented method of claim 16 , further comprising configuring the controller to skip a code segment of the current software and instead execute a code segment of the delta file.

20. The computer-implemented method of claim 16 , wherein the multiple dimensions comprise at least two of: a binary data dimension, a source attribute dimension, or a map file dimension.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: FOX, ZOHAR
To: AURORA LABS LTD.
Reel/Frame 057384/0575 →
Continuity (7)
Continuation 17205626 · Mar 18, 2021
Continuation 16874887 · May 15, 2020
Continuation 16450022 · Jun 24, 2019
Continuation 16044435 · Jul 24, 2018
Provisional Application 62560224 · Sep 19, 2017
Provisional Application 62536767 · Jul 25, 2017
Related Publication 20210397444A1 · Dec 23, 2021