Virtual Machine Memory Deduplication via Structural Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization in IT architectures requires significant computer memory, leading to high costs and limited scalability due to the need for identifying and managing identical memory pages across multiple virtual machines, which is computationally intensive and resource-heavy, especially with dynamic behavior of virtual machines and applications.
Innovation Solution
The method involves automatic introspection by the virtual machine manager to identify structural characteristics of guests, such as operating system and application meta-information, to selectively scan and compare memory pages, reducing the computational effort by focusing on quasi-static memory regions likely to contain identical pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If hash values are calculated and compared for all memory pages to identify identical pages, then identical memory pages can be identified for reuse, but the computational effort and resource consumption increase significantly
Solution Approach 1:
The patent divides the memory identification process into two stages: first comparing structural characteristics (OS type, application metadata, memory region properties) to identify candidate regions, then calculating hash values only for those candidates. This segmentation reduces the number of expensive hash operations while maintaining identification accuracy.
Solution Approach 2:
The patent performs preliminary filtering by comparing structural characteristics before conducting the computationally intensive hash calculation. By pre-identifying memory regions with matching structural properties, the system prepares a reduced set of candidates that are more likely to contain identical pages, thereby reducing overall computational effort.
2Reliability
If memory identification is performed continuously to handle dynamic virtual machine behavior, then identical pages can be identified accurately, but the computational resources are constantly consumed
Solution Approach 1:
The patent implements periodic identification triggered by specific events (virtual machine startup, memory allocation, configuration changes) rather than continuous monitoring. This event-driven approach maintains identification accuracy by updating only when necessary, while preserving computational resources during stable periods when no changes occur.
Solution Approach 2:
The patent adapts the identification frequency and scope dynamically based on system state and event types. Rather than uniform continuous monitoring, the system adjusts its behavior to perform detailed analysis only when dynamic changes occur, balancing reliability with resource productivity.
3Measurement precision
If all memory regions are scanned to ensure complete identification of identical pages, then no identical pages are missed, but the time and computational resources required increase
Solution Approach 1:
The patent applies different analysis depths to different memory regions based on their structural characteristics. Memory regions with matching structural properties (same OS, application type, memory purpose) receive full hash-based verification, while regions with dissimilar structures are excluded from detailed comparison. This local differentiation maintains identification completeness for relevant regions while reducing overall processing time.
Data Source
AI summary
Efficiently determining identical pieces of memory within a computer memory area, which is occupied by a virtual machine manager hosting multiple guests and the computer memory area being logically separated into memory pages of a unique size. Each guest is inspected for its structural characteristics by the virtual machine manager. The structural characteristics of each guest are compared by the virtual machine manager, wherein memory regions of guests having a similar structure are identified; and the identical memory pages are identified by the virtual machine manager by comparing hash values of memory pages located within memory regions of guests having a similar structure, wherein identical memory pages are determined by comparing hash values calculated over the contents of the memory pages.


