1 Caching  Temporary storage of frequently accessed data (duplicating original data stored somewhere else)  Reduces access time/latency for clients 

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Amazon CloudFront An introductory discussion. What is Amazon CloudFront? 5/31/20122© e-Zest Solutions Ltd. Amazon CloudFront is a web service for content.
Chapter 7 Multimedia Networking Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use.
3-1 Dealing with (Internet) Scale : CDNs Recall: one single “mega-server” can’t possibly handle all requests for popular service  DNS  not enough bandwidth:
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
Lecture 12, : The Internet, Summer : The Internet Lecture 12: Scalable services David O’Hallaron School of Computer Science and Department.
1 Caching in HTTP Representation and Management of Data on the Internet.
CS162 Operating Systems and Systems Programming Lecture 23 HTTP and Peer-to-Peer Networks April 20, 2011 Ion Stoica
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
CSE 190: Internet E-Commerce Lecture 16: Performance.
The Internet Useful Definitions and Concepts About the Internet.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
How the web works: HTTP and CGI explained
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
CDNs & Replication Prof. Vern Paxson EE122 Fall 2007 TAs: Lisa Fowler, Daniel Killebrew, Jorge Ortiz.
1 Web Proxies Dr. Rocky K. C. Chang 6 November 2005.
Web, HTTP and Web Caching
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
Web Caching and CDNs March 3, Content Distribution Motivation –Network path from server to client is slow/congested –Web server is overloaded Web.
Content Delivery Networks. History Early 1990s sees 100% growth in internet traffic per year 1994 o Netscape forms and releases their first browser.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
Nikolay Kostov Telerik Corporation
Technologies for Building Content Delivery Networks Pei Cao Cisco Systems, Inc.
Caching and Content Distribution Networks. Web Caching r As an example, we use the web to illustrate caching and other related issues browser Web Proxy.
CSCI-1680 Web Performance and Content Distribution Based partly on lecture notes by Scott Shenker and John Jannotti Rodrigo Fonseca.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
On the Use and Performance of Content Distribution Networks Balachander Krishnamurthy Craig Wills Yin Zhang Presenter: Wei Zhang CSE Department of Lehigh.
Content Distribution March 8, : Application Layer1.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Redirection and Load Balancing
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Krerk Piromsopa. Web Caching Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Web Caching: Replication on the World Wide Web Jonathan Bulava CSC8530 – Distributed Systems Dr. Paul Schragger.
FTP (File Transfer Protocol) & Telnet
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
2: Application Layer1 Internet apps: their protocols and transport protocols Application remote terminal access Web file transfer streaming multimedia.
Infrastructure for Better Quality Internet Access & Web Publishing without Increasing Bandwidth Prof. Chi Chi Hung School of Computing, National University.
CH2 System models.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
CDN: Content Distribution Networks  References:  CS613 textbook, “Computer Networking – A Top-Down Approach”, 6 th edition. Chapter  The text.
1 Caching in HTTP Representation and Management of Data on the Internet.
A Survey on Network Storage Ning Zong Haibin Song Richard Alimi Richard Yang.
World Wide Web Caching CS457 Seminar Yutao Zhong 11/13/2001.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
The Intranet.
WWW: an Internet application Bill Chu. © Bei-Tseng Chu Aug 2000 WWW Web and HTTP WWW web is an interconnected information servers each server maintains.
Setup and Management for the CacheRaQ. Confidential, Page 2 Cache Installation Outline – Setup & Wizard – Cache Configurations –ICP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Content Distribution Network, Proxy CDN: Distributed Environment
COMP2322 Lab 2 HTTP Steven Lee Jan. 29, HTTP Hypertext Transfer Protocol Web’s application layer protocol Client/server model – Client (browser):
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
INTRODUCTION Dr Mohd Soperi Mohd Zahid Semester /16.
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
Content Distribution Networks
HTTP request message: general format
Caching Temporary storage of frequently accessed data (duplicating original data stored somewhere else) Reduces access time/latency for clients Reduces.
Ad-blocker circumvention System
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Web Caching? Web Caching:.
Utilization of Azure CDN for the large file distribution
Algorithmic Nuggets in Content Delivery
Internet Applications
ECE 671 – Lecture 16 Content Distribution Networks
University of Pittsburgh
Configuring Internet-related services
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

1 Caching  Temporary storage of frequently accessed data (duplicating original data stored somewhere else)  Reduces access time/latency for clients  Reduces bandwidth usage  Reduces load on a server

2 Web cache types  Browser cache – for a single user  Shared cache (forward and reverse) – same principle for multiple users

3 Forward proxy cache Cache located closer to the client Usually deployed by an ISP Decreases bandwidth usage (ISP to the Internet link in the example below)

