Program Rewriting Thread Reallocation for Multi-Bus Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing program rewriting devices face limitations in transferring data to multiple buses in a vehicle on-board network system due to insufficient threads when the number of buses is large, leading to inefficient and prolonged program update times.
Innovation Solution
A program rewriting device that adjusts the transfer order of update data by creating queues based on data amounts and reallocates threads to buses with the largest remaining data, ensuring parallel transfer is maintained across all buses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If multiple threads are used to transfer data to multiple buses in parallel, then data transfer speed is improved, but the system becomes limited by the insufficient number of threads when the number of buses is large
Solution Approach 1:
The patent implements dynamic thread assignment where threads are not permanently bound to specific buses but are dynamically allocated to transfer queues based on real-time data amounts. The processing circuitry continuously monitors transfer progress and reassigns threads from completed transfers to queues with larger remaining data amounts, enabling the system to adapt to varying data volumes across multiple buses without being constrained by a fixed thread-to-bus mapping.
2Loss of time
If threads are assigned to each bus for parallel transfer, then program rewriting time is reduced, but thread resources are insufficient when the number of buses is relatively large
Solution Approach 1:
The patent applies partial action by having threads work on transfer queues in a round-robin fashion rather than dedicating one thread per bus. When a thread completes a transfer, it moves to the next queue with the largest remaining data amount. This allows the system to process multiple buses sequentially with fewer threads than the number of buses, accepting that not all buses are actively transferred to simultaneously, thereby reducing the required thread count while still achieving efficient overall transfer.
Solution Approach 2:
The patent ensures continuous useful action by implementing a mechanism where threads are continuously reassigned to transfer queues based on real-time monitoring of transfer progress. When a thread becomes available (after completing a transfer), it is immediately assigned to the next most demanding queue, eliminating idle time and ensuring that thread resources are constantly productive. This continuous reallocation maximizes the utilization of limited thread resources across all buses.
Data Source
AI summary
Processing circuitry of a program rewriting device is configured to create a transfer queue for each bus by grouping update data for each electronic control unit, assign threads to transfer queues one by one, starting with a transfer queue with a relatively large transfer data amount, perform parallel transfer of the update data of the transfer queues to the gateway device by using the assigned threads, each time transfer of a piece of the update data is completed, select a transfer queue having a largest transfer data amount from among the transfer queue in which the transfer of the update data is completed and transfer queues to which the threads have not been assigned and in which transfer of the update data is suspended, and continue the parallel transfer by assigning, to the selected transfer queue, the thread assigned to the transfer queue for which the transfer has been completed.


