You are on page 1of 20

Proxy-Based Acceleration of

Dynamically Generated Content


on the World Wide Web: An
Approach and Implementation

Anindya Dutta et al
WEB CACHING SOLUTIONS
BACKGROUND

BACK-END CACHING
PROXY-BASED CACHING
BACK-END CACHING

DATABASE CACHING(OR RESULTS OF


QUERIES)
PRESENTATION LAYER CACHING
(CACHE HTML FRAGMENTS)
COMPONENT LEVEL CACHING(CACHE
ARBITRARY OBJECTS)
PROXY-BASED CACHING

Page Level Caching


Both at forward and backward proxy
Improves
– Delays associated with generation of content
– Packet filtering
– Bandwidth
DRAWBACKS
URL BASED CACHING INCORRECT
PAGES.
VERY LITTLE REUSABILITY OF FULL
HTML PAGES(PERSONIZATION)
INVALIDATION
DYNAMIC PAGE ASSEMBLY
DYNAMIC WEB PAGE APPROACH
ESTABLISH A TEMPLATE FOR EACH
DYNAMICALLY GENERATED PAGE
EACH PAGE IS FACTORED INTO A
NUMBER OF FRAGMENTS
ASSEMBLE FRAGMENT HTML AT
PROXY
DRAWBACKS

CHANGE THE DESIGN OF


WEBSITE(USE ONLY TEMPLATES)

NO SEMANTIC INTERDEPENCE
BETWEEN FRAGMENTS
AIM
“Holy GRALE” of content caching has being
a solution that can provide both bandwidth
Saving, like proxy-based approaches and
as well as server-side acceleration.
DYNAMIC PROXY CACHE
OUTSIDE SITE’S INFRA (reverse-
PROXY) OR AT NETWORK EDGE
STORES CONTENT FRAGMENTS
BEM(BACK END MONITOR)
GENERATES THE LAYOUT
FORWARD-PROXY
– Request routing
– Cache coherency
GRANULAR PROXY BASED CACHING
CACHE DYNAMIC CONTENT
FRAGMENT ON THE PROXY CACHE
LAYOUT INFORMATION FROM SOURCE
SITE
QUERY TO DYNAMIC PROXY
PUSH INTO SERVER
SERVER RESPONDS WITH LAYOUT
Technical Details
SYSTEM INITIALIZATION
– Identify fragments and Tag them
RUN-TIME OPERATION
– Example
– http://.../catalog.jsp?categoryID=fiction
– Lookup fragID in BEMs cache dir
– Insert GET /SET in the code
Back End Monitor
MANAGE DPC CACHE
– cache directory
– Frags of DPC and metadata(ID,Key,valid,ttl)
– Invalid fragment??
CACHE INTERMEDIATE OBJECTS
ANALYTICAL RESULTS
Comparing average bytes served = B
B = sum(Sci x n(t))
ncSci = sum(Sei) + f
cSci = sum(Xj[(hxg) + (1-h)(sei + 2g)] + (1-
Xj)(sei) + f]
Plot ratio cB/ncB with fragment size
Vary hit ratio and observe
Hit Ratio V/s Saving in Bytes
Cost Due to Cache
No cache scan cost = ncB * y
Cache Scan cost = cB*2y
ncB > 2cB
“It is preferable to dynamic proxy cache
when the expected bytes served with no
cache are more than the twice the
expected bytes served with cache”
LIMITATIONS
For forward proxy cache
– Request Routing
– Cache Coherency
– Cache Management
– Scalability

You might also like