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.
References
- 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 Scholar
Digital 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 Scholar
Cross Ref
- B. Chidlovskii and U. M. Borgho . Semantic caching of web queries. The VLDB Journal, 9(1):2--17, 2000. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- B. T. Jonsson. Application-oriented bu ering and caching techniques. PhD thesis, University of Maryland, College Park, MD, 1999. Google Scholar
Digital Library
- B. T. Jonsson, M. Arinbjarnar, B. Thorsson, M. J. Franklin, and D. Srivastava. ACM Trans. Internet Technol., 6(3):302--331, 2006. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
Index Terms
Sync kit: a persistent client-side database caching toolkit for data intensive websites





Comments