Controller Software Delta Updates for Bandwidth-Limited Flashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for updating software in controllers, such as ECUs, are inefficient due to the need for downloading and installing entire software images, which consume bandwidth and processing resources, and can lead to delays and memory issues, especially when controllers are outdated 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, thereby reducing the need for full image downloads and improving update speed and reliability.
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 excessively used
Solution Approach 1:
The software update process is segmented into two parts: (1) downloading only the delta file containing differences between old and new software versions, and (2) constructing the complete software image locally by combining the delta file with the existing old version image. This segmentation reduces bandwidth consumption and processing resources while ensuring complete software updates.
2Reliability
If entire software images are downloaded for controller updates, then complete software updates are achieved, but update time is significantly delayed
Solution Approach 1:
The update process is divided into downloading a small delta file and locally constructing the complete image, significantly reducing download time. The local construction step eliminates the need to transfer large amounts of data over the network, thereby reducing update time while maintaining completeness.
Solution Approach 2:
The system performs preliminary actions by maintaining a database of old software version images and preparing delta files in advance. When an update is needed, the system can quickly retrieve the necessary components and construct the new image locally without waiting for lengthy downloads.
3Reliability
If entire software images are downloaded for controller updates, then complete software updates are achieved, but memory space requirements are excessive
Solution Approach 1:
The update process segments the software image into the existing old version (already in memory) and the new differences (delta file). Only the small delta file needs to be downloaded and temporarily stored in memory, while the bulk of the software image remains in its original location. This dramatically reduces memory space requirements during the update process.
4Adaptability or versatility
If multiple full software images are downloaded for multiple version updates, then all software versions are updated, but bandwidth and processing resources are excessively consumed
Solution Approach 1:
Instead of downloading multiple complete software images for different version updates, the system downloads individual delta files for each required version. Each delta file contains only the differences needed for that specific update, allowing the system to efficiently update to multiple versions while consuming minimal bandwidth and processing resources.
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.


