A Taxonomy and Survey of Content Delivery Networks Meng-Huan Wu 2011/10/26 1.

36
A Taxonomy and Survey of Content Delivery Networks Meng-Huan Wu 2011/10/26 1
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of A Taxonomy and Survey of Content Delivery Networks Meng-Huan Wu 2011/10/26 1.

A Taxonomy and Survey of Content Delivery Networks

Meng-Huan Wu 2011/10/26

1

Outline

• Introduction• Request-routing mechanisms• Content selection and delivery• Content routing and delivery• Caching techniques• Conclusion & Future work• References

2

Introduction

• A CDN is a collection of network elements arranged for more effective delivery of content to end-users.

• Reduce network impact on the response time of user requests.

• Avoid flash crowd (or SlashDot effect)

3

The three key components of a CDN architecture

• A content provider or customer is one who delegates the URI name space of the Web objects to be distributed. The origin server of the content provider holds those objects.

• A CDN provider is a proprietary organization or company that provides infrastructure facilities to content providers in order to deliver content in a timely and reliable manner.

• End-users or clients are the entities who access content from the content provider’s website.

4

Servers

• Origin server : The server where the definitive version of a resource resides is called origin server

• Replica server(or surrogate server) : A server is called a replica server when it is holding a replica of a resource but may act as an authoritative reference for client responses.

5

Relationships

6

Abstract architecture of a Content Delivery Network (CDN)

7

Request-routing in a CDN environment

8

Content selection and delivery

9

Full-site content selection and delivery

10

Surrogate Server

CDN

Origin Server

Client

GET index.html

GET image1.gif, image2.gif

inde

x.ht

ml,

imag

e1.g

if,

imag

e2.g

if

index.htmlembedded image1.gif

image2.gif

Partial site content selection and delivery

11

Origin Server

SurrogateServer

CDN

Client GET index.html

GET image1.gif, image2.gif

imag

e1.g

if,

imag

e2.g

if

index.htmlembedded image1.gif

image2.gif

Empirical-based approach

• In empirical-based approach, the Web site administrator empirically selects the content to be replicated to the edge servers. Heuristics are used in making such an empirical decision.

• The main drawback of this approach lies in the uncertainty in choosing the right heuristics.

12

Popularity-based approach

• In popularity-based approach, the most popular objects are replicated to the surrogates.

• This approach is time consuming and reliable objects request statistics is not guaranteed due to the popularity of each object varies considerably.

• Moreover, such statistics are often not available for newly introduced content.

13

Cluster-based approach

• In cluster-based approach, Web content is grouped based on either correlation or access frequency and is replicated in units of content clusters.

14

Content routing and delivery

• If the local CDN server accepts a user’s request but does not have the requested content, it will perform content routing to locate and then deliver the content to the user.

15

The steps the CDN takes to serve a user’s request

• Step 1. Try to satisfy the user’s request using the local CDN server.

• Step 2. If step 1 fails, try to satisfy the user’s request using a CDN server inside the cluster including the local CDN server.

• Step 3. If step 2 fails, try to satisfy the user’s request using a CDN server inside a nearby cluster.

• Step 4. If step 3 fails, try to satisfy the user’s request using the origin server.

16

17

Caching techniques

18

Query-based scheme

• The most straightforward scheme is the query-based scheme, in which a CDN server broadcasts a query for the requested content to other CDN servers inside the same cluster if it does not have the content.

19

Digest-based scheme

• In order to avoid flooding queries, the digest-based scheme was proposed. Each CDN server maintains a content digest that includes the content information of other CDN servers inside the same cluster. Once a CDN server has cached/ deleted some contents, it notifies other CDN servers to update their content digests.

• Hence, a CDN server knows where to locate the content by checking its content digest.

20

Directory-based scheme

• A centralized version of the digest-based scheme is the directory-based scheme, in which a directory server maintains the content information of the CDN servers inside the cluster. A CDN server only needs to notify the directory server when local updates occur, and queries the directory server when there is a local miss.

• Compared to the digest-based scheme the update traffic is greatly reduced, but the directory server is a single point of failure because it needs to handle the update and query messages from all the cooperating CDN servers.

21

Hashing-based scheme

