With the proliferation of the Internet, popular Web services often suffer congestion and bottlenecks due to large demands made on their services. Such a scenario may cause unmanageable levels of traffic flow, resulting in many requests being lost. Replicating the same content or services over several mirrored Web servers strategically placed at various locations is a method commonly used by service providers to improve performance and scalability. The user is redirected to the nearest server and this approach helps to reduce network impact on the response time of the user requests.
What is it?
- Request redirection and content delivery services, to direct a request to the closest suitable CDN cache server using mechanisms to bypass congestion
- Content outsourcing and distribution services, to replicate and/or cache content from the origin server to distributed Web servers.
- Content negotiation services, to meet specific needs of each individual user (or group of users).
- Management services, to manage the network components, to handle accounting, and to monitor and report on content usage.
CDN is necessarily a complex system with many components. These components are distributed across different nodes of a network in a possibly heterogeneous environment. These components are servers with replicated content in them all over the world. CDNs typically take care of redirecting customer requests to a server topologically placed near the customer. Thus, customer gets the advantage of getting data requested at a much faster rate, from the nearest server.
Figure 1: Content/services provided by a CDN
CDN providers host third-party contents for fast delivery of any digital content, including static contents (e.g. Static HTML pages, images, documents, software patches etc.), streaming media (e.g. audio, real time video etc.) and varying content services (e.g. directory service, e-commerce service, file transfer service etc.). The sources of contents are large enterprises, web service providers, media companies, news broadcasters etc. The clients interact with the CDN specifying the content/service request through cell phone, smart phone/PDA, laptop, desktop etc. Figure 1 depicts the different content/services served by the CDN to different clients.
Defining Content Delivery Network
Content delivery networks (CDN) are the transparent backbone of the Internet in charge of content delivery. Whether we know it or not, every one of us interacts with CDNs on a daily basis; when reading articles on news sites, shopping online, watching YouTube videos or perusing social media feeds. A content distribution network—also known as a content delivery network—is a large, geographically distributed network of specialized servers that accelerate the delivery of web content and rich media to internet-connected devices. The primary technique that a content distribution network (CDN) uses to speed the delivery of web content to end users is edge caching, which entails storing replicas of static text, image, audio, and video content in multiple servers around the “edges” of the internet, so that user requests can be served by a nearby edge server rather than by a far-off origin server. To also accelerate the delivery of dynamically generated web content that’s difficult or impossible to cache, an advanced content distribution network.
CDN providers use caching and/or replica servers located in different geographical locations to replicate content. CDN cache servers are also called edge servers or surrogates. The edge servers of a CDN are called Web cluster as a whole. CDNs distribute content to the edge servers in such a way that all of them share the same content and URL. Client requests are redirected to the nearby optimal edge server and it delivers requested content to the end users. Thus, transparency for users is achieved. Additionally, edge servers send accounting information for the delivered content to the accounting system of the CDN for traffic reporting and billing purposes.
Figure 2 shows the general architecture of a CDN system which involves four main components:
Figure 2: Architectural components of a CDN
- The content-delivery component which consists of the origin server and a set of replica servers that deliver copies of content to the end users;
- The request-routing component which is responsible for directing client requests to appropriate edge servers and for interacting with the distribution component to keep an up-to-date view of the content stored in the CDN caches;
- The distribution component which moves content from the origin server to the CDN edge servers and ensures consistency of content in the caches; and
- The accounting component which maintains logs of client accesses and records the usage of the CDN servers. This information is used for traffic reporting.
- Faster response time due to factors like geographical proximity, network proximity etc.
- Providing support for different types of content including on-demand, streaming media.
- Providing support for secure delivery of content.
- Efficient distribution of content to all the resources (typically all the servers in the content delivery network).
- Provide unique ways to improve performance of network thereby providing ways to utilize bandwidth efficiently.
 “Content Delivery Networks: An Introduction”, Networking Production Division, Whitepaper, HCL technologies Ltd., May 2002
 Mukaddim Pathan, Rajkumar Buyya and Athena Vakali, “Chapter 1: Content Delivery Networks: State of the Art, Insights, and Imperatives”, available online at: http://www.buyya.com/papers/CDNIntro-2008.pdf
 Pathan, Al-Mukaddim Khan, and Rajkumar Buyya, “A taxonomy and survey of content delivery networks”, Grid Computing and Distributed Systems Laboratory, University of Melbourne, Technical Report 4 (2007).
 “Content Delivery Network (CDN) Research Directory”, available online at: http://www.cloudbus.org/cdn/RD/CDNs.html