Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Neighbor Discovery for IPv6 Mangesh Kaushikkar. Overview Introduction Terminology Protocol Overview Message Formats Conceptual Model of a Host.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
The Internet Useful Definitions and Concepts About the Internet.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Adaptive Web Caching: Towards a New Caching Architecture Authors and Institutions: Scott Michel, Khoi Nguyen, Adam Rosenstein and Lixia Zhang UCLA Computer.
Java-Based Adaptive Web Caching CS-526 Fall 2002 Semester Project G. Williams.
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.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Web Caching Schemes For The Internet – cont. By Jia Wang.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
World Wide Web Caching: Trends and Technology Greg Barish and Katia Obraczka USC Information Science Institute IEEE Communications Magazine, May 2000 Presented.
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 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
Redirection and Load Balancing
1 3 Web Proxies Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB PROXIES  Web Proxy Definition  Three of the Most Common Intermediaries.
23-Support Protocols and Technologies Dr. John P. Abraham Professor UTPA.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
1 Chapter 6: Proxy Server in Internet and Intranet Designs Designs That Include Proxy Server Essential Proxy Server Design Concepts Data Protection in.
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
CH2 System models.
World Wide Web Caching: Trends and Technologys Gerg Barish & Katia Obraczka USC Information Sciences Institute, USA,2000.
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.
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
Configuring Name Resolution and Additional Services Lesson 12.
ICP and the Squid Web Cache Duanc Wessels k Claffy August 13, 1997 元智大學系統實驗室 宮春富 2000/01/26.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
TCP/IP (Transmission Control Protocol / Internet Protocol)
HTTP evolution - TCP/IP issues Lecture 4 CM David De Roure
Implementing ISA Server Caching
ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권.
Setup and Management for the CacheRaQ. Confidential, Page 2 Cache Installation Outline – Setup & Wizard – Cache Configurations –ICP.
Replication (1). Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Web Services. 2 Internet Collection of physically interconnected computers. Messages decomposed into packets. Packets transmitted from source to destination.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Cache Digest Alex Rousskov Duane Wessels National Laboratory for Applied Network Research April 17, 1998 元智大學 資訊工程研究所 系統實驗室 陳桂慧 February 9, 1999.
Hiearchial Caching in Traffic Server. Hiearchial Caching  A set of techniques and mechanisms to increase the size and performance of network caches.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Internet Cache Protocol Erez Tal Assaf Oren Avner Cohen Submission Date: 5/2/01 Guides: Ran Wolff and Itai Dabran.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Lab A: Planning an Installation
Tiny http client and server
WWW and HTTP King Fahd University of Petroleum & Minerals
Web Caching? Web Caching:.
Internet Networking recitation #12
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
Computer Communication & Networks
Starting TCP Connection – A High Level View
Presentation transcript:

Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP

2 ICP - Internet Caching Protocol ICP is Web caching protocol –ICP version 2 defined in RFC 2186 –Used to exchange hints about the existence of URLs in neighbor caches. Caches exchange ICP queries and replies –gather information to use in selecting the most appropriate location from which to retrieve an object

3 ICPv2 Protocol specification Generally, Web caches use HTTP for the transfer of object data However, Caches can benefit from a simpler, lighter communication protocol. ICP is primarily used in a cache mesh to locate specific Web objects in neighboring caches. –One cache sends an ICP query to its neighbors. – The neighbors send back ICP replies indicating a "HIT" or a "MISS."

4 ICP Implementation In current practice, ICP is implemented on UDP There is no requirement that it be limited to UDP. ICP over UDP offers features important to Web caching applications. –Query/reply exchange needs to occur quickly –A cache cannot wait longer than that before beginning to retrieve an object. –Failure to receive a reply message means the network path is either congested or broken. In either case we would not want to select that neighbor.

5 Cache selection Failure to receive a reply from a cache –network or system failure. The ICP reply may include extra information –Can assist selection of the most appropriate source from which to retrieve an object.

6 ICP Opcodes ICP_OP_QUERY ICP_OP_HIT ICP_OP_MISS ICP_OP_ERR ICP_OP_DENIED ICP_OP_HIT_OBJ

