Application-Aware Virtual Machine Restart via Monitoring Agents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization systems provide high availability for virtual machines but fail to efficiently make applications within these machines highly available, as they do not account for the state and priority of applications when deciding whether to restart a virtual machine.

Innovation Solution

Implementing a system with virtual machine monitoring agents and application monitoring agents that communicate with the operating system to determine the state and priority of applications, allowing for informed decisions on restarting virtual machines based on application status and dependencies, ensuring that higher-priority applications are maintained or restarted before lower-priority ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the virtual machine is restarted to restore high availability, then the virtual machine availability is improved, but the application state and priority are not considered leading to inefficient resource usage

Engineering Contradiction:
Improvevirtual machine availabilityVSAvoidapplication restoration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by continuously monitoring application states and using this information to determine whether VM restart is necessary. The monitoring agent collects application state information and feeds it back to the high availability decision logic, enabling informed decisions about VM restart based on actual application needs rather than blanket restart policies.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the parameter of decision-making by incorporating application state and priority as additional criteria. Instead of using a simple binary restart decision, the system evaluates multiple parameters including application state (running, stopped, failed) and priority levels to determine the optimal action, transforming the decision process from simplistic to nuanced.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If all applications are treated equally during VM restart, then the system is simple to operate, but critical applications may not be restored first leading to reduced system functionality

Engineering Contradiction:
Improvesystem operation simplicityVSAvoidcritical application availability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system applies local quality by assigning different priority levels to different applications based on their criticality. Instead of treating all applications uniformly, the system identifies and marks critical applications with higher priority levels, ensuring they receive preferential treatment during VM restart operations while maintaining simple overall system operation.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The monitoring agent provides feedback about application priority and state to the decision-making process. This feedback mechanism enables the system to automatically identify which applications are critical and should be restored first, maintaining ease of operation while ensuring critical applications receive appropriate attention.

Inventive Principle:
Principle #23Feedback

3Device complexity

If the system monitors only virtual machine status, then the monitoring complexity is low, but the application state information is insufficient for making informed restart decisions

Engineering Contradiction:
Improvemonitoring system complexityVSAvoidapplication state information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The monitoring system is segmented into two distinct components: a virtual machine monitoring agent that tracks VM status and an application monitoring agent that tracks application state. This segmentation allows each agent to focus on its specific monitoring tasks without overwhelming complexity, while collectively providing comprehensive information for restart decisions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The application monitoring agent acts as an intermediary between the application layer and the high availability decision-making process. It collects and translates application state information into a format that can be used by the VM restart decision logic, bridging the gap between application-level details and system-level decisions without significantly increasing overall complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8413144B1Providing application-aware high availability of virtual machines
Publication Date: 2013.04.02 ARCTERA US LLC
  • US8413144B1 patent drawing
  • US8413144B1 patent drawing
  • US8413144B1 patent drawing

AI summary

Various systems and methods can provide application-aware high availability of virtual machines. For example, one method involves receiving information indicating a state of an application executing in a virtual machine. The information is received by a computing device implementing a virtual machine monitoring agent that is monitoring the virtual machine. In response to receiving the information, the method determines whether the virtual machine should be restarted, based at least in part on the state of the application executing in the virtual machine. The method then generates information indicating whether the virtual machine should be restarted, in response to making the determination.