Cloud Execution Engine Abstraction for Multi-Platform Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face significant challenges in creating software applications compatible with multiple cloud services platforms, as each platform has unique communication protocols, functionalities, and runtime environments, requiring extensive time and effort to learn and implement platform-specific details.

Innovation Solution

A software system and method that create a layer of abstraction between applications and cloud services platforms, allowing developers to submit platform-agnostic applications, which automatically determine the appropriate cloud services platform and communicate with it, and provide a unified monitoring interface for performance data across different runtime environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers create platform-specific applications for each cloud services platform, then compatibility with each platform is ensured, but development time and complexity increase significantly

Engineering Contradiction:
Improveplatform compatibilityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments the application architecture into two distinct layers: a platform-agnostic application layer and platform-specific execution engine layers. Each execution engine is responsible for a specific cloud services platform, handling platform-specific protocols and APIs. This segmentation allows the application to remain unchanged while supporting multiple platforms through separate execution engines that translate between the universal application interface and platform-specific requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Execution engines serve as intermediary components between the universal application and specific cloud services platforms. The execution engine receives application code and data, determines the target platform, and translates the application's generic requests into platform-specific operations. This intermediary layer isolates the application from platform-specific details while ensuring proper compatibility with each target platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If developers learn multiple cloud services platform intricacies, then multi-platform compatibility is achieved, but learning curve and operational complexity increase

Engineering Contradiction:
Improvemulti-platform capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The execution engine is designed as a universal component that can adapt to multiple cloud services platforms. Instead of requiring developers to understand each platform's intricacies, the execution engine provides multi-functional capabilities to handle different platforms' protocols, APIs, and runtime environments. A single execution engine can serve multiple platforms, reducing the need for developers to learn multiple platform-specific implementations.

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

Solution Approach 2:

The execution engine performs self-service by automatically determining which cloud services platform is being used and configuring itself accordingly. The system includes automatic platform detection mechanisms that identify the target platform and load appropriate platform-specific configurations, APIs, and protocols without requiring manual developer intervention. This self-configuration capability reduces operational complexity while maintaining multi-platform adaptability.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If a unified application design is used across different runtime environments, then development simplicity is maintained, but platform-specific functionality may be compromised

Engineering Contradiction:
Improvedevelopment simplicityVSAvoidplatform-specific compatibility
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system adds a dimensional layer to the application architecture by introducing execution engines as a separate dimension between the application and the cloud services platforms. The application operates in a universal dimension with platform-agnostic code, while the execution engines operate in platform-specific dimensions, translating between the two. This dimensional separation allows the application to maintain simplicity while the execution engines handle platform-specific functionality and compatibility requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10608953B2Platform with multiple execution engines
Publication Date: 2020.03.31 GE DIGITAL HLDG LLC
  • US10608953B2 patent drawing
  • US10608953B2 patent drawing
  • US10608953B2 patent drawing

AI summary

The example embodiments are directed to a system and method for deploying and monitoring applications within a cloud environment including multiple execution engines. In one example, the system includes a network interface configured to receive an application from a client, and a processor configured to determine a cloud services platform, from among a plurality of different cloud services platforms, to be a host platform for the application, and retrieve API information from storage that is unique to the determined cloud services platform and which is to be used for communicating with the determined cloud services platform when executing the application, wherein the processor is further configured to launch an execution of the application via the determined cloud services platform and communicate with the determined cloud services platform on behalf of the executing application based on the retrieved API information.