Software Release Automation Tool for Version Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software release promotion processes in the SDLC are inefficient and prone to errors due to manual management of version numbers, leading to incorrect and outdated software deployments across environments.

Innovation Solution

A software release update automation tool that uses dynamic value injection and automation, eliminating the need for version numbers by comparing and promoting software versions between source and target environments, and generating verification logs for quality control.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual version number management is used in software release promotion, then flexibility in handling different build versions is maintained, but human errors such as typos and outdated version deployment occur frequently

Engineering Contradiction:
Improveaccuracy of software version deploymentVSAvoidmanual effort in version number management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system automatically identifies and promotes the latest build version by querying the build system directly, eliminating the need for manual version number input. The automation tool self-manages the version promotion process by dynamically retrieving version information and executing deployment without human intervention in version management tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical operations (typing version numbers, copying build artifacts) with automated system operations. The automation tool uses programmatic interfaces to query build systems, retrieve artifacts, and deploy versions, substituting human manual work with automated computational processes that eliminate typos and version mismatches.

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

2Productivity

If dynamic value injection without version numbers is used, then automation and error reduction are achieved, but complexity in implementing the automation tool increases

Engineering Contradiction:
Improvespeed of software release promotionVSAvoidcomplexity of automation tool implementation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an automation tool as an intermediary layer between the build system and deployment environment. This tool mediates the version promotion process by automatically querying build systems for the latest version, retrieving build artifacts, and deploying them to target environments, thereby simplifying the overall process despite the added automation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The automation tool is designed to perform multiple functions within a single system: querying build versions, retrieving artifacts, validating versions, and executing deployments. This multi-functionality consolidates what would otherwise require separate manual operations into one unified automated process, improving productivity while managing complexity through integration.

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

3Reliability

If automated version promotion is implemented, then human effort and errors are minimized, but verification and validation of promoted versions require additional processes

Engineering Contradiction:
Improvequality control of software releaseVSAvoidtime for verification and validation processes
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The automation tool performs verification and validation checks as preliminary actions during the promotion process itself, rather than as separate post-deployment steps. It validates the retrieved build version against expected criteria, verifies artifact integrity, and confirms successful deployment before completing the promotion, thereby ensuring quality control is built into the automation workflow.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If multiple development streams and branches are used, then software development flexibility is improved, but managing version promotion across multiple streams becomes more complex and error-prone

Engineering Contradiction:
Improvesupport for multiple development streamsVSAvoidcomplexity of managing version promotion across streams
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The automation tool automatically identifies the correct build version and artifact for each development stream or branch by querying the build system with stream-specific parameters. It self-adapts to different development streams without requiring manual configuration for each one, managing multiple streams through automated parameter passing and stream-aware build queries.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11422789B2System and method for implementing software release version update automation tool
Publication Date: 2022.08.23 JPMORGAN CHASE BANK NA
  • US11422789B2 patent drawing
  • US11422789B2 patent drawing
  • US11422789B2 patent drawing

AI summary

The invention relates generally to a system and method for implementing a software release update automation tool without using version numbers. An embodiment of the present invention is directed to an Automation Tool that manages software promotion from different perspectives by using dynamic value injection and automation. This efficiently eliminates or substantially reduces human efforts and manual tasks on the complicated process of version management. In addition, the Automation Tool of an embodiment of the present invention may further take current version snapshots, manage change logs for audit, perform version validation for match and unmatched build post promotion, and provide email or other communication notification and/or alerts.