International Journal of Software Engineering and Knowledge Engineering, 2024 (SCI-Expanded)
A key challenge faced in client-server systems that heavily rely on data is the fast delivery of data to end-users. To address this difficulty, this study presents a novel approach for modeling and forecasting user navigational browsing behavior, to establish an efficient prefetching mechanism. Regarding the approach for representing page visit data, we employ the Word2Vec embedding technique to encode each user's page visit as a numerical vector. Regarding the encoding of browsing activity data, we utilize aggregation on the embedding vectors. These vectors correspond to page visits occurring sequentially and are used to describe each user's browsing behavior using a numerical vector. In the proposed method, machine learning algorithms are employed to analyze and model the browsing behavior of all users. Machine learning models are employed to forecast the next user action during the navigation of data-intensive web and mobile application web pages. Subsequently, we employ this forecast to establish an intelligent prefetching method, which provides the capability of acquiring predicted web page data in proxy servers before it is requested. An experimental study was conducted using a largescale open-source dataset derived from a mobile application used in a coffee shop, containing several hundred thousand sessions from tens of thousands of users over a 10-day period. The evaluation employed metrics such as prediction accuracy which can be called prefetching accuracy and cache hit/miss rates. The machine learning algorithms applied include K-Nearest Neighbor, AdaBoost, Decision Tree, Support Vector Machine, Multi-layer Perceptron, Random Forest, LightGBM, Long Short-Term Memory and Bidirectional Long Short-Term Memory. The purpose of this experimental study was to examine the efficacy of the proposed approach. The findings of the empirical investigation suggest that the proposed method has the potential to provide an efficient prefetching methodology when sufficient user navigational data is available. Hence, the method enhances the performance of data-intensive client-server-based systems.