Application Upgrade Scheduling with Dependency Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The time taken to upgrade applications on computing devices often interrupts their operation, and existing methods lack efficiency in managing reboots and dependencies during the upgrade process.
Innovation Solution
A method and system that utilize device emulation to estimate the time required for application upgrades, perform reboot-upgrade dependency analysis, and schedule upgrades to minimize downtime by identifying optimal time slots and combining reboots, while also monitoring and resolving issues using an issue analyzing model.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application upgrades are performed on computing devices, then the application version is updated to newer version, but the operation of the computing devices is interrupted
Solution Approach 1:
The system performs preliminary actions by analyzing upgrade dependencies and scheduling upgrades in advance. The server determines the optimal upgrade sequence by examining component dependencies before execution, allowing upgrades to be planned during low-usage periods and executed with minimal operational disruption.
Solution Approach 2:
The upgrade process is segmented into multiple independent steps with clear dependencies. Each application component is upgraded separately in a determined sequence, allowing the system to maintain operational functionality for non-upgraded components while updating others, thereby reducing overall operational interruption.
2Reliability
If multiple application upgrades are performed sequentially, then all upgrades are completed, but the total downtime is increased
Solution Approach 1:
The system performs preliminary dependency analysis to determine the optimal upgrade sequence before execution. By analyzing component relationships in advance, the system can schedule upgrades to maximize parallel execution opportunities and minimize sequential bottlenecks, reducing total upgrade duration.
Solution Approach 2:
The upgrade scheduling system dynamically adjusts the upgrade sequence based on real-time operational conditions and dependency relationships. The server can reoptimize the upgrade schedule during execution to accommodate changing system states, ensuring minimal total downtime while completing all necessary upgrades.
3Reliability
If reboot operations are performed during application upgrades, then the upgrade process is completed, but the operational interruption is extended
Solution Approach 1:
The system performs preliminary analysis to determine the optimal timing and sequence of reboot operations. By identifying which upgrades require reboots and when they are most appropriate, the system can schedule reboots to coincide with periods of lowest operational impact, minimizing total interruption time while ensuring upgrade success.
4Ease of operation
If upgrade scheduling is performed without dependency analysis, then the scheduling process is simplified, but the upgrade reliability is reduced
Solution Approach 1:
The system automatically performs dependency analysis and determines the optimal upgrade sequence without requiring manual intervention. The server autonomously examines component relationships, identifies dependencies, and generates the upgrade schedule, maintaining high reliability while keeping the operation simple for users.
Solution Approach 2:
The system incorporates feedback mechanisms to verify upgrade dependencies and adjust scheduling decisions. By continuously monitoring upgrade progress and component states, the system can detect dependency issues and reoptimize the schedule, ensuring reliable upgrade execution while maintaining operational simplicity.
Data Source
AI summary
A method for managing a client environment includes obtaining, by an issue analyzing engine, a notification for an issue based on an application upgrade on a client device of the client environment, in response to the notification: applying an issue analyzing model to device configuration information associated with a client device to obtain a solution set, providing the solution set to client environment, obtaining a result from the client environment associated with the issue and the solution set, and updating the issue analyzing model based on the result to obtain an updated issue analyzing model.


