Cloud applications built on service-oriented architectures generally integrate a number of component services to fulfill certain application logic. The changing cloud environment highlights the need for these applications to keep resilient against QoS variations of their component services so that end-to-end quality-of-service (QoS) can be guaranteed. Runtime service adaptation is a key technique to achieve this goal. To support timely and accurate adaptation decisions, effective and efficient QoS prediction is needed to obtain real-time QoS information of component services. However, current research has focused mostly on QoS prediction of working services that are being used by a cloud application, but little on predicting QoS values of candidate services that are equally important in determining optimal adaptation actions. In this work, we propose an adaptive matrix factorization (namely AMF) approach to perform online QoS prediction for candidate services. AMF is inspired from the widely-used collaborative filtering techniques in recommender systems, but significantly extends the conventional matrix factorization model with new techniques of data transformation, online learning, and adaptive weights. Comprehensive experiments, as well as a case study, have been conducted based on a real-world QoS dataset of Web services (with over 40 million QoS records). The evaluation results demonstrate AMF’s superiority in achieving accuracy, efficiency, and robustness, which are essential to enable optimal runtime service adaptation.
Read more information about AMF from our publications:
Jieming Zhu, Pinjia He, Zibin Zheng, and Michael R. Lyu, "Online QoS Prediction for Runtime Service Adaptation via Adaptive Matrix Factorization," IEEE Transactions on Parallel and Distributed Systems (TPDS), 2017.
This dataset, as one of our WS-DREAM datasets, offers real-world QoS data of Web services for future research. The dataset consists of about 40.9 million QoS records, with response time and throughput values recorded during the service invocations between 142 users and 4,500 Web services over 64 consecutive time slices, at an interval of 15 minutes. Specifically, the 142 users are set on PlanetLab (a global open platform for distributed systems research) nodes distributed in 22 countries, and the services are 4,500 publicly accessible real-world Web services crawled from the Internet, which are hosted at 57 countries.
The source code of our implementations on AMF (in Python or Matlab) has been publicly released. You can fork it on our GitHub repository. We have implemented 30+ other existing QoS prediction approaches for Web service recommendation in the WS-DREAM project. The code is well structured and can be easily extended to new implementations. Please feel free to contact us if you have any comments or questions regarding the code. We also appreciate any contributions from you.