Abstract

Various significant issues in cloud computing, such as service provision, service matching, and service assessment, have attracted researchers’ attention recently. Quality of service (QoS) plays an increasingly important role in the provision of cloud-based services, by aiming for the seamless and dynamic integration of cloud-service components. In this paper, we focus on QoS-satisfied predictions about the composition of cloud-service components and present a QoS-satisfied prediction model based on a hidden Markov model. In providing a cloud-based service for a user, if the user’s QoS cannot be satisfied by a single cloud-service component, component composition should be considered, where its QoS-satisfied capability needs to be proactively predicted to be able to guarantee the user’s QoS. We discuss the proposed model in detail and prove some aspects of the model. Simulation results show that our model can achieve high prediction accuracies.

1. Introduction

Cloud computing is a term used to refer to the use of widespread, shared computing resources. It is an alternative to having local servers handle computing applications. Cloud computing groups together a large number of computing servers and other resources, often offering their combined capacity on an on-demand, pay-per-cycle basis. The end users of a cloud computing network usually have no idea where the servers are physically located—they just open their applications and start working [13].

In general, the service resources in cloud computing will include hardware resources (e.g., processors, storage, and networking) and software resources (e.g., web servers, databases, message queuing systems, and monitoring systems). Cloud service types can be abstracted into three layers, namely software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS) [4]. Hardware and software resources form the basis for delivering IaaS and PaaS. The SaaS layer at the top focuses on application services by making use of services provided by the lower layers. PaaS/SaaS services are often developed and provided by third-party service providers who are different from the IaaS provider.

Therefore, matching the cloud-service components to the users’ quality of service (QoS) is very important because user experience is a principal reason for promoting the development of cloud computing. For each user request, the provider should select an appropriate composition of cloud-service components to serve the user if there is no single cloud-service component that satisfies the user’s QoS perfectly. This will require predictions to be made about the QoS satisfaction for compositions of cloud-service components.

Wang et al. [5] propose a composition method for selecting cloud-based web services from candidate services, changing a single service into a more powerful composite service, which uses the Skyline operator and Particle Swarm Optimization. Javadi et al. [6] investigate cloud-computing resource provision to extend the computing capacity of local clusters in the presence of failures. Their three steps in resource provision include resource brokering, dispatch sequences, and scheduling. Benouaret et al. [7] present an approach to composing Data Web services automatically while taking into account user preferences, which is based on fuzzy sets and top-k optimization. Liu et al. [8] introduce a scheme to address the particularities of manufacturing-resource service composition and optimization, where the user’s QoS is considered. Zhang et al. [4] present an investigation of an intelligent decision-support system for selecting cloud-based infrastructure services to choose the best mix of service offerings from an abundance of possibilities. Although those papers discuss the composition of cloud-service components, QoS-satisfied predictions are not considered.

Huang et al. [9] introduce a method for addressing the problem of composing a sequence of service components for QoS-guaranteed service provision in a virtualization-based cloud-computing environment. Huang et al. [10] designs a suboptimal resource-allocation system in a cloud-computing environment, and a corresponding prediction mechanism is realized by using support-vector regression to estimate the resource utilization. Di and Wang [11] propose a fully distributed, VM-multiplexing resource-allocation scheme to manage decentralized resources. Jiang et al. [12] propose a new method for cloud-capacity planning, with the goals of utilizing the physical resources fully and providing an integrated system with intelligent cloud-capacity prediction.

The Markov model (MM), particularly the hidden Markov model (HMM), has been shown to be a good technique for solving prediction problems. Zhang and Pathirana [13] present an adaptive HMM for identifying underlying path losses. Choi et al. [14] present a sparsely correlated HMM for assessing multiple genomic datasets. Botev et al. [15] present a versatile Monte Carlo method for estimating multidimensional integrals, with application to rare-event probability estimation. Xie et al. [16] present a new structurally discrete approach to predicting network traffic called the nested hidden semi-Markov model, which includes a nested latent semi-Markov chain and one observable discrete stochastic process. However, further research into QoS-satisfied capability should be considered.

This paper focuses on QoS-satisfied predictions for compositions of cloud-service components, based on the HMM and our previous work [1719]. The remainder of this paper is organized as follows. In Section 2, the basic model used in later discussion is presented. In Section 3, we propose a QoS-satisfied prediction model and explain it in detail. In Section 4, the simulation and analysis are discussed. Finally, we conclude the paper in Section 5.

2. Basic Model

The MM is a statistical model with a wide area of application. Many other Markov models are derived fundamentally from MM, including the HMM and the semi-Markov model. The HMM is used extensively for performance modeling and performance-prediction analysis, where the HMM can predict the future state of a target system based on its current state. In reality, because the relationship between the observed time and the observed state is not one to one, a group of probability distributions for two stochastic processes are involved, called the HMM.

