Sidecar VM Provisioning for On-Demand Auxiliary Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges with limited resource utilization, inefficiencies due to always-on auxiliary functionality, and security issues from shared control planes in executing user code, particularly in data centers with virtual machines.

Innovation Solution

An on-demand code execution system utilizing sidecar virtual machine instances that provide user-specific or task-specific auxiliary functions, enabling efficient and secure execution of user code without requiring constant hardware configuration, by instantiating sidecars only when needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If auxiliary functions are always-on in virtual machine instances, then functionality is available when needed, but resource utilization deteriorates due to wasted computational resources

Engineering Contradiction:
Improvefunctionality availabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The auxiliary functions are transformed from static always-on components to dynamic on-demand components. The system dynamically instantiates auxiliary function instances only when required by user code, and dynamically terminates them after use. This dynamic behavior allows the system to maintain functionality availability when needed while eliminating wasted computational resources during idle periods, directly resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The auxiliary function system operates autonomously by monitoring user code execution requirements and automatically instantiating/terminating auxiliary functions without manual intervention. The system self-manages resource allocation, detecting when auxiliary functions are needed based on user code behavior and provisioning them accordingly, thereby optimizing resource utilization while ensuring functionality availability.

Inventive Principle:
Principle #25Self-service

2Productivity

If shared control plane is used in virtual machine instances, then resource sharing is achieved, but security deteriorates due to shared control access

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidsecurity vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The control plane is segmented from the shared control plane into isolated auxiliary function instances. Each auxiliary function instance operates as an independent, user-specific container that does not share control access with other users or functions. This segmentation maintains resource sharing efficiency through the virtualized infrastructure while eliminating security vulnerabilities associated with shared control access by ensuring complete isolation between different users and functions.

Inventive Principle:
Principle #1Segmentation

3Reliability

If hardware configuration is always-active, then system readiness is maintained, but device complexity increases due to constant configuration requirements

Engineering Contradiction:
Improvesystem readinessVSAvoidconfiguration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hardware configuration is transformed from a static always-active state to a dynamic on-demand state. The system maintains system readiness by having the hardware configuration capability available, but actually configures and activates it only when user code requires auxiliary functions. This dynamic approach reduces device complexity by eliminating constant configuration operations while maintaining reliability through on-demand configuration capability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250390332A1Execution of auxiliary functions in an on-demand network code execution system
Publication Date: 2025.12.25 AMAZON TECH INC
  • US20250390332A1 patent drawing
  • US20250390332A1 patent drawing
  • US20250390332A1 patent drawing

AI summary

Systems and methods are described for providing auxiliary functions in an on-demand code execution system in a manner that enables efficient execution of code. A user may generate a task on the system by submitting code. The system may determine the auxiliary functions that the submitted code may require when executed on the system, and may provide these auxiliary functions by provisioning or configuring sidecar virtualized execution environments that work in conjunction with the main virtualized execution environment executing the submitted code. Sidecar virtualized execution environments may be identified and obtained from a library of preconfigured sidecar virtualized execution environments, or a sidecar agent that provides the auxiliary function may be identified from a library, and then a virtualized execution environment may be provisioned with the agent and/or configured to work in conjunction with the main virtualized execution environment.