Your SlideShare is downloading. ×
Seminar.ppt
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

Seminar.ppt

6,316
views

Published on


1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total Views
6,316
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
185
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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, www.adaptivepath.com
  • 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 .adaptivepath.com/ideas/essays/archives/ 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