Dynamic DNS Server Allocation for CDN Load Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content delivery networks (CDNs) face challenges in efficiently delivering large events due to server overload, leading to inadequate quality of service (QoS), and existing methods to overcome DNS packet size limits, such as load balancing and dividing content sites, have limitations.

Innovation Solution

A dynamic server allocation system that adjusts the number of content servers based on demand, using a POP DNS server to determine the appropriate number of servers to include in DNS solutions, and dynamically reallocating resources across multiple Points of Presence (POPs) to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CDNs overbuild serving resources and POPs to avoid bottlenecks during large events, then quality of service (QoS) is improved, but device complexity and expense increase

Engineering Contradiction:
Improvequality of serviceVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts the number of server addresses returned in DNS solutions based on real-time demand. During large events, the system automatically increases the number of available server addresses without requiring permanent overbuilding of infrastructure. This dynamic adaptation allows the CDN to scale resources flexibly, maintaining QoS during peak loads while avoiding the complexity and expense of permanently overbuilding serving resources and POPs.

Inventive Principle:
Principle #15Dynamics

2Reliability

If a small number of server addresses is provided in DNS solutions, then DNS packet size is reduced, but server overload occurs leading to poor QoS

Engineering Contradiction:
Improvequality of serviceVSAvoidnumber of server addresses
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the number of server addresses returned in DNS solutions based on real-time demand conditions. During normal operation, a limited number of addresses are provided to keep DNS packets small. During large events when demand increases, the system automatically increases the number of server addresses returned, allowing more users to be distributed across additional servers and preventing server overload, thereby maintaining QoS without permanently increasing packet size.

Inventive Principle:
Principle #15Dynamics

3Reliability

If a larger number of server addresses is included in DNS solutions, then server load distribution is improved, but DNS packet size limits are exceeded

Engineering Contradiction:
Improveload distributionVSAvoidDNS packet size
Core Design Contradiction:
ReliabilityVSLength of stationary object

Solution Approach 1:

The system dynamically adjusts the number of server addresses included in DNS solutions based on demand. When demand is high and better load distribution is needed, the system increases the number of addresses returned, utilizing the maximum allowed by DNS packet size limits (typically 16-20 IP addresses). When demand is lower, fewer addresses are returned, keeping packet sizes smaller. This dynamic approach maximizes load distribution efficiency without permanently exceeding packet size constraints.

Inventive Principle:
Principle #15Dynamics

4Productivity

If load balancing switches are used to virtualize IP addresses, then more physical servers can be utilized, but device complexity and cost increase

Engineering Contradiction:
Improveserver utilizationVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the load balancing function from dedicated hardware switches and relocates it to the DNS server software. Instead of using external load balancing switches to virtualize IP addresses and distribute traffic, the system performs DNS-based load balancing directly, returning different sets of server addresses in DNS responses. This eliminates the need for additional load balancing switch hardware, reducing device complexity and cost while maintaining the ability to utilize multiple physical servers effectively.

Inventive Principle:
Principle #2Taking out (Extraction)

5Productivity

If content sites are divided into multiple logical sites with different hostnames, then more servers can be allocated, but device complexity increases

Engineering Contradiction:
Improveserver allocation capacityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system allows a single content site hostname to serve multiple functions by dynamically returning different numbers of server addresses in DNS responses based on demand. Instead of requiring separate hostnames for different server groups, the universal DNS resolution mechanism handles both small and large scale deployments for the same hostname. This multi-functionality eliminates the need to create multiple logical sites, reducing device complexity while maintaining the ability to allocate appropriate numbers of servers based on actual demand.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7707314B2Domain name resolution resource allocation
Publication Date: 2010.04.27 DRNC HOLDINGS INC
  • US7707314B2 patent drawing
  • US7707314B2 patent drawing
  • US7707314B2 patent drawing

AI summary

A content delivery network (CDN) for delivering content over the Internet is disclosed in one embodiment. The CDN is configured to deliver content for others and includes a domain resolution service (DNS) server, caching servers and an Internet interface. The DNS server receives a first domain resolution request and produces a first DNS solution, and receives a second domain resolution request and produces a second DNS solution. The first and second domain resolution requests correspond to a same domain. The caching servers correspond to a plurality of addresses. The interface receives domain resolution requests, which include the first and second domain resolution requests, and transmits DNS solutions, which include the first and second DNS solutions. The first DNS solution comprises a first plurality of addresses corresponding to at least a first subset of the plurality of caching servers, and the second DNS solution comprises a second plurality of addresses corresponding to at least a second subset of the plurality of caching servers. The first DNS solution is different from the second DNS solution in that the second subset includes an address for a caching server not in the first subset. The second subset is chosen to generally match a processing power of the first subset.