Distributed Caching with Dynamic Node Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed caching systems in computing systems often cache data items in nodes based on a 'natural-caching node' determined by attributes, but this may not always be the optimal node for performance and resource utilization, as alternative nodes may have more free space or better resource availability.

Innovation Solution

Implement a system where cache-management modules evaluate cache-quality metrics across multiple compute nodes to decide whether to cache data items in their natural-caching node or an alternative node, considering factors like latency, importance, and resource utilization, to optimize caching performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If data items are cached in the natural-caching node determined by attributes, then the caching scheme is simple to implement, but the cache memory utilization and system performance are suboptimal

Engineering Contradiction:
Improvecaching scheme implementation simplicityVSAvoidsystem performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic cache placement by allowing data items to be cached at alternative compute nodes rather than strictly at the natural-caching node. The system dynamically evaluates cache-quality metrics and decides whether to place data at the natural-caching node or an alternative node with better resource availability, transforming the static caching approach into a flexible, adaptive system that optimizes for both simplicity and performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache placement location from a fixed attribute-based determination to a dynamic decision based on multiple factors including cache-quality metrics, resource availability, and data importance. This parameter change enables the system to adapt to varying system conditions and optimize performance while maintaining implementation feasibility

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If data items are cached at alternative compute nodes with better resource availability, then cache memory utilization improves, but the system complexity increases

Engineering Contradiction:
Improvecache memory utilizationVSAvoidcaching decision system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces multiple parameters for cache placement decisions including cache-quality metrics, resource availability indicators, and data importance levels. By changing from a single-parameter (attribute-based) decision to a multi-parameter evaluation system, the patent enables better cache memory utilization while managing complexity through structured parameter assessment

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements self-service through automated evaluation of cache-quality metrics and autonomous decision-making about data placement. The compute nodes independently assess their own and other nodes' cache qualities and make placement decisions without requiring complex centralized control, thereby improving utilization while keeping system complexity manageable

Inventive Principle:
Principle #25Self-service

3Productivity

If the system evaluates cache-quality metrics and makes intelligent caching decisions, then storage performance improves, but the computational overhead and decision-making complexity increase

Engineering Contradiction:
Improvestorage performanceVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by evaluating cache-quality metrics selectively rather than continuously for all data items. The system determines data importance levels and applies sophisticated evaluation only to significant data items, while using simpler placement rules for less critical data. This partial application of complex evaluation reduces computational overhead while maintaining storage performance benefits for the most important data

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10387309B2High-performance distributed caching
Publication Date: 2019.08.20 GOOGLE LLC
  • US10387309B2 patent drawing
  • US10387309B2 patent drawing

AI summary

A computing system includes multiple compute nodes that include respective processors and respective cache memories. The processors are configured to determine a default compute node in which a given data item is to be cached, to make a decision whether to cache the given data item in the default compute node or in an alternative compute node, based on cache-quality metrics that are evaluated for respective cache memories of the compute nodes, and to cache the given data item in the default compute node or in the alternative compute node, depending on the decision.