Understanding and Automating Application-level Caching
Resumo
Application-level caching has increasingly been adopted to improve the performance and scalability of web applications. It consists of an additional caching layer that is manually added to the application code in selected locations. Because it requires a manual application analysis and selection of cacheable points as well as implementation, it is a time-consuming and error prone activity. In this paper, we introduce our key contributions in the context of application-level caching: (i) a comprehensive survey and taxonomy of work on this topic; (ii) a qualitative study that captures the state-of-practice of application-level caching, complemented by proposed guidelines and patterns; (iii) an adaptive component that autonomously manages admission of cache content; (iv) a framework that implements our proposal; and finally (v) an evaluation that provides evidence of the effectiveness of our proposal.
Referências
Mertz, J. and Nunes, I. (2017a). A Qualitative Study of Application-Level Caching. IEEE Transactions on Software Engineering, 43(9):798–816.
Mertz, J. and Nunes, I. (2017b). Understanding Application-level Caching in Web Applications: a Comprehensive Introduction and Survey of State-of-the-art Approaches. ACM Computing Surveys (CSUR), 50(6):98:1–34.
Mertz, J. and Nunes, I. (2018). Automation of application-level caching in a seamless way. Software: Practice and Experience. DOI: 10.1002/spe.2571.
Mertz, J., Zapalowski, V., Lalanda, P., and Nunes, I. (2017). Autonomic management of context data based on application requirements. In IECON 2017, pages 8622–8627.
