Deployment Schedule Optimization Using Device Dependency Chains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data center management tools lack the ability to optimize deployment schedules for updates and other operations across devices, failing to consider device dependencies and current resource utilization, leading to inefficient and potentially disruptive upgrades.

Innovation Solution

A system that generates a device dependency chain using a directed weighted graph and predicts workloads to determine an optimal deployment schedule, selecting devices for operations based on their dependency scores and workload predictions, ensuring minimal impact and efficient resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If updates are pushed sequentially to devices, then device dependency issues are avoided, but deployment time increases

Engineering Contradiction:
Improvedeployment reliabilityVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the deployment process into multiple batches or waves, where devices are divided into groups based on their dependency relationships. Each batch is deployed independently with controlled parallelism, allowing the system to maintain reliability by respecting dependencies while reducing total deployment time through concurrent batch execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic deployment scheduling that adapts to real-time device states and workload conditions. The system dynamically adjusts the deployment plan by considering device dependencies, current workload, and resource availability, optimizing the balance between sequential safety and parallel speed without fixed rigid scheduling.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If updates are pushed in parallel to all devices, then deployment time decreases, but system stability deteriorates due to resource contention

Engineering Contradiction:
Improvedeployment timeVSAvoidsystem stability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent applies partial parallelism by deploying updates to a subset of devices simultaneously rather than all devices at once. The system controls the degree of parallelism by limiting the number of concurrent deployments, ensuring sufficient resource availability while still achieving speedup compared to purely sequential deployment.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent incorporates feedback mechanisms that monitor device workload, resource utilization, and deployment progress in real-time. This feedback is used to dynamically adjust the deployment schedule, pausing or rescheduling deployments when resource contention is detected, thereby maintaining system stability while optimizing deployment speed.

Inventive Principle:
Principle #23Feedback

3Reliability

If deployment schedule considers device dependencies, then deployment reliability improves, but computational complexity increases

Engineering Contradiction:
Improvedeployment reliabilityVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of device dependencies before deployment by constructing a dependency graph from device metadata and configuration information. This pre-processing step identifies dependency relationships and potential deployment orders in advance, reducing the computational complexity during actual deployment execution while ensuring reliability through pre-validated scheduling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a virtual model or copy of the device dependency graph for scheduling purposes, separate from the actual deployment execution. This virtual representation allows complex dependency analysis and optimization to be performed on the model without affecting the real system, simplifying the scheduling computation while maintaining deployment reliability.

Inventive Principle:
Principle #26Copying

4Productivity

If deployment ignores current workload, then deployment speed increases, but service quality deteriorates

Engineering Contradiction:
Improvedeployment speedVSAvoidservice quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically changes deployment parameters based on device workload conditions. When device workload is high, the system adjusts deployment parameters such as resource allocation, deployment timing, or parallelism degree to minimize impact on service quality. This adaptive parameter adjustment maintains deployment speed while protecting service quality under varying workload conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11467884B2Determining a deployment schedule for operations performed on devices using device dependencies and predicted workloads
Publication Date: 2022.10.11 DELL PROD LP
  • US11467884B2 patent drawing
  • US11467884B2 patent drawing
  • US11467884B2 patent drawing

AI summary

An apparatus comprises a processing device configured to generate a model characterizing relationships between devices in an information technology infrastructure, to build a device dependency chain for the devices based at least in part on the generated model, and to predict workload for each of the devices in each of two or more time slots of a given time period. The processing device is also configured to determine a deployment schedule for the devices based at least in part on the device dependency chain and the predicted workload for each of the devices in each of the two or more time slots of the given time period, to identify an operation to be performed on the devices, and to utilize the deployment schedule to select ones of the devices on which to perform the identified operation in each of the two or more time slots of the given time period.