Application Update Failure Detection via Shared Status Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Client software application updates may fail due to various reasons such as proxies, firewalls, OS/platform issues, connection failures, or updater problems, leading to insecure states with unpatched security vulnerabilities and missing bug fixes, making it difficult to determine if an update is available.
Innovation Solution
A method and system that determine the status of an update mechanism and infrastructure by reading values indicating the last successful update check and update completion, and generate notifications if these values do not meet defined threshold criteria, indicating an update failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the updater is external to the application and not directly accessible, then the application can maintain independence and modular architecture, but it becomes difficult to determine if an update is available or if update failures occur
Solution Approach 1:
The patent introduces a shared storage location (intermediary) between the external updater and the application. The updater writes update status information to this shared location, and the application reads from it to determine update availability and status. This mediator enables communication and status detection without requiring direct access to the updater, resolving the contradiction between modular architecture and update status detectability.
2Extent of automation
If automatic updates are implemented, then users benefit from automated security patches and bug fixes, but update failures can occur leaving users in insecure states with no awareness of the problem
Solution Approach 1:
The patent implements a feedback mechanism where the external updater continuously writes update status information to a shared storage location, and the application periodically reads this information to determine current update status. This feedback loop allows the system to detect update failures and notify users, ensuring reliability while maintaining automation. The feedback enables the application to be aware of update successes and failures without manual intervention.
3Reliability
If the application checks frequently for update status, then users are promptly notified of update failures, but this increases system resource consumption and processing overhead
Solution Approach 1:
The patent implements periodic checking where the application reads update status information at predetermined intervals from the shared storage location, rather than continuously or on every user action. This periodic action maintains reliable update failure detection while reducing system resource consumption compared to frequent or continuous checking, balancing reliability with energy efficiency.
Data Source
AI summary
A system for detecting external software update failure of an application may receive a request at the application to determine the status of an update mechanism and infrastructure (“updater”) associated with the application. The system may determine one or more values written by the updater at a location accessible by the application. The one or more values may include one or more of a first value indicating when a last successful check for updates for the application was completed by the updater and a second value indicating when a last successful update for the application was completed. The system may determine, at the application and based on the one or more values, if an update failure has occurred at the updater. The update failure may include the updater having problems detecting or applying updates. The system may generate a notification when it determines that an update failure has occurred.


