{ content distribution networks ece544 dhananjay makwana ([email protected]), principal software...
TRANSCRIPT
![Page 1: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/1.jpg)
{
ECE544
Content Distribution Networks
ECE544Dhananjay Makwana ([email protected]), Principal Software Engineer, Semandex Networks
5/2/14
![Page 2: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/2.jpg)
ECE544
Credits
• Paul Krzyzanowski, Rutgers University• Vyas Sekar, Stony Brook University• Peter Steenkiste, CMU
5/2/14
![Page 3: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/3.jpg)
ECE544
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
Overview5/2/14
![Page 4: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/4.jpg)
ECE544
Quality/Performance expectations are rising
Serving Content from a single location Scalability Reliability Performance
“Flash Crowd” problem
Motivation / Problem5/2/14
![Page 5: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/5.jpg)
ECE544 5/2/14
![Page 6: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/6.jpg)
ECE544 5/2/14
![Page 7: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/7.jpg)
ECE544 5/2/14
![Page 8: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/8.jpg)
ECE544 5/2/14
![Page 9: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/9.jpg)
ECE544 5/2/14
![Page 10: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/10.jpg)
ECE544 5/2/14
![Page 11: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/11.jpg)
ECE544 5/2/14
![Page 12: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/12.jpg)
ECE544
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 rescue5/2/14
![Page 13: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/13.jpg)
ECE544 5/2/14
![Page 14: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/14.jpg)
ECE544 5/2/14
![Page 15: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/15.jpg)
ECE544 5/2/14
![Page 16: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/16.jpg)
ECE544 5/2/14
![Page 17: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/17.jpg)
ECE544 5/2/14
![Page 18: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/18.jpg)
ECE544 5/2/14
![Page 19: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/19.jpg)
ECE544 5/2/14
![Page 20: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/20.jpg)
ECE544 5/2/14
![Page 21: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/21.jpg)
ECE544
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?
Questions5/2/14
![Page 22: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/22.jpg)
ECE544
Application based Routing based DNS based
Mapping5/2/14
![Page 23: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/23.jpg)
ECE544
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 Based5/2/14
![Page 24: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/24.jpg)
ECE544
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 Based5/2/14
![Page 25: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/25.jpg)
ECE544
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 Based5/2/14
![Page 26: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/26.jpg)
ECE544
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/14
![Page 27: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/27.jpg)
ECE544 5/2/14
![Page 28: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/28.jpg)
ECE544 5/2/14
![Page 29: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/29.jpg)
ECE544
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 Resolution5/2/14
![Page 30: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/30.jpg)
ECE544 5/2/14
![Page 31: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/31.jpg)
ECE544
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 Types5/2/14
![Page 32: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/32.jpg)
ECE544
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 Reading5/2/14
![Page 33: { Content Distribution Networks ECE544 Dhananjay Makwana (makwana@semandex.net), Principal Software Engineer, Semandex Networks 5/2/14ECE544](https://reader035.vdocuments.site/reader035/viewer/2022081516/56649e235503460f94b113b5/html5/thumbnails/33.jpg)
ECE544
Questions?5/2/14
Thank You !