7 ICPv2 application specification RFC 2187RFC 2187 A single Web cache will reduce the amount of traffic generated by the clients behind it Similarly, a group of Web caches can benefit by sharing another cache in much the same way In a cache hierarchy (or mesh) one cache establishes peering relationships with its neighbor caches

8 Types of relationship Parent –A parent cache is essentially one level up in a cache hierarchy Sibling – A sibling cache is on the same level Neighbor (peer) –Is either parent or sibling which is a single “cache-hop” away

9 Levels The general flow of document requests is up the hierarchy When a cache does not hold a requested object –It may ask via ICP whether any of its neighbor caches has the object. If there is a ‘Hit’ then the cache will request it from them. Else the cache must forward the request either to a parent, or directly to the origin server.

10 The essential difference between a parent and sibling "neighbor hit" may be fetched from either one "neighbor miss" may NOT be fetched from a sibling. The cache can ask only a parent to retrieve any object regardless of whether or not it is cached.

11 ICP Delay Caches are designed to return ICP requests quickly. The application does minimal processing of the ICP request, but most ICP-related delay is due to transmission on the network. ICP also serves to provide an indication of neighbor reachability. If ICP replies from a neighbor fail to arrive –Network path is congested (or down) –Cache application is not running on the ICP-queried neighbor machine

12 Determine whether to use ICP Not every HTTP request requires an ICP query to be sent –Obviously, cache hits will not need ICP because the request is satisfied immediately For origin servers very close to the cache, we do not want to use any neighbor caches

13 Determine whether to use ICP (cont.) In order for an HTTP request to yield an ICP transaction it must –Not be a cache hit –Not be to a local server –Be a GET request –Not match the `hierarchy_stoplist' configuration.

14 Timeouts ICP uses UDP as underlying transport –ICP queries and replies may sometimes be dropped by the network The cache installs a timeout event in case not all of the expected replies arrive –By default Squid and Harvest use a two-second timeout –When a peer fails to reply to 20 consecutive ICP queries it is marked to be down

15 Multicast for Efficient Distribution A cache may deliver ICP queries to a multicast address Neighbor caches may join the multicast group to receive such queries –But for multicast we have no way to know exactly how many replies to expect ICP replies sent to unicast address

16 Differences Between ICP and HTTP HTTP supports a rich and sophisticated set of features ICP was designed to be simple, small, and efficient HTTP request and reply headers consist of lines of ASCII text ICP uses a fixed size header and represents numbers in binary

17 CARP - Cache Array Routing Protocol Microsoft® Proxy Server 2.0 uses the Cache Array Routing Protocol (CARP) Series of algorithms that are applied on top of HTTP Multiple proxy servers are arrayed as a single logical cache Does not require a new wire protocol –Uses HTTP, compatible with existing firewalls and proxy servers

18 Hash-based Routing Provides a deterministic "request resolution path" through an array of proxies The request resolution path –Hashing of proxy array member identities and URLs –For any given URL request, the proxy server will know exactly where in the proxy array the information will be stored (or still not)

19 Benefits Deterministic request resolution path –No query messaging between proxy servers that existed in ICP –Eliminates the duplication of contents that otherwise occurs on an array of proxy servers –Has positive scalability, becomes faster and more efficient as more proxy servers are added

20 How CARP works A hash function is computed for the name of each proxy server A hash function is computed for the name of each requested URL The hash value of the URL is combined with the hash value for each proxy –Whichever URL+Proxy Server hash comes up with the highest value, becomes "owner" of the information cache –If a server fails its, URLs are automatically rerouted to the server with the next highest score

21 How CARP works (cont.) The result –Deterministic location for all cached information –Web browser or downstream proxy server can know exactly where a requested URL either already is stored locally, or will be located after caching –Because the hash functions used to assign values are so great: 2^32 = the result is a statistically distributed load balancing across the array

22 Updating Membership List Array manager maintains a current list of members of a particular proxy array All proxies servers in the array stores their own local copies of the array list and periodically send requests for updates to the array manager –They also watches all HTTP requests to any array members and if a request fails, then marks that proxy member down until next update from the array manager