Automated Deployment Tool for High-Utilization Platforms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Introducing new applications or changes to heavily loaded production computer platforms is risky due to the inability to perform full tests, leading to potential human errors and outages, with existing methods not ensuring correct installation or functionality testing.

Innovation Solution

An automated deployment tool that uses historical data to determine the best time to deploy and test application changes, minimizing performance impact by selecting low-load times, and enabling enhanced diagnostics for faster issue resolution, while predicting CPU usage patterns and sparing resources for debugging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full testing is performed on a heavily loaded production platform, then application functionality can be verified, but system performance and stability deteriorate

Engineering Contradiction:
Improveapplication functionality verificationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by collecting historical workload data and predicting future platform capacity before deployment. This allows testing to be scheduled during periods when the platform has sufficient spare capacity, ensuring both functionality verification and minimal performance impact.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically schedules deployment and testing based on real-time and historical platform workload patterns. By continuously monitoring and adapting to changing platform conditions, the system can perform full testing when capacity is available while maintaining production performance during peak periods.

Inventive Principle:
Principle #15Dynamics

2Productivity

If deployment is performed during peak periods, then business continuity is maintained, but the risk of human error and outages increases

Engineering Contradiction:
Improvebusiness continuityVSAvoiddeployment risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system uses feedback from historical deployment data and workload patterns to continuously improve deployment timing decisions. By analyzing past outcomes and platform responses, the system learns to identify optimal deployment windows that balance business continuity with minimized risk.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary analysis of platform capacity and workload patterns before scheduling deployments. This advance planning allows identification of safe deployment windows where business continuity is maintained and risk is minimized through automated timing decisions.

Inventive Principle:
Principle #10Preliminary action

3Ease of repair

If enhanced diagnostics are enabled during deployment, then faster defect resolution is achieved, but system resource consumption increases

Engineering Contradiction:
Improvedefect resolution speedVSAvoidsystem resource consumption
Core Design Contradiction:
Ease of repairVSUse of energy by moving object

Solution Approach 1:

The system enables enhanced diagnostics in advance during the deployment process rather than during production operations. By collecting detailed diagnostic data during the deployment window when resources are already allocated, the system achieves fast defect resolution without impacting production resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies enhanced diagnostics partially - only during deployment and testing phases rather than continuously in production. This selective application provides sufficient diagnostic capability for fast defect resolution while avoiding excessive resource consumption during normal operations.

Inventive Principle:
Principle #16Partial or excessive action

4Reliability

If automated deployment is implemented, then human error is reduced, but system complexity increases

Engineering Contradiction:
Improvehuman error reductionVSAvoiddeployment system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically making deployment decisions based on collected data and established policies. The automated system monitors platform conditions, selects optimal timing, and executes deployments without human intervention, reducing human error while managing complexity through rule-based automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The deployment tool is designed as a universal platform that handles multiple functions - workload analysis, capacity prediction, deployment scheduling, and diagnostic coordination - within a single integrated system. This multi-functionality reduces overall system complexity by consolidating what could be separate complex systems into one coordinated platform.

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

Data Source

PatentUS8832661B2Installing and testing an application on a highly utilized computer platform
Publication Date: 2014.09.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8832661B2 patent drawing
  • US8832661B2 patent drawing
  • US8832661B2 patent drawing

AI summary

A method, apparatus and computer product for installing and testing an application on a highly utilized computer platform comprising: determining spare computing capacity of the computer platform over a utilization period; determining workload capacity required by the computer platform for installing the computer application and performing one or more diagnostic tests on the installed computer application; and scheduling deployment and performance of the one or more diagnostic tests to avoid periods where there is low computing capacity based on a predicted recurrence of the spare computing capacity over a similar future utilization period whereby the scheduling aims to provide sufficient system capacity for running an accumulated extra workload of the new application and the additional diagnostic tests required to verify the deployment of the one or more diagnostic tests.