Content-Based Cache Failover for Virtual Hosts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content-based read caches (CBRC) in virtual computing instances are not reusable in case of a host computer failure, leading to performance degradation as the cache built over time is lost, disrupting workload continuity.

Innovation Solution

A method to populate a fail-over cache by determining if the secondary host computer has a CBRC, and if not, copying the cache from the failed host, or merging caches if both hosts have CBRC enabled, using priority, deduplication, frequency, or eviction strategies to maintain cache size within limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a host computer system fails, then the CBRC cache cannot be reused, but it is desirable to reuse the cache to maintain performance

Engineering Contradiction:
Improvecache reusabilityVSAvoidworkload performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent copies the CBRC cache contents from the failed host computer system to the failover host computer system. This allows the cached data to be preserved and reused, maintaining workload performance after host failure. The copying mechanism ensures that the failover host can continue serving cached data without losing the performance benefits accumulated during normal operation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by detecting host failure and initiating cache copying before the failover host needs to serve requests. This proactive approach ensures that the cache is already populated and ready when the failover occurs, minimizing performance disruption and maintaining continuity of service.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the second host computer does not have a CBRC, then the cache can be copied, but memory resources are consumed

Engineering Contradiction:
Improvecache availabilityVSAvoidmemory resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the state of the failover host by detecting whether a CBRC is enabled and dynamically adjusting cache management actions. When no CBRC exists, the system copies cache contents; when a CBRC exists, the system merges caches. This parameter-based decision-making optimizes memory resource usage while ensuring cache availability is maintained.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

When the failover host already has a CBRC enabled, the patent merges the cached data from the failed host with the existing cache on the failover host. This merging approach consolidates duplicate data and optimizes memory utilization by combining both cache contents into a unified structure, rather than simply copying entire cache contents.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If both hosts have CBRC enabled, then caches can be merged, but cache size management becomes complex

Engineering Contradiction:
Improvecache redundancyVSAvoidcache management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache merging process into distinct phases: identifying cached data blocks from both hosts, comparing block identifiers to detect duplicates, and selectively copying only non-duplicate blocks. This segmentation simplifies the overall complexity by breaking down the merging operation into manageable, systematic steps that can be executed efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs feedback mechanisms by monitoring cache size against predefined thresholds during the merging process. When the combined cache exceeds the threshold, the system triggers eviction of less frequently accessed blocks. This feedback-based size management automatically maintains cache efficiency without requiring complex manual intervention, balancing redundancy with manageable complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11249915B2Content based cache failover
Publication Date: 2022.02.15 VMWARE INC
  • US11249915B2 patent drawing
  • US11249915B2 patent drawing
  • US11249915B2 patent drawing

AI summary

Methods and systems are disclosed for populating a fail-over cache. When host computer systems in a system each have a content based read cache, the methods and system provide several functions applied in different orders for determining blocks that are to be included in the fail-over cache. Each function attempts a different strategy for combining the contents of the caches of each host computer system into the fail-over cache. If any strategy is successful, then the fail-over cache is placed into service. If all of the strategies fail, then an eviction strategy is employed in which blocks are evicted from each cache until the combination of caches meets a requirement of the fail-over cache, which, in one embodiment, is the size of the fail-over cache.