-1- System Software Research Lab. Active Cache : Caching Dynamic Contents on the Web Pei Cao, Jin Zhang and Kevin Beach Middleware’98 2000. 10. 12 SSLAB,

Slides:



Advertisements
Similar presentations
Inktomi Confidential and Proprietary The Inktomi Climate Lab: An Integrated Environment for Analyzing and Simulating Customer Network Traffic Stephane.
Advertisements

Enabling Secure Internet Access with ISA Server
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Introduction to push technology © 2009 Research In Motion Limited.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
Cooperative Caching of Dynamic Content on a Distributed Web Server Vegard Holmedahl, Ben Smith, Tao Yang Speaker: SeungLak Choi, DB Lab., CS Dept.
Introduction to Servlets Based on: Hall, Brown, Core Servlets and JavaServer Pages.
1 Caching in HTTP Representation and Management of Data on the Internet.
FeedTree: Sharing Web Micronews with Peer-to-Peer Event Notification D. Sandler, A. Mislove, A. Post, P. Druschel Presented by: Andrew Sutton.
Servlets and a little bit of Web Services Russell Beale.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
An Analysis of Internet Content Delivery Systems Stefan Saroiu, Krishna P. Gommadi, Richard J. Dunn, Steven D. Gribble, and Henry M. Levy Proceedings of.
How the web works: HTTP and CGI explained
Improving Proxy Cache Performance: Analysis of Three Replacement Policies John Dilley and Martin Arlitt IEEE internet computing volume3 Nov-Dec 1999 Chun-Fu.
Introduction to Web Interface Technology (CSE2030)
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
1 Chapter 3 Programs and Packages. 2 Java Virtual Machine (JVM) Java programs execute on the JVM. The JVM is a virtual rather than a physical machine,
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
Definitions, Definitions, Definitions Lead to Understanding.
PL-IV- Group A HTTP Request & Response Header
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Java Servlets. What Are Servlets? Basically, a java program that runs on the server Basically, a java program that runs on the server Creates dynamic.
1 Enabling Secure Internet Access with ISA Server.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Java Omar Rana University of South Asia. Course Overview JAVA  C/C++ and JAVA Comparison  OOP in JAVA  Exception Handling  Streams  Graphics User.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Web Prefetching Between Low-Bandwidth Clients and Proxies : Potential and Performance Li Fan, Pei Cao and Wei Lin Quinn Jacobson (University of Wisconsin-Madsion)
Module 10: Monitoring ISA Server Overview Monitoring Overview Configuring Alerts Configuring Session Monitoring Configuring Logging Configuring.
Web Server Programming 1. Nuts and Bolts. Premises of Course Provides general introduction, no in-depth training Assumes some HTML knowledge Assumes some.
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
POSTER TEMPLATE BY: Whitewater HTTP Vulnerabilities Nick Berry, Joe Joyce, & Kevin Vaccaro. Syntax & Routing Attempt to capture.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Chapter 6 Server-side Programming: Java Servlets
1 Caching in HTTP Representation and Management of Data on the Internet.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Active Cache: Caching Dynamic Contents on the Web Presented by Rahul K S & Balaji N V.
Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments IEEE Infocom, 1999 Anja Feldmann et.al. AT&T Research Lab 발표자 : 임 민 열, DB lab,
2007cs Servers on the Web. The World-Wide Web 2007 cs CSS JS HTML Server Browser JS CSS HTML Transfer of resources using HTTP.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
Operating Systems Lesson 12. HTTP vs HTML HTML: hypertext markup language ◦ Definitions of tags that are added to Web documents to control their appearance.
HTTP evolution - TCP/IP issues Lecture 4 CM David De Roure
Implementing ISA Server Caching
Delta Encoding for HTTP/1.1 Sloutsky Alexander Fink Dmitry Supervised by Lavy Libman.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, Responds oriented other.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Accelerating PHP Applications Ilia Alshanetsky O’Reilly Open Source Convention August 3rd, 2005.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 21 Java Servlets Wed. 11/22/00 based on material.
How CGI and Java Servlets are Run By David Stein 14 November 2006.
Web Proxy Caching: The Devil is in the Details Ramon Caceres, Fred Douglis, Anja Feldmann Young-Ho Suh Network Computing Lab. KAIST Proceedings of the.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
1 Chapter 22 World Wide Web (HTTP) Chapter 22 World Wide Web (HTTP) Mi-Jung Choi Dept. of Computer Science and Engineering
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.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
BUILD SECURE PRODUCTS AND SERVICES
WWW and HTTP King Fahd University of Petroleum & Minerals
Securing the Network Perimeter with ISA 2004
Web Caching? Web Caching:.
J2EE Lecture 1:Servlet and JSP
Presentation transcript:

