Virtual Machine Manager Function Hooking for Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The redundancy of software modules across multiple virtual machines leads to unnecessary consumption of host computer system resources, particularly when each virtual machine executes its own copy of the same operating system, resulting in redundant utilities and applications.

Innovation Solution

A virtual machine manager redirects function references to a hook page, installing execution events that trigger messages to the hypervisor when specific memory locations are accessed, allowing for centralized management and reduction of redundant functionality through function hooking techniques without injecting foreign code, thereby monitoring and modifying code execution within guest virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple virtual machines each execute a copy of the same operating system, then virtual machine isolation and security are improved, but system resource consumption increases due to redundant software modules

Engineering Contradiction:
Improvevirtual machine isolationVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges redundant software modules from multiple virtual machines into a shared kernel space. The hypervisor loads a single copy of common operating system modules into a shared address space that multiple virtual machines can access, eliminating redundant code execution while maintaining virtual machine isolation through controlled access mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared kernel modules serve multiple virtual machines simultaneously, providing universal functionality. A single instance of common software modules (e.g., file system, device drivers, network stack) can be accessed by multiple virtual machines, making the system more efficient while maintaining the ability to serve different virtual machine needs.

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

2Productivity

If function hooking is implemented to monitor code execution, then centralized management of redundant functionalities is achieved, but system complexity increases

Engineering Contradiction:
Improvecentralized management efficiencyVSAvoidsystem management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The hypervisor acts as an intermediary between virtual machines and the shared kernel modules. It implements function hooking mechanisms that intercept function calls from virtual machines, redirect them to the shared kernel, and manage the coordination between multiple virtual machines and common modules, thereby centralizing management while abstracting complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If execution events are installed at memory locations to monitor access, then code execution monitoring is enabled, but performance overhead increases

Engineering Contradiction:
Improvecode execution monitoring accuracyVSAvoidcode execution speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The system implements execution events selectively at critical memory locations where monitoring provides maximum benefit. Rather than monitoring all memory accesses, the hypervisor installs execution events only at specific locations where function calls to shared kernel modules occur, achieving effective monitoring with minimal performance impact.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8397242B1System and method for managing operations within virtual machines
Publication Date: 2013.03.12 CA TECH INC
  • US8397242B1 patent drawing
  • US8397242B1 patent drawing
  • US8397242B1 patent drawing

AI summary

A method, apparatus, and computer-readable storage medium for managing operations within virtual machines are provided. According to one embodiment, a virtual machine manager monitors the internal operations of the virtual machines by redirecting a reference from a first address to a second address. The first address is an address of a function to be executed by the virtual machine. The second address is an address of a memory location in the memory page. The virtual machine manager installs an execution event at the memory location. In response to a request resulting in the memory location being accessed, an execution event is triggered. In response to the triggering of the execution event, a message is sent to the hypervisor. The message indicates that the memory location has been accessed.