VM Patching Schedule Optimization via Segmented Time Windows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software patching practices are inefficient and prone to errors, particularly when scheduling patches for virtual machines within redundancy groups, as they do not effectively manage business criticality and availability constraints.
Innovation Solution
A method and system for generating a patching schedule that allocates patches to virtual machines across multiple redundancy groups in sequential time windows, using an objective function that maximizes business objectives by determining which virtual machines to patch in each time window, subject to constraints such as business criticality, availability, and patch dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines are patched sequentially in time windows, then system availability is maintained, but patching efficiency decreases
Solution Approach 1:
The patching process is segmented into discrete time windows, with each window dedicated to patching a specific redundancy group. This segmentation allows the system to maintain availability by patching one group at a time while others remain operational, resolving the contradiction between maintaining availability and achieving efficient system-wide patching.
Solution Approach 2:
The system performs preliminary scheduling of patches across multiple time windows before actual patching begins. By pre-determining the patching sequence and allocating time windows in advance, the system optimizes the patching process to maintain availability while improving overall patching efficiency through structured planning.
2Productivity
If multiple patches are applied simultaneously across redundancy groups, then patching speed increases, but system stability decreases
Solution Approach 1:
The system segments the patching operation by assigning different patches to different time windows and redundancy groups. This prevents simultaneous patching that could destabilize the system, while still achieving efficient patching through parallel scheduling across multiple segmented groups.
Solution Approach 2:
The patching schedule is dynamically adjusted based on system state and patch dependencies. The system can adaptively determine the optimal sequence and timing of patches, allowing faster patching when system conditions permit while maintaining stability when constraints require more conservative approaches.
3Reliability
If business criticality is prioritized in patching scheduling, then service quality is maintained, but patching completeness may be compromised
Solution Approach 1:
The system performs preliminary assessment of patch dependencies and business criticality levels before scheduling. By identifying critical patches and their dependencies in advance, the scheduler can ensure that high-priority patches are allocated appropriate time windows while still planning for complete patching of all virtual machines across the infrastructure.
Solution Approach 2:
The patching process is organized into periodic time windows that systematically cycle through different redundancy groups. This periodic structure ensures that all patches are eventually applied across the entire system, maintaining patching completeness while prioritizing critical services in earlier or more frequent time windows.
Data Source
AI summary
A method and associated system. A patching schedule is generated by scheduling, in W sequential time windows, P patches applicable to virtual machines in L redundancy groups. Each redundancy group includes virtual machines and independently belongs to a respective software application x of X software applications, wherein P≥1, L≥1, Rm≥1, and X≥1. The L redundancy groups collectively comprise at least 2 virtual machines. The scheduling determines xwmk for T tuples (w, m, k) defined by (w=1, . . . , W) and (m=1, . . . , L) and (k=1, . . . , Rm), by maximizing an objective function subject to constraints. Determining xwmk includes setting xwmk=1 if virtual machine k in redundancy group m is to be patched in time window w or setting xwmk=0 otherwise.


