Elastic CDN Storage via Shared Object Store Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Content Delivery Networks (CDNs) face challenges in transitioning from hardware-based caches to virtualized environments, including minimal storage capacity, frequent VM failures, resource contention, and inability to scale compute, storage, and network capacity independently, which affects cache warm-up times and efficiency.

Innovation Solution

Separating proxy and cache functions into distinct modules, utilizing a shared object store for cache storage, and implementing a policy controller to manage content popularity and eviction policies, allowing for elastic scaling and optimized resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware-based caches are used in conventional CDNs, then storage capacity and reliability are improved, but device complexity and inability to scale independently worsen

Engineering Contradiction:
Improvecache reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the CDN system into independent functional modules: proxy modules handle requests, cache modules manage storage, and object store provides shared storage backend. This segmentation allows each component to be optimized independently and scaled separately, resolving the contradiction between reliability and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an object store as an intermediary layer between cache modules and the network. This shared storage backend mediates data access across multiple cache modules, enabling reliable data persistence while simplifying the overall system architecture through standardized access patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtualized environments are used to reduce hardware complexity, then ease of operation and scalability are improved, but reliability and storage capacity worsen

Engineering Contradiction:
Improvescaling capabilityVSAvoidVM failure rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by providing each cache module with dedicated local storage resources while sharing the object store backend. This ensures that each virtualized cache module has sufficient local capacity for its workload while the shared object store provides redundancy and persistence, addressing reliability concerns in virtualized environments.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements beforehand cushioning by configuring cache modules with sufficient local storage capacity upfront and implementing the object store as a backup layer. This prevents VM failures from causing data loss and ensures continuous operation even when individual virtual instances fail.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Ease of operation

If compute, storage, and network capacity are scaled together, then simplicity of operation is improved, but productivity and efficiency worsen

Engineering Contradiction:
Improvescaling operationVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the scaling operation into independent controls for compute capacity (proxy modules), storage capacity (cache modules), and network capacity. Each component can be scaled independently based on actual demand patterns, improving resource utilization efficiency while maintaining operational simplicity through automated elastic scaling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamics by enabling elastic scaling where cache modules can be dynamically added or removed based on real-time demand. The system automatically adjusts compute, storage, and network capacity independently for each component, optimizing productivity while keeping operations simple through automated management.

Inventive Principle:
Principle #15Dynamics

4Ease of manufacture

If cache modules have minimal storage capacity in virtualized environments, then ease of manufacture and deployment are improved, but cache warm-up time and productivity worsen

Engineering Contradiction:
Improvedeployment simplicityVSAvoidcache warm-up time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent merges the storage function into a shared object store that is commonly accessed by all cache modules. This eliminates the need for each cache module to maintain large local storage capacities, simplifying deployment while the object store provides persistent storage that is pre-populated or quickly accessible, reducing warm-up time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements preliminary action by pre-populating the object store with frequently accessed content or configuring it with sufficient capacity beforehand. This ensures that when cache modules are deployed or restarted, they can quickly access needed data without lengthy warm-up periods, while maintaining simple deployment configurations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10341454B2Video and media content delivery network storage in elastic clouds
Publication Date: 2019.07.02 CISCO TECHNOLOGY INC
  • US10341454B2 patent drawing
  • US10341454B2 patent drawing
  • US10341454B2 patent drawing

AI summary

Content delivery network storage may be provided. A first proxy module may receive a first content object request from a first user device. The first content object request may correspond to a content object. Next, the first proxy module may send the first content object request to a first cache module. The first cache module may then obtain the content object corresponding to the first content object request from an object store. The object store may be shared by a plurality of cache modules including the first cache module. The first proxy module may then receive, from the first cache module, the obtained content object. The first proxy module may send the content object to the first user device.