Distributed Caching System Front-End Request Multiplexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face performance delays due to accessing slower memory types, and existing caching solutions are limited by the small storage size of faster memory, leading to cache misses and reduced system performance.

Innovation Solution

A distributed caching system that caches data across multiple computing devices, using a front-end system to distribute cache requests and store data items on internal and external caches, increasing the chances of cache hits by leveraging networked caches and propagating cache writes across multiple data centers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache size is increased to reduce cache misses, then system performance is improved, but memory cost increases and storage capacity constraints are violated

Engineering Contradiction:
Improvesystem performanceVSAvoidcache storage size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent transitions from a single-node cache to a distributed multi-node cache system, adding the spatial dimension of network distribution. This allows the system to achieve effectively unlimited cache capacity by leveraging storage across multiple nodes while maintaining fast access through intelligent routing and locality-aware placement strategies.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The cache system is divided into multiple independent cache nodes distributed across the network. Each node maintains its own cache storage, and the system collectively provides a unified cache interface. This segmentation enables scalable capacity expansion while keeping individual node costs manageable and allowing parallel access operations.

Inventive Principle:
Principle #1Segmentation

2Speed

If faster memory types are used to reduce access time, then access speed is improved, but storage size is limited and cost increases

Engineering Contradiction:
Improveaccess speedVSAvoidstorage size
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The distributed cache system creates a universal caching layer that can serve multiple applications and data types across the network. The same cache infrastructure handles diverse workloads from different sources, maximizing resource utilization and achieving economies of scale that reduce per-access costs while maintaining high performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The distributed cache acts as an intermediary layer between slow bulk storage and fast processing units. It captures and holds frequently accessed data closer to processing points through networked nodes, reducing the frequency of slow storage accesses while providing sufficient capacity that single-node fast memory cannot deliver.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If distributed caching is implemented to increase cache capacity, then hit rate is improved, but system complexity increases

Engineering Contradiction:
Improvecache hit rateVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The distributed cache system implements feedback mechanisms where access patterns are monitored and used to dynamically adjust data placement and routing decisions. This feedback loop enables the system to adapt to changing workloads, maintaining high hit rates while the complexity of coordination is managed through automated control algorithms rather than manual configuration.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache nodes autonomously manage their own operations including data placement, eviction policies, and local caching decisions without requiring centralized control for every operation. This self-service approach reduces coordination overhead and system complexity while maintaining consistent behavior across the distributed system through standardized protocols.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9390052B1Distributed caching system
Publication Date: 2016.07.12 AMAZON TECH INC
  • US9390052B1 patent drawing
  • US9390052B1 patent drawing
  • US9390052B1 patent drawing

AI summary

Embodiments of a distributed caching system are disclosed that cache data across multiple computing devices on a network. In one embodiment, a first cache system serves as a caching front-end to a distributed cluster of additional cache systems. The first cache system can distribute cache requests to the additional cache systems. The first distributed caching system can also serve as a cache server itself, by storing data on its own internal cache. For example, the first cache system can first attempt to find a requested data item on the internal cache, but, if the lookup results in a cache miss, the first cache system can search the additional cache systems for the data. In some embodiments, the first cache system is configured to multiplex requests to each additional cache system over a single negotiated streaming protocol connection, which allows for network efficiencies and faster detection of failure.