Cloud Application State Machine for Deployment Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud automation products lack the ability to accurately control day-2 operations and define different life cycles for various applications, as they treat all operations uniformly and do not allow developers to customize when operations are executed.

Innovation Solution

A state machine is maintained to manage application deployment in a cloud environment, which includes multiple application states, state operations, and their relationships, allowing developers to define customized application states and operations, and generate deployment plans based on blueprints to perform operations only when allowed by the current state of the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a generic application blueprint system is used to manage cloud deployments, then the system provides a single unified approach for all applications, but the system cannot accurately control when to execute specific operations or define different life cycles for different application types

Engineering Contradiction:
Improveability to define different life cycles for different applicationsVSAvoidcomplexity of deployment control system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the deployment process into distinct states (e.g., deployed, suspended, deleted) and operations within each state. This allows different application types to have customized state machines with specific operations allowed at each state, providing adaptability without requiring complete system redesign for each application type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic control by allowing the set of allowed operations to change based on the current application state. Different states have different permitted operations, enabling the system to adapt its behavior dynamically based on deployment progress and application requirements.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If all day-2 operations are treated uniformly as update operations, then the system maintains simplicity in operation classification, but the system loses the ability to accurately control and differentiate between various types of operations

Engineering Contradiction:
Improveprecision of operation controlVSAvoidcomplexity of operation classification system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments operations into different categories (state-changing operations like deploy/suspend/delete, and other day-2 operations) with specific control rules for each category. This segmentation enables precise control over when each operation type can be executed while maintaining manageable system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different operation types have different control characteristics applied locally. For example, state-changing operations have strict state-dependent allowances, while other operations may have different rules. This local differentiation provides precise control without requiring uniform complex rules across all operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9996331B1Customized application state transition
Publication Date: 2018.06.12 VMWARE INC
  • US9996331B1 patent drawing
  • US9996331B1 patent drawing
  • US9996331B1 patent drawing

AI summary

An example method for managing application deployment in a cloud environment may maintain a state machine. The state machine may include a plurality of application states, a plurality of state operations, and relationships among the plurality of application states and the plurality of state operations. In response to a client request for performing a deployment operation on an application in the cloud environment, the method may retrieve a current state of the application in the cloud environment. In response to a determination that the deployment operation is allowed based on the state machine and the current state, the method may generate a deployment plan based on a blueprint associated with the application. The blueprint defines how to perform the deployment operation in the cloud environment.