Top Banner
YEE VANG WEB CACHE
45

YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

Dec 25, 2015

Download

Documents

Loren Harvey
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

Y E E VA N G

WEB CACHE

Page 2: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

INTRODUCTION

• Internet has many user• Issues with access latency (lag)• Server crashing

• How to solve?• One solution, Web Cache

Page 3: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHE

• What is web cache?

• Cache “a place of storage”

• Web cache – “a place to store websites or web objects”

Page 4: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• Web Caching

• Technique that can:

• Reduce access latency• “the time it takes for a request to be completed”

• Network congestion• “occurs when a link or node is carrying so much data that its

quality of service deteriorates”

Page 5: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• How does it reduce user access latency and network congestion?

• No cache example• Movie Storage Room in the next building• Contain one copy of every movie

• One worker

Page 6: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• Cache example

• The same as the previous example

• Movie Storage Room in the next building• Contain one copy of every movie

• One worker

• A Movie rack that can hold five movie at a time, to simulate a movie cache.

Page 7: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• In the example

• Customer -> User

• Movie -> Web Pages

• Worker -> ISP

• Movie Storage Room -> Origin Server

• Movie Rack -> Web Cache

Page 8: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE HIT/CACHE HIT RATE

• Cache hit• Occurs when a request can be satisfied by the web

cache.

• In the movie store example• Hit?

• Cache hit rate• Is the percentage that a previously cached object will score a

cache hit

Page 9: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE MISS

• Cache miss

• Occurs when a request cannot be satisfied by the web cache.

• In the movie example• Miss?

Page 10: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• Pros

• Can reduce internet bandwidth• If a request can be satisfied by the web cache

• Reduce the work load of the origin server• By storing previously requested web objects in a web cache

• Reduce user access latency• When a cache hit occurs

Page 11: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING

• Cons

• Not every web objects are cacheable• Website that generate dynamic data• Requires an active connection• https://

• Stale Cache• Cache that are out of date

• Bottleneck at the proxy server (in proxy caching)

Page 12: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

TYPES OF WEB CACHE

• Browser Cache

• Proxy Cache

• Reverse Proxy Cache

Page 13: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

BROWSER CACHE

• Cache stored at client level• Meaning the cache is actually stored on the user’s computer

• i.e. Temporary internet files,

Mozilla/Netscape C:\Users\Profile\AppData\Roaming\Mozilla\Profiles\[random.string].slt\

Firefox C:\Users\Profile\AppData\Roaming\Mozilla\Firefox\Profiles\[random.string]\

Thunderbird C:\Users\Profile\AppData\Roaming\Thunderbird\Profiles\[random.string]\

