Event Message Routing for Virtual Machine Instance Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in selecting and customizing compute resources for their needs, including over- or under-utilization, predicting traffic changes, and instance startup delays, which can hinder performance and resource access in virtualized environments.

Innovation Solution

A system maintains a pool of pre-initialized virtual machine instances with loaded software components, allowing for immediate use and automatic scaling based on user requests, with event messages facilitating communication and routing between isolated computing environments to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computing environments are physically and/or logically isolated to prevent or control data transmissions, then security and control are improved, but resource access and communication efficiency deteriorate

Engineering Contradiction:
Improvesecurity controlVSAvoidresource access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an event message routing service as an intermediary component that operates at the boundary between isolated computing environments. This service receives event messages from one environment, routes them through appropriate networks (private or public), and delivers them to target computing environments. The intermediary enables controlled communication while maintaining isolation boundaries, thus improving resource access efficiency without compromising security control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual machine instances are initialized on-demand rather than pre-configured, then resource utilization flexibility is improved, but instance startup time increases

Engineering Contradiction:
Improveresource utilization flexibilityVSAvoidinstance startup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-initializing virtual machine instances in a ready state before actual workloads arrive. The system maintains a pool of pre-configured virtual machine instances with operating systems and software components already loaded. When workloads need to be executed, the system can immediately allocate these pre-initialized instances, eliminating the startup delay that would occur with on-demand initialization while maintaining the flexibility to scale resources as needed.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If developers manually select and configure compute resources, then customization control is improved, but resource allocation efficiency and scalability deteriorate

Engineering Contradiction:
Improvecustomization controlVSAvoidresource allocation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the system to automatically select, configure, and allocate compute resources based on workload characteristics and performance requirements. The event message routing service monitors system state and automatically provisions virtual machine instances with appropriate configurations without requiring manual developer intervention. This maintains customization control through automated policy-based decisions while significantly improving resource allocation efficiency and scalability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11226887B1User code deployment across compute resource partitions
Publication Date: 2022.01.18 AMAZON TECH INC
  • US11226887B1 patent drawing
  • US11226887B1 patent drawing
  • US11226887B1 patent drawing

AI summary

Systems for processing requests to execute a program code of a user use a deployment model to select one of multiple virtual computing environments, each implemented on a plurality of server computers, which will produce the optimal program code execution, according to metrics such as latency, cost, and resource availability. The system receives the requests in the form of event messages associated with triggering events occurring on networks across the environments. The system feeds network usage data and event message metadata describing the event, event source, other target resources, and the like, into the deployment model to identify a candidate environment. The system enables the candidate environment to execute the program code, and then routes a subset of the event messages to the candidate environment, monitoring associated performance data. If the request processing is improved, the system continues routing some or all of the event messages to the candidate environment.