Machine-Learning Application Update Prioritization for Reliable Installs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing application updates on computing devices is challenging due to the difficulty in prioritizing updates based on their importance and likelihood of successful installation, leading to inefficient bandwidth, processor, and power usage, as well as increased crashes or bugs.
Innovation Solution
A computing device and/or cloud system apply a machine learning model to application usage history and update installation history to determine update priority scores, prioritizing updates for frequently used and likely successful installations while deprioritizing less important ones.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If automatic updates are applied to all applications without prioritization, then update installation is facilitated without user interaction, but bandwidth, processor, and power are wasted on low-priority applications while critical applications may not receive timely updates
Solution Approach 1:
The system changes the parameter of update priority by applying a machine learning model that analyzes application usage history, update installation history, and network settings to generate dynamic priority scores. This transforms the uniform update approach into a differentiated approach where each application receives updates based on its calculated priority level, optimizing resource allocation.
Solution Approach 2:
The system enables self-service by allowing the computing device to automatically determine update priorities and select which applications to update without user intervention. The machine learning model autonomously analyzes historical data and makes decisions about update sequencing, reducing the need for manual user management while optimizing resource usage.
2Productivity
If application updates are installed without prioritization, then all applications are updated uniformly, but the number of failed installations increases and crashes occur more frequently in important applications
Solution Approach 1:
The system performs preliminary action by analyzing application usage history and update installation history before initiating updates. The machine learning model pre-calculates priority scores and determines the optimal installation sequence in advance, allowing the system to prepare and execute updates in an order that maximizes success probability for critical applications.
Solution Approach 2:
The system implements feedback by continuously monitoring update installation results and using this information to refine future update decisions. The update installation history is fed back into the machine learning model to improve priority scoring accuracy, creating a closed-loop system that learns from past outcomes to enhance reliability.
3Adaptability or versatility
If manual update management is implemented, then users have control over which applications to update, but the complexity of managing multiple application updates increases significantly
Solution Approach 1:
The system introduces an intermediary - the machine learning model - that acts as a intelligent mediator between user requirements and update management. The model translates user behavior patterns into automated update decisions, providing the benefits of user control without the complexity of manual management. Users indirectly influence update priorities through their usage patterns rather than direct intervention.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computing system may receive a request for application update information for one or more applications installed on a computing device. The computing system determines, based on the request for the application update information, a set of applications that need to be updated and applies a machine learning model to determine a respective update priority score for each application from the set of applications. The computing system sends an indication of the respective update priority scores for the set of applications to the computing device. Responsive to receiving an update request from the computing device, the computing system initiates installation of the pending update for the at least one application from the set of applications.