[http://www.holgermetzger.de/pdl.html]

Page 14: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

BROWSER CACHE

• Advantages of Browser Cache

• Stored Locally • On cache hit it saves bandwidth• Increase in access latency

• User pattern• The same user has a higher probability of browsing the same

website each day.

Page 15: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

BROWSER CACHE

• Disadvantages of Browser Cache

• Takes up hard drive space

• Stale object• Always risk running into stale object with caching.

• Stored Locally• Only serves one computer.

Page 16: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

PROXY CACHE

• Cache are stored at a proxy server

• The proxy server usually serves more than one user

• Acts as a gateway to the internet for large company or institution

http://www.codeproject.com/KB/web-cache/ExploringCaching/cache_array.jpg

Page 17: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

PROXY CACHE

• Request are directed to the proxy server instead of the origin server.

• On cache hit• Returns the requested object to the user.

• On cache miss• Request is then forwarded to origin server.

Page 18: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

PROXY CACHE

• Advantages• Serves more than one client• Cache hit can occur even if different user makes the same

request.

• Gateway• Companies can limit what user can access.

• Disadvantages• Serves more than one client• Can be overloaded.

• Gateway• When the proxy server is down all the users are disconnected

from then internet.

Page 19: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REVERSE PROXY CACHE

• Serves, origin server

• Basically a proxy server that sits in front of the origin server.

http://odino.org/images/proxy-cache.jpg

Page 20: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REVERSE PROXY CACHE

• When a request is made?

• Directed to the reverse proxy cache server

• On cache hit • Object is returned to user

• On cache miss• Request is forwarded to the origin server• A copy is stored on the Reverse proxy server• A copy is sent back to the user

Page 21: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REVERSE PROXY CACHE

• Advantages

• Reduces workload off of the origin server• Requested object can be requested once, cached on the

reverse proxy server, and server many clients without contacting the origin server again

• Static files can be cached• i.e. CSS files, java scripts, logos• Allows the origin server to better process dynamic contents

Page 22: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REVERSE PROXY CACHE

• Disadvantages

• Bottleneck• Many users making requests at the same time

• Stale Cache/old files• Risk of cache hits on stale object, also static files can be

outdated

Page 23: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHING ARCHITECTURE

• Two main web caching architecture• Hierarchical • Distributed

• They both utilizes the network shown below

[3]

Page 24: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

HIERARCHICAL CACHING ARCHITECTURE

• There are more than one level of cache between the users and the origin server

• Typically employs more than one types of cache

• There are parents, child and sibling relationships between caches.

Page 25: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

HIERARCHICAL CACHING ARCHITECTURE

• First level of cache – Institutional Network• Second level of cache – Regional Network• Third level of cache – National Network• Parents? Child? Siblings?

[3]

Page 26: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

HIERARCHICAL CACHING ARCHITECTURE

• When a request is made

• Its sent to the level one cache

• If the level one cache cannot satisfy the request

• Then its forwarded to the level two cache

• If the level two cache cannot satisfy the request

• Then its forwarded to the next level.

• Once it reaches the last level, and still not be satisfied, then the request is forwarded to the origin server

Page 27: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

HIERARCHICAL CACHING ARCHITECTURE

• Advantages• Different level of cache offers more chance for a cache

hit• Leads to decrease access latency• Also reduce workload on the origin servers

• Disadvantages• Every level added to the hierarchy adds delay• On cache miss there is a slight increase in latency• Higher level cache servers are expensive

Page 28: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• Cache are stored at the Institutional Level• Regional and national level are eliminated• Each institutional network in the distributed

system are siblings to each other.

[3]

Page 29: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• What is special in the distributed caching architecture?

• Each institutional cache can contact its sibling cache

• So each cache can knows what is in the other cache

• They can receive objects from their sibling

Page 30: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• When a request is made?

• Query-Based Approach – Internet Caching Protocol• Request sent to configured institutional cache server

• On cache miss, the request is broadcasted to the institutional cache’s sibling cache.

• If a sibling cache contains the requested object, the sibling cache sends the object to the immediate institutional cache. The immediate institutional cache then stores a copy in itself, and sends the client another copy

• If no sibling contains the requested object, a timeout will occur. • At which point the immediate institutional cache will then forward the

request to the origin server.

Page 31: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• When a request is made?

• Directory-Based Approach – Cache Digest (Squid)

• In this approach metadata is used.

• Each cache is aware of it’s siblings content.

• When a request is made, its sent to the immediate institutional cache.

• On cache miss, the institutional cache checks its metadata to see if any of it’s sibling cache contains the requested object.

• If not, then it forwards the request to the origin server

Page 32: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• Advantage

• Sibling cache servers share common interests• More chance of cache hit

• Sibling cache servers are assigned based on proximity• Faster response time

Page 33: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

DISTRIBUTED CACHING ARCHITECTURE

• Disadvantage

• Sibling cache servers share common interests• If the servers are too far apart

• Increase in access latency

• Sibling cache servers are assigned based on proximity• Servers may not share common interest

• Less chance of cache hit

Page 34: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHE COHERENCY

• Web cache coherency• Is the cache up to date?

• Web cache coherency mechanism• Validation check

• When a web object is first received

• It gets time stamped

• When the cached object is used, the cache server makes a validation check, by sending the time stamp to the origin server

Page 35: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHE COHERENCY

• Web cache coherency mechanism• Callback

• When a web object is cached, it receives a callback promise for the object, from server.

• Callback promise – a promise that the origin server will notify the cache server if the object has been updated

• So the cache object is up to date if the cache server have not received a notification from the origin server

Page 36: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

WEB CACHE COHERENCY

• Web cache coherency mechanism• Expiration

• When an object is cache an expiration date is assigned to it

• Object is valid until expiration date

• The first request for the object after its expiration date is requested from the origin server again.

• At this time a new expiration date is assigned to the object

Page 37: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE PLACEMENT AND REPLACEMENT POLICIES

• How cache are replaced

• Random• A random cache is replaced.

• Size• Largest cache is replaced first

• FIFO – First In First Out• Oldest cache is eliminated first

Page 38: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE PLACEMENT AND REPLACEMENT POLICIES

• LRU – Least Recently Used• Cache that has not been requested for the longest time is

eliminated first

• LRU/MIN – Least Recently Used Minimum• The first document whose size is larger than or equal to the

size of the new document is removed

• HLRU – History Least Recently Used• Record how many times each cached object is used• Elimination based on• LRU• Least Used

Page 39: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE PLACEMENT AND REPLACEMENT POLICIES

• LFU – Least Frequently Used• Cache are sorted based on how frequently it is used• On cache hit, the counter for the hit object is

incremented by one.• List is then re-ordered• The web object with the lowest count is replaced first

• LFU – Aging• Same as LRU• The Average count of all cached object is monitored• When the average count reaches a threshold, all counts

are reset back to zero

Page 40: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CACHE PLACEMENT AND REPLACEMENT POLICIES

• LRV – Lowest Relative Value• Each cached object is assigned a cost value• Object with the lowest cost value are replaced first

• GD – Greedy Duel• Each cached object is assigned a cost value• Lowest cost object are replaced first• Then all cached object has their cost lowered by the

replaced object’s cost• Each time a cache is accessed its cost is reset back to its

original cost

Page 41: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

CONCLUSION

• Web caching helps reduce:

• Network Congestion

• User access latency

• Performance of origin server

Page 42: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

QUESTIONS?

•Questions?

Page 43: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REFERENCE

• [1]Barish, G., & Obraczke, K. (2000). World Wide Web caching: trends and techniques. Communications Magazine, IEEE , 38(5), 178 - 184 . doi:10.1109/35.841844 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=841844&isnumber=18201

•  • [2]Bakiras, S., Loukopoulos, T., Papadias, D., & Ahmad, I. (2005). Adaptive schemes for

distributed web caching. Jour of Parallel and Distributed Computing, Retrieved from http://www.cs.ust.hk/~dimitris/PAPERS/JPDC05-DWC.pdf

•  • [3]Biersack, E. W., Rodriguez, P., & Spanner, C. (2001). Analysis of Web caching architectures:

hierarchical and distributed caching. Networking, IEEE/ACM Transactions on , 9(4), 404-418. doi:10.1109/90.944339 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=944339&isnumber=20434

•  • [4]Das, S., Dykes, S. G., & Jeffery, C. L. (1999). Taxonomy and design analysis for distributed

Web caching. System Sciences, 1999. HICSS-32. Proceedings of the 32nd Annual Hawaii International Conference on , 8, 10. doi:10.1109/HICSS.1999.773040 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=773040&isnumber=16788

•  • [5]Davison, B. D. (2001). A Web caching primer. Internet Computing, IEEE, 5(4), 38-45.

doi:10.1109/4236.939449 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=939449&isnumber=20329

Page 44: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REFERENCE

• [6]Dubois, M., & Jeong, J. (2002, June). In R Bianchini (Chair). Cost-sensitive cache replacement algorithms. Paper presented at Second workshop on caching, coherence, and consistency, New York, NY, USA Retrieved from http://www.research.rutgers.edu/~wc3/papers/dubois.pdf.gz

•  • [7]Geetha, K., Gounden, N. A., & Monikandan, S. (2009). SEMALRU: An Implementation of modified web

cache replacement algorithm. Nature & Biologically Inspired Computing, 1406-1410.• doi: 10.1109/NABIC.2009.5393711• URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5393711&isnumber=5393306•  • [8]Hassanein, H., Liang, Z., & Liang, P. (2002). Performance comparison of alternative Web caching

techniques. Computers and Communications, 2002. Proceedings. ISCC 2002. Seventh International Symposium on , 213 - 218 . doi:10.1109/ISCC.2002.1021681 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1021681&isnumber=21983

•  • [9](n.d.). Reverse Proxy Caching. In Cisco ACNS Caching and Streaming Configuration Guide. (5th ed.).

(pp. 6-1). San Jose, CA: Cisco Systems, Inc.. doi:OL-4070-01 Retrieved from http://www.cisco.com/en/US/docs/app_ntwk_services/waas/acns/v51/configuration/local/guide/a51cag.pdf

•  • [10]Tay, T. T., & Wijesundara, M. N. (2002). Distributed Web caching. Communication Systems, 2002.

ICCS 2002. The 8th International Conference on , 2(25-28), 1142- 1146 vol.2 . doi:10.1109/ICCS.2002.1183311 Retrieved from http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1183311&isnumber=26554

Page 45: YEE VANG WEB CACHE. INTRODUCTION Internet has many user Issues with access latency (lag) Server crashing How to solve? One solution, Web Cache.

REFERENCE

• [11]Vakali, A. (2000). Lru-based algorithms for web cache replacement. In K. Bauknecht, S. Kumar Madria & G. Pernul (Eds.), Electronic Commerce and Web Technologies, First International Conference (p. 409-418). Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.5504&rep=rep1&type=pdf