Distributed Caching System for High Hit Rate Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

A distributed caching system that caches data across multiple computing devices on a network, allowing a front-end system to distribute cache requests and store data items on internal and external caches, increasing the chances of cache hits by utilizing a network of caches.

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 exceeded

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 network dimension to the cache architecture. This allows the system to overcome the storage capacity limits of individual nodes while maintaining fast access performance, as the distributed cache network provides virtually unlimited storage space across multiple devices.

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

Solution Approach 2:

The patent combines multiple small caches into a large distributed cache network. By merging the storage resources of multiple nodes, the system achieves a unified large-capacity cache that reduces cache misses and improves overall system performance without requiring a single large expensive memory device.

Inventive Principle:
Principle #5Merging (Combining)

2Speed

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

Engineering Contradiction:
Improvememory access timeVSAvoidmemory storage size
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The patent segments the cache system into multiple independent cache nodes distributed across the network. Each node maintains its own fast memory, preserving the speed advantage, while the collective network provides large storage capacity. This segmentation allows the system to achieve both fast access and large storage by distributing the workload across multiple nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The network acts as an intermediary between the application and the distributed cache nodes, enabling fast access to cached data while managing the complexity of distributed storage. The network infrastructure allows the system to access fast memory across multiple nodes without requiring each node to have large expensive memory.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

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

Engineering Contradiction:
Improvecache hit rateVSAvoidcaching system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal distributed cache system that can serve multiple applications and data types through a common architecture. The distributed cache network provides multi-functional capabilities including data storage, fast access, and automatic management, reducing the need for separate caching solutions for different applications and simplifying the overall system.

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

Data Source

PatentUS9621399B1Distributed caching system
Publication Date: 2017.04.11 AMAZON TECH INC
  • US9621399B1 patent drawing
  • US9621399B1 patent drawing
  • US9621399B1 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 identify additional requests for the first data item and duplicate the requested data item in order to respond to the additional requests, which allows for greater responsiveness to requests.