VM Patching Schedule Optimization via Segmented Time Windows

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are patched sequentially in time windows, then system availability is maintained, but patching efficiency decreases

Engineering Contradiction:
Improvesystem availabilityVSAvoidpatching efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple patches are applied simultaneously across redundancy groups, then patching speed increases, but system stability decreases

Engineering Contradiction:
Improvepatching speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

3Reliability

If business criticality is prioritized in patching scheduling, then service quality is maintained, but patching completeness may be compromised

Engineering Contradiction:
Improveservice qualityVSAvoidpatching completeness
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10241782B2Patching of virtual machines within sequential time windows
Publication Date: 2019.03.26 KYNDRYL INC
  • US10241782B2 patent drawing
  • US10241782B2 patent drawing
  • US10241782B2 patent drawing

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.