Program Code Update Scheduling Using Multivariate Time Series Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating program code across a large number of distributed computing devices in information processing systems is challenging due to the manual or semi-automated nature of existing methods, which can cause disruptions and are inefficient, especially when dealing with edge devices across different time zones.
Innovation Solution
A multi-variate time series model is used to analyze resource utilization data and automatically compute an optimal time window for program code updates, minimizing disruptions by scheduling updates during periods of low workload, such as when CPU, IO, and disk utilization are low.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual or semi-automated methods are used to update program code on distributed computing devices, then implementation simplicity is maintained, but update efficiency and reliability deteriorate due to disruptions and manual intervention requirements
Solution Approach 1:
The system automatically schedules and executes program code updates on distributed computing devices without requiring manual intervention. The update management system autonomously selects optimal time windows, pushes updates to devices, and monitors completion, enabling the system to self-manage the update process and eliminate manual operational complexity
Solution Approach 2:
The system performs preliminary analysis of device status, workload patterns, and update requirements before scheduling updates. By pre-evaluating conditions and preparing update packages in advance, the system can execute updates at optimal moments without disrupting device operations, thereby improving efficiency while maintaining simplicity
2Reliability
If program code updates are performed during high workload periods, then update speed increases, but device reliability and operational stability deteriorate due to disruptions
Solution Approach 1:
The system dynamically adjusts update scheduling based on real-time device status and workload conditions. By continuously monitoring device metrics and adapting the update timing to match low-workload periods, the system maintains high reliability while minimizing the time window required for updates through flexible, condition-based scheduling
Solution Approach 2:
The system incorporates feedback loops that monitor device responses to updates and workload patterns. This feedback enables the system to learn from previous update outcomes and refine future scheduling decisions, ensuring updates are always performed during optimal low-disruption periods, thereby improving reliability without significant time loss
3Extent of automation
If automated update scheduling is implemented without considering workload patterns, then automation level increases, but update disruption and harmful effects increase due to poor timing
Solution Approach 1:
The system replaces simple mechanical scheduling with intelligent automation that incorporates machine learning models and analytical algorithms. This substitution enables the system to automatically determine optimal update timing based on complex workload patterns, device metrics, and historical data, achieving high automation while eliminating disruption through sophisticated decision-making
Solution Approach 2:
The system changes the parameters of update scheduling by analyzing multiple device metrics and workload characteristics to determine optimal timing conditions. By adjusting parameters such as update timing, duration, and frequency based on real-time conditions, the system achieves automated scheduling that avoids disruptions while maintaining high automation levels
Data Source
AI summary
Techniques for program code management are disclosed. For example, a method obtains resource utilization data from a computing network comprising a plurality of computing devices. The method then utilizes a multi-variate time series model representing at least a portion of the resource utilization data to automatically compute at least one time window in which to perform a program code update on at least a subset of the plurality of computing devices.


