Ring Buffer for Virtual Machine Memory Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for high availability protection of virtual machines in cloud computing environments face inefficiencies due to local memory buffer overflow issues, leading to suspended VMs and increased network transmission overhead, which are costly and resource-intensive.

Innovation Solution

Implementing a ring buffer system where dirty memory pages are copied and transmitted simultaneously using separate threads, with a notification threshold to manage buffer usage, allowing for smaller buffers and reducing suspension time by enabling data transmission during both suspended and resumed VM states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed capacity local memory buffer is pre-allocated, then the buffer can hold dirty pages for copying, but the buffer may overflow when dirty pages exceed buffer capacity, causing VM suspension and increased network transmission overhead

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidVM suspension time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic buffer management system where the buffer capacity is not fixed but can expand as needed. The buffer grows dynamically to accommodate varying amounts of dirty pages, eliminating overflow conditions and the associated VM suspensions while maintaining efficient memory replication operations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system pre-allocates memory pages in advance to form an expandable buffer structure. By preparing the buffer capacity beforehand in a dynamic manner, the system ensures that dirty pages can be copied without causing overflow, thus preventing VM suspension and reducing time loss

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the local memory buffer is made extremely large to ensure it is never overflowed, then buffer overflow is prevented, but the buffer creates a large memory footprint and consumes significant system resources

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent employs a dynamic buffer that adapts its size based on actual workload requirements. Rather than allocating a excessively large fixed buffer, the system expands the buffer only as needed to prevent overflow, thereby preventing resource waste while maintaining reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the buffer capacity parameter dynamically based on the amount of dirty pages generated. This adaptive parameter adjustment allows the buffer to maintain sufficient capacity for overflow prevention while consuming minimal system resources when not needed

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all data in the local memory buffer is sent to the standby host when overflow occurs, then the buffer is emptied to allow continued copying, but this process adds network transmission overhead proportional to buffer size and extends VM suspension time

Engineering Contradiction:
Improvememory replication efficiencyVSAvoidnetwork transmission overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements continuous memory replication by maintaining an expandable buffer that never overflows. This eliminates the stop-start nature of previous systems where replication had to pause for buffer flushing, enabling continuous copying operations without network transmission overhead and maintaining high productivity

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system extracts the problematic buffer flushing operation from the memory replication process. By using an expandable buffer that accommodates all dirty pages, the system removes the need for periodic buffer emptying and associated network transmissions, thereby eliminating energy waste from unnecessary data transmission

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8413145B2Method and apparatus for efficient memory replication for high availability (HA) protection of a virtual machine (VM)
Publication Date: 2013.04.02 PULSELINK SYSTEMS LLC
  • US8413145B2 patent drawing
  • US8413145B2 patent drawing
  • US8413145B2 patent drawing

AI summary

High availability (HA) protection is provided for an executing virtual machine. At a checkpoint in the HA process, the active server suspends the virtual machine; and the active server copies dirty memory pages to a buffer. During the suspension of the virtual machine on the active host server, dirty memory pages are copied to a ring buffer. A copy process copies the dirty pages to a first location in the buffer. At a predetermined benchmark or threshold, a transmission process can begin. The transmission process can read data out of the buffer at a second location to send to the standby host. Both the copy and transmission processes can operate substantially simultaneously on the ring buffer. As such, the ring buffer cannot overflow because the transmission process continues to empty the ring buffer as the copy process continues. This arrangement allows for smaller buffers and prevents buffer overflows.