Workflow Engine for Complex Application Lifecycle Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The deployment and lifecycle management of complex computing systems are challenging due to inefficiencies in time and resource usage, with existing technologies struggling to maintain portability and reduce operator error across multiple computing environments.

Innovation Solution

An integrated system is developed for simple, flexible packaging, distribution, and reliable execution of complex applications, utilizing workflows specified in a portable manner using YAML and tightly integrating a workflow engine with an application engine, artifact management, and a configuration database to improve portability and lifecycle management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex computing systems are deployed across multiple environments, then versatility and adaptability improve, but operator error and management complexity increase

Engineering Contradiction:
ImproveportabilityVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments complex applications into containerized microservices that can be independently deployed and managed. Each container encapsulates specific functionality, allowing granular control and simplified management across multiple environments while maintaining portability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary management layer that abstracts the complexity of multi-environment deployment. This layer provides standardized interfaces and automation tools that mediate between the complex underlying infrastructure and the simplified user interaction, reducing operator error.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If manual deployment processes are used, then flexibility is maintained, but time consumption and resource usage increase

Engineering Contradiction:
ImproveflexibilityVSAvoiddeployment time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-configuring container images and deployment manifests during the build process. This advance preparation enables rapid deployment across multiple environments without manual intervention, reducing deployment time while maintaining flexibility through configurable parameters.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deployment system implements self-service capabilities through automated configuration management and self-healing orchestration. The system automatically adjusts deployment parameters and recovers from failures without human intervention, eliminating time-consuming manual operations while preserving operational flexibility.

Inventive Principle:
Principle #25Self-service

3Reliability

If existing deployment technologies are used, then some portability is achieved, but operator error and inefficiency persist

Engineering Contradiction:
Improveexecution reliabilityVSAvoidoperator error
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements comprehensive feedback mechanisms that monitor deployment status, resource utilization, and system health in real-time. This feedback enables automated error detection and correction, reducing operator error while improving execution reliability through continuous verification and self-adjustment.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11347555B2Integrated system to distribute and execute complex applications
Publication Date: 2022.05.31 INTUIT INC
  • US11347555B2 patent drawing
  • US11347555B2 patent drawing
  • US11347555B2 patent drawing

AI summary

Certain aspects of the present disclosure provide techniques for maintaining an application through an execution platform. An example method generally includes receiving a first workflow definition of a plurality of workflow definitions associated with an application. The first workflow definition may be a workflow defining a build operation for building the application. The first workflow definition is executed to build the application by retrieving an executable binary from a binary repository, retrieving source code for the application binary from an application source code repository, building the application binary by executing the executable binary on the retrieved source code, and storing the application binary in the binary repository. A second workflow definition is received to execute the application. The second workflow is executed to execute the application by retrieving the application binary from the binary repository, and executing the retrieved application binary to run the application.