Containerized Function Conversion to Microservices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Containerized functions in serverless execution models experience slow execution due to 'cold starts,' which can lead to resource consumption spikes and negatively impact service level agreement metrics like latency, especially when there are frequent short periods of inactivity.

Innovation Solution

Implementing a system that monitors containerized functions for idle time and cold starts, and automatically converts highly utilized functions with frequent cold starts to microservices, which are always running, thereby reducing cold start issues and resource consumption spikes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If containerized functions are used to achieve resource efficiency and scalability, then resource consumption is optimized and scalability is improved, but cold start latency increases and service level agreement metrics deteriorate

Engineering Contradiction:
Improveresource efficiencyVSAvoidcold start latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by starting a proxy service before actual function invocations occur. The proxy service pre-warms the execution environment, establishes connections, and prepares resources in advance, so when a function is actually called, the cold start latency is significantly reduced or eliminated entirely.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary proxy service is introduced between the client and the containerized function. This proxy handles the initial connection establishment, authentication, and setup tasks, allowing the actual function execution to start faster. The proxy acts as a buffer that absorbs the cold start overhead without impacting the user-perceived latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Use of energy by moving object

If containerized functions are used to optimize resource consumption, then resource utilization is improved, but resource consumption spikes occur during frequent invocations

Engineering Contradiction:
Improveresource utilizationVSAvoidresource consumption spikes
Core Design Contradiction:
Use of energy by moving objectVSObject-generated harmful factors

Solution Approach 1:

The system merges multiple function invocations into a single sustained proxy service execution. Instead of repeatedly starting and stopping containers for each invocation, the proxy service remains active and handles multiple requests sequentially or in parallel, smoothing out resource consumption patterns and eliminating spikes.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The proxy service performs preliminary resource allocation and preparation, establishing all necessary connections, loading required libraries, and initializing execution environments before actual function invocations. This preliminary action prevents resource consumption spikes by ensuring resources are already allocated and ready when functions need to execute.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If containerized functions are used to achieve serverless execution, then deployment flexibility is improved, but execution speed deteriorates due to cold starts

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system performs preliminary execution environment setup by maintaining a persistent proxy service that keeps the execution context warm. This preliminary action ensures that when function code needs to execute, the environment is already prepared, eliminating the need for time-consuming container initialization and significantly improving execution speed while maintaining deployment flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary proxy service is deployed that handles the execution overhead, allowing the actual function code to run faster. The proxy manages container lifecycle, handles cold starts in advance, and mediates between the deployment system and function execution, thereby improving execution speed without sacrificing the adaptability and versatility of serverless deployment.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250021382A1Converting Functions to Microservices
Publication Date: 2025.01.16 DELL PROD LP
  • US20250021382A1 patent drawing
  • US20250021382A1 patent drawing
  • US20250021382A1 patent drawing

AI summary

A system can monitor a containerized function for a number of iterations of the containerized function. The system can, for the respective iterations, determine respective upper limits of amounts of time for which the containerized function is idle, and determine respective numbers of cold starts of the containerized function. The system can determine whether a percentage of the respective iterations, for which corresponding upper limits, of the respective upper limits, on amount of time for which the containerized function is idle, is below a threshold idleness value, and for which corresponding numbers of cold starts, of the respective numbers of cold starts, are above a threshold cold start value. The system can, in response to determining that the percentage of the respective iterations is above a threshold successful probes value, deploy a microservice that is configured to execute the function.