Byte Range Caching via Content Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing caching systems face challenges in efficiently handling byte range requests, leading to high latency and increased burden on origin servers, as they often require downloading the entire content resource to serve partial requests and struggle with cache hits when only partial content is stored.

Innovation Solution

A caching system that segments content into chunks, allowing for low-latency byte range requests by remapping client requests to align with a configurable chunk size, caching partial content, and serving overlapping requests from the cache while minimizing duplicate requests to the origin server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the cache retrieves content from the beginning to satisfy a byte range request, then the request can be fulfilled, but the latency increases relative to the byte range offset

Engineering Contradiction:
ImprovelatencyVSAvoidrequest fulfillment efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the content resource into multiple discrete ranges, allowing the cache to store and retrieve specific byte ranges independently. When a byte range request arrives, the cache can directly serve the requested segment without retrieving content from the beginning, thus reducing latency while maintaining efficient request fulfillment.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the cache stores only partial content to reduce memory usage, then resource consumption decreases, but cache hits cannot occur unless the full content resource is stored

Engineering Contradiction:
Improvecache memory usageVSAvoidcache hit capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent divides the content resource into multiple byte ranges that can be cached independently. The cache can store partial content (specific byte ranges) rather than requiring the full resource, yet still achieve cache hits when requested ranges are already present in the cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by caching only the specific byte ranges that are actually requested and stored in the cache memory, rather than caching entire content resources. This allows the cache to operate effectively with partial content, achieving cache hits for requested ranges while consuming less memory.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the cache sends a second request for full content after an initial byte range cache miss, then the full content can be cached for future requests, but the origin server burden increases and overall data retrieval increases

Engineering Contradiction:
Improvecache coverageVSAvoidnetwork traffic and server burden
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the content retrieval process into specific byte range requests rather than requiring full content downloads. When a cache miss occurs, the cache requests only the specific byte range needed from the origin server, stores it, and serves it directly. This eliminates the need for second requests for full content, reducing network traffic and origin server burden while maintaining adequate cache coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and caches only the specific byte ranges that are actually needed and requested, rather than extracting and caching entire content resources. This selective caching approach reduces the amount of data transferred to and from the origin server, lowering network traffic and server burden while still providing effective cache coverage for subsequent requests.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10237625B2Byte range caching
Publication Date: 2019.03.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10237625B2 patent drawing
  • US10237625B2 patent drawing
  • US10237625B2 patent drawing

AI summary

A caching system segments content into multiple, individually cacheable chunks cached by a cache server that caches partial content and serves byte range requests with low latency and fewer duplicate requests to an origin server. The system receives a request from a client for a byte range of a content resource. The system determines the chunks overlapped by the specified byte range and sends a byte range request to the origin server for the overlapped chunks not already stored in a cache. The system stores the bytes of received responses as chunks in the cache and responds to the received request using the chunks stored in the cache. The system serves subsequent requests that overlap with previously requested ranges of bytes from the already retrieved chunks in the cache and makes requests to the origin server only for those chunks that a client has not previously requested.