-1- System Software Research Lab. Active Cache : Caching Dynamic Contents on the Web Pei Cao, Jin Zhang and Kevin Beach Middleware’ SSLAB, EE Dept, KAIST 박상호 Comment: 서버 쪽에서 해야할 일들을 proxy 로 이동시키는 방법에 대한 논문. 아이디어가 기발한 것 같진 않지만, 사용 가능한 application 을 찾아 명시하였고, 자바를 이용한 방법을 제시하였다.

-2- System Software Research Lab. Content ▣ Introduction ▣ Active cache protocol ▣ Security Mechanism ▣ Resource Management Policy ▣ Implementation ▣ Performance ▣ Conclusion and critique

-3- System Software Research Lab. Introduction ▣ Caching in the Web ◈ Inability to cache dynamic documents ▣ Active cache ◈ Migrates parts of server processing to the caching proxy ◈ Cache applet : server-supplied code written in JAVA Server Proxy request reply processing Server Proxy processing request reply

-4- System Software Research Lab. Active cache protocol(1/2) ◈ New entity header : CacheApplet –CacheApplet: code=“code.class”, archive=“code.jar”, codebase=“codebase_url” ◈ Active-Cache enabled proxy –Applet’s execution failure : the request is sent to the server –Applet’s execution success : send the cached document or new document to the client –Send the log object back to the server periodically Server/test.html test.html -> test.class Server/test.html With CacheApplet entity header

-5- System Software Research Lab. Active cache protocol(2/2) ▣ Active cache interface Cache hit FromCache() 1:new content 0:cached content -1:forward the request to server ActiveProxy class : File access, cache query, Lock/unlock, sending requests to servers Available : java.util, java.text, java.math, java.security, java.sql, ActiveProxy class Unvailable : java.io, java.lang, java.systems Proxy : CacheApplet :

-6- System Software Research Lab. Cache Applet Examples(1/2) ▣ Logging User Accesses public static int FromCache( string User_HTTP_Request, string Client_IP_Address, string Client_Name, int Cache_File, int New_File) { int fd = open(“logapplet.log”, APPEND_ONLY); int status = lock(fd); string date = new curtime(); log_to_file(fd, date, Client_Name, User_HTTP_Request, Client_IP_Address); status = unlock(fd); close(fd); return(0); // 0 means use the cached file }

-7- System Software Research Lab. Cache Applet Examples(2/2) ▣ Advertising Banner Rotation ▣ Access Permission Checking ▣ Client-Specific Information Distribution ▣ Server-Side Include Expansion ▣ Delta Compression

-8- System Software Research Lab. Security Mechanisms ▣ Two types of security attacks ◈ An applet’s illegal access to information belonging to other web server –JAVA : built-in security mechanism –Applets from different servers do not cooperate –Static examination of the classes and functions ◈ Denial-of-service attacks : resource consumption –Storage size –Disk bandwidth –Network bandwidth –CPU usage –Virtual memory size

-9- System Software Research Lab. Resource Management Policies ▣ Proxy decide whether an object should be cached ◈ Based on the proxy’s estimation of the benefits and the cost of caching –Benefit : saved network bandwidth –Cost : storage cost, CPU cost, network communication(send_request_to_server calls) ◈ Cost-aware cache replacement algorithm ◈ Negotiated object : server specifies the estimated costs and desired duration of caching ◈ Un-negotiated object

-10- System Software Research Lab. Implementation ▣ Implementation ◈ CERN httpd proxy –CacheApplet header –Invoke the applet ◈ setrlimit() system call ◈ Sending the log object : HTTP POST

-11- System Software Research Lab. Performance(1/2) ▣ Applet overhead ◈ WebStone 2.0 ◈ 6 applets : null, log, ads, apc, ssi, clid ◈ Server(SPARC 20), proxy(99MHz Intel x86) Proxy1 client10 clients20 clients null log ads apc ssi csid Response time(active cache) Response time(the original CERN httpd proxy)

-12- System Software Research Lab. Performance(2/2) ▣ Internet traffic reduction through active cache ◈ AT&T WorldNet Internet Service Provider –30% of all user request carry cookies –AT&T traces –35% hit ratios and 30% byte hit ratios –Active cache : 55% hit ratios and 41% byte hit ratios

-13- System Software Research Lab. Conclusion and critique ▣ Conclusion ◈ Support caching of dynamic documents on the Web ◈ Protocol design, interface, security mechanism and resource management strategies ▣ Critique ◈ Bad performance –Increase the number of web server instead of using proxy ◈ Difficult to program –Servlet or jsp ◈ Cache applet restriction