Elastic CDN Storage via Shared Object Store Segmentation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Ease of operation
If compute, storage, and network capacity are scaled together, then simplicity of operation is improved, but productivity and efficiency worsen
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.
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.
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
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.
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.
Data Source
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.


