International Journal of Software Engineering and Knowledge Engineering, cilt.33, sa.9, ss.1405-1438, 2023 (SCI-Expanded)
Data-intensive Web Applications built using client-server architectures usually provide prefetching mechanisms to enhance data accessibility. Prefetching is a strategy of retrieving data before it is requested so that it can be ready when the user requests it. Prefetching reduces the load on the web server by making data available before the user requests it. Prefetching can be used for static content, such as images and web pages, as well as dynamic content, such as search results. Prefetching can also be used to improve the performance of web applications, as the data is available quickly. There are several scheduling methods, such as time-based scheduling, event-based scheduling and priority-based scheduling, for prefetching to ensure that essential data is always ready when the user requests it. In this study, we focus on time-based scheduling for prefetching. We introduce time-based scheduling methodologies using sequential pattern mining techniques and long-term short memory-based deep learning strategies. To show the usefulness of these strategies, we develop a prototype application. We conduct an extensive experimental study to evaluate the performance of the proposed time-based scheduling methodologies using both performance and accuracy metrics. Based on the computed metrics, using proposed prefetching methods provided a promising cache hit rate when using the optimal cache size. The results show that the proposed prefetching methodologies are useful in data-intensive web applications for enhancing data accessibility. Work remains to investigate the use of attention-based sequence-to-sequence models in the web prefetching domain.