Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply



Published on

1 Comment
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Web Caching Techniques & Response Time Optimization in Application with Web Browser Presented by: Pankaj Solanki 08305054 Guided by: Prof. D.B. Phatak M.Tech. Seminar Presentation on
  • 2. Outline
    • Introduction
    • Objective & Issues
    • What is Web Caching
    • SQUID & Optimization on SQUID
    • Recent Developments in Proxy Caching
    • AJaX & Some approaches based on AJaX
    • Available AJaX Frameworks
    • AJaX Vs Flash
    • Some Experiments
    • Conclusion
    • References
  • 3. Introduction
    • What is Web application
    • Advantages of using web application
      • update and maintain web applications without distributing and installing software
      • support standard browser features regardless of the OS
  • 4. Introduction (continued…)
    • Large no. of applications making the web performance bottleneck.
    • Solution
      • Web caching can be used.
      • Implementing efficient applications.
  • 5. Objective & Issues
    • Web caching caches only static content
    • Efficiently dealing dynamic content with Ajax
    • Web caching together with Ajax achieves following benefits.
      • Reducing the bandwidth requirements,
      • Reducing the response time,
      • Making web applications more interactive.
  • 6. Objective & Issues (continued…)
    • changes in existing web applications required
    • many technologies for both client side and server side required.
  • 7. What is Web Caching
    • Caching of web documents (e.g., HTML pages, images)
    • Reduces latency, bandwidth use
    • Classification of caches according to the location
      • Browser Cache
      • Proxy Cache
      • Surrogate Cache
  • 8. Proxy Caching
    • a middle-ware connecting end-user and Web servers
    • function as servers to client programs and as clients to web servers.
    • Advantages:
      • minimizes bandwidth usage, network latencies.
      • degree of control offered to the system and network administrators.
  • 9. Proxy Caching
        • block the users from visiting undesirable sites
        • usage accounting and force authentication
    • SQUID, one of the most popular proxy web cache server
  • 10. SQUID
    • Caching proxy for the HTTP, HTTPS, FTP, etc.
    • Extensive access controls and great server accelerator.
    • Runs on most available operating systems
  • 11. SQUID (continued…)
    • Three main components
      • Client side
      • Server side
      • Storage Manager
    • Architecture of squid is given in figure 1
  • 12. Architecture of Squid Figure 1 : Squid Software Structure (Source [3])
    • Connection A between client and the client side,
    • Connection B between server side and original server.
    • Connection A receive the request from client and send the response to client.
  • 13. Data Stream Splicing Optimization On Squid
    • Redundant data copies result in poor performance.
    • Data stream splicing optimization can be applied
    • Includes three models:
      • splicing client and serversocket
      • splicing local file cache and client socket
      • splicing server socket and local file cache
  • 14. Recent Developments in Proxy Caching
    • large portion (up to 40%) of Web content is “uncacheable” .
    • Existing caching ignore non-static objects
    • Recent proxy caching research in areas of
      • Caching of uncacheable
      • QoS aware caching services.
  • 15. Recent Developments in Proxy Caching
    • Caching of uncacheable
      • Caching of mixed objects
      • Caching streaming data
      • Caching Transactions
    • QoS aware caching
  • 16. What is AJaX
    • Ajax stands for Asynchronous Java XML.
    • Combination of technologies coming together in powerful new ways.
    • Ajax incorporates:
      • JavaScript
      • Cascading Style Sheets (CSS)
      • Web page DOM
      • Asynchronous communication with web server
  • 17. Classic Vs AJaX Classic (Synchronous) Vs AJaX (Asynchronous) application model Source : Jesse James Garrett,
  • 18. Implementation issues with Ajax
    • Difficulties in Ajax implementation
      • Browser Back Button
      • Bookmarking
      • Error-handling
      • URL's don't change as state changes
      • Requires good discipline on part of development team
  • 19. A web browser for Ajax approach
    • Noriko and Nao Ikemiya suggested a new web browser, based on an asynchronous communication model.
    • Based on following concepts
      • No change of client programs and server programs of web applications
      • Asynchronous communication with web servers using Ajax
      • Updating only different parts of a web page.
  • 20. A web browser for Ajax approach (continued…) Asynchronous model for web browser, Source [4]
    • Model divided into four parts
    • Parsing:
      • Syntax trees generation.
    • Generating JavaScript:
      • Adding new JavaScript codes for updating partially.
      • JavaScript access difference table for partial update.
  • 21. A web browser for Ajax approach (continued…)
    • 3) Searching difference:
        • Computing difference between the two web pages
        • Partially update, If the difference is not large
    • 4) Updating Partially:
        • Accesses to the difference table at constant intervals
        • Main block and the Sub-block execute independently each other.
  • 22. A web browser for Ajax approach (continued…)
    • Performance
      • Under a heavily load server
        • browser performs well.
        • performance issues speed of the partial updating, and correctness of judgment.
      • Under a lightly loaded server
        • additional calculations required.
        • the speed performance of this browser lower than normal browsers.
  • 23. Asynchronous predictive fetching using Ajax
    • Implements both the prediction and the prefetching engine.
    • This implementation done by Andi Ahmad Dahlan and Toshikazu Nishimura
    • User’s current actions divided into two categories:
      • Synchronous user actions
      • Asynchronous user actions
  • 24. Asynchronous predictive fetching using Ajax
    • Ajax engine employed as prefetching engine.
    • Requires a cache in order to keep all prefetched responses.
    • JavaScript Object as Browser-side holds the request and its corresponding response in pairs.
    • Cache interrogated first, cache hit means the corresponding response already there.
    • Application scripts pick the response up and display.
  • 25. Asynchronous predictive fetching using Ajax
    • The experiment done by Dahlan and Nishimura
    • Performance improvement of average response time of 64.5%.
    • Performance of this scheme depends on correctness of predictions.
    • Incorrect predictions lead to increase in response time as well as wastage of bandwidth
  • 26. Asynchronous Predictive Fetching Suggested by Web Server
    • Web server creates prefetching hints dynamically
    • Sends response with prefetching policies
    • Prefetches the responses based on predictions and stores the web content in memory for future use.
    • Difference is that client just follows the policies it received from the web server.
  • 27. Available Ajax Frameworks
    • Google Web Toolkit (GWT)
    • Dojo
    • Yahoo! User Interface Library
    • Rialto Toolkit (Rich Internet Application Toolkit)
  • 28. AJaX Vs Flash
    • No plugin for AJaX
    • Flash development tools cost money
    • Flash typically has slower page load time
    • Flash can work on older browsers
    • Flash can access other domains, AJaX can not access other domains
  • 29. Some Experiments
    • web application named as Stock Watcher in two versions one using Ajax approach and other using classical approach
    • In both versions, stock table is updated after every 5 seconds.
    • One uses asynchronous transfer using XMLHTTPRequest and other uses refreshing of whole page.
    • Used YSlow and Firebug for capturing performance statistics
  • 30. Some Experiments (continued…)
    • Performance comparison
      • Experiment for 20 times update for both version.
      • Classic approach
        • HTTP Requests = 28 * 20 =560
        • Page size accessed = 13 * 20 = 260 KB
      • AJaX approach
        • HTTP Requests = 28 + (1*19) = 47
        • Page size accessed = 16 + (2*19) = 54 KB
  • 31. Some Experiments (continued…)
    • From the graph it is clear that, Ajax giver better response time as compare to traditional web applications.
    • Besides this experiment, I have written simple web applications using GWT. GWT optimizes Ajax applications by completely separating dynamic content into JavaScript and static content as HTML.
  • 32. Conclusion
    • By using some optimizations dynamic contents can be dealt well with web caches.
    • Ajax has brought new trend in developing web application for providing transparent and smooth communication.
    • GWT requires knowing only two technologies Java and HTML.
    • Web caching together with efficient web programming technology such as Ajax required
  • 33. References
    • Daniel Zeng, Fei-Yue Wang, Mingkuan Liu, “ Efficient Web Content Delivery Using Proxy Caching Techniques ” , IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C: APPLICATIONS AND REVIEWS, VOL. 34, NO. 3, AUGUST 2004.
    • Jesse James Garret, “ Ajax: A New Approach to Web Applications ”, http://www 000385.php, 2005.
    • Jingli Zhou, Jifeng Yu, Hongtao Xia, “ Data Stream Splicing for Web Proxy Cache Optimization ”, IEEE Proceedings of the Japan-China Joint Workshop on Frontier of Computer Science and Technology (FCST'06) 0-7695-2721-3/06 .
    • Noriko Hanakawa, Nao Ikemiya, “ A web browser for Ajax approach with asynchronous communication model ”, Proceedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence (WI 2006 Main Conference Proceedings)(WI'06) 0-7695-2747-7/06.
    • Andi Ahmad Dahlan, Toshikazu Nishimura, “ Implementation of Asynchronous Predictive Fetch to Improve the Performance of Ajax-Enabled Web Applications ”, iiWAS2008, November 24–28, 2008, Linz, Austria.2008 ACM
  • 34. Thank You