Distributed Deployment Manifest for Cloud Application Orchestration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current deployment tools for multi-tier applications in cloud computing environments are inefficient due to reliance on custom scripts, high network bandwidth usage, and lack of automation, leading to challenges in collaboration between developers and system administrators for determining deployment requirements.

Innovation Solution

A deployment system that allows developers to create application blueprints defining the structure and dependencies of applications, generating portable deployment plans that are executed by virtual machines with a centralized deployment module ensuring tasks are executed in the correct order, leveraging standardized infrastructure components and default configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional deployment tools with centralized mechanisms are used, then deployment coordination is achieved, but network bandwidth is excessively consumed and resource contention occurs at the central point

Engineering Contradiction:
Improvedeployment coordinationVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the centralized deployment process into distributed deployment units, where each virtual machine or container independently executes deployment tasks based on a deployment manifest. This eliminates the need for continuous centralized polling and reduces network bandwidth consumption while maintaining deployment coordination through the manifest-based approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a deployment manifest as an intermediary that contains pre-defined deployment instructions, dependencies, and configurations. This manifest serves as a mediator between the deployment system and target environments, enabling coordinated deployment without requiring continuous centralized communication or polling.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If custom scripts and property files are used for deployment, then deployment flexibility is achieved, but device complexity and ease of operation deteriorate

Engineering Contradiction:
Improvedeployment flexibilityVSAvoiddeployment tool complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal deployment manifest format that can handle multiple deployment scenarios, application types, and target environments through a single standardized structure. This manifest serves multiple functions including defining deployment steps, specifying dependencies, configuring resources, and managing rollbacks, thereby reducing the need for multiple custom scripts and tools.

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

Solution Approach 2:

The patent uses parameter-based configurations within the deployment manifest to maintain flexibility across different deployment scenarios. By defining deployable units with configurable parameters for resources, dependencies, and execution settings, the system achieves adaptability without requiring complex custom scripts for each scenario.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If continuous polling is used to check readiness for execution, then task coordination is achieved, but network bandwidth consumption increases

Engineering Contradiction:
Improvetask coordinationVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary actions by pre-defining deployment tasks, their dependencies, and execution conditions in the deployment manifest before actual deployment begins. This allows the system to determine task readiness and coordination requirements in advance, eliminating the need for continuous polling during deployment execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The deployment manifest acts as an intermediary that encapsulates all coordination logic, dependency relationships, and execution conditions. This manifest-based approach replaces continuous polling with a static definition that guides the deployment process, reducing network bandwidth consumption while maintaining task coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If developers and system administrators use different views of application deployment, then各自的专业需求得到满足, but collaboration difficulty increases

Engineering Contradiction:
Improvedeveloper workflowVSAvoidcollaboration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The deployment manifest serves as a universal artifact that satisfies both developer and system administrator needs. For developers, it provides a structured way to define application deployment requirements, dependencies, and configurations. For system administrators, it offers a standardized format for resource allocation and deployment execution, thereby facilitating collaboration without increasing complexity.

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

Data Source

PatentUS10031783B2Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
Publication Date: 2018.07.24 VMWARE INC
  • US10031783B2 patent drawing
  • US10031783B2 patent drawing
  • US10031783B2 patent drawing

AI summary

A deployment system orchestrates execution of deployment plan in coordination with nodes participating in deployment of a multi-tier application in a cloud infrastructure. The deployment system distributes local deployment plans to each node and maintains a centralized state of deployment time dependencies between tasks in different local deployment plans. Prior to execution of each task, deployment agents executing on each node communicates with the centralized deployment system to check whether any deployment time dependencies need to be resolved. Additionally, the deployment system utilizes a node task timer that triggers a heartbeat mechanism for monitoring failure of deployment agents.