• A more efficient scheme is the hashing-based scheme. The CDN servers inside a cluster maintain the same hashing function. Each content is assigned to a designated CDN server based on the content’s URL (or other unique identification), unique IDs (e.g., IP addresses) of the CDN servers, and the hashing function. All requests for the same content are redirected to the designated CDN server for that content.

22

Semi-hashing-based scheme

• Under the semi-hashing-based scheme, a local CDN server allocates a certain portion, Plocal, of its disk space to cache the most popular contents for its local users, and the remaining portion to cooperate with other CDN servers via a hashing function.

23

Cache update taxonomy

24

Periodic update

• The most common cache update method is the periodic update. To ensure content consistency and freshness, the content provider configures its origin Web servers to provide instructions to caches about what content is cacheable, how long different content is to be considered fresh, when to check back with the origin server for updated content, and so forth.

• With this approach, caches are updated in a regular fashion. But this approach suffers from significant levels of unnecessary traffic generated from update traffic at each interval.

25

Update propagation

• The update propagation is triggered with a change in content. It performs active content pushing to the CDN cache servers. In this mechanism, an updated version of a document is delivered to all caches whenever a change is made to the document at the origin server.

• For frequently changing content, this approach generates excess update traffic.

26

On-demand update

• On-demand update is a cache update mechanism where the latest copy of a document is propagated to the surrogate cache server based on prior request for that content. This approach follows a assume nothing structure and content is not updated unless it is requested.

• The disadvantage of this approach is the back and forth traffic between the cache and origin server in order to ensure that the delivered content is the latest.

27

Invalidation

• Another cache update approach is invalidation, in which an invalidation message is sent to all surrogate caches when a document is changed at the origin server. The surrogate caches are blocked from accessing the documents when it is being changed. Each cache needs to fetch an updated version of the document individually later.

• The drawback of this approach is that it does not make full use of the distribution network for content delivery and belated fetching of content by the caches may lead to inefficiency of managing consistency among cached contents.

28

Taxonomy of request-routing mechanisms

29

DNS based Request-Routing

30

Akamai DNS

DN

S q

uery

:www.cnn.com

DN

S r

espo

nse:

145.155.10.15

Sess

ion

local DNS server

DNS query:www.cnn.com

DNS response:145.155.10.15

Surrogate145.155.10.15

Surrogate58.15.100.152

AkamaiCDN

Client140.124.180.1

delaware.cnn.akamai.com

california.cnn.akamai.com

31

DNS based Request-Routing

DN

S q

uery

DN

S r

espo

nse

Sess

ion

Akamai DNS

Surrogate

Surrogate

AkamaiCDN

Client140.124.180.1

local DNS server

DNS query

DNS response

Measure to

Client D

NS

Measure to Client DNS

Measurement results

Measurement re

sults

Mea

sure

men

tsMeasurements

URL rewriting

32

HTTP request for

www.foo.com/sports/highlight.mpg

=>www.cdn.com/www.foo.com/sports/highlight.mpg

DNS query for www.cdn.com

HTTP request for

www.cdn.com/www.foo.com/sports/highlight.mpg

1

2

3

origin server

CDN’s authoritative DNS server

CDN server near client

client

http://www.foo.com/sports/highlight.mpg=> http://www.cdn.com/www.foo.com/sports/highlight.mpg

Content outsourcing

• Cooperative push-based: – This approach is based on the pre-fetching of content to

the surrogates.

• Non-cooperative pull-based:– In this approach, client requests are directed to their

closest surrogate servers.

• Cooperative pull-based:– The cooperative pull-based approach differs from the non-

cooperative approach in the sense that surrogate servers cooperate with each other to get the requested content in case of cache miss.

33

Conclusion & Future work

• Conclusion– They offer fast and reliable applications and

services– Reduce network impact on the response time– Enhance QoE

• Future work– Find a better way to content placement

34

References

[1] A. K. Pathan, and R. Buyya, “A Taxonomy and Survey of Content Delivery Networks,” Tech Report, Univ. of Melbourne, 2007[2] J. Ni, and D. H. K. Tsang, “Large Scale Cooperative Caching and Application-level Multicast in Multimedia Content Delivery Networks,” IEEE Communications, Vol. 43, Issue. 5, pp. 98-105, May 2005.

35

Q&A

36