posite service, the following issues need to be considered in predicting network delay for the composition. 1. Prediction Accuracy. Accurate prediction of network.
Geographic Location-Based Network-aware QoS Prediction for Service Composition Yuanhong Shen, Jianke Zhu, Xinyu Wang∗ , Liang Cai, Xiaohu Yang, and Bo Zhou College of Computer Science, Zhejiang University, Hangzhou, 310027, China Email: {yhshen, jkzhu, wangxinyu, leoncai, yangxh, bzhou}@zju.edu.cn
Abstract—QoS-aware service composition intends to maximize the global QoS of a composite service while selecting candidate services from different providers with local and global QoS constraints. With more and more candidate services emerging from all over the world, the network delays often greatly impact the performance of the composite service, which are usually not easy to be collected before the composition. One remedy is to predict them for the composition. However, new issues occur in predicting network delay for the composition, including prediction accuracy and on-demand measures to new services, which affect the performance of network-aware composite services. To solve these critical challenges, in this paper, we take advantage of the geographic location information of candidate services. We propose a network-aware QoS (NQoS) model for the composite service. Based on that, we present a novel geographic location-based NQoS prediction approach before composition, and a NQoS re-prediction approach during the execution of the composite service. Extensive experiments are conducted on the real-world dataset collected from PlanetLab. Comparative experiment results reveal our approach facilitates to improve the prediction accuracy and predictability of the NQoS values, and increase global NQoS of the composite service while ensuring its reliability constraints. Keywords-QoS-aware service composition; geographic location; network; performance prediction; re-selection
I. I NTRODUCTION In Service-Oriented Computing (SOC), service composition aims to select and integrate the different existing candidate services (CSs) from the distributed environment into a composite service [1]. As the number of CSs with equivalent functionalities from different service providers grows, Quality of Service (QoS) [2] is employed to distinguish these CSs. QoS-aware service composition aims to find the best combination of services that maximize the global QoS of the composite service while satisfying local and global QoS constraints defined by users. With the rapid development of cloud computing, more and more services are published in open environments across Internet [3, 4], where the composite service is often invoked as a decentralized model [5, 6]. During the execution of a composite service, messages or large amount of data like videos often need to be routed between adjacent services across intercontinental networks, instead of between the user and each service. Therefore, network delays (reflected by the network latency [4] and bandwidth [5]), greatly affect the performances of the composite services and should be considered in the QoS of CSs. Usually, it is uneasy to collect
these delays for CSs before the composition. One remedy is to predict them [4, 6]. To increase the performance of the network-aware composite service, the following issues need to be considered in predicting network delay for the composition. 1. Prediction Accuracy. Accurate prediction of network delays of CSs influences the optimal selection of CSs for the composite service, and then affect the performance of the composite service. Most existing prediction methods are based on a great amount of historical network delay information. For example, to predict network latency between a pair of CSs, most of the current prediction methods, e.g., landmark-based approaches [7] or network structured approaches [8] require many existing network latency values between many other pairs of network nodes, and apply coordinate computing or other methods to calculate the latency value between them. With the increasing number and distribution of services in cloud computing environment, more such information is required. Thus, the prediction accuracy may be very low or the predicting procedure cannot be carried out successfully. 2. On-demand Measures to New Services. Most existing prediction methods require multiple on-demand measures to each new CS. For example, to predict network latency and bandwidth between a pair of new CSs, most of the current prediction methods, like [7, 9, 10] require multiple on-demand measures for latency values from landmarks or other network nodes to each of them to determine its accurate network position. With the increasing number and distribution of newly discovered CSs, the overhead of measuring may increase dramatically. In addition, performing many measures to new services increases implementation complexity and may trigger intrusion-detection alerts. Geographic location information can be naturally utilized to indicate the network delay between CSs. This idea is confirmed by our experiments1 to some extent in at least two aspects. In one aspect, it is obvious to see a geographically long route between CSs are more likely to have longer network latency than a geographically short route. In another aspect, we have conformed that two geographically similar routes between CSs are more likely to have similar network latency values, since geographically similar routes 1 http://www.iamresearcher.com/blog/post/66/ ∗ Xinyu Wang is the Corresponding Author
are more likely to share the same IT infrastructures (network workloads, routers and so on). Thus, geographic location information may be utilized to increase the prediction accuracy. In addition, compared with other network positionbased network latency prediction approaches, the geographic location of each CS can be easily determined, since no additional on-demand measures are required. Based on the above analysis, we utilize the geographic location information to predict the network delays for CSs, and integrate our prediction approach to the service composition, consisting of the following three contributions: 1) We propose a network-aware QoS (NQoS) model for network-aware composite service (Section III). The NQoS has included both traditional QoS and network-aware quality attributes (i.e. network latency and bandwidth). In addition, QoS constraints for the composite service are also taken into account. 2) We present a novel geographic location-based NQoS prediction approach for new CSs based on NQoS values of executed services and geographic location information of routes between executed services (Section IV). Using our prediction approach, more accurate NQoS values can be forecasted for CSs before composition. 3) We propose a NQoS re-prediction approach to adjust the predicted NQoS values with the change of context information during the execution of the composite service (Section V). Therefore, more accurate NQoS values of CSs can be forecasted before execution, and the performance of the composite service can be optimized continuously. Our evaluations are conducted based on our real-world network performance dataset collected from PlanetLab. In our evaluation, we show that our prediction and re-prediction approach outperform other existing approaches especially with few historical NQoS values and no on-demand measures, and therefore optimize the performance of the composite service. II. R ELATED WORK In SOC, the problem of QoS-aware service composition was often modeled as constraint optimizing problems and solved by (mixed) linear inter-programming [2], genetic algorithms [11–13](GAs) or hybrid approaches [14]. In recent approaches, the service execution contexts, including bandwidth [15], policy context [16], device context [13], etc, are also considered in the QoS models for the composition problems. In cloud computing environments, point-to-point network delay [17], including network latency between adjacent services [4] is also considered in service compositions. In their models, the QoS of a service is input-dependent, and the selection or execution of one service will influence the QoS of another service in the composite service. Compared with these works, our QoS model focuses on the networkaware services in SOC and takes both network latency and bandwidth into account, and also considers the reliability
constraints of tasks in the composite service. Based on the QoS model, many composition mechanisms have been proposed to increase the global QoS or availability of composite services in undetermined or dynamic environments, including service backup [18, 19], service re-selection [12, 20], network delay prediction [4, 6], etc. Our approach also adopts these composition mechanisms in order to increase the efficiency, availability and scalability of network-aware service composition. Current network delay prediction methods can be divided into coordinate computing methods and non-coordinate methods. In coordinate computing methods, the network position for each network node is iteratively computed based on multiple on-demand measures or historical latency information. Then the network latency between any network nodes can be predicted using the Euclidean distance between the network locations of the nodes. Among the coordinate computing method, triangulated heuristic [7], global network positioning (GNP) [7], and Vivaldi [9] are three widely employed approaches. The approach in [4] adopts Vivaldi to measure network distance between different nodes for service composition, and choose the services that can fulfill the current task and are close to the network location of their preceding service. However, it has some weaknesses: 1) as shown in our experiment below, determining accuracy network locations requires many measures to new services; 2) it focuses on reducing network latency between services, and neglect some other QoS and QoS constraints (e.g., bandwidth and reliability constraints). The commonly used noncoordinate methods includes Internet Iso-bar [21], iPlane [8], OASIS [22], etc. Iso-bar [21] and iPlane [8] require additional hosts or a large number of on-demand measures for local latency information to calculate required global latency values. The approach in [10] is a non-coordinate method for bandwidth prediction, where the bandwidth from each network node to each landmark is used to determine each node’s bandwidth vector. Then the bandwidth vectors of two nodes are used to estimate the bandwidth between them in both ways. OASIS [22] maps different portions of the Internet in advance (based on IP prefixes) to the geographic coordinates, and stores the geographic coordinates of the replica closest to each prefix it maps. Then, the geographic location information can be used to predict the network latency between users and replicas. We also used geographic location information for latency prediction. In our approach, we predict the latency value for a new pair of CSs by composing the latency values of historical geographically similar routes between CSs, instead of mapping portions of Internet in advance. In service QoS prediction areas, the geographic or network locations of services are incorporated into collaborated filtering methods [23–25]. However, it seems that these methods can only be utilized to the Web service response time prediction between one service to each personalized service user, not to the QoS prediction between
Start
service pairs. III. NQ O S M ODEL
CS11
N ETWORK - AWARE C OMPOSITE S ERVICE
FOR
In QoS-aware service composition, one or more CSs are selected to bind each task in the workflow in order to implement a composite service defined by users. The object of the service composite is to maximize the global QoS of the composite service. Therefore, the QoS model of the composite service needs to be defined. Since some quality attributes (i.e., network latency and bandwidth) between adjacent services have not been considered in previous QoS models, we introduce a network-aware QoS (NQoS) model for network-aware composite services. We first model the NQoS for each service in the composite service. Compared with traditional QoS models, the execution time of a service in our NQoS model includes its inner execution time and network delay between it and its next service. The network delay between two services: Sa and Sb (Qdt (Sa , Sb )) can be computed as: A(Sa , Sb ) + l(Sa , Sb ) (1) Qdt (Sa , Sb ) = B(Sa , Sb ) where A(Sa , Sb ) is the amounts of data to be transmitted from Sa to Sb , and B(Sa , Sb ) is the average bandwidth between Sa and Sb . l is the network latency value. If Sa A(Sa , Sb ) equals Sb , is zero. As in [4, 17], QoS attributes B(Sa , Sb ) in the network-aware composite service mainly include the execution time, cost, reliability, etc. We also model the cost for each service. Then we model the NQoS constraints for each task (local constraint) in the composite service. Since other QoS constraints can be easily considered, we focus on modeling the reliability constraints. Since the service resource is rich and network disconnections often occur between service pairs, we employ a service backup mechanism: active strategy [26] for each task in the workflow to ensure the reliability constraints while reducing the overall execution time. As shown in Figure 1, each task in the workflow will associate several services as replicas, which is selected from CSs. Note that all the associated replicas for a task Ti are executed in parallel. Moreover, their execution results will be sent to the master replica of Ti ’s next task: Tj that takes the first received required result as the final result for Ti and re-direct Ti ’s result to Tj ’s other replicas. Once receiving the required result, the replica will be invoked and executed. After that, we model the execution time and cost for each task in the workflow [26, 27] while binding their replicas. Except the network delays, we assume all the other QoS values can be collected directly. Finally, we model the NQoS for the composite service by aggregating the NQoS of each task, which can be calculated according to the workflow structures and user defined weights over the different NQoS attributes [27].
CS12 CS13
T1
Figure 1.
End loop
and
T2
T4
T5
or
T3 S11
S31
S12
S32
S13
S33
T7
T6 S
master replica data/message tramsmission
A workflow for network-aware service composition
IV. G EOGRAPHIC L OCATION -BASED NQ O S P REDICTION Generally, the QoS of each CS needs to be collected for the QoS-aware service composition. With the increasing number of CSs, it is difficult to directly collect some NQoS like network latency and bandwidth for the newly discovered CSs. To tackle this critical problem, we propose a geographic location-based NQoS prediction approach to accurately predict these QoS factors. According to the above NQoS model, a set of CSs (Seta ) are discovered for a task (taska ), and another set of CSs (Setb ) are discovered for its adjacent tasks. NQoS predictions are required between a number of geographically close CS pairs (one is in Seta and the other is in Setb ), and another number of geographically close CS pairs in Seta and Setb . Instead of performing multiple on-demand measures to the CS pair to determine their network positions, our approach only requires the IP addresses (network nodes, ‘nodes’ for short) of the CS pair and maps each node onto a geographic location in a geographical map using latitude and longitude. With the execution of historical composite services, we record the NQoS data and nodes in the route between adjacent executed services. In addition, the location of the nodes along the route and executed CSs are also recorded. To predict the NQoS between a CS pair, our approach is only based on the geographic location information and recorded historical data. A. Network latency Prediction The network latency values are predicted between CSs with or without the nodes along the path p connecting a pair of CSs (p.s, p.d). If the route is unknown, we use a path by connecting the pair of CSs to represent the routing path between the CSs. If a path has been probed with the execution of two historical adjacent services, we record latency and bandwidth values between its end point CSs along with the nodes along the path (measure the path). Since two geographically close routes tend to have similar network latency values, we design a geographic location-based network latency prediction method named “Geography”. To predict the network latency of a novel path pa , a set of measured paths CP (pa ) need to be discovered, each of which may be geographically similar to pa . In order to acquire the candidate similar measured paths, we build
a grid based on the geographical map, and divide the map into multiple buckets. The length and width of each bucket are represented by the differences of longitude and latitude, which are fixed in our empirical evaluation. Then, each node is mapped into a bucket in the map represented by node.bucket. We summarize the process of acquiring the similar measured paths for pa into Algorithm 1, also as shown in Figure 2. Algorithm 1 Acquire the similar measured paths for pa . Input: pa ; Output: CP (pa ); 1: if the nodes in pa are unknown then 2: add a set of virtual nodes (nodes) with different geographic locations in pa , the geographic distance of each adjacent nodes is maxDis; 3: end if 4: get all the nodes: nodes in pa ; 5: for each node do 6: fetch a set of measured paths: Set(node.bucket), such that for each p in the set, ∃ p.node.bucket == node.bucket; 7: CP (pa ) ← CP (pa ) + Set(node.bucket); 8: end for 9: return CP (pa );
Bucket width pa.d pa.d
Bucket length
maxDis
pa.s
pa.s node in the path for prediction (pa) node in the probed path with same bucket as pa's nodes (the passerby nodes of pa are known)
Figure 2.
virtual node in the path for prediction (pa) node in the probed path with same bucket as pa's nodes (the passerby nodes of pa are unknown)
Search for CP (pa )
sim(pa , p) ). Therefore, the lawhere w(pa , p) = exp(− 2σ 2 tency value of the geographically more similar path to pa is set a larger weight in prediction. d(pa )/d(p) is an adjustment factor. If the route of pa is known, d refers to the number of nodes along the path; otherwise, d refers to the geographic distance between end point CSs of the path. Note that threLat can be adjusted, which is initially set to minthre. We increase it by threLat = threLat × 2 until p(pa .l) can be calculated or the maximal threshold threLat > maxT hre reaches. Usually, a geographically long path will be more likely to have large latency than the geographically short path. The geographic similarity sim between two paths pa , pb Therefore, we design another geographic location-based is defined as below: latency prediction method named as “Geonaive”. In this sim(pa , pb ) = (min(d(pa .s, pb .s) + d(pa .d, pb .d), d(pa .s, pb .d) method, to predict the latency between a pair of CSs, we X first discover the historical latency data of CS pairs with a min d(na , nb ))/|nb |, |na | ≥ |nb |, +d(pa .d, pb .s)) + geographic distance between them. Then, we calculate the nb ∈pb na ∈pa average latency per distance based on the discovered data. na 6= pa .s, na 6= pa .d, nb 6= pb .s, nb 6= pb .d Finally, the predicted latency can be estimated based on the (2) latency per distance and the geographical distance between the two CSs for prediction. where na , nb refers to the node in the path, and d(na , nb ) represents the geographic distance between na and nb on B. Bandwidth Prediction the surface of the earth. |na | and |nb | denote the number of nodes with different IPs in pa and pb . The bandwidth data are predicted between CS pairs. We If the nodes along the path pa are unknown, and then try to improve the landmark-based approach [10] by removsim(pa , pb ) is calculated as follows: ing the dependency of on-demand measures. As in [10], the sim(pa , pb ) = (min(d(pa .s, pb .s) + d(pa .d, pb .d), d(pa .s, pb .d) bandwidths for a set of indirect paths joining the CSs via X a landmark need to be acquired to predict the bandwidth +d(pa .d, pb .s)) + dl (nb , pa ))/|nb |, nb 6= pb .s, nb 6= pb .d between a pair of CSs. The indirect paths having more links nb ∈pb common with the path to be predicted are assigned more (3) weights. However, it is difficult to predict the bandwidth between where dl refers to the shortest distance from a node to a line CSs with very few accumulated bandwidth data. Typically, segment on the surface of the earth. Then, we use the bilateral filtering [28] to predict the such indirect paths cannot be detected. Since two geographically close paths are more likely to share the same latency of pa (p(pa .l)): P IT infrastructures, we replace the indirect paths by pa ’s p∈CP (pa ) p.l · w(pa , p)d(pa )/d(p) candidate similar measured paths (CP (pa )) to predict its P , p(pa .l) = (4) p∈CP (pa ) w(pa , p) bandwidth. Therefore, the predictability can be improved. Instead of using on-demand measures, we choose p’s end sim(pa , p) < threLat
point CSs (p.s and p.d) to be the landmarks for each p in CP (pa ). Then, the predicted end-to-end bandwidth for pa (p(pa .B)) can be calculated as below: X w(p) · p.B, sim(pa , p) < threBand p(pa .B) = p∈CP (pa )
(5) where p.B is the bandwidth of p, and w(p) is a normalized weight assigned to p. threBand is the threshold for p. As in [10], w(p) is dependent on the two factors: the delay closeness between the landmarks and pa ’s end point CSs, and the geographic similarity between p and pa . For each p, we express these two factors F (p) as: R sim min min )α if sim(p, pa ) > 0, ( R(p)sim(p, p ) a (6) F (p) = R ( min )α if sim(p, pa ) = 0. R(p)
where R(p) = min(l(p.s, pa .s), l(p.s, pa .d), l(p.d, pa .s), l(p.d, pa .d)). l(x, y) represents the historical network latency between x and y, and Rmin = minp∈CP (pa ) R(p), sim(p, pa ) < threBand. Thus, w(p) can be calculated as follows: F (p) , sim(p, pa ) < threBand (7) w(p) = P p∈CP (pa ) F (p) C. Service Selection Algorithm
The service selection is to maximize the global NQoS of the composite service while selecting CSs for each replica to meet the local NQoS constraints of each task and global NQoS constraints for the composite service. This is an NP problem with multiple constraints and huge search space. We adopt an existing repair genetic algorithm (GA) [11] to solve this problem since the GA seems to be suitable to solve such problems. V. NQ O S R E - PREDICTION With the execution of a composite service, more and more NQoS data will be accumulated. Since the prediction accuracy increases according to the amount of accumulated NQoS information, it is necessary to study the re-prediction based on monitoring service execution contexts during the execution of the composite service. Given Si1 , Si2 ,..., Sini for Ti , the NQoS re-predictions for the network latency and bandwidth are performed between the following pairs of i i services: (Sik , Sj1 )|nk=1 and (Si1 , Sik )|nk=2 , where Tj is Ti ’s subsequent task, and ni is the replica number for each task. A. Re-prediction Algorithm To predict/re-predict NQoS between two services represented by the path pa , the most similar measured path minDis(pa ) to pa are recorded in our proposed Geography approach. During the execution of a composite services, new service execution contexts are monitored continuously for
pa including discovering new NQoS of the measured paths similar to pa . If minDis(pa ) is updated, the NQoS values of pa will be re-predicted, and the new predicted values will be recorded. B. Service Re-selection Algorithm To optimize the performance of the composite service continuously in dynamic environments, service re-selection is necessary. We propose an algorithm during the execution of the composite service to determine whether to invoke the service re-selection algorithm. The algorithm is based on monitoring variations of network latency and bandwidth values for the selected services as a result of performance re-predictions during the execution of the composite service. It is used to determine whether to invoke the service reselection algorithm during the execution of the composite service. Once the performance re-prediction procedure is completed between a service pair in the most recent time, the algorithm is invoked. The algorithm employs pc to denote the current predicted values between a service pair (e.g., pc (l(Siki , Sjkj )) and pc (B(Siki , Sjkj ))) and employs pr to denote the predicted values between a service pair when the most recent service re-selection or selection algorithm is invoked (e.g., pr (l(Siki , Sjkj )) and pr (B(Siki , Sjkj ))). Once thre% proportion of service pairs meet the condition that pc (B(Siki , Sjkj )) pr (l(Siki , Sjkj )) < lT hre or < bT hre, pc (l(Siki , Sjkj )) pr (B(Siki , Sjkj )) a service re-selection procedure will be invoked. In this algorithm, lT hre, bT hre and thre are used to determine what magnitude of context change will lead to a service re-selection process. These parameters can be adjusted to balance the cost of service re-selections and increase of global NQoS for the composite service. The service re-selection procedure is acted on all the tasks to be executed in the composite service. We also adopt the repair GA for the service re-selection. VI. E VALUATION A. Data Collection and Setup To make fair comparison, the real-world cross-regional network performance datasets are required to evaluate the prediction accuracy. In this paper, we selected 622 distributed nodes around the world from PlanetLab. Moreover, we collected 403,916 network latency values by sending the ping messages and 18,519 bandwidth values by sending big data packages from one node to the other between the node pairs in our collection2 . In addition, the IP addresses (nodes) along the path between each node pair are also recorded. As the standard deviation of bandwidths is usually high, we measure the bandwidth for each node pair several times and use the average bandwidth in our experiments. 2 http://www.iamresearcher.com/data/data/210/
We conducted our empirical evaluation on a PC with Intel Core2 Quad 2.19GHz CPU and 2GB memory. We adopt Java language to simulate that each selected node from PlanetLab contains one deployed CS. We assume the network latency and bandwidth values between pairs of nodes equals the collected values from PlanetLab. We use the workflow in Figure 1 for service composition and set the ranges of parameters in our experiment3. We use the database file named “GeoLiteCity.dat”4 to map each CS and node along the paths between each CS pair to a geographical point. To evaluate the performances of our NQoS prediction approaches, we employ three metrics: Mean Absolute Error (MAE) [24], Median Relative Error (MRE) [24], and predictability, which are defined as follows: MAE: This metric is employed to average prediction accuP a |p(pa .x) − pa .x| , where p(pa .x) and pa .x racy. MAE = N denote the predicted and measured network performance values, respectively, for a path: pa . N is number of predicted values. MRE: This metric is median value of all the relative error |p(pa .x) − pa .x| values. MRE = M ediana , which means pa .x 50% of the relative errors are below MRE. Predictability: It is used to measure successful rate of predictions of a prediction approach. For predicting the bandwidth values of a path: pa , the set of geographically similar measured paths: CP (pa ) need to be discovered. If such measured paths cannot be found, the prediction procedure cannot proceed, and the prediction is failed, otherwise, the prediction is successful. B. Performance on NQoS Prediction 1) Network Latency Prediction: The pairwise network latency among CSs can be represented by a 622×622 matrix. For each testing case, we randomly remove the data in the matrix and vary the density of matrix as 0.1%, 0.2%... The data remains in the matrix are assumed to be latency values, as long as the nodes along the routes between CS pairs, and the data removed from the matrix are assumed to be latency values between CSs that are need to be predicted. In each testing case, we randomly choose one latency value to be predicted, and compare our network latency prediction approach with other existing methods. We compare our proposed approaches with several state-of-theart methods including Vivaldi [9], triangulated heuristic [7], iPlane [8], which can predict the network latency using only the historical observations between CSs without extra ondemand measures. Since we do not deploy landmarks in our experiment, in the Triangulated heuristic approach, we assume each end point CS of each measured path can be a landmark. For the iPlane method, we collect the extra latency 3 http://www.iamresearcher.com/blog/post/67/ 4 http://dev.maxmind.com/geoip/install/city
values between adjacent nodes along the path between each CS pair. In our Geonaive approach, historical latency values of CS pairs are discovered if one CS in each pair equals one CS in the CS pair for prediction. Thus, its predictability can be very high. In all our experiments, we set the bucket length to 0.1175, bucket width to 0.1505, minT hre to 1, maxT hre to 1000, maxDis to 20 and σ to 10. Table I shows the performance comparisons on the network latency prediction. When performing Geography approach, we set two situations where the routes between CSs for prediction are known (Geography(known)) or unknown (Geography(unknown)). All the prediction results are calculated from 200 different testing cases. As depicted in Table I, Geography approach outperforms other approaches in increasing prediction accuracy with different matrix densities, and also performs better than other approaches in increasing the predictability (pred.) when the matrix density is very low. When the matrix density is very low, the Vivaldi approach faces the “cold start” problem and its prediction accuracy is based on the setting of initial values in its model to a large extent, thus, may be very low. When the matrix density is above 2%, the predictability of Vivaldi approach is 100%, which means the paths from other network nodes to each CS in all the CS pairs have been measured as least once, in that case, the prediction accuracy of Vivaldi approach is still far below the accuracy of Geography. It shows the effect of incorporating geographic location information of pairs of CSs into network latency predictions, which increases prediction accuracy and predictability. The prediction accuracy and predictability increases according to the increase of matrix density in our method. In addition, if the routes between pairs of CSs for prediction (more geographic location information) are known before composition, the prediction performance will be more improved. 2) Bandwidth Prediction: The bandwidth values are collected from pairs of CSs from 350 of the 622 CSs. We construct a similar matrix and perform the bandwidth prediction procedure. If the bandwidth value between a pair of CSs is known, then the latency value between them is also known. We let the routes between pairs of CSs for prediction be unknown, and test the performance of our prediction approach with different values of threBand and get the results as shown in Table II. When threBand equals zero, our approach resembles the approach in [10]. However, when threBand equals zero, no indirect paths can be collected based on our little historical information according to our testing. Thus, our approach can improve predictability in most cases. Each result is also acquired from 200 different testing cases. According to the results in Table II, the prediction accuracy of our approach increases according to the decrease of the value of threBand in most cases, while the predictability in-
Table I P ERFORMANCE COMPARISONS ON THE NETWORK LATENCY PREDICTION Approaches Geography(known) Geography(unknown) Vivaldi [9] Triangulated [7] IPlane [8] Geonaive
Density=0.1% MAE MRE Pred. 27.520 0.119 0.710 31.270 0.103 0.335 109.041 0.540 0.225 N/A N/A 0.000 19.580 0.205 0.020 136.000 0.243 0.715
Density=0.2% MAE MRE Pred. 27.266 0.140 0.815 31.588 0.139 0.470 120.672 0.667 0.520 2.482 0.014 0.005 92.530 0.389 0.105 50.932 0.209 0.905
Density=1% MAE MRE 19.366 0.078 20.454 0.120 94.348 0.519 109.749 0.180 70.931 0.239 31.936 0.155
Density=2% MAE MRE 17.595 0.060 20.171 0.100 80.996 0.395 133.685 0.452 86.401 0.257 31.820 0.159
Pred. 0.880 0.620 0.990 0.105 0.655 0.985
Pred. 0.900 0.770 1.000 0.330 0.905 0.980
Table II BANDWIDTH PREDICTION RESULTS Pred. 0.040 0.125 0.325
Density=2% MAE MRE 46,112.64 0.387 63,220.62 0.440 63,350.90 0.521
creases according to the increase of the values of threBand. It shows the effect of using geographic location information in increasing prediction accuracy. In addition, a user can choose different values of threBand based on its tradeoff between accuracy and predictability, which makes our approach flexible. 3) Effects in the Performance of Composite Services before Execution: The accuracy of NQoS prediction may influence the optimal selection of CSs for the composite service, and then influence the performance of the composite service. Thus, this experiment intends to analyze our NQoS prediction approach in the performance of composite service before execution. Based on the prediction approaches, we compare the performances (actual global NQoS) of the composite service after performing five service selection procedures using the five comparing network latency prediction approaches for the same set of pairs of CSs in the networks. All the prediction approaches are based on the same records of bandwidth values in the matrix. We use our bandwidth prediction approach to acquire required bandwidth values between pairs of CSs in all the five service selection procedures. We assume all the routes between pairs of CSs for prediction are unknown. When all the required NQoS values between CSs are acquired using the five prediction approaches between pairs of CSs, the actual global NQoS of the composite service can be computed after performing the same service selection algorithm. We compare the actual global NQoS of the composite service as the simulated number of tasks in the workflow and the number of simulated CSs for each task varies. To vary the number of tasks in the workflow, we construct different number of blocks of the workflow in Figure 1 with different tasks. In this way, we can construct different workflow whose task number ranges from 1×7 to 7×7. We set the matrix density to 1% in NQoS prediction in this experiment. We set the value of threBand to 200 in this and the following experiments. We let the routes between
Pred. 0.080 0.175 0.370
Density=3% MAE MRE 51,869.68 0.286 64,780.10 0.431 60,846.84 0.434
Density=4% MAE MRE 69,964.61 0.464 70,172.65 0.510 68,600.60 0.474
Pred. 0.095 0.205 0.390
0.71
0.7
Pred. 0.115 0.220 0.405
0.675 Geography Vivaldi Triangulated Iplane Geonaive
Geography Vivaldi Triangulated Iplane Geonaive
0.67 0.665
0.69
Actual global QoS
50 100 200
Density=1% MAE MRE 34,938.62 0.384 64,467.48 0.404 68,994.46 0.447
Actual global QoS
threBand
0.68
0.67
0.66
0.66 0.655 0.65 0.645 0.64 0.635
0.65 0.63 0.64 15
20
25
30
35
40
45
50
Num. of CSs for each task (task num: 7)
Figure 3.
0.625 7
14
21
28
35
42
49
Task num. in the workflow (12 CSs per task)
Actual global NQoS vs. CSs per task and tasks
CSs for prediction be unknown and each result is averaged over five different testing cases in all the experiments below. As depicted from Figure 3, Geography approach has more effect in increasing the actual global NQoS of the composite service than other approaches. With the increase of number of CSs for each task, the benefit of Geography approach is more obvious. C. Effects of the NQoS Re-prediction in the Performance of Composite Services after Execution This experiment intends to analyze our NQoS reprediction approach in the performance of composite service after execution. Based on the re-prediction approaches, we compare the performances (actual global NQoS) of the composite service after execution after performing five service re-selection procedures using the five comparing network latency re-prediction approaches. With the execution of a composite service, the newly predicted NQoS values between selected services are recorded, thus, our service re-selection algorithm may be invoked at times after performing the reprediction procedure and the service selection algorithm. We also compare the actual global NQoS of the composite service as the simulated number of tasks in the workflow or the number of simulated CSs for each task varies. We set
0.7
18 16
Re−selection times
0.69
Actual global QoS
model and focus on predicting network delays at different times in one day for service composition.
20 Geography Vivaldi Triangulated Iplane Geonaive
0.695
0.685 0.68 0.675 0.67 0.665
Geography Vivaldi Triangulated Iplane Geonaive
14
VIII. ACKNOWLEDGMENTS
12
This research was sponsored in part by NSFC Programs (No.61103032, 61103105 and 91120302) and the National 973 Fundamental Research and Development Program of China under the Grant 2009CB320701.
10 8 6
0.66
4
0.655
2
0.65 7
14
21
28
35
0 7
42
Task num. in the workflow (12 CSs per task)
14
21
28
35
42
Task num. in the workflow (12 CSs per task)
Figure 4. Actual global NQoS vs. tasks and re-selection times vs. tasks (12 CSs per task, lT hre: 0.95, thre: 0.04)
0.71
6
5
Re−selection times
Actual global QoS
0.7
0.69
0.68
0.67
0.66 Geography Vivaldi Triangulated Iplane Geonaive
0.65
0.64 15
20
25
30
35
40
45
4
3
2 Geography Vivaldi Triangulated Iplane Geonaive
1
0 15
50
Num. of CSs for each task (task Num: 7)
20
25
30
35
40
45
50
Num. of CSs for each task (task Num: 7)
Figure 5. Actual global NQoS vs. CSs per task and re-selection times vs. CSs per task (task number: 7, lT hre: 0.95, thre: 0.04)
the matrix density to 1% in network latency and bandwidth prediction in this experiment. As depicted from Figures 4−5, our NQoS re-prediction approach has more effect in increasing the actual global NQoS of the composite service than other approaches. With the increasing number of tasks in the workflow, the benefit of Geography approach is obvious. In addition, Geography approach requires less times of re-selections during the execution of the composite service. VII. C ONCLUSIONS
AND
F UTURE W ORK
We have addressed the problem of network-aware service composition in SOC. To deal with the issues of prediction accuracy and on-demand measures in applying network delay predictions to the composition, we have firstly presented a network-aware QoS (NQoS) model for the composite service. Based on that, we have proposed a novel geographic location-based NQoS prediction approach before composition and a NQoS re-prediction approach during the execution of composite services. Comprehensive experiment results revealed our approach facilitates to improve the prediction accuracy and predictability of the NQoS values, and increase global NQoS of the composite service while ensuring its reliability constraints. Currently, we assume that all the CSs do not deploy on private networks and no bandwidth limitations are imposed between node pairs. In future, we will investigate other QoS attributes to improve our NQoS
R EFERENCES [1] X. Ye and R. Mounla, “A hybrid approach to qos-aware service composition,” in ICWS, pp. 62–69, Sept. 2008. [2] L. Zeng, B. Benatallah, A. Ngu, M. Dumas, J. Kalagnanam, and H. Chang, “Qos aware middleware for web services composition,” IEEE Trans. on Software Engineering, vol. 30, pp. 311–327, May 2004. [3] K. Candan, W. Li, T. Phan, and M. Zhou, “Frontiers in information and software as services,” in IEEE Int. Conf. on Data Engineering, pp. 1761–1768, March-April 2009. [4] A. Klein, F. Ishikawa, and S. Honiden, “Towards networkaware service composition in the cloud,” in WWW, pp. 959– 968, April 2012. [5] L.-M. Patcas, J. Murphy, and G.-M. Muntean, “Middleware support for data-flow distribution in web services composition,” in PhDOOS Workshop and Doctoral Symposium, 2005. [6] L. Yang, Y. Dai, and B. Zhang, “Performance prediction based ex-qos driven approach for adaptive service composition,” J. of Information Science and Engineering, vol. 25, pp. 345– 362, Oct. 2009. [7] T. Ng and H. Zhang, “Predicting internet network distance with coordinates-based approaches,” in IEEE Int. Conf. on Computer Communications, pp. 170–179, Nov. 2002. [8] H. Madhyastha, T. Isdal, M. Piatek, C. Dixon, T. Anderson, A. Krishnamurthy, and A. Venkataramani, “Iplane: An information plane for distributed services,” in Symp. on Operating Systems Design and Implementation, pp. 367–380, 2006. [9] F. Dabek, R. Cox, F. Kaashoek, and R. Morris, “Vivaldi: A decentralized network coordinate system,” in SIGCOMM, vol. 34, pp. 15–26, Oct. 2004. [10] M. Malli, C. Barakat, and W. Dabbous, “Landmark-based end-to-end bandwidth inference,” in IEEE Int. Conf. on Computer Communications, pp. 1–2, April 2006. [11] L. Ai and M. Tang, “Qos-based web service composition accommodating inter-service dependencies using minimalconflict hill-climbing repair genetic algorithm,” in IEEE Int. Conf. on eScience, pp. 119–126, Dec. 2008. [12] Y. Shen, X. Yang, Y. Wang, and Z. Ye, “Optimizing qos-aware service composition for concurrent processes in dynamic resource-constrained environments,” in ICWS, pp. 250–258, June 2012. [13] F. L´ ecu´ e, “Optimizing qos-aware semantic web service composition,” in ISWC, pp. 375–391, Dec. 2009. [14] M. Alrifai and T. Risse, “Combing global optimization with local selection for efficient qos-aware service composition,” in WWW, pp. 881–890, April 2009. [15] D. Tsesmetzis, I. Roussaki, and S. Efstathios, “Modeling and simulation of qos-aware web service selection for provider profit maximization,” Simulation, vol. 83, pp. 93–106, Jan. 2007. [16] T. Zhou, X. Zheng, W. Song, X. Du, and D. Chen, “Policybased web service selection in context sensitive environment,” in IEEE Congress on Services, pp. 255–260, July 2008.
[17] Z. Ye, X. Zhou, and A. Bouguettaya, “Genetic algorithm based qos-aware service composition in cloud computing,” in Database Systems for Advanced Applications, pp. 321–334, April 2011. [18] T. Yu and K. J. Lin, “Adaptive algorithms for finding replacement services in autonomic distributed business processes,” in Int. Symp. on Autonomous Decentralized Systems, pp. 427– 434, April 2005. [19] F. Wagner, B. Klopper, and F.Ishikawa, “Towards robust service compositions in the context of functionally diverse services,” in WWW, pp. 969–978, April 2012. [20] G. Canfora, M. di Penta, R. Esposito, and M. Villani, “Qosaware re-planning of composite web services,” in WWW, pp. 121–129, July 2005. [21] Y. Chen, K. Lim, R. Katz, and C. Overton, “On the stability of network distance estimation,” ACM SIGMETRICS Performance Evaluation Review, vol. 30, pp. 21–30, Sept. 2002. [22] M. J. Freedman, K. Lakshminarayanan, and D. Mazieres, “Oasis: Anycast for any service,” in USENIX/ACM Symp. on Networked Systems Design & Implementation, May 2006. [23] X. Chen, X. Liu, Z. Huang, and H. Sun, “Regionknn: a scalable hybrid collaborative filtering algorithm for personalized web service recommendation,” in ICWS, pp. 9–16, July 2010. [24] J. Zhu, Y. Kang, Z. Zheng, and M. Lyu, “Wsp: a network coordinate based web service positioning framework for response time prediction,” in ICWS, pp. 24–29, June 2012. [25] M. Tang, Y. Jiang, J. Liu, and X. Liu, “Location-aware collaborative filtering for qos based web service recommendation,” in ICWS, pp. 202–209, June 2012. [26] Z. Zheng and M. Lyu, “An adaptive qos-aware fault tolerance strategy for web services,” Empirical Software Engineering, vol. 15, pp. 323–345, Aug. 2010. [27] Z. Zheng and M. Lyu, “A qos-aware fault tolerant middleware for dependable service composition,” in DSN, pp. 239–248, June 2009. [28] C. Tomasi and R. Manduchi, “Bilateral filtering for gray and color images,” in Int. Conf. on Computer Vision, pp. 839–846, Jan. 1998.