Software Release Automation Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software product release processes are complex, labor-intensive, and error-prone due to their complexity and the need for time-sharing among release engineers, who face challenges with technology differences across products, leading to wasted efforts and communication issues between teams.

Innovation Solution

A software product release automation framework that separates the definition of release processes from their execution, using templates for activities and processes, allowing for atomic, execution-application-agnostic, and reusable tasks, which are interpreted to create target definitions for remote execution, simplifying the process and reducing errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software product release processes are executed manually across multiple servers and operating systems, then flexibility in handling different technologies is maintained, but the process becomes complex, labor-intensive, and error-prone

Engineering Contradiction:
Improveflexibility in handling different technologiesVSAvoidprocess complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The release process is divided into discrete, parameterized activities (build, test, deploy, etc.) that can be independently configured and executed. Each activity represents a modular unit that can be combined differently for different products and technologies, reducing overall process complexity while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A universal activity template system is implemented that can handle multiple operating systems and server types through parameterization. The same activity framework works across Windows, Linux, and other platforms by configuring appropriate parameters, eliminating the need for separate manual processes for each technology.

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

2Productivity

If release engineers share time across multiple products with different technologies, then resource utilization is optimized, but communication issues and wasted efforts increase

Engineering Contradiction:
Improveresource utilizationVSAvoidcommunication issues and wasted efforts
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

An automated release management system acts as an intermediary between release engineers and multiple products. The system manages the complexity of different technologies and processes, allowing engineers to work with standardized interfaces while the system handles product-specific variations, thereby reducing communication overhead and information loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses parameterized activity templates that can be configured for different products and technologies. Release engineers work with generic activity definitions, and the system automatically adapts parameters to match specific product requirements, eliminating the need for engineers to constantly adapt to different technology stacks and reducing wasted effort.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If release processes are automated using scripts and binaries executed remotely, then execution efficiency improves, but error-proneness increases due to complexity

Engineering Contradiction:
Improveexecution efficiencyVSAvoiderror-proneness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The automated release system incorporates feedback mechanisms through structured activity execution and monitoring. Each activity can be tracked, logged, and validated, providing feedback on execution status and potential errors. This structured approach to automation reduces error-proneness compared to unstructured script execution while maintaining efficiency.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9965260B2Software product release automation framework
Publication Date: 2018.05.08 ORACLE INT CORP
  • US9965260B2 patent drawing
  • US9965260B2 patent drawing
  • US9965260B2 patent drawing

AI summary

Systems, methods, and other embodiments associated with a software product release automation framework are described. In one embodiment, a system includes a repository configured to store activity instances and process instances. Each activity instance includes parameters and a plurality of blocks of executable code for performing the activity. Each block of executable code is associated with a target platform. Each process instance includes activity instances and a sequence in which the activity instances are to be performed. The system includes interpreter logic configured to retrieve a requested process instance and read the process instance to identify activity instances and parameter values for the parameters in the activity instances. The interpreter logic reads the activity instances to identify the block of code for the platform and combines the parameter values and the block of code to create a target definition for an execution application on the target's platform.