Dynamic DNS Server Allocation for CDN Load Distribution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
4Productivity
If load balancing switches are used to virtualize IP addresses, then more physical servers can be utilized, but device complexity and cost increase
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.
5Productivity
If content sites are divided into multiple logical sites with different hostnames, then more servers can be allocated, but device complexity increases
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.
Data Source
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.


