Presentation is loading. Please wait.

Presentation is loading. Please wait.

{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.

Similar presentations


Presentation on theme: "{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544."— Presentation transcript:

1 { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544

2 Credits Paul Krzyzanowski, Rutgers University Vyas Sekar, Stony Brook University Peter Steenkiste, CMU 5/2/14ECE544

3  1. Motivation / Problem  2. Evolution  3. Implementation  4. Mapping users to CDN servers  5. Types of Content  6. Hybrid Approaches  7. Further Reading  8. Q&A Overview 5/2/14ECE544

4  Quality/Performance expectations are rising  Serving Content from a single location  Scalability  Reliability  Performance  “Flash Crowd” problem Motivation / Problem 5/2/14ECE544

5 5/2/14ECE544

6 5/2/14ECE544

7 5/2/14ECE544

8 5/2/14ECE544

9 5/2/14ECE544

10 5/2/14ECE544

11 5/2/14ECE544

12  Edge Caches: work with ISP and networks everywhere to install edge caches  Edge = close to customers  Content delivery: getting content to the edge caches  Content can be objects, video, or entire web sites  Mapping: find the “closest” edge server for each user and deliver content from that server  Network proximity not the same as geographic proximity  Focus is on performance as observed by user (quality) CDN to the rescue 5/2/14ECE544

13 5/2/14ECE544

14 5/2/14ECE544

15 5/2/14ECE544

16 5/2/14ECE544

17 5/2/14ECE544

18 5/2/14ECE544

19 5/2/14ECE544

20 5/2/14ECE544

21  How to map clients to servers?  What metrics? Latency, Load  DNS, HTTP 304 response, anycast, etc.  How/where to replicate content?  On demand?  Proactive/prefetch?  everywhere or close to demands? Questions 5/2/14ECE544

22  Application based  Routing based  DNS based Mapping 5/2/14ECE544

23  HTTP supports simple way to indicate that Web page has moved (30X responses)  Server receives Get request from client  Decides which server is best suited for particular client and object  Returns HTTP redirect to that server  Pros  Can make informed application specific decision  Cons  May introduce additional overhead  Multiple connection setup, name lookups, etc.  Could interact poorly with some browser implementations Application Based 5/2/14ECE544

24  IP Anycast  Use BGP to announce same destination IP from multiple places.  Clients are agnostic and connect to Anycast address  ISP router routes to “nearest” anycast server.  Pros  All IP infrastructure is available  Potential scaling to internet level  Cons  Cannot incorporate application policy  Stateful connections may create problems  Relatively less dynamic Routing Based 5/2/14ECE544

25  DNS  Clients perform typical DNS query.  DNS servers are locality aware  Reply with “best” server available  Pros  Existing DNS protocol (fully supported)  Fully flexible application/content provider policies  Potential other uses (e.g. Ad serving, Video transcoding)  Cons  Multiple DNS queries  Depends upon an efficient implementation DNS Based 5/2/14ECE544

26  Example Akamai  Akamai does this via Dynamic DNS  Customer modifies URLs (akamizes)  Direct requests to right content servers  Resolve a host name based on:  Service requested (e.g. QuickTime, Windows Media, HTML)  Content requested (css, js, swf, jpeg etc.)  Server health  Server load  User location  Network status  Load balancing Mapping (DNS Based) 5/2/14ECE544

27 5/2/14ECE544

28 5/2/14ECE544

29  Resolve a7.g.akamai.net  NS resolver contacts root server  Root server sends a referral to a name server responsible for.net  Resolver queries.net name server  Returns a referral for.akamai.net  This is the top-level Akamai server  Resolver queries a top-level Akamai server  Returns a referral for.g.akamai.net  Low-level Akamai server (TTL approx 1 hour)  Low-level servers are in the same location as edge servers closest to user  Resolver queries a low-level Akamai server  Returns IP addresses of servers available to satisfy the request  Short TTL (several seconds to 1 minute) DNS Resolution 5/2/14ECE544

30 5/2/14ECE544

31  Static content  Cached depending on original site's requirements (never to forever)  Dynamic content  Caching proxies cannot do this  Akamai uses Edge Side Includes technology (www.esi.org)  Assembles dynamic content on edge servers  Similar to server-side includes  Page is broken into fragments with independent caching properties  Assembled on demand  Streaming media  Live stream is sent to an entry-point server in the Akamai network  Stream is delivered from the entry-point server to multiple edge servers  Edge servers serve content to end users. Content Types 5/2/14ECE544

32  The Akamai Network: A Platform for High- Performance Internet Applications  Erik Nygren, Ramesh Sitaraman & Jennifer Sun  Improving performance on the Internet  Tom Leighton  Globally Distributed Content Delivery  John Dilley et. al Further Reading 5/2/14ECE544

33 Questions? 5/2/14ECE544 Thank You !


Download ppt "{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544."

Similar presentations


Ads by Google