Virtual Compute System Hardware Segmentation and Pre-warming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual compute systems face challenges in providing secure, customizable, and efficient compute capacity, particularly in handling sensitive data and varying user needs, due to shared hardware resources and rigid execution schemes, which can lead to security risks and inefficient resource utilization.

Innovation Solution

A virtual compute system that maintains multiple sub-pools of pre-initialized virtual machine instances segregated at the hardware level, allowing for customized code execution environments based on user needs, with options for single-tenanted hardware and varying resource constraints, and a capacity manager that dynamically acquires and maintains compute capacity to reduce latency and costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machine instances are initialized on-demand from shared hardware, then resource utilization is improved, but security risks increase and latency is worsened

Engineering Contradiction:
Improveresource utilizationVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the virtual machine pool into multiple sub-pools segregated at the hardware level, where each sub-pool is dedicated to specific users or workloads. This hardware-level segmentation isolates sensitive data and computational tasks, preventing cross-contamination while maintaining high resource utilization through shared infrastructure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements pre-warming of virtual machine instances by initializing and maintaining a pool of ready-to-use VMs in advance. This preliminary action eliminates cold-start latency when compute capacity is needed, while pre-initialization allows security configurations to be established beforehand, reducing security risks during runtime.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple virtual machine instances share the same hardware, then resource efficiency is improved, but security isolation deteriorates

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

Solution Approach 1:

The patent divides the hardware resources into multiple isolated sub-pools at the hardware level, creating physical separation between different user workloads while maintaining overall resource sharing. This segmentation ensures that even though multiple VMs run on the same physical infrastructure, they cannot access each other's data or resources, thus maintaining security isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a capacity manager as an intermediary layer that controls and mediates access to hardware resources. This intermediary manages the allocation of VM instances to sub-pools, enforces security policies, and coordinates resource sharing, thereby enabling efficient resource utilization while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If virtual machine instances are pre-initialized and maintained, then latency is reduced, but resource costs increase

Engineering Contradiction:
Improvestartup latencyVSAvoidresource consumption
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent implements dynamic management of the virtual machine pool through a capacity manager that continuously monitors workload demands and adjusts the number of pre-initialized VM instances accordingly. When demand is high, more VMs are maintained ready; when demand is low, fewer VMs are pre-initialized. This dynamic approach reduces average startup latency while optimizing resource consumption to match actual needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of VM instance state from static (always initialized or never initialized) to dynamic (initialized based on demand thresholds). The capacity manager monitors usage patterns and adjusts the initialization state of VM instances in real-time, maintaining optimal latency performance while minimizing unnecessary resource consumption during low-demand periods.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If hardware resources are segregated into sub-pools, then security is improved, but system complexity increases

Engineering Contradiction:
Improvesecurity isolationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a capacity manager as an intermediary that abstracts the complexity of hardware-level segmentation. Instead of requiring direct management of complex hardware partitions, the capacity manager provides a simplified interface for allocating VM instances to appropriate sub-pools based on security requirements and workload characteristics, thereby maintaining security isolation while reducing operational complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11243819B1Acquisition and maintenance of compute capacity
Publication Date: 2022.02.08 AMAZON TECH INC
  • US11243819B1 patent drawing
  • US11243819B1 patent drawing
  • US11243819B1 patent drawing

AI summary

A system for providing low-latency computational capacity from a virtual compute fleet is provided. The system may be configured to maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprises a first pool comprising a first sub-pool of virtual machine instances and a second sub-pool of virtual machine instances, and a second pool comprising virtual machine instances used for executing one or more program codes thereon. The first sub-pool and/or the second sub-pool may be associated with one or more users of the system. The system may be further configured to process code execution requests and execute program codes on the virtual machine instances of the first or second sub-pool.