ABSTRACT
We introduce a client-server toolkit called Sync Kit that demonstrates how client-side database storage can improve the performance of data intensive websites. Sync Kit is designed to make use of the embedded relational database defined in the upcoming HTML5 standard to offload some data storage and processing from a web server onto the web browsers to which it serves content. Our toolkit provides various strategies for synchronizing relational database tables between the browser and the web server, along with a client-side template library so that portions web applications may be executed client-side. Unlike prior work in this area, Sync Kit persists both templates and data in the browser across web sessions, increasing the number of concurrent connections a server can handle by up to a factor of four versus that of a traditional server-only web stack and a factor of three versus a recent template caching approach.
- Django web framework. http://www.djangoproject.com/.Google Scholar
- Google gears framework. http://gears.google.com/.Google Scholar
- JSON-Template Template Rendering Engine. http://code.google.com/p/json-template/.Google Scholar
- Memcached distributed key-value caching system. http://www.danga.com/memcached/.Google Scholar
- PURE JavaScript Template Engine. http://beebole.com/pure/.Google Scholar
- Ruby on rails web framework. http://www.rubyonrails.org/.Google Scholar
- Squid: Optimising Web Delivery. http://www.squid-cache.org/.Google Scholar
- Using the wikipedia page-to-page link database. http://users.on.net/~henry/home/wikipedia.htm.Google Scholar
- Wikipedia bytes per article, accessed Feb 10, 2010. http://stats.wikimedia.org/EN/TablesArticlesBytesPerArticle.htm.Google Scholar
- Wikipedia page counters. http://mituzas.lt/2007/12/10/wikipedia-page-counters/.Google Scholar
- Xslt specification. http://www.w3.org/TR/xslt.Google Scholar
- M. Altinel, C. Bornh ovd, S. Krishnamurthy, C. Mohan, H. Pirahesh, and B. Reinwald. Cache tables: Paving the way for an adaptive database cache. In VLDB, pages 718--729, 2003. Google ScholarDigital Library
- K. Amiri, S. Park, R. Tewari, and S. Padmanabhan. Dbproxy: A dynamic data cache for web applications. In U. Dayal, K. Ramamritham, and T. M. Vijayaraman, editors, ICDE, pages 821--831. IEEE Computer Society, 2003.Google Scholar
- E. Benson, J. Meyer, and B. Moschel. Embedded JavaScript. http://embeddedjs.com/.Google Scholar
- L. Breslau, P. Cue, P. Cao, L. Fan, G. Phillips, and S. Shenker. Web caching and zipf-like distributions: Evidence and implications. In In INFOCOM, pages 126--134, 1999.Google ScholarCross Ref
- B. Chidlovskii and U. M. Borgho . Semantic caching of web queries. The VLDB Journal, 9(1):2--17, 2000. Google ScholarDigital Library
- S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, and X. Zheng. Secure web applications via automatic partitioning. SIGOPS Oper. Syst. Rev., 41(6):31--44, 2007. Google ScholarDigital Library
- S. Dar, M. J. Franklin, B. T. Jonsson, D. Srivastava, and M. Tan. Semantic data caching and replacement. In VLDB '96: Proceedings of the 22th International Conference on Very Large Data Bases, pages 330--341, San Francisco, CA, USA, 1996. Google ScholarDigital Library
- P. M. Deshpande, K. Ramasamy, A. Shukla, and J. F. Naughton. Caching multidimensional queries using chunks. In SIGMOD '98: Proceedings of the 1998 ACM SIGMOD international conference on Management of data, pages 259--270, New York, NY, USA, 1998. ACM. Google ScholarDigital Library
- F. Duarte, B. Mattos, A. Bestavros, V. Almeida, and J. Almeida. Traffic characteristics and communication patterns in blogosphere. In 1st International Conference on Weblogs and Social Media (ICWSMa Z06), Boulder, Colorado, USA, March 2007. IEEE Computer Society.Google Scholar
- M. J. Franklin, M. J. Carey, and M. Livny. Local disk caching for client-server database systems. In VLDB '93: Proceedings of the 19th International Conference on Very Large Data Bases, pages 641--655, San Francisco, CA, USA, 1993. Google ScholarDigital Library
- M. J. Franklin, M. J. Carey, and M. Livny. Transactional client-server cache consistency: alternatives and performance. ACM Trans. Database Syst., 22(3):315--363, 1997. Google ScholarDigital Library
- C. Garrod, A. Manjhi, A. Ailamaki, B. Maggs, T. Mowry, C. Olston, and A. Tomasic. Scalable query result caching for web applications. Proc. VLDB Endow., 1(1):550--561, 2008. Google ScholarDigital Library
- N. Gerner, F. Yang, A. Demers, J. Gehrke, M. Riedewald, and J. Shanmugasundaram. Automatic client-server partitioning of data-driven web applications. In SIGMOD '06: Proceedings of the 2006 ACM SIGMOD international conference on Management of data, pages 760--762, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- J. Gray, S. Chaudhuri, A. Bosworth, A. Layman, D. Reichart, M. Venkatrao, F. Pellow, and H. Pirahesh. Data cube: A relational aggregation operator generalizing group-by, cross-tab, and sub-totals. J. Data Mining and Knowledge Discovery, 1(1):29--53, 1997. Google ScholarDigital Library
- B. T. Jonsson. Application-oriented bu ering and caching techniques. PhD thesis, University of Maryland, College Park, MD, 1999. Google ScholarDigital Library
- B. T. Jonsson, M. Arinbjarnar, B. Thorsson, M. J. Franklin, and D. Srivastava. ACM Trans. Internet Technol., 6(3):302--331, 2006. Google ScholarDigital Library
- M. Tatsubori and T. Suzumura. Html templates that fly: a template engine approach to automated offloading from server to client. In WWW '09: Proceedings of the 18th international conference on World wide web, pages 951--960, New York, NY, USA, 2009. ACM. Google ScholarDigital Library
- N. Tolia and M. Satyanarayanan. Consistency-preserving caching of dynamic database content. In WWW '07: Proceedings of the 16th international conference on World Wide Web, pages 311--320, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- Y. Wang and L. A. Rowe. Cache consistency and concurrency control in a client/server dbms architecture. SIGMOD Rec., 20(2):367--376, 1991. Google ScholarDigital Library
- F. Yang, N. Gupta, N. Gerner, X. Qi, A. Demers, J. Gehrke, and J. Shanmugasundaram. A unified platform for data driven web applications with automatic client-server partitioning. In WWW '07: Proceedings of the 16th international conference on World Wide Web, pages 341--350, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- F. Yang, J. Shanmugasundaram, M. Riedewald, and J. Gehrke. Hilda: A high-level language for data-drivenweb applications. In ICDE '06: Proceedings of the 22nd International Conference on Data Engineering, page 32, Washington, DC, USA, 2006. IEEE Computer Society. Google ScholarDigital Library
Index Terms
- Sync kit: a persistent client-side database caching toolkit for data intensive websites
Recommendations
The Synonym Processing Mechanism in Web Index
IDEAS '15: Proceedings of the 19th International Database Engineering & Applications SymposiumWeb Index (WIX) is a hyperlink generation system that achieves joining information resources on the web. The WIX system takes a set of pairs of keywords and URLs written in XML (called WIX Files) and join it to the text content of a web page in order to ...
Performance-Enhanced Caching Scheme for Web Clusters for Dynamic Content
In order to improve the QoS of applications, clusters of web servers are increasingly used in web services. Caching helps improve performance in web servers, but is largely exploited only for static web content. With more web applications using backend ...
Develop a shopping mart web application
ITiCSE-WGR '06: Working group reports on ITiCSE on Innovation and technology in computer science educationThe authors' junior/senior CS class at Bridgewater State College implemented a web site similar to the shopping mart found at AMAZON.COM. The application was broken into four assignments which included an email address verifier written in Java, a 5 page ...
Comments