Self-healing learing system for one or more controllers
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 automatically providing software changes, comprising:
- receiving controller activity data from at least one controller, the controller activity data corresponding to actual operation of the at least one controller;
determining a software vulnerability affecting the at least one controller, the software vulnerability being determined based on a deviation between the received controller activity data and expected controller activity data;
identifying a controller software change based on the determined software vulnerability, wherein the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software by updating a program counter of the at least one controller to skip a segment of code of the first version of controller software; and
sending a multi-dimensional delta file configured to change software on the at least one controller based on the identified controller software change, wherein;
the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, and a map file dimension, the multidimensional delta file comprises position-independent code, and the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software.
0 Assignments
0 Petitions
Accused Products
Abstract
Disclosed embodiments relate to automatically providing updates to at least one vehicle. Operations may include receiving, at a server remote from the at least one vehicle, Electronic Control Unit (ECU) activity data from the at least one vehicle, the ECU activity data corresponding to actual operation of the ECU in the at least one vehicle; determining, at the server and based on the ECU activity data, a software vulnerability affecting the at least one vehicle, the software vulnerability being determined based on a deviation between the received ECU activity data and expected ECU activity data; identifying, at the server, an ECU software update based on the determined software vulnerability; and sending, from the server, a delta file configured to update software on the ECU with a software update corresponding to the identified ECU software update.
-
Citations
18 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 automatically providing software changes, comprising:
-
receiving controller activity data from at least one controller, the controller activity data corresponding to actual operation of the at least one controller; determining a software vulnerability affecting the at least one controller, the software vulnerability being determined based on a deviation between the received controller activity data and expected controller activity data; identifying a controller software change based on the determined software vulnerability, wherein the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software by updating a program counter of the at least one controller to skip a segment of code of the first version of controller software; and sending a multi-dimensional delta file configured to change software on the at least one controller based on the identified controller software change, wherein; the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, and a map file dimension, the multidimensional delta file comprises position-independent code, and the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for automatically providing software changes, 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 the operations of; receiving controller activity data from at least one controller, the controller activity data corresponding to actual operation of the at least one controller; determining a software vulnerability affecting the at least one controller, the software vulnerability being determined based on a deviation between the received controller activity data and expected controller activity data; identifying a controller software change based on the determined software vulnerability, wherein the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software by updating a program counter of the at least one controller to skip a segment of code of the first version of controller software; and sending a multidimensional delta file configured to change software on the at least one controller based on the identified controller software change, wherein; the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, and a map file dimension, the multi-dimensional delta file comprises position-independent code, and the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software.
-
-
18. A computer-implemented method for automatically providing software changes, the method comprising:
-
receiving controller activity data from at least one controller, the controller activity data corresponding to actual operation of the at least one controller; determining a software vulnerability affecting the at least one controller, the software vulnerability being determined based on a deviation between the received controller activity data and expected controller activity data; identifying a controller software change based on the software vulnerability, wherein the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software by updating a program counter of the at least one controller to skip a segment of code of the first version of controller software; and sending a multi-dimensional delta file configured to change software on the at least one controller based on the identified controller software change, wherein; the multi-dimensional delta file comprises at least one of a binary data dimension, a source attribute dimension, and a map file dimension, the multi-dimensional delta file comprises position-independent code, and the identified controller software change is configured to adjust the at least one controller from executing a first version of controller software to a second version of controller software.
-
Specification