Anycast CDN Routing for Accurate Cache Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content Distribution Networks (CDNs) face challenges in accurately selecting the optimal cache for delivering content due to limitations in DNS load balancing, such as lack of true client IP address visibility and inability to use asset-level load balancing policies, and risks of network disturbances with anycast routing.
Innovation Solution
Implementing anycast routing to identify a load balancer that sees the user's IP address and the requested content, allowing for accurate geolocation and load balancing, followed by an HTTP redirect to establish a unicast connection with the selected cache, reducing susceptibility to network disturbances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If DNS load balancing is used to select the optimal cache, then cache selection can be performed, but the true client IP address is not visible making geolocation difficult
Solution Approach 1:
The patent introduces an intermediary component (anycast routing infrastructure) that bridges the gap between the client and CDN servers. The anycast mechanism allows client requests to be routed to the nearest CDN edge server without exposing the client's true IP address to DNS servers, thereby preserving geolocation accuracy while maintaining privacy. The intermediary anycast network translates the client's location into routing decisions without requiring direct IP visibility.
2Productivity
If DNS load balancing is used, then cache selection is possible, but asset level load balancing policies cannot be applied
Solution Approach 1:
The patent segments the content delivery process into two distinct phases: initial anycast routing to establish connection and content identification, followed by unicast routing for actual content delivery. This segmentation allows asset-level policies to be applied during the anycast phase when content information is available, while the unicast phase handles the actual high-volume content transfer. The separation enables sophisticated load balancing based on content type, cache status, and server capabilities.
3Measurement precision
If anycast routing is used to localize clients to the closest cache, then geolocation accuracy improves, but connections may be interrupted due to routing changes
Solution Approach 1:
The patent applies preliminary action by establishing the anycast connection first for routing determination and content identification, then proactively transitioning to unicast routing before the content transfer begins. This preliminary anycast phase allows the system to identify the optimal server and set up asset-level routing policies, ensuring that the subsequent unicast connection is stable and optimized for the specific content being delivered, thereby preventing interruptions.
4Measurement precision
If anycast routing is used, then accurate cache selection is achieved, but the system is susceptible to network disturbances causing connection resets
Solution Approach 1:
The patent extracts the vulnerable anycast routing operation from the content delivery process, limiting it to only the initial connection establishment and content identification phases. By separating the routing determination function from the content transfer function, the system removes the harmful effect of anycast routing changes during active content delivery. The unicast connection extracted for content transfer is immune to anycast routing fluctuations, thereby eliminating connection resets during the critical content delivery phase.
Data Source
AI summary
Embodiments herein describe a CDN where anycast routing is used to identify a load balancer for selecting a cache in the CDN to use to deliver a requested object to a user. In one embodiment, the user performs a DNS lookup to identify an anycast IP address for a plurality of load balancers in the CDN. The user can then initiate anycast routing using the anycast IP address to automatically identify a load balancer. Once the identified balancer selects the cache, the load balancer can close the anycast connection with the user device and use a redirect to provide the user device with a unicast path to the selected cache. The user device can then establish a unicast connection with the cache to retrieve (e.g., stream) the object.