4 Reverse proxy cache Aka gateway proxy or web accelerators Cache proxy located closer to the origin web server Usually deployed by an Web hosting ISP Decreases load on the web server Several reverse proxy caches implemented together can form a Content Delivery Network

5 How a typical cache works Freshness – how long the document stays “fresh” or can be used from cache without rechecking the origin server Validation – compare the cached document to the origin document once it’s not “fresh” anymore

6 HTML tags vs HTTP headers HTML Meta tags - part of the document; mostly for browser cache (that parses HTML); most Proxy caches do not look inside the document HTTP headers are sent before HTML document; are seen by both browser and proxy caches HTTP/ OK Date: Fri, 30 Oct :19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: Fri, 30 Oct :19:41 GMT Last-Modified: Mon, 29 Jun :28:12 GMT ETag: "3e fbbc" Content-Length: 1040 Content-Type: text/html

7 HTTP headers  max-age=[seconds] — specifies the maximum amount of time that an representation will be considered fresh.  s-maxage=[seconds] — similar to max-age, except that it only applies to shared (e.g., proxy) caches.  public — marks authenticated responses as cacheable; normally, if HTTP authentication is required, responses are automatically private.  private — allows caches that are specific to one user (e.g., in a browser) to store the response; shared caches (e.g., in a proxy) may not.  no-cache — forces caches to submit the request to the origin server for validation before releasing a cached copy, every time.  no-store — instructs caches not to keep a copy of the representation under any conditions.  must-revalidate — tells caches that they must obey any freshness information you give them about a representation.  proxy-revalidate — similar to must-revalidate, except that it only applies to proxy caches.

8 Validators Are used by caches to compare the cached document to the original document for changes If validator is not present and no freshness information is available, the document won’t be cached Last-Modified HTTP header E-Tag

9 Proxy Server software examples Squid (Unix/Linux and Windows) Squid Varnish (web accelerator) Varnish Apache proxy module and cache moduleproxy module cache module NGINX (HTTP (reverse) and proxy NGINX

10 Interception caching To avoid configuring each client to point to cache proxy Can be accomplished using inline cache, layer 4 switch, WCCP, policy-based routing

11 Content Delivery Networks Network of computers that deliver content on the web. Content pushed-out/delivered “closer” to the clients Designed to improve Internet performance (i.e. decrease latency for clients, decrease bandwidth use) Consists of origin server, surrogate (edge servers) Caching and server load balancing techniques are used ESI (Edge-Side Includes) – open standard markup language to augment HTML for help with dynamic delivery and assembly of Web documents

Content distribution networks  challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users?  option 1: single, large “mega-server”  single point of failure  point of network congestion  long path to distant clients  multiple copies of video sent over outgoing link ….quite simply: this solution doesn’t scale

Content distribution networks  challenge: how to stream content (selected from millions of videos) to hundreds of thousands of simultaneous users?  option 2: store/serve multiple copies of videos at multiple geographically distributed sites (CDN)  enter deep: push CDN servers deep into many access networks close to users used by Akamai, 1700 locations  bring home: smaller number (10’s) of larger clusters in POPs near (but not within) access networks used by Limelight

14 Content Delivery Networks

CDN: “simple” content access scenario Bob (client) requests video /6Y7B23V  video stored in CDN at 23V netcinema.com KingCDN.com 1 1. Bob gets URL for for video from netcinema.com web page 2 2. resolve via Bob’s local DNS netcinema’s authorative DNS 3 3. netcinema’s DNS returns URL 23V 4 4&5. Resolve via KingCDN’s authoritative DNS, which returns IP address of KIingCDN server with video 5 6. request video from KINGCDN server, streamed via HTTP KingCDN authoritative DNS

CDN cluster selection strategy  challenge: how does CDN DNS select “good” CDN node to stream to client  pick CDN node geographically closest to client  pick CDN node with shortest delay (or min # hops) to client (CDN nodes periodically ping access ISPs, reporting results to CDN DNS)  IP anycast  alternative: let client decide - give client a list of several CDN servers  client pings servers, picks “best”  Netflix approach

Case study: Netflix  30% downstream US traffic in 2011  owns very little infrastructure, uses 3 rd party services:  own registration, payment servers  Amazon (3 rd party) cloud services: Netflix uploads studio master to Amazon cloud create multiple version of movie (different endodings) in cloud upload versions from cloud to CDNs Cloud hosts Netflix web pages for user browsing  three 3 rd party CDNs host/stream Netflix content: Akamai, Limelight, Level-3

Case study: Netflix 1 1. Bob manages Netflix account Netflix registration, accounting servers Amazon cloud Akamai CDN Limelight CDN Level-3 CDN 2 2. Bob browses Netflix video 3 3. Manifest file returned for requested video 4. DASH streaming upload copies of multiple versions of video to CDNs