Automated Software Deployment System for Environment Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development processes for continuous integration, delivery, and deployment are cumbersome, requiring manual scripting and complex coordination between developers and operations engineers, leading to inefficiencies and inaccuracies, especially in regulated industries, where environment-specific configurations and frequent deployments are challenging to manage.

Innovation Solution

A software deployment system comprising a storage module, release module, deployment control module, and deployment module that automates the storage, generation, and application of deployment parameters across multiple environments, enabling standardized and automated deployment of applications, including configuration and secret management, using a version control system and supporting methods like blue-green deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual scripting and coordination between developers and operations engineers are used for deployment, then environment-specific configurations can be customized, but deployment complexity and administrative burden increase significantly

Engineering Contradiction:
Improveenvironment-specific configurationVSAvoiddeployment process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an automated deployment system that acts as an intermediary between developers and operations engineers. This system includes deployment pipelines, environment configuration management, and automated scripting capabilities that handle the coordination and customization of environment-specific settings without requiring manual intervention, thus reducing complexity while maintaining adaptability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables dynamic parameter changes for different environments through automated configuration management. Deployment parameters, environment variables, and configuration files are automatically adjusted based on the target environment (development, testing, production) without manual scripting, allowing customized environment settings while eliminating the complexity of manual parameter management

Inventive Principle:
Principle #35Parameter changes

2Productivity

If frequent deployments are implemented to improve productivity, then software delivery speed increases, but tracking accuracy and regulatory compliance become more difficult to maintain

Engineering Contradiction:
Improvedeployment frequencyVSAvoiddeployment tracking accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements continuous deployment pipelines that maintain uninterrupted automated tracking and recording of all deployment activities. Every deployment action is automatically logged, versioned, and traced through the system, ensuring continuous accuracy in tracking even as deployment frequency increases. This continuous automated monitoring maintains measurement precision regardless of how often deployments occur

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system incorporates automated feedback mechanisms that continuously monitor and record deployment states, configuration changes, and environment statuses. This feedback loop ensures that every frequent deployment is accurately tracked, logged, and verified for compliance, maintaining measurement precision through automated verification and reporting capabilities

Inventive Principle:
Principle #23Feedback

3Ease of operation

If manual environment configuration and secret management are performed, then deployment control is flexible, but time consumption and administrative overhead increase

Engineering Contradiction:
Improvedeployment control flexibilityVSAvoiddeployment time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements preliminary configuration of deployment pipelines, environment settings, and secret management protocols before actual deployments occur. Templates, configuration files, and automation scripts are pre-configured to handle common deployment scenarios, allowing rapid execution while maintaining flexibility. Secrets and credentials are pre-managed through secure vaults, eliminating time-consuming manual configuration during deployment

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service automated deployment capabilities where the deployment pipeline automatically configures environments, manages secrets, and executes deployments without manual intervention. The system serves itself by automatically adjusting configurations, managing version control, and handling environment-specific settings, thus reducing deployment time while maintaining operational flexibility through automated decision-making

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11294655B2Computer-automated software release and deployment architecture
Publication Date: 2022.04.05 CHARLES SCHWAB & CO INC
  • US11294655B2 patent drawing
  • US11294655B2 patent drawing
  • US11294655B2 patent drawing

AI summary

A method includes storing sets of deployment parameters. A first set of deployment parameters specifies deployment of a first application to a first environment. The method includes, in response to receiving a pointer to an executable form of the first application, storing the pointer as part of the first set. The method includes generating release objects, each identifying a specific version of deployment parameters. The method includes assigning the release objects to the plurality of environments. The method includes deploying the release objects to the assigned environments. A first release object corresponds to the first application and identifies a specified version of the first set. The method includes, subsequent to the first release object being assigned to the first environment, configuring the first environment according to the specified version of the first set, copying the pointed-to executable form to the first environment, and initiating execution of the copied executable.