Vehicle Software Update Chunking via Topic Tree Subscription
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing vehicle software update systems face challenges in managing software updates of arbitrary sizes, as they often exceed the memory capacity of the receiving module, and current methods lack efficient mechanisms to split and manage these updates effectively.
Innovation Solution
The system employs a publish/subscribe model using a topic tree structure to split software updates into manageable chunks, allowing vehicles to subscribe to multiple topic nodes for each chunk, enabling the download and installation of updates even when the original file size exceeds the module's memory limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software updates are transmitted as single large files, then the update process is simple, but the update fails when the file size exceeds the receiving module's memory capacity
Solution Approach 1:
The software update is divided into multiple smaller chunks that can be individually downloaded and stored in the receiving module's memory. Each chunk is a manageable portion of the total update, allowing the system to handle updates larger than the module's memory capacity by processing them in segments rather than attempting to load the entire update at once.
Solution Approach 2:
The update delivery system transitions from a single-file approach to a multi-chunk approach organized by topic nodes. This dimensional change in the update structure allows the system to manage large updates through hierarchical organization, where chunks are distributed across multiple topic nodes that can be subscribed to and retrieved systematically.
2Adaptability or versatility
If the system subscribes to multiple topic nodes to retrieve update chunks, then large updates can be handled, but the subscription and retrieval process becomes more complex
Solution Approach 1:
The update is segmented into multiple chunks distributed across different topic nodes. The receiving module subscribes to each topic node individually, allowing it to retrieve only the specific chunks needed for the update. This segmentation enables flexible handling of updates of any size by controlling which topic nodes are subscribed to.
Solution Approach 2:
The receiving module automatically manages the subscription and retrieval process for multiple topic nodes without requiring manual intervention. The system self-manages the complexity of subscribing to multiple topics, retrieving chunks in the correct sequence, and reassembling the complete update, thereby providing adaptability while hiding the underlying complexity.
3Productivity
If manual update application is used, then the process is controllable, but the update process is time-consuming and labor-intensive
Solution Approach 1:
The receiving module automatically applies the software update by systematically retrieving chunks from subscribed topic nodes and assembling them into the complete update. This self-service approach eliminates the need for manual update application while maintaining controllability through automated verification and error handling, significantly improving productivity.
Solution Approach 2:
The update process operates continuously by automatically retrieving available chunks from topic nodes and applying them to the software system. This continuous operation eliminates interruptions and delays associated with manual updates, maintaining productive action throughout the update process and improving overall speed and efficiency.
Data Source
AI summary
A system may include a vehicle-based computing system. The vehicle-based computing system may identify from a first software update chunk retrieved from a subscribed topic for receiving vehicle updates, a number of chunks of the update, retrieve additional chunks of the update by subscription to each of a sequence of subtopics to the subscribed topic, each subtopic associated with a respective remaining one of the number of chunks, and update the software utilizing the retrieved chunks.


