Software Application Dependency Tracking and Deployment Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches for managing software application updates lack automation in tracking dependencies between applications, leading to manual errors and production issues due to unclear sequencing of work items and dependencies, especially in environments with multiple software vendors and microservices architectures.

Innovation Solution

An intelligent framework, the application dependency system evaluation framework, monitors software application development, identifies dependencies, and controls deployment by evaluating the deployment status of dependent applications, using feature toggles to ensure consistent and sequenced updates across the production environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual tracking of software application dependencies is used, then flexibility in managing updates is maintained, but manual errors increase and productivity decreases

Engineering Contradiction:
Improveaccuracy of dependency trackingVSAvoidspeed of software update deployment
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system automatically monitors and tracks dependencies between software applications without requiring manual intervention. The monitoring component continuously evaluates deployment statuses and identifies dependent relationships, allowing the system to self-manage the complexity of multi-application dependencies while improving both accuracy and deployment speed

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous monitoring of deployment statuses and uses this feedback to automatically control the deployment of dependent applications. When a primary application is deployed, the system detects this change and automatically evaluates whether dependent applications should be deployed next, creating a closed-loop feedback mechanism that ensures accuracy while maintaining high productivity

Inventive Principle:
Principle #23Feedback

2Productivity

If automated dependency tracking is implemented, then productivity and accuracy improve, but system complexity increases

Engineering Contradiction:
Improvespeed of software update deploymentVSAvoidcomplexity of deployment management system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The deployment management system is divided into distinct functional components: a monitoring component that tracks deployment statuses, an evaluation component that analyzes dependencies, and a control component that manages deployment sequences. This segmentation allows each component to perform its specific function efficiently while reducing the overall system complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-establishes dependency relationships between software applications before deployment begins. By monitoring and identifying dependent relationships in advance, the system prepares the deployment sequence ahead of time, which simplifies the actual deployment process and reduces the complexity of real-time decision-making

Inventive Principle:
Principle #10Preliminary action

3Reliability

If deployment sequencing based on dependencies is enforced, then production stability improves, but deployment time increases

Engineering Contradiction:
Improvestability of production environmentVSAvoidtime required for software updates
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements periodic monitoring of deployment statuses at critical checkpoints in the deployment process. Rather than continuous intervention, the monitoring component checks deployment statuses at regular intervals and triggers automated responses only when necessary, maintaining production stability while minimizing deployment delays

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system applies dependency-based control selectively to only those applications that have identified dependent relationships. Applications without dependencies can be deployed immediately without waiting for the automated evaluation process, allowing partial bypass of the sequencing mechanism when it is not needed, thus maintaining stability for critical dependent applications while reducing overall deployment time

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11625231B2Controlling deployment of software applications based on evaluating dependencies of the software applications
Publication Date: 2023.04.11 DELL PROD LP
  • US11625231B2 patent drawing
  • US11625231B2 patent drawing
  • US11625231B2 patent drawing

AI summary

An apparatus comprises a processing device configured to monitor development of a plurality of software applications, to identify a first one of the plurality of software applications that has a given version ready for deployment to a production environment of an information technology infrastructure, and to determine at least one dependency between the given version of the first one of the plurality of software applications and a given version of at least a second one of the plurality of software applications. The processing device is further configured to control deployment of the given version of the first one of the plurality of software applications in the production environment of the information technology infrastructure based at least in part on evaluating a deployment status of the given version of the second one of the plurality of software applications.