Routing Overview
  • 26 Dec 2023
  • 2 Minutes to read
  • PDF

Routing Overview

  • PDF

Article summary

Qwilt's routing strategy leverages multiple data sources to establish the ideal client/server pairing within our ultra-distributed edge deployment. The integration of varied sources of information allows for more accurate routing decisions, minimizing latency, maximizing cache hit probability, and optimizing both the quality of experience (QoE) and delivery efficiency.

In this article, we'll provide a brief overview of the key components that influence our routing decisions.

Intimate Knowledge of the ISP Network Topology via BGP

By integrating with the BGP protocol, Qwilt gains access to ISP network topology data, allowing us to continuously map IP subnets to the nearest Qwilt CDN cache.

User-to-Server Latency Measurements

Qwilt measures the latency between end-user subnets and our deployed pops, utilizing the lowest latency as a basis for determining the optimal client-server pairing. Latency measurements to DNS resolvers are also used to inform routing decisions.

User and Server Geolocation

Qwilt utilizes third-party geolocation databases to map user subnets to the nearest Qwilt POP based on inferred geolocation data. This method complements routing decisions when BGP integration is not available.

Server Health Status

Qwilt continuously monitors server health and load. If a server is unavailable or heavily loaded, requests are rerouted to the nearest available server for a better QoE.

Server Load Status

Qwilt considers server load when making routing decisions. For example, if the server nearest to the client is loaded, a request may be routed to a server that can provide better performance despite being farther away.

Optimized Next Tier Selection

The Qwilt CDN topology incorporates several mid-tiers. Each cache group at the edge and mid-tier is linked to the closest mid-tier cache group. This arrangement ensures that if the requested content is unavailable in a specific cache group, the request is automatically directed to the nearest cache group. Qwilt enhances the selection process for the subsequent caching tier by leveraging all of the routing strategies outlined in this article.

Traffic Steering / Fallback Policies

Multiple layers of fallback policies ensure that client requests are always served, even in the event of cache failures or high loads.

Cache Hit Maximization

Qwilt distributes content among the servers in a caching group, and strategically routes client requests to the cache most likely to have the requested content, to minimize cache misses and maximize cache hit probability.

Content Popularity Adaptability

Usually, the entire content library is evenly distributed across the cache group (Cache Hit Maximization). But if each cache has the same percentage of content, and some of the content is significantly more popular, traffic will not be balanced. Qwilt has a mechanism to diagnose and adapt to content popularity on the fly. When content is identified as popular (crossing a predefined threshold), it is then distributed on multiple caches in the group to balance the load.

Qwilt also supports preemptive distribution of content across the entire cache pool for content that is anticipated to be in high demand.

Multiple Routing Techniques

Qwilt supports multiple routing techniques, including DNS, HTTP, manifest rewrite, and a routing API for content providers to optimize edge node selection.

Supporting IPv4/6 Public and Private IP

Qwilt supports both IPv4 and IPv6, as well as public and private IP scenarios, ensuring compatibility with diverse network environments.

Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.