Opportunistic software updates during select operational modes
First Claim
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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17)
-
-
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. - View Dependent Claims (19, 20)
-
Specification