API Compatibility Enabler for Cloud Container Startup Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing platforms face inefficiencies due to high overhead in starting containerized processes, leading to significant lag and resource wastage, especially when handling multiple concurrent requests and API version compatibility issues across client devices and origin servers.

Innovation Solution

Implementing isolated execution environments within a single process that can seamlessly switch between execution environments, eliminating the need for new process startups and reducing context switching overhead, while enabling on-demand execution of worker scripts and API compatibility enablers to manage API version compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If containerized processes are instantiated to handle each request, then isolation between customers is achieved, but startup time increases significantly (500ms to 10 seconds)

Engineering Contradiction:
Improveisolation between customersVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-loads and caches API compatibility enablers in the isolated execution environment before they are needed. When a request arrives, the enabler is already available in memory, eliminating the cold-start delay while maintaining process isolation. This preliminary preparation resolves the contradiction between isolation reliability and startup time loss.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a new containerized process is started for each concurrent request, then request handling capacity increases, but resource consumption and context switching overhead increase

Engineering Contradiction:
Improverequest handling capacityVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent creates a single isolated execution environment that can handle multiple concurrent requests by loading different worker scripts as needed. The same isolated process serves multiple functions (handling different customer code, different API versions) without requiring separate container instances for each request, thereby reducing resource consumption while maintaining productivity.

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

Solution Approach 2:

The patent merges multiple request handling capabilities into a single isolated execution environment. Instead of spawning separate containerized processes for each request, the system combines the execution context and reuses it across multiple requests by dynamically loading appropriate worker scripts, thus reducing overall resource consumption and context switching overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If containerized processes are used to deploy new customer code, then code isolation is maintained, but deployment time increases due to process instantiation

Engineering Contradiction:
Improvecode isolationVSAvoiddeployment time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent pre-loads API compatibility enablers into the isolated execution environment during initialization, before actual customer code deployment occurs. This preliminary setup ensures that when new customer code is deployed, the isolation mechanism is already in place and ready, eliminating deployment delays while maintaining code isolation reliability.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If API compatibility enablers are loaded for each request, then API version compatibility is ensured, but memory consumption increases

Engineering Contradiction:
ImproveAPI version compatibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a universal isolated execution environment that can load and execute different API compatibility enablers as needed. Instead of maintaining separate processes for each API version (which would consume more memory), the system uses a single adaptable environment that switches between different enabler implementations, ensuring API version compatibility while optimizing memory consumption through shared execution context.

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

Data Source

PatentUS10769000B1Method and apparatus for transparently enabling compatibility between multiple versions of an application programming interface (API)
Publication Date: 2020.09.08 CLOUDFLARE INC
  • US10769000B1 patent drawing
  • US10769000B1 patent drawing
  • US10769000B1 patent drawing

AI summary

Methods and apparatuses for enabling compatibility between multiple versions of an application programming interface (API) are described. When a first API request is received at a compute server, the compute server determines whether the first API request is of a first version of an API that is different from a second version of the API used in an origin server to which the first API request is destined. In response to determining that the first API request is of the first version of the API that is different from the second version of the API used in the origin server to which the first API request is destined, an API compatibility enabler is executed to convert the first API request into a second API request in the second version of the API. The second API request is fulfilled instead of the first API request.