Cross-Account Code Execution via Task Aliases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data center technologies face challenges in efficiently managing and securing the execution of code across multiple entities while maintaining rapid execution times and minimizing latency, particularly in scenarios where cross-account access is required, leading to complexities in resource allocation and billing.

Innovation Solution

The on-demand code execution environment enables cross-account access by using task aliases, pre-initialized virtual machine instances, and a virtual machine instance manager to ensure rapid execution, security, and efficient resource utilization, allowing users to share tasks while maintaining privacy and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cross-account access is implemented for code execution, then task sharing and collaboration are enabled, but security management and resource allocation complexity increase

Engineering Contradiction:
Improvecross-account access capabilityVSAvoidresource allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an account manager as an intermediary component that handles cross-account access requests. The account manager receives calls from first accounts, identifies the associated second accounts, and manages the execution permissions without requiring direct complex interactions between multiple accounts. This intermediary layer simplifies the overall system architecture by centralizing the access control logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If code execution is rapidly processed, then latency is reduced, but security verification and resource management time may increase

Engineering Contradiction:
Improvecode execution speedVSAvoidsecurity verification time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-initializing virtual machine instances and pre-verifying account associations and execution permissions before actual code execution. The account manager pre-identifies which second accounts are associated with a first account's tasks, and the virtual machine instances are pre-configured and ready to execute code. This eliminates the need for time-consuming security verifications and resource allocations during the actual code execution phase, thereby maintaining rapid execution speeds while ensuring security.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple virtual machine instances are managed dynamically, then resource utilization is improved, but management overhead increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidvirtual machine management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The virtual machine instance manager is designed as a universal component that handles multiple functions: creating virtual machine instances, allocating them to appropriate accounts, monitoring their execution status, and managing their lifecycle. This single multi-functional manager handles all virtual machine operations across multiple accounts, eliminating the need for separate management mechanisms for each account and reducing overall management complexity while maintaining high resource utilization.

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

Data Source

PatentUS10203990B2On-demand network code execution with cross-account aliases
Publication Date: 2019.02.12 AMAZON TECH INC
  • US10203990B2 patent drawing
  • US10203990B2 patent drawing
  • US10203990B2 patent drawing

AI summary

Systems and methods are described for utilizing cross-account access to tasks on an on-demand code execution environment or other distributed code execution environment to implement an application programming interface (API) on a network-accessible service. An on-demand code execution environment can utilize pre-initialized virtual machine instances to enable execution of user-specified code in a rapid manner, without delays typically caused by initialization of the virtual machine instances. While users may generally execute their own code, the present application enables code of a first user to be executed by a second user, while maintaining the privacy and security of the code and associated accounts. Further, the present application enables a set of tasks to be grouped together as an API, enabling any user to create an API for a service, while the on-demand code execution environment manages execution of the tasks and allocation of underlying computing resources.