# US 2021/0405604 A1 · Efficient controller data generation and extraction

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0405604 A1
- Document ID: US20210405604A1
- Status: Published application
- Kind: A1
- Application number: 17/361,081
- Filed: 2021-06-28
- Published: 2021-12-30
- Earliest claimed: 2020-06-29
- Assignees: Aurora Labs Ltd.
- Applicants: Aurora Labs Ltd.
- Inventors: Zohar Fox; Oren Sokoler; Kfir Ben Shimon
- Web page: https://patentgrep.com/patent/US20210405604A1

## CPC

- G05B 19/0426: {Programming the control sequence}
- G06F 8/658: Incremental updates; Differential updates
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G05B 2219/23301: Load program from file system of a controller
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Disclosed herein are techniques for efficiently providing controller data as part of a maintenance or update process. Techniques include receiving, from a first remote computing device, a message associated with at least one controller; extracting, based on the received message, an image of software associated with the at least one controller; accessing, based on the extracted image, a delta file; and transmitting the accessed delta file to a second remote computing device.

## Claims

### 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 efficiently providing controller data as part of a maintenance or update process, the operations comprising:
receiving, from a first remote computing device, a message associated with at least one controller;
extracting, based on the received message, an image of software associated with the at least one controller;
accessing, based on the extracted image, a delta file; and
transmitting the accessed delta file to a second remote computing device.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the transmitted delta file is configured for a program to construct an image based on the transmitted delta file.

### Claim 3 (depends on 2)

The non-transitory computer-readable medium of claim 2, wherein the constructed image is configured for being flashed over a communication bus in a vehicle.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the message is transmitted from the first remote computing device based on the first remote computing device determining that two software version identifiers are different, the extracted image of software being associated with one of the software version identifiers.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the extracted image is a binary image.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the at least one controller is an electronic control unit (ECU).

### Claim 7 (depends on 1)

The non-transitory computer-readable medium of claim 1, the operations further comprising storing the extracted image in a database.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the stored extracted image is a most recently stored image of software for a controller identifier of the at least one controller.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein:
the received message comprises a controller identifier; and
storing the extracted image in the database comprises storing the extracted image with previously extracted images associated with the controller identifier.

### Claim 10 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the extracted image and the previously extracted images are associated with respective vehicle identification numbers (VINs).

### Claim 11 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the delta file represents differences between the extracted image of software and a stored image of software in a database.

### Claim 12 (depends on 11)

The non-transitory computer-readable medium of claim 11, wherein the delta file is multidimensional.

### Claim 13 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein accessing the delta file comprises generating the delta file.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein generating the delta file comprises:
comparing the extracted image of software to a stored image of software in a database; and
based on the comparison, determining differences between the extracted image of software and the stored image of software, the delta file representing the differences.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, the operations further comprising determining the stored image of software based on a controller identifier included in the received message.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the stored image of software is a most recently stored image of software for the controller identifier.

### Claim 17 (depends on 1)

The non-transitory computer-readable medium of claim 1, the operations further comprising compressing the delta file prior to sending it to the second computing device.

### Claim 18 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein:
the image is a first image; and
the second computing device includes client software configured to build a second image based on the transmitted delta file.

### Claim 19 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the delta file is transmitted in response to determining damage to a system.

### Claim 20

A method for efficiently providing controller data as part of a maintenance or update process, the method comprising:
receiving, from a first remote computing device, a message associated with at least one controller;
extracting, based on the received message, an image of software associated with the at least one controller;
accessing, based on the extracted image, a delta file; and
transmitting the accessed delta file to a second remote computing device.
