Distributed Cache Hash-Based Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Organizations face high costs and bandwidth inefficiencies in maintaining wide area networks due to the need for large bandwidth and multiple data centers, especially when distributing incremental file updates across geographically distributed locations, which can include substantial video or image data.

Innovation Solution

Implementing a distributed cache management service where client devices and servers use hashes to locate and retrieve data from local caches instead of downloading entire files, reducing bandwidth consumption by storing and updating data within a distributed cache system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If incremental updates are used to reduce bandwidth consumption, then bandwidth efficiency improves, but the data size of incremental changes can still be substantial when including embedded video or image data

Engineering Contradiction:
Improvebandwidth consumptionVSAvoiddata size of incremental updates
Core Design Contradiction:
Loss of energyVSQuantity of substance

Solution Approach 1:

The system segments files into fixed-size chunks and generates unique identifiers (hashes) for each chunk. Instead of transmitting entire files or large incremental updates, only the hashes of changed chunks are transmitted, which are much smaller in size. This segmentation allows precise identification of what needs to be updated without transmitting unnecessary data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates and distributes copies of file chunks stored in local caches at different locations. When a user needs a file, the system checks if chunks exist in local caches and retrieves them locally rather than downloading from the central server. This copying mechanism reduces bandwidth consumption by leveraging existing local copies.

Inventive Principle:
Principle #26Copying

2Reliability

If multiple data centers are created to serve distributed locations, then service availability improves, but operational costs increase significantly

Engineering Contradiction:
Improveservice availabilityVSAvoidoperational cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the functionality of multiple data centers by utilizing existing local storage devices and caches at distributed locations. Instead of deploying separate data center infrastructure at each location, the system combines idle storage resources from multiple devices to create a distributed cache network, reducing operational costs while maintaining service availability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Local storage devices and caches serve multiple functions: they act as backup storage, distribution points for file chunks, and cache memory for frequently accessed files. This multi-functionality eliminates the need for dedicated data center infrastructure at each location, reducing operational costs while improving service reliability.

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

3Stability of the object's composition

If entire files are downloaded to ensure all users have up-to-date versions, then data consistency improves, but bandwidth consumption increases substantially

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
Stability of the object's compositionVSLoss of energy

Solution Approach 1:

The system divides files into fixed-size chunks and assigns unique identifiers to each chunk. Instead of downloading entire files, users only download specific chunks that have changed, identified by their hashes. This segmentation maintains data consistency by ensuring users have the correct version of each chunk while minimizing bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses hash verification as a feedback mechanism to ensure data consistency. When chunks are downloaded or retrieved from cache, their hashes are verified against the expected hashes to confirm integrity. This feedback loop ensures data consistency without requiring full file downloads.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10198462B2Cache management
Publication Date: 2019.02.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10198462B2 patent drawing
  • US10198462B2 patent drawing
  • US10198462B2 patent drawing

AI summary

Concepts and technologies are described herein for cache management. In accordance with the concepts and technologies disclosed herein, the server computer can be configured to communicate with a client device configured to execute a cache module to maintain a cache storing data downloaded from and/or uploaded to the server computer by the client device. The server computer can be configured to receive requests for data stored at the server computer. The server computer can be configured to respond to the request with hashes that correspond to the requested data. The client device can search the cache for the hashes, obtain the data from the cache if the hashes are found, and/or download the data from the server computer if the hashes are not found. The client device also can be configured to update the cache upon uploading the data to the server computer.