In-Memory Distributed Cache Dynamic RAM Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in utilizing storage resources, as caches often leave unused RAM idle, affecting cache durability and computational performance due to underutilization of computing resources.

Innovation Solution

Implementing an in-memory distributed cache system that dynamically manages RAM by allowing write requests based on client permissions, data availability, and RAM thresholds, allocating and deallocating memory blocks to optimize storage resource utilization and ensure predictable low latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RAM is allocated to cache in distributed storage systems, then cache durability and computational performance are improved, but storage resource utilization becomes inefficient due to idle unused RAM

Engineering Contradiction:
Improvecache durabilityVSAvoidstorage resource utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory allocation where the cache manager continuously monitors RAM usage and adjusts cache allocation based on current system conditions. When RAM becomes available, the system dynamically allocates it to cache; when RAM is needed for other operations, the system dynamically deallocates cache memory. This dynamic approach resolves the contradiction by making cache memory flexible rather than static, improving both reliability through adequate caching and resource utilization through adaptive reallocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of memory allocation from fixed to variable based on system state. The cache manager modifies memory allocation parameters in real-time, increasing cache size when resources are abundant and decreasing it when resources are constrained. This parameter change enables the system to maintain high cache durability when possible while optimizing storage resource utilization when needed.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If RAM is allocated to cache, then computational performance is improved, but unused RAM remains idle affecting resource utilization

Engineering Contradiction:
Improvecomputational performanceVSAvoidstorage resource utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a feedback mechanism where the cache manager continuously monitors system state including available RAM, cache hit ratios, and computational workload. Based on this feedback, the system adjusts cache allocation to optimize computational performance while preventing idle RAM from remaining unused. The feedback loop ensures that when computational performance benefits from caching, memory is allocated; when performance can be maintained with less memory, RAM is freed for other uses.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If the system allows write requests based on multiple conditions (client permission, data availability, RAM thresholds), then resource allocation efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a cache manager as an intermediary component that handles the complexity of multi-condition write request evaluation. Rather than having the distributed file system directly handle complex allocation decisions, the cache manager acts as a mediator that receives write requests, evaluates all conditions (client permission, data availability, RAM thresholds), and makes allocation decisions. This intermediary approach improves resource allocation efficiency through systematic condition checking while containing system complexity within a dedicated management component.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12164432B2In-memory distributed cache
Publication Date: 2024.12.10 GOOGLE LLC
  • US12164432B2 patent drawing
  • US12164432B2 patent drawing
  • US12164432B2 patent drawing

AI summary

A method for an in-memory distributed cache includes receiving a write request from a client device to write a block of client data in random access memory (RAM) of a memory host and determining whether to allow the write request by determining whether the client device has permission to write the block of client data at the memory host, determining whether the block of client data is currently saved at the memory host, and determining whether a free block of RAM is available. When the client device has permission to write the block of client data at the memory host, the block of client data is not currently saved at the memory host, and a free block of RAM is available, the write request is allowed and the client is allowed to write the block of client data to the free block of RAM.