Dynamic CDN Content Placement via Bin Packing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content delivery networks (CDNs) face inefficiencies due to duplication of content across points of presence (PoPs) in the same geographic area, leading to wasteful usage of cache space and increased costs, as they typically rely on geographic location for routing decisions, resulting in similar content being stored in multiple nearby PoPs.

Innovation Solution

A CDN service dynamically places content distributions across PoPs by using log data to generate characterization data on load metrics such as requests per second and unique bytes requested, and employs a bin packing algorithm to assign distributions to PoPs within a PoP group, creating routing tables that optimize resource usage and reduce duplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If content is replicated across multiple PoPs in the same geographic area to ensure availability and reduce access latency, then service reliability and user access speed are improved, but cache space utilization deteriorates due to duplication

Engineering Contradiction:
Improveservice availabilityVSAvoidcache space utilization
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent merges the content storage function across multiple PoPs by implementing a shared cache system where content is stored once and accessed by multiple PoPs through redirection, eliminating redundant storage while maintaining service availability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The DNS service acts as an intermediary that receives content requests, determines the optimal PoP based on load and geographic proximity, and redirects requests accordingly, enabling efficient content delivery without duplication

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If content is replicated across multiple PoPs to reduce access latency for users, then user access speed is improved, but system cost increases due to wasteful cache usage

Engineering Contradiction:
Improveuser access speedVSAvoidsystem cost
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent implements dynamic content placement where the DNS service continuously monitors PoP load metrics and dynamically redirects requests to the most appropriate PoP based on real-time conditions, optimizing both speed and resource utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies local quality by directing users to geographically proximate PoPs with available content, ensuring fast access while avoiding duplication in distant or overloaded locations

Inventive Principle:
Principle #3Local quality

3Speed

If DNS records are used to route requests to geographically nearby PoPs, then connection speed is improved, but content duplication occurs across nearby PoPs leading to inefficient resource usage

Engineering Contradiction:
Improveconnection speedVSAvoidresource efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms where the DNS service monitors PoP load metrics and cache status, using this information to dynamically adjust request routing decisions and prevent content duplication while maintaining fast connection speeds

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10931786B1Dynamic content placement for content delivery networks
Publication Date: 2021.02.23 AMAZON TECH INC
  • US10931786B1 patent drawing
  • US10931786B1 patent drawing
  • US10931786B1 patent drawing

AI summary

Techniques are described for enabling a content delivery network (CDN) service of a cloud provider network to place content distributions across points of presence (PoPs) within a common geographic area in a manner that makes efficient use of the resources provided by the PoPs. A Domain Name System (DNS) service obtains log data reflecting requests to access distributions at various PoPs. The DNS service uses the log data to periodically generate characterization data for the distributions (e.g., in terms of requests per second, bytes transferred per second, and cache width usage). The DNS service uses the generated characterization data to assign particular distributions to particular PoPs of each PoP group such that the distributions are distributed across the PoPs according to the characterization data. The DNS service uses the assignments to generate routing data used by the DNS service to resolve DNS queries for particular distributions to particular PoPs of PoP groups.