Collocated Virtual Machine Instances in On-Demand Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional on-demand code execution systems face inefficiencies and security concerns due to the need to pass intermediate results through external paths, leading to delayed task execution and exposure of sensitive information across multiple regions, which hampers the seamless execution of multiple tasks for a set of code.

Innovation Solution

The on-demand code execution system employs a function orchestrator to internally chain task execution by retaining status information, allowing virtual machine instances to directly push and pull results, and identifies collocated execution environments to enhance efficiency and security by executing tasks within close proximity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If intermediate results are passed through external paths in traditional on-demand code execution systems, then task execution can be performed across multiple regions, but execution speed decreases and data security is compromised

Engineering Contradiction:
Improvedata securityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent introduces a result storage mechanism that acts as an intermediary between task execution and result retrieval. Instead of passing results through external paths, results are stored in a centralized storage system that can be accessed by subsequent tasks, eliminating the need for direct result transmission and improving both security and speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transitions from a linear result-passing model to a multi-dimensional architecture where results are stored in a centralized repository. This allows any task to access any result through the storage system, changing the communication dimension from direct peer-to-peer to indirect through-storage, thereby improving security and execution efficiency.

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

2Reliability

If virtual machine instances are distributed across multiple regions, then system availability is improved, but intermediate result handling becomes complex and inefficient

Engineering Contradiction:
Improvesystem availabilityVSAvoidresult handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the result handling logic from the distributed virtual machine instances and centralizes it in a dedicated storage system. This separation allows VM instances to focus on execution while the storage system manages result persistence and retrieval, simplifying the overall system architecture and reducing complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The centralized storage system serves multiple functions: storing intermediate results, managing task metadata, facilitating cross-region communication, and providing audit trails. This multi-functional component replaces multiple specialized components that would be needed in a distributed result-handling approach.

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

3Productivity

If traditional on-demand code execution systems are used, then basic task execution is supported, but chained task execution is delayed and inefficient

Engineering Contradiction:
Improvechained task execution efficiencyVSAvoidtask execution delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary actions by pre-storing intermediate results in the centralized storage system as they become available, rather than waiting for explicit retrieval requests. This allows subsequent tasks in a chain to immediately access results without waiting for result transmission, reducing execution delays and improving overall productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12197960B1Collocated virtual machine instances in an on-demand network code execution system
Publication Date: 2025.01.14 AMAZON TECH INC
  • US12197960B1 patent drawing
  • US12197960B1 patent drawing
  • US12197960B1 patent drawing

AI summary

Systems and methods are described for execution of multiple tasks associated with a set of code in an on-demand network code execution system. A user may provide a set of code that is associated with the multiple tasks. The system may generate a first virtual machine instance for execution of a first task. The system may determine that a second task is associated with the first task and may identify a location of the first virtual machine instance. The system may further identify a second virtual machine instance for execution of the second task based on the location of the first virtual machine instance. For example, the system may identify the first virtual machine instance from a plurality of pre-generated virtual machine instances and/or may generate the first virtual machine instance.