# US 11,726,443 B2 · 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 11,726,443 B2
- Document ID: US11726443B2
- Status: Granted
- Kind: B2
- Application number: 17/658,678
- Filed: 2022-04-11
- Published: 2022-07-28
- Granted: 2023-08-15
- 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/US11726443B2

## 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 first controller and comprising an identifier;
extracting, based on the received message, an image of software associated with the at least one first controller;
generating a delta file, the generating comprising:
determining a stored image of software using the identifier;
comparing the extracted image of software to the stored image of software; 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; and
transmitting the generated delta file to a second remote computing device for updating software on at least one second controller.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein:
the identifier is a software image identifier; and
the stored image of software is associated with metadata comprising at least one of: a delta file identifier, a version identifier, a controller identifier, a device identifier, a system identifier, a date, a timestamp, a software source identifier, or a file format.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the transmitted delta file is configured to be flashed to the second remote computing device.

### Claim 4 (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 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the message was transmitted by the first remote computing device in response to scanning at least part of a controller system.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, the operations further comprising verifying an authenticity of the message.

### Claim 7 (depends on 6)

The non-transitory computer-readable medium of claim 6, wherein verifying the authenticity of the message comprises validating a signature included in the message.

### Claim 8 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein:
the at least one second controller includes a replacement controller; and
the message was transmitted by the first remote computing device in response to scanning the replacement controller.

### Claim 9 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the stored image of software was previously extracted from another message.

### Claim 10 (depends on 1)

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

### Claim 11 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the stored image of software is associated with the identifier.

### Claim 12 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the generated delta file represents differences between different dimensions of software.

### Claim 13 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the generated delta file is transmitted to the second remote computing device in response to a prompt.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the prompt is generated in response to a determination that software on the at least one second controller is underperforming.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the prompt is generated in response to a determination that software on the at least one second controller corresponds to a version identifier not satisfying a reference identifier.

### Claim 16 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the stored image is a most recently stored image of software for controllers associated with the identifier.

### Claim 17 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the delta file is generated in response to a determination that no stored images in a location correspond to the extracted image.

### Claim 18 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the delta file is generated as the image of software associated with the at least one first controller is extracted.

### Claim 19

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 first controller and comprising an identifier;
extracting, based on the received message, an image of software associated with the at least one first controller;
generating a delta file, the generating comprising:
determining a stored image of software using the identifier;
comparing the extracted image of software to the stored image of software; 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; and
transmitting the generated delta file to a second remote computing device for updating software on at least one second controller.

### Claim 20 (depends on 19)

The method of claim 19, wherein the transmitted delta file is configured for a program to construct an image based on the transmitted delta file.
