IP Library Granted Patent US 10,303,460
Granted Patent B2
US 10,303,460 · App. 16/044,454 · Granted May 28, 2019

Self-healing learning system for one or more vehicles

Inventor: Zohar Fox (Tel Aviv, IL)
Assignee: Aurora Labs Ltd.
G06F8/654B60W50/0225B60W50/04G06F8/60G06F8/65G06F8/656G06F8/658G06F8/71G06F9/4401G06F9/445G06F11/079G06F11/0721G06F11/0751G06F11/0793G06F11/1629G06F11/3612G06F12/0646G06F16/188G06F21/577B60W2050/021G06F8/66G06F2212/1008G06F2221/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 10,303,460
App. No.
16/044,454
Granted
May 28, 2019
Kind
B2
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.

Claims (53)

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 to at least one vehicle, comprising:

receiving 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 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 an ECU software change based on the determined software vulnerability; and

sending a multi-dimensional delta file configured to change software on the ECU with the identified ECU software change wherein:

the multi-dimensional delta file comprises position-independent code,

the software on the ECU is mapped to a plurality of functional units,

the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units, and

the identified ECU software change comprises a prompt to adjust the ECU from executing a first version of ECU software to a second version of ECU software.

2. The non-transitory computer readable medium of claim 1 , wherein the at least one vehicle includes a plurality of vehicles being monitored as a group.

3. The non-transitory computer readable medium of claim 2 , wherein the plurality of vehicles includes a first set of vehicles having a common ECU type.

4. The non-transitory computer readable medium of claim 3 , wherein determining the software vulnerability comprises:

determining a software vulnerability affecting the first set of vehicles.

5. The non-transitory computer readable medium of claim 4 , wherein determining the software vulnerability further comprises:

determining, based on the ECU activity data, a second set of the plurality of vehicles potentially affected by the software vulnerability.

6. The non-transitory computer readable medium of claim 5 , wherein sending the multi-dimensional delta file configured to change software on the ECU with the software change comprises:

sending a plurality of delta files to the first set and the second set of vehicles.

7. The non-transitory computer readable medium of claim 1 , wherein the instructions further comprise:

configuring, in response to the prompt and based on a multi-dimensional delta file corresponding to the second version of ECU software, the second version of ECU software on the ECU for execution; and

configuring, in response to the prompt, the first version of ECU software on the ECU to become non-executable.

8. The non-transitory computer readable medium of claim 7 , wherein the second version of ECU software is deployed subsequent to the first version of ECU software.

9. The non-transitory computer readable medium of claim 7 , wherein the second version of ECU software is deployed prior to the first version of ECU software.

10. The non-transitory computer readable medium of claim 7 , wherein the second version of ECU software is the first version of ECU software having one or more functional units disabled by the VFS.

11. The non-transitory computer readable medium of claim 7 , wherein the multi-dimensional delta file comprises startup code integrated into the multi-dimensional delta file and configured for executing the multi-dimensional delta file in the ECU.

12. The non-transitory computer readable medium of claim 1 , wherein the ECU software change comprises an installation agent for installing the ECU software change on the ECU.

13. The non-transitory computer readable medium of claim 1 , wherein the ECU software change is configured to recalibrate ECUs in the plurality of vehicles.

14. The non-transitory computer readable medium of claim 1 , wherein the instructions further comprise:

instructing the ECU of the at least one vehicle to reboot in response to the ECU software change.

15. A system for automatically providing software changes to at least one vehicle, 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 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 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 an ECU software change based on the determined software vulnerability; and

sending a multidimensional delta file configured to change software on the ECU with the identified ECU software change, wherein:

the multi-dimensional delta file comprises position-independent code,

the software on the ECU is mapped to a plurality of functional units,

the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units, and

the identified ECU software change comprises a prompt to adjust the ECU from executing a first version of ECU software to a second version of ECU software.

16. The system of claim 15 , wherein the at least one vehicle includes a first set of vehicles having a common ECU type, and wherein the one or more processors are further configured to perform the operations of:

determining the software vulnerability affecting the first set of vehicles; and

determining, based on the ECU activity data, a second set of vehicles potentially affected by the software vulnerability.

17. The system of claim 16 , wherein the one or more processors are further configured to perform the operations of:

sending the ECU software change to the first set and the second set of vehicles.

18. A computer-implemented method for automatically providing software changes to at least one vehicle, the method comprising:

receiving 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 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 an ECU software change based on the software vulnerability; and

sending a multi-dimensional delta file configured to change software on the ECU with the identified ECU software change, wherein:

the multi-dimensional delta file comprises position-independent code,

the software on the ECU is mapped to a plurality of functional units,

the ECU is configured to utilize a virtual file system (VFS) to manage and track one or more versions of each of the plurality of functional units, and

the identified ECU software change comprises a prompt to adjust the ECU from executing a first version of ECU software to a second version of ECU software.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2018
From: FOX, ZOHAR
To: AURORA LABS LTD.
Reel/Frame 046448/0602 →
Continuity (3)
Provisional Application 62536767 · Jul 25, 2017
Provisional Application 62560224 · Sep 19, 2017
Related Publication 20190034185A1 · Jan 31, 2019