US10691525B2ActiveUtilityA1

Opportunistic software updates during select operational modes

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

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

exact text as granted — not AI-modified
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 opportunistically updating controller software, comprising:
 receiving, at a controller, a wireless transmission indicating a need to update software running on the controller, the controller controlling at least a portion of a device; 
 monitoring an operational status of the device at a first time to determine whether the device is in a first mode of operation in which a controller software update is prohibited; 
 delaying the controller software update when the operational status is prohibited; 
 continuing to monitor the operational status of the device at a second time to determine whether the device is in a second mode of operation in which the controller software update is permitted; 
 determining the device to be in the second mode of operation; 
 sending a message to a remote server when it is determined that the device is in the second mode of operation; 
 enabling updating of the controller with the delayed controller software update when it is determined that the device is in the second mode of operation, wherein the delayed controller software update is maintained on the remote server or on the device when the device is in the first mode of operation; 
 receiving the controller software update in response to the message; and 
 installing the controller software update on the controller when the device is in the second mode of operation; 
 wherein the controller software is mapped to a plurality of functional units, and the controller is configured to utilize a virtual file system (VFS) to manage and track one or more symbols representing versions of the plurality of functional units. 
 
     
     
       2. The non-transitory computer readable medium of  claim 1 , wherein continuing to monitor the operational status of the device comprises repeatedly monitoring the operational status of the device according to a preestablished interval. 
     
     
       3. The non-transitory computer readable medium of  claim 1 , wherein the instructions further comprise:
 storing the controller software update in a memory located on the device for delayed updates when the device is in the first mode of operation. 
 
     
     
       4. There non-transitory computer-readable medium of  claim 1 , wherein the controller software update comprises at least one position-independent executable code segment. 
     
     
       5. The non-transitory computer readable medium of  claim 1 , wherein the second mode of operation comprises one of a plurality of predetermined safe operating conditions. 
     
     
       6. The non-transitory computer readable medium of  claim 1 , wherein the second mode of operation comprises a power-down status of the device. 
     
     
       7. The non-transitory computer readable medium of  claim 1 , wherein the wireless transmission is received in response to activity data related to the controller deviating from expected controller activity data. 
     
     
       8. The non-transitory computer readable medium of  claim 1 , wherein the second mode of operation comprises a period of wireless communications strength above a threshold of strength. 
     
     
       9. The non-transitory computer readable medium of  claim 1 , wherein the second mode of operation comprises a preselected environmental condition of the device. 
     
     
       10. The non-transitory computer readable medium of  claim 1 , wherein the second mode of operation comprises a network connection with an error rate below a threshold. 
     
     
       11. The non-transitory computer readable medium of  claim 1 , wherein the wireless transmission indicating the need to update the software comprises an indication of whether the update is with or without an override status. 
     
     
       12. The non-transitory computer readable medium of  claim 11 , wherein the instructions further comprise:
 updating the controller software regardless of whether the device is in the first mode of operation when the update is received with the override status. 
 
     
     
       13. A system for opportunistically updating controller software, 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 operations of:
 receiving, at a controller, a wireless transmission indicating a need to update software running on the controller, the controller controlling at least a portion of a device; 
 monitoring an operational status of the device at a first time to determine whether the device is in a first mode of operation in which a controller software update is prohibited; 
 delaying the controller software update when the operational status is prohibited; 
 continuing to monitor the operational status of the device at a second time to determine whether the device is in a second mode of operation in which the controller software update is permitted; 
 determining the device to be in the second mode of operation; 
 sending a message to a remote server when it is determined that the device is in the second mode of operation; 
 enabling updating of the controller with the delayed controller software update when it is determined that the device is in the second mode of operation, wherein the delayed controller software update is maintained on the remote server or on the device when the device is in the first mode of operation; 
 receiving the controller software update in response to the message; and 
 installing the controller software update on the controller when the device is in the second mode of operation; 
 wherein the controller software is mapped to a plurality of functional units, and the controller is configured to utilize a virtual file system (VFS) to manage and track one or more symbols representing versions of the plurality of functional units. 
 
 
     
     
       14. The system of  claim 13 , wherein the controller software update comprises at least one position-independent executable code segment. 
     
     
       15. The system of  claim 14 , wherein continuing to monitor the operational status of the device comprises repeatedly monitoring the operational status of the device according to a preestablished interval. 
     
     
       16. The system of  claim 14 , wherein the wireless transmission indicating the need to update the software comprises an indication of whether the update is with or without an override status. 
     
     
       17. The system of  claim 16 , wherein the one or more processors are further configured to perform the operations of:
 updating the controller software regardless of whether the device is in the first mode of operation when the update is received with the override status. 
 
     
     
       18. A computer-implemented method for opportunistically updating controller software, the method comprising:
 receiving, at a controller, a wireless transmission indicating a need to update software running on the controller, the controller controlling at least a portion of a device; 
 monitoring an operational status of the device at a first time to determine whether the device is in a first mode of operation in which a controller software update is prohibited; 
 delaying the controller software update when the operational status is prohibited; 
 continuing to monitor the operational status of the device at a second time to determine whether the device is in a second mode of operation in which the controller software update is permitted; 
 determining the device to be in the second mode of operation; 
 sending a message to a remote server when it is determined that the device is in the second mode of operation; 
 enabling updating of the controller with the delayed controller software update when it is determined that the device is in the second mode of operation, wherein the delayed controller software update is maintained on the remote server or on the device when the device is in the first mode of operation; 
 receiving the controller software update in response to the message; and 
 installing the controller software update on the controller when the device is in the second mode of operation; 
 wherein the controller software is mapped to a plurality of functional units, and the controller is configured to utilize a virtual file system (VFS) to manage and track one or more symbols representing versions of the plurality of functional units. 
 
     
     
       19. The method of  claim 18 , wherein continuing to monitor the operational status of the device comprises repeatedly monitoring the operational status of the device according to a preestablished interval. 
     
     
       20. The method of  claim 18 , wherein the wireless transmission indicating the need to update the software comprises an indication of whether the update is with or without an override status, and wherein the method further comprises:
 updating the controller software regardless of whether the device is in the first mode of operation when the update is received with the override status.

Join the waitlist — get patent alerts

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

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