API-Managed Compute Instance Pool for Integration Flow Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing solutions for designing and managing integration flows in cloud platforms are inefficient, leading to cumbersome resource provisioning, underutilization of resources, and prolonged provisioning times, resulting in idle resources and increased CPU consumption, memory leaks, and instability.

Innovation Solution

Implementing a pool of pre-initialized compute instances that can be dynamically assigned to design sessions, with an API managing the provisioning, termination, and scaling of resources based on design parameters, to support the creation, evaluation, and management of integration flows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If compute instances are provisioned on-demand for integration flow design sessions, then resource availability is improved, but provisioning time and system complexity increase

Engineering Contradiction:
Improveresource availabilityVSAvoidprovisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-initializes a pool of compute instances before they are actually needed for design sessions. This preliminary preparation ensures that when a user requests resource provisioning, immediately available compute instances can be allocated without waiting for initialization, thus resolving the contradiction between resource availability and provisioning time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If compute instances are kept idle for extended periods, then resource availability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource availabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically manages the compute instance pool by monitoring usage patterns and adjusting the number of pre-initialized instances accordingly. When demand is low, fewer instances are maintained to improve utilization efficiency. When demand increases, the system can quickly scale by initializing additional instances from the pool, thus maintaining both availability and efficiency through dynamic adaptation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational state of compute instances from permanently idle to temporarily available-on-demand. By implementing a pool architecture where instances can be rapidly transitioned between available and allocated states, the system achieves high utilization efficiency while maintaining availability through the pre-initialized pool rather than keeping individual instances permanently idle.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If resource provisioning is made rapid and efficient, then productivity is improved, but system complexity and resource management overhead increase

Engineering Contradiction:
Improveprovisioning speedVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compute instance pool serves multiple functions simultaneously: it acts as a ready reserve for rapid provisioning, a buffer for load balancing, and a foundation for scalable expansion. This multi-functionality allows the system to achieve rapid provisioning without proportionally increasing management complexity, as the same pool infrastructure supports multiple operational requirements.

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

Data Source

PatentUS11416318B1Application programming interface for integration flow design
Publication Date: 2022.08.16 SALESFORCE INC
  • US11416318B1 patent drawing
  • US11416318B1 patent drawing
  • US11416318B1 patent drawing

AI summary

Approaches for data processing are described that include initializing a plurality of compute instances configured to support a design session for an integration flow, receiving, from a client, an application programming interface (API) request at an API, the API request including one or more design parameters associated with the integration flow, provisioning, for the design session and from the plurality of initialized compute instances, one or more compute instances based on the one or more design parameters, evaluating an integration flow configuration associated with the integration flow, the evaluating based on the one or more design parameters, and terminating the one or more compute instances upon completion of the design session.