Connection Digest for CDN Traffic Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content delivery networks (CDNs) face challenges in maintaining high quality of service (QoS) when serving content objects that are not cached, as establishing new connections with origin servers is time-consuming and inefficient, particularly due to the TCP three-way handshake and small initial TCP window sizes.
Innovation Solution
Implementing a system that reuses existing open connections by maintaining a connection digest to identify and utilize open connections with better performance, and employing TCP hand-off techniques to efficiently transfer content objects from origin servers to end-user systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a new connection is established between a CDN server and an origin server, then the connection can be used for content transfer, but the time required for connection establishment increases due to the TCP three-way handshake
Solution Approach 1:
The system performs preliminary actions by establishing and maintaining a pool of persistent connections to origin servers before they are needed for content transfer. The connection pool is proactively managed with connections being opened and kept alive using keepalive signals, so that when content transfer is needed, an existing connection can be immediately reused without performing the TCP three-way handshake, thus eliminating connection establishment delay while maintaining reliable connections
2Productivity
If a new connection is established, then content transfer can begin, but the initial TCP window size is small which further increases transfer time
Solution Approach 1:
The system performs preliminary actions by pre-establishing connections and allowing them to warm up before use. Persistent connections in the pool have had time to negotiate larger TCP window sizes and establish reliable data transfer parameters beforehand. When these pre-warmed connections are reused for content transfer, they operate with larger window sizes and optimized parameters, significantly improving transfer efficiency and reducing content transfer time compared to cold connections
3Loss of time
If existing open connections are reused, then connection establishment time is reduced, but the system needs mechanisms to track and manage these connections
Solution Approach 1:
The system introduces an intermediary connection pool manager that sits between the CDN servers and origin servers. This manager maintains the pool of persistent connections, tracks their status, and handles the complexity of connection management including opening, closing, and keepalive signals. The manager provides a simplified interface to CDN servers while absorbing the management complexity, allowing individual servers to reuse connections without directly managing the complexity of connection lifecycle
4Reliability
If persistent connections are maintained with origin servers, then connection availability improves, but connection resources are consumed continuously
Solution Approach 1:
The system applies partial action by maintaining only a pool of persistent connections to the most frequently accessed origin servers rather than establishing new connections for every request. The connection pool size is optimized to balance availability and resource consumption, maintaining just enough persistent connections to handle typical traffic patterns without excessive resource usage. Less frequently accessed origins use on-demand connection establishment
Data Source
AI summary
In various aspects, provided herein are systems, methods and computer-program products for delivering content objects over the Internet from a content delivery network to end-user systems. The systems, methods and products described herein optionally utilize one or more techniques for reducing the delay associated with obtaining non-cached content objects from their respective origin servers, including by re-using existing open connections, by making use of a TCP hand-off technique and by transmitting updates to system digests simultaneous with the exchange of keepalive signals between servers.


