Host Controller Virtual Machine Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine management systems face challenges in load balancing across hosts in a cluster, leading to performance degradation due to manual selection processes that are time-consuming and inefficient.

Innovation Solution

A host controller with a virtual machine manager that selects hosts based on CPU consumption and expected load, using a host selection rating calculated from current and expected CPU load, and confirms memory availability to automate the distribution of virtual machines, thereby balancing load without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual host selection is used for virtual machine deployment, then system administrator control is maintained, but the process becomes time-consuming and inefficient

Engineering Contradiction:
Improvemanual host selectionVSAvoidtime-consuming selection process
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs self-service by automatically selecting appropriate hosts for virtual machine deployment without requiring manual administrator intervention. The host selection module autonomously evaluates host metrics, calculates ratings, and makes deployment decisions based on current system state and load balancing requirements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by pre-calculating host ratings and maintaining updated metrics about each host's capacity and load status. This preparation work is done in advance so that when virtual machine deployment is needed, the system can quickly make informed decisions without time-consuming analysis at deployment moment.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If virtual machines are distributed across hosts, then load balancing is achieved, but manual intervention increases system complexity

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidmanual management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback by continuously monitoring host metrics such as CPU usage, memory availability, and current load status. This feedback information is used by the host selection module to dynamically adjust host ratings and make informed deployment decisions that maintain optimal load balancing across the cluster.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies parameter changes by dynamically adjusting host ratings based on changing system conditions. As host metrics change over time, the ratings are recalculated to reflect current capacity and load status, allowing the system to adapt to varying conditions without manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated host selection is implemented, then deployment speed improves, but selection accuracy may be compromised

Engineering Contradiction:
Improvedeployment speedVSAvoidhost selection accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary calculations to pre-determine host ratings based on current metrics and deployment requirements. This advance preparation ensures that when deployment decisions are made, they are based on pre-analyzed data, maintaining both speed and accuracy without requiring time-consuming analysis at the moment of deployment.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8694638B2Selecting a host from a host cluster to run a virtual machine
Publication Date: 2014.04.08 RED HAT ISRAEL
  • US8694638B2 patent drawing
  • US8694638B2 patent drawing
  • US8694638B2 patent drawing

AI summary

A host controller selects a host from a host cluster to run a virtual machine. In one embodiment, a host controller receives a request to run a virtual machine. The virtual machine may be a newly added virtual machine, or an existing virtual machine that needs to migrate from a currently active host to another host. The host controller selects a host from the host cluster based on current central processing unit (CPU) consumption and expected load to be incurred by the virtual machine. The expected load may be estimated from the number of cores to be used by the virtual machine. The host controller then assigns the virtual machine to run on the host.