Controller Image Delta Extraction for Low-Bandwidth Software Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating software in controllers, such as ECUs, are inefficient due to the need to download and install entire software images, which consume bandwidth and processing resources, and can lead to delays and memory issues, especially when controllers are out of date or have malware vulnerabilities.
Innovation Solution
The method involves generating and transmitting delta files, which represent the differences between software versions, allowing for efficient updates by constructing an image file based on the delta file and flashing it over a communication bus, reducing the need for full image downloads and installations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If entire software images are downloaded and installed for controller updates, then complete software updates are achieved, but bandwidth consumption and processing resources are excessive
Solution Approach 1:
The software update process is segmented into two parts: a base image that remains stored, and a delta file that contains only the differences. Instead of transmitting and installing complete software images, the system transmits only the delta portion, significantly reducing bandwidth consumption and processing requirements while maintaining update completeness.
Solution Approach 2:
The invention extracts only the necessary update portions (delta files) from complete software images. By calculating and transmitting only the differences between old and new software versions, the system removes unnecessary data transmission and processing steps, reducing resource consumption while achieving the same update result.
2Reliability
If entire software images are downloaded for controller updates, then complete software updates are achieved, but update time is excessive
Solution Approach 1:
The update process is divided into storing a base image once, then applying incremental delta files for subsequent updates. This segmentation allows the system to avoid re-downloading complete images for every update, significantly reducing update time while ensuring complete software updates are achieved through the base image plus delta combination.
Solution Approach 2:
The base software image is downloaded and stored in advance in the controller's memory. When updates are needed, only the delta portions are transmitted and applied, leveraging the pre-stored base image to minimize update time. This preliminary action eliminates the need to download complete images repeatedly.
3Reliability
If multiple full software images are downloaded for multiple version updates, then all version updates are achieved, but memory space requirements are excessive
Solution Approach 1:
Instead of storing multiple complete software images for different versions, the system stores one base image and maintains separate delta files for each update version. The combination of base image and applicable delta files provides the same functionality as storing multiple full images, but consumes significantly less memory space.
Solution Approach 2:
The system discards the need to store redundant complete software images by using delta files that reference the base image. The delta files contain only the changes needed, allowing the system to recover or apply updates without retaining multiple full image copies in memory, thus optimizing space utilization.
Data Source
AI summary
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.


