Virtual Compute System for Automatic Resource Sizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in efficiently managing virtual machine instances, including delays in code execution, over- or under-provisioning of resources, and costs associated with scaling, due to the need to manually configure and manage virtual machines in cloud computing environments.

Innovation Solution

A virtual compute system maintains a pool of pre-initialized virtual machine instances with loaded operating systems and language runtimes, allowing for rapid deployment and dynamic resource allocation based on user requests, with a resource manager monitoring and adjusting resources to optimize performance and cost.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If virtual machine instances are manually configured and initialized before deployment, then resource allocation can be optimized, but latency in code execution increases due to the time required to set up virtual machines

Engineering Contradiction:
Improvelatency in code executionVSAvoidresource allocation efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-building and pre-initializing virtual machine instances in advance, maintaining them in a ready-to-execute state in a pool of pre-initialized instances. This eliminates the need to configure virtual machines at the time of code execution, thereby reducing latency while maintaining resource allocation efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If resources are over-provisioned to meet peak demand, then service availability is improved, but costs increase due to under-utilization during low demand periods

Engineering Contradiction:
Improveservice availabilityVSAvoidcosts associated with resource under-utilization
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts resource allocation by maintaining a pool of pre-initialized virtual machine instances that can be rapidly deployed during peak demand. During low demand periods, the system scales down to use fewer instances, thereby maintaining service availability when needed while reducing costs during under-utilization periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The resource manager continuously monitors resource utilization and demand patterns, using this feedback to dynamically adjust the size and configuration of the pre-initialized instance pool, optimizing the balance between service availability and cost efficiency.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If virtual machine instances are configured with specific software configurations and device images, then functionality is improved, but device complexity increases due to multiple configuration types

Engineering Contradiction:
Improvefunctionality of virtual machine instancesVSAvoidcomplexity of managing multiple virtual machine configurations
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the management of virtual machine configurations by organizing pre-initialized instances into distinct pools based on their software configurations and device images. Each pool contains instances with specific functionalities, allowing the resource manager to selectively deploy appropriate configuration types without managing all configurations simultaneously, thereby reducing operational complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates universal base images and configuration templates that can be replicated across multiple virtual machine instances. These standardized templates enable the system to provide diverse functionalities through consistent, reusable configuration patterns, reducing the complexity of managing multiple unique configurations.

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

4Productivity

If manual configuration of virtual machines is performed, then resource allocation can be optimized, but ease of operation decreases due to manual management requirements

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidease of managing virtual machine instances
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The resource manager implements self-service capabilities by automatically monitoring resource utilization, identifying when pre-initialized instances are needed, and deploying them without manual intervention. The system autonomously manages the entire lifecycle of virtual machine instances including creation, configuration, deployment, and termination, thereby maintaining resource allocation efficiency while significantly improving ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3227781B1Automatic management of resource sizing
Publication Date: 2021.11.24 AMAZON TECH INC
  • EP3227781B1 patent drawingFigure 1
  • EP3227781B1 patent drawingFigure 2
  • EP3227781B1 patent drawingFigure 3

AI summary

A system for providing automatic resource resizing is provided. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and allocate computing resources for executing the program code on one of the virtual machine instances. The amount of resources allocated for executing the program code may be specified by the request and adjusted as needed.