Article Preview
Top1. Introduction
In recent years, with the development of Service-Oriented Architecture (SOA), Cloud Computing and open platform technologies, providing and using services via the Internet is becoming more and more popular. Therefore, the Internet is evolving into a services-sharing platform from the original information-sharing platform.
As service technologies are developing rapidly, its forms are increasingly diversifying, which include SOAP-based Web Service, RESTful style Web Service, Web Service agreement based on JSON to name a few. Cloud computing also offers several variations of the service-computing model, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS) or Software as a Service (SaaS). Traditional software components, such as RMI and DCOM, can also be regarded as services. Recently, the concept of service is further extended to capabilities shared through the Internet, e.g. Communication as a Service, Security as a Service, and Test as a Service. Some companies even raise the concept of People as a Service, and provide relevant technical support. As a result, Google proposes the concept of Everything as a Service (XaaS). It is not surprising that the quantity of services on the Internet is growing rapidly. For example, the famous open API and Mashup sharing website ProgrammableWeb offers the information of more than 10000 APIs and 7000 Mashups.
Matching or recommending the proper services to users in need becomes a key problem within the process of large-scale service technology application and popularization. It is not surprising that recommender systems and recommendation technologies have been introduced to solve this problem (Zhang, 2007).
Quality-of-Service (QoS) is usually employed for describing nonfunctional characteristics of services (Zeng, 2004). QoS is a combination of several qualities or properties of a service, such as availability, security properties, response time, throughput, etc. The QoS measure is observed by services’ users (Menasce, 2002) or collected by systems automatically. QoS is believed to be the key factor in service selection and composition (Moser, 2008).
Intuitively, QoS evaluation is highly correlated to users’ invocation time, since the service status and the network environment change over time (Zhang & Zheng, 2011), for example the network congestion may occur over a specific time period.
Considering QoS values, existing service recommendation approaches usually use Collaborative Filtering methods. However, most of these methods don’t consider the influence of temporal information on QoS evaluation. A few approaches have been proposed on a temporal-aware Web Service recommendation. One such proposal from Zhang, Zheng and Lyu was a Tensor Decomposition algorithm to predict QoS values (Zhang & Zheng, 2011). However, this method doesn’t perform well on prediction accuracy.
In this paper, we propose a temporal-aware scalable Tensor Decomposition approach to predict QoS values to facilitate service recommendation. We realize the importance of temporal information on QoS prediction, and establish a new collaborative framework. We generate the QoS third order tensor from real-world datasets and use a scalable Tucker Tensor Decomposition method to make full use of temporal and other information from real-world datasets. We can perform the recommendation from the predicted QoS tensor. Experiment in Section IV shows the improvement on recommendation accuracy.
The rest of the paper is organized as follows. Section 2introduces related background such as Collaborative Filtering, Matrix Factorization and Tensor Decomposition. Section 3describes the new collaborative framework we raised and gives the TUCKALS3 Tensor Decomposition algorithm. Section 4 gives the experiments and results. Finally, Section V summarizes the whole paper and discusses future work.