Automated Code Deployment via Transport Engines and Backup Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software deployment processes are inefficient and unreliable, particularly in automating the deployment of code across various environments, such as testing, staging, and production, often requiring manual intervention and leading to potential errors and downtime.

Innovation Solution

A centralized automated code deployment system that retrieves updated software code blocks from a source database, determines the appropriate edges for deployment, and uses transport engines to deploy the code, enabling scheduling and replication, with features for backup and roll-back functionality to manage errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual intervention is used for code deployment, then human control and decision-making is maintained, but deployment efficiency is reduced and errors increase

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidmanual intervention level
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The deployment system performs self-service by automatically retrieving code blocks from the source database, determining target edges, and executing deployment without requiring human intervention for each deployment action. The system manages its own operations through automated workflows.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical operations with automated computer-based systems. The centralized deployment system uses software modules and transport engines to substitute human manual deployment actions, thereby increasing efficiency and reducing errors.

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

2Speed

If code is deployed to multiple edges concurrently, then deployment speed increases, but system complexity and potential for errors increase

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The deployment system segments the deployment process into distinct phases: retrieving code blocks from the source database, determining target edges, and executing deployments. This segmentation allows concurrent operations to be managed systematically, reducing overall complexity while maintaining speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The centralized deployment system serves multiple functions: it acts as a code repository interface, a deployment scheduler, and a coordination system for multiple edges. This multi-functionality consolidates complexity into a single universal system rather than requiring separate systems for each function.

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

3Manufacturing precision

If existing code blocks are deleted during deployment, then updated code is installed cleanly, but data loss and downtime increase

Engineering Contradiction:
Improvecode installation cleanlinessVSAvoidcode data loss
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The system performs preliminary actions by retrieving existing code blocks before deletion and storing them in a backup database. This advance preparation ensures that code data is preserved and can be restored if needed, preventing actual data loss while enabling clean installations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The backup database serves as a cushioning mechanism that protects against data loss during deployment. By having a backup ready before the deletion operation, the system can recover if something goes wrong, thereby cushioning the impact of potential data loss while maintaining the ability to perform clean deployments.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Extent of automation

If deployment scheduling is automated, then human intervention is reduced, but system complexity for error management increases

Engineering Contradiction:
Improvedeployment scheduling automationVSAvoiderror management complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The automated deployment system incorporates feedback mechanisms that monitor deployment status and provide information about errors or issues. This feedback allows the system to automatically respond to errors, manage them intelligently, and reduce the need for complex manual error management while maintaining high automation levels.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10248402B2Automated code deployment system
Publication Date: 2019.04.02 BANK OF AMERICA CORP
  • US10248402B2 patent drawing
  • US10248402B2 patent drawing
  • US10248402B2 patent drawing

AI summary

Embodiments of the invention are directed to systems, methods, and computer program products for automated code deployment. In some embodiments, the system is configured to retrieve an updated software code block from a source database; determine one or more edges to install the updated software code block, wherein the one or more edges comprise an existing software code block; and deploy the updated software code block retrieved from the source database to the one or more edges using one or more transport engines.