Dynamic Application Management Across Multi-Cloud Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-cloud computing environments, decomposing and orchestrating applications across multiple cloud platforms is cumbersome due to differences in standards, compliance, security, and cost considerations, requiring significant manual effort and leading to sub-optimal hosting costs and data management challenges.

Innovation Solution

The implementation of dynamic application management techniques using code-markers that allow software components to be executed on different clouds based on user-defined policies, enabling dynamic scheduling and orchestration without re-deployment, and facilitating quick testing and optimization of decomposition and orchestration settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software components are moved between multiple cloud platforms using traditional methods, then cloud infrastructure utilization is achieved, but significant manual engineering effort is required for refactoring, testing and release management

Engineering Contradiction:
Improvecloud platform utilizationVSAvoidmanual engineering effort
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a cloud platform adapter as an intermediary layer between the application and multiple cloud platforms. This adapter handles platform-specific differences, authentication, and configuration, allowing software components to be moved between clouds without significant refactoring. The adapter absorbs the complexity of cloud platform variations, reducing manual engineering effort while maintaining multi-cloud capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal deployment framework that can operate across multiple cloud platforms through a common interface. The cloud platform adapter is designed to be multi-functional, supporting various cloud providers (AWS, Azure, GCP, etc.) through standardized configurations. This universality allows the same software components to be deployed to different clouds without platform-specific modifications.

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

2Adaptability or versatility

If cloud infrastructures use different standards, then cloud platform diversity is achieved, but moving software components between platforms demands significant manual effort

Engineering Contradiction:
Improvecloud platform diversityVSAvoidmanual refactoring effort
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cloud platform adapter serves as a mediator that translates between different cloud platform standards and the application's unified interface. It handles authentication protocols, resource naming conventions, and configuration formats specific to each cloud provider, allowing the application to interact with diverse cloud infrastructures through a standardized interface without requiring manual refactoring.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies local quality by making each cloud platform adapter instance specialized for its target platform while maintaining a unified overall architecture. Each adapter contains platform-specific logic and configurations tailored to its cloud environment, allowing the system to accommodate diverse cloud standards without compromising the simplicity of the core application.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If applications are decomposed into multiple jobs or functions, then flexibility in cloud hosting is achieved, but significant manual engineering effort is required for testing and release management

Engineering Contradiction:
Improvecloud hosting flexibilityVSAvoidtesting and release management time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements automated CI/CD pipelines that continuously build, test, and deploy software components across cloud platforms. Once the initial setup is complete, the system automatically handles subsequent deployment cycles, eliminating the need for manual testing and release management. The cloud platform adapter and deployment framework work together to streamline the entire release process, reducing time loss while maintaining flexibility.

Inventive Principle:
Principle #20Continuity of useful action

4Extent of automation

If code-markers are used to identify software components, then dynamic scheduling across clouds is enabled, but code modification is required

Engineering Contradiction:
Improvedynamic scheduling capabilityVSAvoidcode modification effort
Core Design Contradiction:
Extent of automationVSEase of manufacture

Solution Approach 1:

The patent uses code-markers as metadata parameters that can be added to software components to specify their deployment characteristics. These markers contain parameters such as target cloud platform, resource requirements, and scheduling preferences. By changing these parameters, the system can dynamically schedule and deploy components to appropriate cloud platforms without modifying the core business logic, making the code modification effort minimal and focused only on deployment attributes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11366703B2Dynamic application management across multi-cloud computing environment
Publication Date: 2022.06.21 EMC IP HLDG CO LLC
  • US11366703B2 patent drawing
  • US11366703B2 patent drawing
  • US11366703B2 patent drawing

AI summary

Techniques for dynamic application management are provided. For example, an apparatus comprises at least one processing platform configured to: execute a portion of an application program in a first virtual computing element, wherein the application program comprises at least one portion of marked code; receive a request for execution of the portion of marked code; determine, based at least in part on the portion of marked code, one or more cloud platforms on which to execute the portion of marked code; and cause the portion of marked code identified in the request to be executed on the one or more cloud platforms.