Capability Based Placement for Virtual Machine Resource Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments with multiple devices, such as virtual servers or cloud computing, determining the appropriate computing resources to assign for customer requests is challenging due to limited pre-defined categories that may not match the specific resource needs.

Innovation Solution

The implementation of capability-based placement of virtual machine instances, where detailed characteristics of server computers and slots are used to determine higher-level capability tags, allowing for the efficient selection of resources that match the requirements of customer requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If detailed hardware and software characteristics are maintained for all computing resources, then resource matching precision is improved, but system complexity and difficulty of management increase

Engineering Contradiction:
Improveresource matching precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the detailed hardware and software characteristics into discrete capability tags. Each computing resource is described by a set of tagged capabilities (e.g., CPU type, memory amount, storage capacity) rather than maintaining complete detailed specifications. This segmentation allows precise matching by tagging relevant capabilities while ignoring irrelevant details, thereby reducing system complexity while preserving matching precision.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential capability characteristics needed for matching from the complete detailed specifications of computing resources. By taking out and retaining only the relevant capability tags (such as processor type, memory size, storage capacity) and discarding unnecessary detailed information, the system achieves precise resource matching with reduced complexity and easier management.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If pre-defined categories of computing resources are used, then ease of selection is improved, but adaptability to specific resource needs deteriorates

Engineering Contradiction:
Improveease of selectionVSAvoidadaptability to resource needs
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by allowing different capability tags to be assigned to different computing resources based on their specific characteristics. Instead of forcing all resources into uniform pre-defined categories, each resource can have customized capability tags that reflect its local qualities and specific strengths (e.g., high CPU capability, large storage capacity, specialized GPU acceleration), enabling both ease of selection through tagging and adaptability to specific needs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter representation from fixed pre-defined categories to flexible capability tags with varying parameters. Each computing resource can have capability tags with different parameter values (e.g., memory amount ranging from 8GB to 128GB, storage capacity varying by tier), allowing the system to adapt to specific resource needs while maintaining ease of selection through standardized tag structures.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If complete lists of hardware and software details are maintained, then resource selection accuracy is improved, but resource utilization efficiency deteriorates due to difficulty in creation, storage, update, and search

Engineering Contradiction:
Improveresource selection accuracyVSAvoidresource utilization efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent creates a simplified copy or abstraction of the complete hardware and software details by using capability tags. Instead of maintaining and managing complete detailed specifications, the system uses tagged capability representations that capture the essential information needed for accurate resource selection. This copying approach maintains resource selection accuracy while dramatically improving efficiency in creation, storage, update, and search operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes the capability tag system universal and multi-functional. The same tagged capability structure serves multiple purposes: it enables accurate resource selection, facilitates efficient storage and retrieval, supports rapid updates, and allows flexible searching across multiple dimensions. This universal tagging approach replaces multiple separate detailed lists with a single versatile system that improves both accuracy and efficiency.

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

Data Source

PatentUS9471352B1Capability based placement
Publication Date: 2016.10.18 AMAZON TECH INC
  • US9471352B1 patent drawing
  • US9471352B1 patent drawing
  • US9471352B1 patent drawing

AI summary

Capability based placement can be used for placing virtual machine instances on server computers (which can be configured to support one or more virtual machine slots) that are capable of running the instances in an efficient manner. For example, capability tags can be determined from the detailed characteristics (e.g., detailed hardware, software, and/or other characteristics) of the server computer and/or slots. For example, capability tags can indicate capabilities such as disk throughput, network bandwidth, database support, encryption support, video editing support, etc. Requests to launch virtual machine instances can be received and capability tags can be determined from the requests. Servers and/or slots that match the determined capability tags can be identified and used for launching the instances.