Software Distribution System with Concurrent Test Program Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software distribution systems face challenges in ensuring continuous protection of client terminals due to delays in updating monitoring programs, which can lead to unprotected states when software is updated, especially in diverse execution environments like smartphones and onboard terminals.
Innovation Solution
A software distribution system that allows for the automatic acquisition and merging of test programs with the software at the client terminal, ensuring the test program is executed simultaneously with the software, even if the test program is prepared later, by requesting and merging the test program at the time of software update and distributing them separately if necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software updates are distributed via network to ensure security and eliminate bugs, then software reliability is improved, but the monitoring program may be delayed in updating leaving the system unprotected
Solution Approach 1:
The patent merges the software update and monitoring program update into a single coordinated operation. The distribution server transmits both the updated software and its corresponding monitoring program together, ensuring they arrive simultaneously at the client terminal. This eliminates the time gap where software is updated but not yet monitored, resolving the contradiction between improving security through updates and avoiding unprotected states during update delays.
Solution Approach 2:
The monitoring program is prepared and made available for distribution in advance alongside the software update. The system checks for the availability of the monitoring program before completing the software update, ensuring protective measures are in place before the new software becomes operational. This preliminary preparation prevents the system from entering an unprotected state.
2Device complexity
If separate distribution of software and monitoring program is used to simplify distribution architecture, then device complexity is reduced, but coordination difficulty increases leading to protection gaps
Solution Approach 1:
The distribution server implements a feedback mechanism where it checks whether the monitoring program corresponding to the software update is available before completing the distribution. The client terminal also provides feedback about the status of received updates. This feedback loop ensures coordinated delivery of both software and monitoring program while maintaining the simplicity of separate distribution architecture, resolving the contradiction between structural simplicity and synchronization capability.
Solution Approach 2:
The distribution server acts as an intermediary that coordinates between the software update process and monitoring program distribution. It manages the transmission of both components, ensures they are matched correctly, and controls the update process to maintain synchronization. This intermediary role enables separate distribution architecture to work effectively without coordination gaps.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A software distribution system comprises a computer; a first distribution device; and a.second distribution device, wherein the computer includes a first software reception unit configured to receive the software; a second software reception unit configured to receive the test program corresponding to the software; and a software execution unit configured to merge the software described in an executable format and the test program, and execute, the second software reception unit attempts to acquire a test program corresponding to the software at a timing at which the first software reception unit has received the software, and makes repeated attempts at a predetermined interval when the test program cannot be acquired, and the software execution unit merges the software and the test program at a timing at which the second software reception unit has received the test program.