In an HMM, the states are not observable, but when we visit a state, an observation is recorded that is a probabilistic function of the state. We assume a discrete observation in each state from the set where is the observation or emission probability. We also assume a homogeneous model for which the probabilities do not depend on . The values thus observed constitute an observation sequence . The state sequence is not observed directly (being “hidden”), but it should be possible to infer it from the observation sequence . An example of an observable model for an HMM is shown in Figure 1, where and if and otherwise. To summarize and formalize, an HMM has the following elements:(1): the number of states in the model (2): the number of distinct observation symbols in the alphabet(3) State transition probabilities: (4) Observation probabilities: (5) Initial state probabilities: and are implicitly defined by the other parameters, leaving as the parameter set for an HMM. Given , the model can be used to generate an arbitrary number of observation sequences of arbitrary length, but we are usually interested in the other direction, namely, that of estimating the parameters of the model given a training set of sequences.

3. Proposed QoS-Satisfied Prediction Model for Cloud-Service Composition

In this section, we propose a prediction model for cloud-service composition based on an HMM. We first present an overview of cloud-service composition and then give details of the prediction model.

3.1. An Overview of Cloud-Service Composition and Matching

The key roles played in a cloud environment are those of the service user and the service provider. The cloud-service user needs anytime, anywhere QoS-satisfied and low-cost services that are flexible and easy to use. The important hurdles to users adopting cloud services involve security, availability, and reliability. We should therefore assess the QoS-satisfied capability for each service provision generated by matching cloud-service components with the users’ QoS. Sometimes, if a single cloud-service component does not satisfy the users’ QoS, multiple cloud-service components should be composed to provide a more complex service. General flowcharts for cloud services and for a cloud-service component-matching model are shown in Figures 2 and 3, respectively.

3.2. QoS-Satisfied Prediction Model

We propose a QoS-satisfied prediction model based on an HMM to predict whether a composition of cloud-service components can satisfy the user’s QoS. Using the basic HMM model, we assume that the QoS capability of cloud-service components is a state set , where is the observation probability of obtaining when the composition state is and is a sequence of obtained values. To reduce the complexity of calculation for , we define a forward variable

The three stages of its recursion are shown in Figure 4(a) and described as follows.

(1) Initialization:

(2) Recursion:

Proof

(3) End: Similarly, we define a backward variable The three stages of its recursion are shown in Figure 4(b) and described as follows.

(1) Initialization:

(2) Recursion:

Proof

(3) End: From these forward and backward variables, we have

We therefore obtain , which is a functional extremum problem. Because the length of the training sequence is limited, there is no optimal method for estimating . Therefore, recursion is used to achieve a maximum local value for , thereby obtaining the model parameter set .

We define as the probability of being in at time and in at time , given the whole observation sequence and the model parameter set . Then

Proof
Thus, the probability of being in at time is therefore given by where denotes the mathematical expectation of transition from state . Therefore, the probability of transition from to is given by In state , the probability of observing is given by
We therefore obtain a new model , where , , , and . We can prove . The training process is repeated, and the model parameters are adjusted gradually until converges. Finally, we obtain the prediction model , which is used to assess the QoS-satisfied capability for compositions of cloud-service components.

4. Stimulation Experiment and Analysis

To check the feasibility of the proposed QoS-satisfied prediction model, we constructed a simulation experiment based on a cloud-computing experimental platform at our university. The simulation system included more than 100 cloud-service components, such as adaptable components and servers, and the open-source Eucalyptus system was adopted.

Using our simulation system, we designed three cloud storage services whose QoS were different to check the prediction model. First, we trained the prediction model by adjusting the model parameters gradually, using a machine learning algorithm based on a support vector machine (SVM). In the SVM, the penalty factor , the kernel function parameter , and the boundary range were set to 1024, 1024, and 0.0097, respectively. After obtaining the model parameter set , we achieved the prediction model . We then made predictions for the three cloud storage services by using the prediction model and acquiring their simulated results. The simulation experiment was run 10 times to produce average results. The QoS-satisfied capabilities for the prediction values and observation values of the three cloud storage services (, , and ) are shown in Figures 5 and 6, respectively. The comparison between actual and observed values for service is shown in Table 1, where the selected observation times from 74 onwards show the acquisition of a stable observed effect.

Note that the error is small (no more than 0.01%). This is because there is a stable network environment, without any other factors’ effects in our simulated system. In reality, a larger error would be expected. However, it should be able to satisfy the user’s QoS requirements in most cases.

5. Conclusions

Cloud computing refers to the use of shared computing resources and is an alternative to having local servers handle user applications. A match between cloud-service components and users’ QoS is therefore very important if user experience is the basis for promoting the development of cloud computing. If no single cloud service satisfies the user’s QoS perfectly, a composition of multiple cloud-service components should be considered, which should also include predicting the QoS satisfaction of the composite service. This paper presents a QoS-satisfied prediction model based on an HMM to assess the QoS-satisfied capability for compositions of components. We discuss the proposed model in detail and prove aspects of the model. Simulation results show that our model can achieve high prediction accuracies. In future work, we will introduce heterogeneous cloud services into the system and develop the prediction model to make it a better fit with real applications.

Acknowledgments

The authors would like to thank the reviewers for their detailed reviews and constructive comments, which have helped improve the quality of this paper. This work was supported in part by National Natural Science Foundation of China (NSFC) under Grant no. 61003035 and no. U1204614, in part by the Plan for Scientific Innovation Talent of Henan Province under Grant no. 124100510006, and in part by the Science and Technology Development Programs of Henan Province under Grant no. 112102210187, in part by the Youth Foundation of Henan University of Science and Technology under Grant no. 2011QN51.