Partial Object Caching in Content Delivery Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current caching systems are inefficient as they either cache entire objects or none, leading to wasted resources and poor user experience when only partial objects are requested or partially downloaded, especially in content delivery networks where space is limited and user demands vary.

Innovation Solution

Implement partial object caching by determining cached byte ranges, modifying in-flight requests to utilize cached fragments, and dynamically requesting and delivering partial object portions from the origin, allowing for efficient caching and concatenation of partial objects to fulfill requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If entire objects are cached or none are cached, then cache management is simple, but cache efficiency and resource utilization deteriorate

Engineering Contradiction:
Improvecache management complexityVSAvoidcache efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments objects into byte ranges or fragments, allowing the cache to store and serve only the portions actually requested. The cache manager divides objects into manageable segments and tracks which segments are cached, enabling partial object caching that improves efficiency without overwhelming complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of requiring complete object downloads for caching, the system implements partial caching where only the necessary byte ranges are retrieved and stored. This partial action approach allows the cache to be filled with useful data without wasting resources on unnecessary portions of objects.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If incomplete objects are cached, then cache utilization improves, but data integrity and reliability deteriorate

Engineering Contradiction:
Improvecache utilizationVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting objects into discrete byte ranges, the system can cache complete segments while maintaining integrity. Each segment is treated as an independent unit with its own validity tracking, ensuring that only complete and valid segments are served from cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache manager maintains feedback mechanisms to track which byte ranges are cached, their validity status, and which requests are in progress. This feedback allows the system to make informed decisions about what to cache and when, ensuring data integrity while maximizing utilization.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If cache fills up, then older objects are purged, but useful partial objects may be lost

Engineering Contradiction:
Improvecache capacityVSAvoidloss of useful cached data
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

Segmenting objects allows the cache to store multiple partial objects simultaneously, each occupying only the space needed for its actual content. This segmentation enables better space utilization and reduces the likelihood of losing useful data during cache management operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache management system dynamically adjusts its behavior based on current conditions, including which objects are cached, which requests are in progress, and available cache space. This dynamic approach allows the system to make optimal decisions about what to retain and what to evict, minimizing data loss.

Inventive Principle:
Principle #15Dynamics

4Productivity

If in-flight requests are modified to utilize cached fragments, then delivery efficiency improves, but request management complexity increases

Engineering Contradiction:
Improvedelivery efficiencyVSAvoidrequest management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges cached fragments with in-flight requests by modifying request parameters to indicate which byte ranges are already cached. This allows the server to combine cached data with newly downloaded data, improving delivery efficiency while managing complexity through standardized request modification protocols.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9069720B2Partial object caching
Publication Date: 2015.06.30 DRNC HOLDINGS INC
  • US9069720B2 patent drawing
  • US9069720B2 patent drawing
  • US9069720B2 patent drawing

AI summary

A method of providing media at multiple bit rates using partial object caching may include receiving, from a first user device, a first request for a media object encoded at a first bit rate; providing the first portion of the media object to the first user device; and caching, in a partial object cache, the first portion of the media object. The method may additionally include receiving, from a second user device, a subsequent request for the media object encoded at the first bit rate; providing the first portion of the media object as retrieved from the partial object cache; and receiving a request for the media object encoded at a second bit rate. The method may further include modifying the request for the media object encoded at the second bit rate to instead request a second portion of the media object at the second bit rate.