Dynamic Application Tier Association via Pattern Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The manual deployment of components in a multi-tier application architecture is inefficient, error-prone, and exposes security risks due to the need for manual association of virtual machines with infrastructure elements, which contradicts the desire for automation in cloud computing environments.

Innovation Solution

A method and system for dynamically associating components of a multi-tier application with corresponding layers of the infrastructure using tier labels and a pattern engine, allowing components to be deployed automatically based on predefined patterns without requiring knowledge of the underlying infrastructure structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual deployment of components into multi-tier architecture is used, then deployment flexibility and control are maintained, but deployment efficiency decreases and error rates increase

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidmanual deployment complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system enables self-service deployment through pattern engines that automatically deploy components based on predefined patterns. The pattern engine autonomously determines which components to deploy to which virtual machines without requiring manual intervention, thereby improving deployment efficiency while maintaining control through predefined patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Deployment patterns are defined in advance before actual deployment occurs. These patterns pre-specify the mapping between components and virtual machines, allowing the system to execute deployments quickly and accurately without manual decision-making during the deployment process itself.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If manual association of virtual machines with infrastructure elements is performed, then security control is maintained, but security exposure increases due to human error

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidsecurity exposure
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The pattern engine automatically enforces security policies by deploying components only to authorized virtual machines based on predefined patterns. This eliminates manual configuration errors that could lead to security exposures while maintaining security control through automated policy enforcement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system provides automated validation and feedback during deployment to ensure security requirements are met. The pattern engine checks whether component-deployment mappings conform to security policies before execution, preventing security violations rather than relying on manual verification.

Inventive Principle:
Principle #23Feedback

3Reliability

If distinct infrastructure is used for different application tiers, then security isolation is improved, but infrastructure complexity increases

Engineering Contradiction:
Improvesecurity isolationVSAvoidinfrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the infrastructure into distinct virtual machines for different application tiers (e.g., web tier, application tier, data tier). Each virtual machine is configured with specific resources and security policies appropriate to its tier, providing security isolation while managing complexity through standardized virtualization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pattern engine provides a universal deployment framework that works across all tier types. A single pattern definition system handles deployment to diverse infrastructure elements (virtual machines, containers, etc.), reducing the operational complexity of managing segmented infrastructure through a unified control plane.

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

4Productivity

If automation is implemented for component deployment, then deployment efficiency improves, but system complexity increases

Engineering Contradiction:
Improvedeployment automationVSAvoiddeployment system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The pattern engine serves as an intermediary between component definitions and infrastructure deployment. It translates high-level component specifications into detailed deployment instructions, automating the deployment process while managing system complexity through an abstraction layer that shields users from underlying complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system manages complexity by parameterizing deployment configurations through patterns. Instead of hardcoding deployment logic, the system uses configurable parameters and patterns that can be adjusted without changing the underlying deployment mechanism, making the automated system more manageable and adaptable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10095656B2Dynamic association of application workload tiers to infrastructure elements in a cloud computing environment
Publication Date: 2018.10.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10095656B2 patent drawing
  • US10095656B2 patent drawing
  • US10095656B2 patent drawing

AI summary

Embodiments of the present invention provide a method, system and computer program product for the dynamic association of components in a multi-tier application to different layers of a corresponding multi-tier application infrastructure. In an embodiment of the invention, a method for dynamically associating components in a multi-tier application to different layers of a corresponding multi-tier application infrastructure includes defining in memory of a host computing system a pattern that has an inventory of components of a multi-tier application. The method also includes associating each of the components with a corresponding tier label for an n-tier architecture. The method yet further includes loading the pattern into a pattern engine. Finally, the method includes deploying by the pattern engine each component of the pattern to a layer of the n-tier architecture corresponding to a tier label associated with the component.