Virtual Machine High Availability via Node Resource Reservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, node failures can disrupt the operation of virtual machines by rendering them non-operational until the failed node recovers, leading to inefficiencies and resource wastage, as virtual machines are solely dependent on the resources of the underlying node.

Innovation Solution

A scheduling module is implemented to reserve resources on other nodes within the virtualization environment, identifying candidate nodes based on qualifier functions and ranking them using priority functions to ensure high availability, allowing virtual machines to operate on reserved resources during node failures, thereby minimizing disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are solely dependent on the resources of the underlying node, then device complexity is reduced, but reliability deteriorates during node failures

Engineering Contradiction:
Improveavailability during failureVSAvoidresource reservation system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling module acts as an intermediary between virtual machines and physical nodes. It manages the complexity of node-failure responses by handling candidate node identification, resource reservation, and failover coordination, isolating the complexity from both the virtual machines and the underlying infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If resources are reserved on multiple candidate nodes, then reliability improves during node failures, but device complexity increases

Engineering Contradiction:
Improvehigh availability thresholdVSAvoidscheduling module
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes parameters such as the high availability threshold and adjusts the number of candidate nodes based on system conditions. This allows the scheduling module to balance reliability requirements with operational complexity by adapting its behavior to current system state.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If virtual machines can operate during node failures, then reliability improves, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvecontinuous operationVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system reserves resources on multiple candidate nodes beyond what a single failover might require. This excessive reservation ensures that sufficient resources are available for immediate failover while allowing the system to optimize resource allocation over time, balancing continuous operation capability with resource efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically changes parameters such as the high availability threshold and adjusts the number of candidate nodes based on system conditions. This allows the scheduling module to balance reliability requirements with operational complexity by adapting its behavior to current system state.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If candidate nodes are ranked using priority functions, then reliability improves during failover, but computational overhead increases

Engineering Contradiction:
Improveoptimal failover selectionVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The priority function applies different evaluation criteria to different aspects of candidate nodes (e.g., resource availability, current load, geographic location). This localized quality assessment allows the system to make reliable failover decisions while minimizing overall computational overhead by focusing evaluations on relevant local characteristics rather than comprehensive global analysis.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10552272B2Maintaining high availability during N-node failover
Publication Date: 2020.02.04 NUTANIX INC
  • US10552272B2 patent drawing
  • US10552272B2 patent drawing
  • US10552272B2 patent drawing

AI summary

A system and method for reserving resources for a virtual machine to use during failure of an underlying node are disclosed. The system and method include a scheduling module that is configured to reserve resources for the virtual machine on at least one candidate node. To reserve the resources, the scheduling module is configured to identify a list of candidate nodes based upon a qualifier function, rank the candidate nodes based upon a priority function, and determine the candidate nodes that satisfy a high availability threshold. The scheduling module is also configured to select a highest-ranked candidate node that satisfies the high availability threshold and reserve the resources on the highest-ranked candidate node.