Dynamic Patch Queue Prioritization for Build Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing First-In First-Out (FIFO) approach to managing software patch submissions in software development environments is inefficient, leading to slowed integration processes and potential delays in making working builds available for downstream operations, which can waste developer time and hinder business objectives.

Innovation Solution

An enhanced integration scheme that analyzes queued patches based on priority factors, allowing patches to be integrated in a non-chronological order, with priority adjustments for factors such as patch dependencies, testing status, geographic location, and business hours, ensuring that the highest priority patches are integrated first.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If patches are integrated in first-in first-out order, then the queue management is simple, but critical patches cannot be prioritized and integration efficiency is reduced

Engineering Contradiction:
Improveintegration efficiencyVSAvoidqueue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic patch prioritization by introducing a priority score system that evaluates multiple factors (criticality, dependencies, testing status, geographic location, business hours) to determine integration order. This transforms the static FIFO queue into a dynamic priority-based queue that adapts to changing conditions, resolving the contradiction between simple management and high efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of patch selection from chronological order to priority score-based order. By calculating and comparing priority scores for each patch based on multiple attributes, the system enables critical patches to be integrated ahead of less important ones, significantly improving integration efficiency while maintaining manageable complexity through automated scoring.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If patches are integrated in chronological order, then the processing order is predictable, but wait time for critical patches increases

Engineering Contradiction:
Improvewait time for patch integrationVSAvoidpredictability of processing order
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system performs preliminary evaluation of each patch's attributes (criticality, dependencies, testing status, geographic location, business hours) before integration to assign priority scores. This preliminary analysis enables the system to predict and optimize the integration order, reducing wait time for critical patches while maintaining operational predictability through consistent scoring criteria.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical FIFO first-come-first-served system with an intelligent priority-based selection system. By substituting simple chronological ordering with multi-factor priority calculation, the system reduces wait time for critical patches while maintaining predictability through transparent and consistent priority scoring rules.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If the build server processes patches in arrival order, then resource utilization is steady, but business priorities cannot be aligned

Engineering Contradiction:
Improvealignment with business prioritiesVSAvoidpriority evaluation system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the patch evaluation process into distinct attribute categories (criticality, dependencies, testing status, geographic location, business hours), each contributing to the overall priority score. This segmentation enables the system to align with business priorities by weighting different attributes appropriately, while keeping the evaluation system manageable through modular attribute assessment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The priority evaluation system serves multiple functions simultaneously: it aligns integration order with business priorities, accounts for geographic and temporal constraints, manages patch dependencies, and optimizes resource utilization. This multi-functionality achieves high adaptability to business priorities while consolidating complexity into a single unified evaluation framework.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9710253B2Managing a software-patch submission queue
Publication Date: 2017.07.18 COMMVAULT SYSTEMS INC
  • US9710253B2 patent drawing
  • US9710253B2 patent drawing
  • US9710253B2 patent drawing

AI summary

Queued software patches are analyzed before one patch is chosen as the next patch to be integrated into a working build. The chosen patch might not be next in chronological order of arrival at the queue. Instead, an illustrative build server applies a number of priority factors to every patch awaiting integration in the patch queue, specifically by analyzing one or more relevant attributes of the patch. The patch that receives the highest priority score in the course of the evaluation is then extracted for integration. After the patch has been integrated, the build server (e.g., using an illustrative patch queue manager module) circles back and again evaluates all the patches in the current queue, which may have queued new patches that were submitted while the previous patch was being integrated. Relative to a default chronological order, a given patch may receive a boost in priority or, conversely, may have its priority reduced.