Consistent Dynamic Server Assignment in Content Delivery Network
Server assignment is an essential part in Content Delivery Network (CDN), responsible for choosing a surrogate server to provide the best Quality of Service (QoS) for clients and balancing the server load. But it faces two critical challenges in practical: 1) the constraint of DNS schedule granularity makes it difficult to distribute client demands in arbitrary proportion. 2) dynamic server assignment may bring about a huge amount of cached content migration among servers. To address these issues, we work with one of the largest CDN operators in the world, and design a persistent dynamic server assignment algorithm, DynDNS. It gives a more "sticky" solution that can be easily implemented in DNS-based load balancing while keeping the overall QoS and server load satisfying. To the best of our knowledge, this is the first quantitative model for the dynamic DNS server assignment problem. Theoretical analysis proves that the proposed greedy algorithm has considerable optimality guarantees, and evaluation shows that DynDNS can avoid about 50 shift in demand allocation and yield more stable cache hit ratio.
READ FULL TEXT