Pooled Virtual Machine Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The creation of virtual machine environments in cloud computing can be delayed due to errors in configuring database servers and virtual hard drives, leading to inefficiencies and potential failures in resource allocation.

Innovation Solution

A method for pooled virtual machine resources, where a system maintains a specified number of resources in a pool, creating additional resources if needed, and allocates them efficiently upon request to reduce delays and failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machine resources are created on-demand when requests are received, then resource allocation flexibility is maintained, but creation time increases and productivity decreases

Engineering Contradiction:
Improvevirtual machine environment creation speedVSAvoidresource configuration time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-creates virtual machine resources (database servers, virtual hard drives) in advance and maintains them in a pool before requests are received. This preliminary action eliminates the need for time-consuming configuration when requests arrive, directly resolving the contradiction between fast delivery and thorough configuration.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple resources are configured individually when needed, then resource allocation accuracy is maintained, but system complexity increases and errors occur

Engineering Contradiction:
Improveresource allocation success rateVSAvoidconfiguration process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges multiple individual resource configurations into a unified pre-configuration process. By combining database servers, virtual hard drives, and other resources into integrated pool configurations, the system reduces complexity and minimizes errors while maintaining allocation accuracy through the unified structure.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If virtual machine resources are pre-created in pools, then allocation speed increases and productivity improves, but resource management complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidpool management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service mechanisms where the pool automatically manages resource availability, allocation, and replenishment. This automation reduces the manual management burden despite the increased complexity of pool structures, allowing fast allocation while maintaining manageable operational complexity.

Inventive Principle:
Principle #25Self-service

4Speed

If resources are created only when requested, then resource utilization efficiency is maintained, but service delivery time increases

Engineering Contradiction:
Improvevirtual machine deployment speedVSAvoidresource preparation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system performs preliminary resource preparation by pre-creating and maintaining pools of virtual machine resources before requests are received. This advance preparation directly addresses the contradiction by enabling fast service delivery while improving overall productivity through batched, efficient resource creation processes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10423461B2Single table multiple thread-safe resource pools
Publication Date: 2019.09.24 SALESFORCE INC
  • US10423461B2 patent drawing
  • US10423461B2 patent drawing
  • US10423461B2 patent drawing

AI summary

Pooled virtual machine resources are described. A system determines whether a number of virtual machine resources that are in a pool is less than a specified number. The system creates a calculated number of virtual machine resources for the pool if the number of virtual machine resources that are in the pool is less than the specified number, the calculated number being equal to the specified number minus the number of virtual machine resources that are in the pool. The system receives a request to create a virtual machine environment that requires at least one virtual machine resource. The system allocates a virtual machine resource from the pool to the virtual machine environment.