Research Article
Fuzzy Hybrid Approach for Ranking and Selecting Services in Cloud-based Marketplaces
Department of Computer Science, Landmark University, KM 4 Ipetu Omu-Aran, Omu-Aran, Kwara State, Nigeria
LiveDNA: 234.16668
The popularity cloud computing has led to the proliferation of services that are commoditized and traded via cloud e-marketplaces1-3. An organizations resolution to adopt a new cloud service requires decision support in navigating the vast plethora of services4,5. Without proper articulation of requirements, cloud service selection in the face of so many choices can be overwhelming and leads to service choice overload6-8. Decision support becomes essential because cloud service selection involves the consideration of multiple QoS attributes which are compared among a variety of services; often based on QoS requirements that are vague or subjective in nature5.
Cloud service choice overload can be minimized by using low cognitive demanding decision aids for eliciting user QoS requirements, in a way that captures the vagueness that characterizes human expressions3. Importantly, eliciting users QoS requirements is in two dimensions: QoS preferences and aspiration. Preference describes the users priority, while aspiration is the users desired values for each QoS dimension, both QoS preferences and aspirations are vital factors in the evaluation and selection of cloud services4.
A number of cloud service selection approaches that consider subjectivity in user requirements exist in the literature. However, most of the approach proposed by Esposito et al.9, Yu and Zhang10, Ma and Hu11, Tajvidi et al.12, Sun et al.13, Kwon and Seo14, Zia ur Rehman et al.15 and Wang et al.16, rarely provided mechanisms to elicit both the QoS preferences and aspirations, but rather considers either of them. Besides, some of these approach, for example those provided by Esposito et al.9 and Zia ur Rehman et al.15, require that the users arbitrary assign importance weights to QoS attributes. In contrast to pair wise comparison method, the arbitrary assignment does not accurately reflect the relative importance of the QoS attributes from the users point of view17. Hence, the need for a cloud service selection approaches that effectively elicits users QoS requirements, in a manner that captures the inherently subjective nature of human expressions.
A Fuzzy-Oriented Cloud Service Selection method (FOCUSS) as a fuzzy-oriented decision-making model proposed in this study, for selecting services in cloud e-marketplaces. This model comprises three components: A fuzzy AHP method for deriving priority weights of QoS attributes, a fuzzy decision-making method for obtaining QoS aspiration values and a fuzzy multi-objective optimization-based model for evaluating the service alternatives with respect to user requirements.
RELATED STUDIES
In order to derive priority weights, Esposito et al.9 employed fuzzy set theory to capture the subjectivity in users QoS preferences and ranks services based on a TOPSIS-based method. Tajvidi et al.12 proposed a four-phase framework that handles users subjective QoS preferences and adopts a fuzzy AHP-based technique to rank the services, Ma and Hu11 recommended cloud services to users based on ternary interval numbers (TIN) and Fuzzy-AHP. Yu and Zhang10 proposed QSSSIN–GU as a method for selecting SaaS for group users. The model uses interval numbers to combine vague QoS preferences of group members, meanwhile employing TOPSIS to rank the services. Sun et al.13 proposed a fuzzy framework that uses fuzzy-ontology, Fuzzy-AHP and fuzzy TOPSIS to aid service selection. Kwon and Seo14 present IaaS selection model based on Fuzzy-AHP. The approach by Zia ur Rehman et al.15 ranks services based on the similarity between users preferences and the values of the services properties. Wang et al.16 employ fuzzy synthetic decision to estimate cloud services in accordance with users preferences.
From the summary of related works shown in Fig. 1, approaches in Yu and Zhang10, Tajvidi et al.12, Sun et al.13 and Kwon and Seo14 considers either the users QoS preferences or aspiration, but not both in the evaluation of cloud services. However, Esposito et al.9, Ma and Hu11, Zia ur Rehman et al.15 and Wang et al.16 considered both the QoS preferences and aspirations, but did not consider vague information for both QoS requirement dimensions. In contrast, researchers proposed model captures both QoS requirements dimensions (preferences and aspiration) and also, obtains preference weights by evaluating relative importance of QoS attributes using pair wise comparison, similar to Ma and Hu11, Sun et al.13, Kwon and Seo14 and Kwon and Seo16, as against arbitrary assignment of weights like by Esposito et al.9, Yu and Zhang10, Tajvidi et al.12 and Zia ur Rehman et al.15.
FUZZY-ORIENTED CLOUD SERVICE SELECTION METHOD
The use of fuzzy theory is a potent tool for representing or concepts in a vague or ambiguous way, similar to human expressions18. Therefore, it suffices in capturing the vagueness that embodies QoS requirements of users4,9. The QoS attributes can be characterized as linguistic variables, with which users express QoS preferences and aspiration. In this proposed model, namely Fuzzy-Oriented Cloud Service Selection model (FOCUSS) (Fig. 2), the preference weights were obtained using pair wise comparison method of fuzzy-AHP and the fuzziness in users QoS goals (or aspirations) was elicited and processed as an organization of fuzzy goals and constraints using fuzzy decision making.
Fig. 1: | Summary of related studies |
Fig. 2: | FOCUSS method |
The services were ranked based on fuzzy multi-objective optimization.
Fuzzy AHP: In contrast to crisp numerical values, it is preferable to model the users perception of the relative importance of multiple criteria by defining the comparison ratios as fuzzy numbers19. Exact (or crisp) comparison ratio aij is characterized as a fuzzy number ij in the Fuzzy AHP method and they were defined by the nine linguistic terms from the fuzzified Saatys scale19. The fuzzy priority vector can be obtained by applying prioritization methods. Prioritization is the process of deriving the priority values for column vector from the comparison judgment matrix. Details of the obtaining priority weights contained in the study of Buckley20.
Fuzzy decision making (fuzzy DM): Current study modeled users QoS aspiration as a combination of fuzzy goals and constraints that allow cloud users to articulate QoS aspirations in a way that captures the vagueness in such judgment21. Some illustrations of fuzzy constraints and goal include "the cost of the service should be low" and "cost should be close to k", where the value k is user defined. The linguistic terms "low" and "close to" are subjective descriptions of users judgment. Formally, fuzzy decision making is defined as:
Definition 1: Suppose there are n goals (G1 Gn) and m constraints (C1 Cm), then the resultant decision D is the intercession of goals and constraints, denoted as Eq. 1 and 221:
(1) |
(2) |
According to Eq. 3, the maximizing decision is obtained by the value of x that has the highest membership grade in the decision fuzzy set D.
(3) |
Fuzzy multi-objective optimization (fuzzy MOP): Services was ranked using fuzzy MOP based on elicited users requirements. The goals of the multi-objective optimization are to find the service in the vicinity of an ideal cloud service that has the best values across all QoS dimensions and also closest to users QoS requirements. The sources of fuzziness in the objective functions are the words phrases in the vicinity of and closet to. Two utility functions are defined to evaluate each of the services in accordance to the QoS requirements of the user. The utility functions defined include: Simple addictive weighting and exponential euclidean distance metric. The simple addictive weighting function (4) determines the QoS properties of the service that has the best utility value and exponential Euclidean distance metric identifies those QoS values of services closest to users requirements. Both functions are transformed into fuzzy goal and constraint and solved using the symmetric model proposed by Bellman and Zadeh21:
(4) |
xij | = | jth QoS value of ith service |
wj | = | jth QoS weight |
(5) |
xi | = | Value of the ith QoS properties of the cloud service |
yi | = | Value of the ith user requirements, respectively. |
SERVICE SELECTION USING FOCUSS
The practicality of the proposed model is demonstrated based on a list of 38 Customer Relationship Management (CRM) cloud services proposed by Ezenwoke et al.22. First, the QoS information of the 38 services were fuzzified by representing three ranges of QoS values with linguistic variable and corresponding membership functions (Table 1). The range of values under each linguistic variable for QoS attribute- availability is shown in Table 2.
Apart from the QoS range, users are also allowed to express fuzzy constraints to qualify whatever linguistic term they select. The linguistic hedges and their associated membership functions are shown in Table 3.
In the next sections, the steps of the FOCUSS model are described in selecting cloud service given user requirements shown in Table 4 and 5.
Derive QoS priority weights using fuzzy AHP: The process for deriving weights denoted the relative importance of each QoS attributes was described, thus:
Step 1: Perform pairwise comparison
The user performs a pairwise comparison of the QoS attributes using the fuzzified Saaty comparison scale19 to fill fuzzy comparison matrix is filled as in Fig. 3.
Step 2: Obtain fuzzy weights and crisp equivalent
Weights representing the relative importance of each QoS attributes was obtained from the fuzzy pairwise comparison matrix following the geometric mean method20. The order of relative importance based on the user comparison matrix is as follows reliability>cost>availability>response time (Table 6).
Resolve QoS aspiration using fuzzy DM: The QoS aspiration (Table 5) was resolved as follows:
Step 1: Select QoS goal and constraint for each QoS attribute
The linguistic variable is selected by the user to reflect their aspiration concerning the QoS attributes. In the example presented, users goal for availability QoS attribute is very high, while the constraint is set to "in the vicinity of 98%".
Step 2: Apply fuzzy decision making to find best QoS values
Table 1: | Summary of QoS attributes, fuzzy sets and underlying membership function |
Fig. 3: | Fuzzy comparison matrix |
Table 2: | Linguistic variables and ranges for availability QoS |
Table 3: | Linguistic hedges and membership functions |
Linguistic hedges for QoS valuesMembership function |
Table 4: | QoS pairwise comparison |
Table 5: | Users QoS aspiration |
Table 6: | Users QoS priority weights |
Table 7: | Synthesized QoS goal (aspiration) |
The QoS values (Table 7) were synthesized from users fuzzy estimations by finding the element with the highest membership function from the intersection set of the fuzzy sets that reflect users QoS aspirations. As an example, it is shown that how QoS aspiration for availability was derived.
The QoS goal (i.e., very high) for availability attribute, is represented is denoted as Eq. 6:
(6) |
According to Table 2, l = 90%, m = 95% and u = 100%, respectively correspond to lower, medium and upper values of a fuzzy set, very high. The QoS aspiration constraint, is that "the value of availability QoS should be in the vicinity of 98%" and denoted by Eq. 7:
(7) |
The value of x represents all the possible values of availability QoS contained in the service directory. The intercession of both fuzzy sets is denoted as G∩C in Eq. 8 is solved as Eq. 3. Table 8 summarizes users requirements.
(8) |
Service ranking using fuzzy MOP: Services are ranked following these steps:
Step 1: | Define the fuzzy goal and constraint | |
• | Goal: The utility value of the best service alternative should be "in the vicinity" of the ideal service | |
• | Constraint: The QoS values of the best service alternative should be very close to the users aspiration |
Table 8: | Summary of users QoS requirements |
Table 9: | Optimized QoS values |
Table 10: | Top ten services that match optimal requirements |
Each service in the directory is evaluated using the SAW function Eq. 4. Author define φ as a vector of utility scores. The goal is represented as Eq. 9:
(9) |
where, φi is the performance score of the alternative and ρ, is the performance score of the ideal alternative. The ideal service has the best QoS values. Likewise, the eEUD (5) metrics computes the similarity between the ith alternative and the users aspiration with respect to QoS values, based on the mapping, eEUDi(X,Si): θ ➔ [0,1], where is users QoS aspiration vector and correspond to QoS description vector of a service, 0 indicates absolute dissimilarity and 1 correspond to absolute similarity, author define θ as a vector variable of all similarity values of users requirement to alternatives:
θi = {eEUD (X, si), eEUD (X, s2), , eEUD (X, si)}
where, n corresponds to the number of services available in S. The membership function is expressed as Eq. 10:
(10) |
The elements of the fuzzy set describe by Eq. 10 will have a degree of membership corresponding to the extent to which θi is close to 1. The fuzzy decision set is denoted by:
(11) |
(12) |
The highest degree of the membership inis given by:
(13) |
Step 2: Solve Fuzzy MOP
Based on this, the equivalent is a linear programming odel to be solved is:
Subject to:
(14) |
(15) |
The optimization model was solved with a particle swarm optimization algorithm (PSO). The results obtained were optimal QoS values that best approximates the users QoS requirements with respect to the spread of QoS attributes of 38 services. In this case, obtained values similar to initially synthesized values (Table 9).
Step 3: | Rank services: The final stage is to rank the services in the service directory using optimal QoS values obtained in step 3. This is performed using flat memory technique in case of retrieval, by finding the k-nearest neighbors, for this Eq. 5 was used. Table 10 showed the 10 most suitable CRM services that match user requirements |
The simulation tests the following hypothesis H0: There is a significant difference between the ranking performances of a method that accepts exact numeric QoS values and those that use linguistic descriptors to approximate values for QoS requirements.
Table 11: | Minimum QoS values, maximum QoS values and five test queries for dataset (n = 50) |
Table 12: | Simulation variables, levels, methods and metrics |
Table 13: | Median Ranking Accuracy by NCDG |
Similar to the procedures outlined by He et al.23, the QWS dataset24 was used and it comprises 2,507 services with 9 QoS attributes. For simplicity, only four QoS attributes was used, including reliability, cost, availability and response time, for this evaluation. Since the QWS dataset did not contain values for cost, uniformly distributed values were generated for the cost (interval 10-500: Corresponding to $10-$500). Five groups of datasets were obtained from QWS, resulting in datasets of 50, 100, 350, 750 and 1000 services. QoS aspiration was randomly generated following a uniform distribution from intervals with lower and upper bounds corresponding to the worst and best QoS values respectively, of each of the five groups of the dataset. For example, Table 11 shows the descriptive summary of the dataset (n = 50) and the five QoS requirements randomly generated for it (i.e., dataset, n=50), denoted as Query 1-5.
Similar to the study of Sun et al.13, we chose TOPSIS as a baseline for comparing FOCUSS with an existing approach, exponential weighted distance (eWD)15. The FOCUSS and eWD are similar in their ranking principle and both methods consider users aspiration and preferences. The eWD ranks services based on similarity values between QoS vectors of user requirements and service alternatives. We implemented two versions of FOCUSS (FOCUSS–Lin and FOCUSS–Num). FOCUSS–Lin is the original FOCUSS method that accepts linguistic descriptions, while FOCUSS–Num accepts numeric QoS values. Similarly, versions of eWD to process queries expressed using fuzzy linguistic descriptors were also considered. Consequently, four methods were involved in the simulation experiments (Table 11). The ranking accuracy was measured using Normalize Discounted Cumulative Gain (NCDG) metric. The relevance scores (reli) used in computing the NDCG are performance values for obtained by the TOPSIS method in response to a query.
The factors considered for the simulation whereas follows (Table 12): A number of top-k ranked services (k), the number of service alternatives (n) and the QoS requirements input type. There are six factor levels for k corresponding to (3, 5, 7, 10, 15, 20), while there are also five factor levels for n- (50, 100, 350, 750, 1000). The input types are either exact or linguistic, corresponding to two factors. Equal distribution for priority weights are assumed, such that the weight for each QoS attribute is equal to 1/q (where is the number of QoS criteria been evaluated) and q is equal to 4 (availability, response time, reliability and cost).
The protocols followed in the simulation were as follows:
• | The first step in each approach was to normalize the five decision matrixes, n, using vector normalization so as to keep the values within {0, 1} | |
• | Five QoS requirements were generated for which each method generated a ranking of cloud services from the decision matrix. The queries were also normalized using vector normalization method | |
• | For each combination, the trials were performed five times using the five QoS requirements described in as queries, after which the average for each combination case was taken. In all, 600 solutions were generated (120 data items per QoS query) | |
• | The average values from all metrics for all methods, resulting in 120 data point, were analyzed with descriptive and inferential statistics | |
• | The median ranking accuracy measured by NCDG is shown in Table 13. Both versions of FOCUSS produced better ranking results and are closer to TOPSIS than others. Inferential analysis using the Kruskal-Wallis test (Table 13) showed the significant statistical difference in the accuracy performance of four methods compared [χ2 (3, N = 120) = 27.251, p<0.05]. Furthermore, higher mean rank suggests better accuracy, FOCUSS–Lin had the highest mean rank (M = 77.12), closely followed by FOCUSS–Num (M = 77.02). The method with the lowest mean rank is eWD_Num (M = 43.38). However, there is no significant difference in the input type whether numeric or linguistic (p = 0.925) | |
Table 14: | Summary of Kruskal-Wallis test results |
The results from both the descriptive and inferential analysis presented in the previous section confirms that the two versions of the FOCUSS methods (FOCUSS–Num and FOCUSS–Lin) produce better accuracy results based on the NCDG metric. Furthermore, the ranking of cloud services by the two version of the FOCUSS methods were in all cases closer to the benchmark metric (TOPSIS) than the other two methods used in the simulation experiment. The significantly higher mean rank of the FOCUSS–Lin methods indicates that FOCUSS–Lin produces more accurate rankings than other methods. In addition, expressing QoS requirements using linguistic terms did not compromise the accuracy of the ranking method, as there is no significant difference in the rankings produced by both QoS input types (Table 14), hence, we reject the null hypothesis, H0.
As demonstrated by Esposito et al.9, Yu and Zhang10, Tajvidi et al.12, Sun et al.13 and Kwon and Seo14, expressing QoS requirements using linguistic descriptors that are more akin to human expressions still produce comparably accurate rankings. Therefore, the user experience in service selection from the e-marketplace is enhanced over comparison judgment using crisp numerical values13. The use of only crisp values lacks the flexibility to effective capture vagueness in human judgment and sometimes leads to unsatisfactory decisions19.
Cloud service selection from a plethora of options can be overwhelming and places a huge cognitive demand on the user. This paper contributes a fuzzy-based cloud service selection model that elicits vague QoS preferences and QoS aspirations using linguistic descriptors and ranks the services accordingly. Experiment results confirm that the ranking accuracy of the model is not compromised by users subjective QoS information. Therefore, the proposed model is can be employed to rank and select services in cloud e-marketplaces.
This paper contributes a fuzzy-based cloud service selection model that aids users to articulate their QoS requirements in a manner that caters for the inherent subjectivity in human expressions. This study will be helpful and useful in the improving the quality of user experience in cloud service e-marketplaces by supporting vague user expressions in requirements specification.