Automation of application‐level caching in a seamless way

Summary Meeting performance and scalability requirements while delivering services is a critical issue in web applications. Recently, latency and cost of Internet‐based services are encouraging the use of application‐level caching to continue satisfying users' demands and improve the scalabilit...

Full description

Saved in:
Bibliographic Details
Published inSoftware, practice & experience Vol. 48; no. 6; pp. 1218 - 1237
Main Authors Mertz, Jhonny, Nunes, Ingrid
Format Journal Article
LanguageEnglish
Published Bognor Regis Wiley Subscription Services, Inc 01.06.2018
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Summary Meeting performance and scalability requirements while delivering services is a critical issue in web applications. Recently, latency and cost of Internet‐based services are encouraging the use of application‐level caching to continue satisfying users' demands and improve the scalability and availability of origin servers. Application‐level caching, in which developers manually control cached content, has been adopted when traditional forms of caching are insufficient to meet such requirements. Despite its popularity, this level of caching is typically addressed in an ad hoc way, given that it depends on specific details of the application. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. As a result, application‐level caching is a time‐consuming and error‐prone task, becoming a common source of bugs. Among all the issues involved with application‐level caching, the decision of what should be cached must frequently be adjusted to cope with the application evolution and usage, making it a challenging task. In this paper, we introduce an automated caching approach to automatically identify application‐level cache content at runtime by monitoring system execution and adaptively managing caching decisions. Our approach is implemented as a framework that can be seamlessly integrated into new and existing web applications. In addition to the reduction of the effort required from developers to develop a caching solution, an empirical evaluation showed that our approach significantly speeds up and improves hit ratios with improvements ranging from 2.78% to 17.18%.
ISSN:0038-0644
1097-024X
DOI:10.1002/spe.2571