Energy-Efﬁcient Cloud Service Selection and Recommendation Based on QoS for Sustainable Smart Cities

optimized


Introduction
Cloud computing is based on distributed technology and offers different types of computational resources such as hardware, operating system, and applications to its customers through the Internet on a 24/7 basis and from anywhere in the world [1]. The I.T. giants such as I.B.M., Microsoft, H.P., Google, Amazon, etc., are seen in the cloud market either as a provider or consumer [2]. Cloud technology facilitates its customers to opt for services and reduces the total up-front cost of buying and maintaining the complete infrastructure [3]. There are three main cloud service models: infrastructure as a service (IaaS), 2 of 17 software as a service (SaaS), and platform as a service (PaaS) [4] and the cloud services taken from the provider in the form of "as a service". Through cloud services, databases can be built and accessed for various research areas, e.g., environmental pollution [5], food authentication [6], and building sector [7,8]. In addition, the requirements of each customer are different; therefore, a generalized cloud service selection approach will not be efficient as compared to the customized selection approach, which will incorporate an individual's requirements.
Moreover, the user requirements also depend on multiple criteria, which are, in most cases, often conflicting in nature [9][10][11]. Therefore, selecting cloud services by considers various conflicting criteria at the same time is also a challenge [12]. Cloud services are a tedious part of adopting cloud technology [13,14].
The performance of any cloud service is measured through the value of its quality of service (QoS) parameters [15]. The Service Measurement Index (S.M.I.) [16] has recognized seven QoS attributes and sub-attributes for each cloud service. Some of the attributes mentioned here include reliability, availability, maintainability, agility, accountability, cost, privacy, security, usability, etc. [17]. The QoS attributes are classified into two types: qualitative and quantitative attributes [18,19], which simplifies the identification and recommendation of the service according to user-customized requirements. The service selection process includes the comparison of the services to each other for finding the best service. If in case there are two or more attributes, then the services should consider all the attributes for comparison. The service selection process is directly proportional to the number of services and the number of attributes. Therefore, if the number of services increases or the number of attributes increases, then it becomes a tedious and time-consuming task to compare the services. Thus, a need for a decision-making system that analyzes the services by considering multiple attributes and recommends the best service to the customer [20]. Evolutionary algorithms [21] are found efficient in finding services in selecting services in case of multi-criteria optimization [22]. Existing work proposed by different researchers using an evolutionary algorithm for selecting cloud services is shown in the work of [23][24][25][26]. Some of the papers consider single or limited QoS attributes [27][28][29], while some articles consider multi-criteria [30][31][32] for cloud selecting and ranking cloud services.
In the cloud, there is an enormous list of available services, and all of these services might not be useful for consideration in the process of service selection [33]. Therefore, if the user requirements are taken in advance, then unnecessary services can be filtered in the initial step itself. Even in the case of multiple criteria, the candidate services can be filtered [34][35][36][37] by considering user requirements for all the mentioned criteria.
To support the decision-making process of service selection and recommendation, the contribution in this paper is as follows: 1.
The novel algorithm called cloud service selection and recommendation (CS-SR) is proposed. The algorithm entails four phases, including filtration, evaluation, integration, and last is selection and recommendation. The outcome of CS-SR is two-fold. (a) Offering a QoS-based service selection, (b) reducing overall execution time required to find optimal service; 2.
The filtration phase will reduce unnecessary comparison by filtering out candidate services; 3.
The proposed approach makes use of quantitative and qualitative attributes that will improve the overall efficiency of our selection and recommendation approach; 4.
The proposed CS-SR is compared with the analytical hierarchy process (A.H.P.) [38], efficient non-dominated sorting-sequential search (ENS-SS) [39], and best-worst method (B.W.M.) [40] on the performance parameter: total execution time and the energy consumption used in selecting and recommending the cloud service. The result shows that CS-SR outperforms the compared method. The three existing algorithms are chosen because all three algorithm deals with multi-criteria decision making and finds the optimal solution among the list of available solutions. The research is based on providing energy-efficient cloud service selection recommendation system. The proposed work, in general, is a step toward saving energy through the cloud servers at large and a step toward efficient cloud service selection and ranking system. The research paper's main objective is to improve the performance of the proposed algorithm CS-SR in two areas; energy consumption and execution time. Multiple studies in the past have presented negative impacts of data centers on climate change. It is believed that the carbon footprint of data centers is equivalent to that of the aviation industry. According to a report, there will be approximately 7.2 million operational data centers by 2021 across the world. Talking in terms of heat emission, data centers could contribute 3.2% of the total worldwide carbon emission by 2025 [41]. Therefore, the energy-efficient mechanism proposed in our manuscript ensures a reduction in carbon emission and supports sustainable smart cities.
This paper is planned as follows: Section 2 briefly discusses different approaches proposed by authors. In Section 3, the CS-SR architecture is proposed. Section 4, the CS-SR algorithm, is presented. In Section 5, an illustration of the working of the CS-SR approach with an example is given. In Section 6, the implementation and analysis of the proposed algorithm are discussed. Finally, Section 7 provides an inference drawn, limitation, and future research ideas.

Related Work
The increasing demand for cloud services motivates researchers to explore the research in the area of service selection and ranking. The existing literature discussed below shows the proposed algorithms and approaches for selecting cloud services.
Zheng et al. [42] proposed a ranking framework using QoS in identifying relevant cloud services and also by finding similar users for predicting quality of services values to use time effectively.
Rajkumar et al. [43] designed a SMICloud (Service Measurement Index), and Dewangan et al. proposed WARMS [44], where Ishizaka et al. presented analytic hierarchy process [45] framework using (A.H.P.) [46] to rank services. The ranking process occurs in the following manner: gathered requirements, assigning weightage to attributes, and ranking services.
Jahani and Mohammad Khanli [47] proposed (NSGA SR) to select candidate services and rank them for the multi-objective optimization problem. However, a rank [48] is developed later for improving the ranking process NSGA_SR [49] and also for finding candidate services meeting user's requirements.
Zhang et al. [50] proposed a proficient approach for sorting the solutions for the primary objective function, and the other objective functions can be ignored.
In [51], McClymont et al. use the climbing sorting and deductive approach. In both methods, the deductive sort is found more efficient than the climbing approach.
Roy et al. [52] provided a new approach, known as best order sort (B.O.S.), for selecting and ranking services. The approach depends on two steps for the complete working of the approach. Firstly, all the solutions are sorted for each objective, and secondly, ranks are assigned to the solution. Tang et al. [53] developed a strategy based on the arena's principle for identifying a non-dominated solution to a front. The dominating solution is selected one by one and is placed in the arena, and is known as the arena host. The dominating solution will be the new arena host and will replace the existing solution; otherwise, it is ignored.
In the work of [54], Godse and Mulik talked about some essential parameters required for SaaS selection. The service selection is made using the A.H.P. technique implemented for the case study of salesforce automation. Limam and Boutaba in the work of [55] consider the QoS parameter, such as cost, for designing a trust-based framework to rank SaaS services.
Garg et al. [56] considers cloud services as an MCDM problem and proposed an A.H.P.-based approach for ranking cloud services. In the work of [57], Rehman et al. use the same case study for selecting services in infrastructure as a service (IaaS).
In the work of [58], Sun et al. provided a service selection methodology for MCDM attributes. The author uses a fuzzy-based technique for determining and consolidating relations between the mentioned criteria. In addition, Alabool et al. [59] did a systematic literature survey for different approaches proposed under MCDM.
Whaiduzzaman et al. [60] conducted an extensive literature survey and also compared several multi-criteria decision analysis methods and showed the work through the taxonomic classification of cloud service selection. Mingrui et al. [61] use both the qualitative and quantitative parameters in cloud service selection. The priority related to QoS is also taken into consideration for finding service. The A.H.P. approach is used in the research. The limitation of AHP is that the efficiency of this approach is reduced when this approach is applied for multi-objective optimization problems.
In [62], Jatoth et al. talk about an updated super-efficiency data envelopment analysis for service selection of cloud services, and the evaluation of the ranking process is based on user preferences. In [63], the author extends a gray technique for order of preference and assigns ranks to the services based on the QoS parameter.
The autonomic nature of the cloud [64,65] can result in seamless service selection and address consumer requests efficiently without minimum or no human intervention.
Authors Zhang X et al. developed an efficient non-dominated sequential sorting algorithm ENS-SS [40], achieved multi-objective optimization for QoS service selection. The drawback of this approach is that it provides an efficient solution in case of bi-objectives or problems with three objectives, but if the number of services or objectives is increased, this approach does not yield efficiency. Nawaz F. et al. proposed the best-worst method BWM in cloud service selection to achieve multi-objective optimization by Markov-chain technique [39]. The limitation of BWM is that it does not identify an optimal solution in case of multiple objectives as it will produce varying criteria, non-unique weights that may affect the final decision result though this approach is considered better than the AHP approach.
The literature survey shows that the existing methods are efficient in finding services for the users when the number of services or attributes is less. If the existing approach is applied to a large number of services or multiple criteria are taken, then the efficiency in finding optimal service decreases.

Proposed Architecture: CS-SR
The proposed architecture of cloud service selection and recommendation system CS-SR is shown in Figure 1. The CS-SR has three main objectives: First, it involves a decision-making system (D.M.S.) that takes the request of the user for services, processes the request, and returns the appropriate service to the user. Secondly, our proposed method prevents unnecessary comparison of the services and ranks them. Thirdly, our approach reduces the overall execution time taken to find the best services and also evaluates the energy consumption used in finding optimal service according to customer requirements.
The working of the proposed architecture CS-SR is as follows: the user will send the request for the required services to the decision customers. The D.M.S. in CS-SR architecture helps in reducing the total execution time by removing services that do not fit in the range taken from the user. The Cs-SR architecture also increases the overall accuracy of the service selection and ranking because it considers using both quantitative and qualitative QoS attributes for selecting and ranking of service. The working of the proposed architecture CS-SR is as follows: the user will send the request for the required services to the decision-making system [D.M.S.]. The request of the user consists of two parameters: QoS attributes range and priority for QoS attributes. The user requirement helps the decision-making system (D.M.S.) to understand the user requirements expected from the offered services. The D.M.S. will filter out those services that fit into the range from the service list [1 to N]. The service list is made available to the D.M.S. by the cloud service providers [1 to S]. The services offered by the provider also consist of the QoS parameter value and the feedback received from the experience customers. The D.M.S. in CS-SR architecture helps in reducing the total execution time by removing services that do not fit in the range taken from the user. The Cs-SR architecture also increases the overall accuracy of the service selection and ranking because it considers using both quantitative and qualitative QoS attributes for selecting and ranking of service.
The decision-making system (D.M.S.) helps in ranking the service and provide the optimal service to the user, as shown in Figure 2. The D.M.S. system will act as the central coordinating point by maintaining the request of all the users and concurrently finding out the service for each customer. The D.M.S. gets activated as soon as the user request the service. The user requirements are taken through, and the QoS attributes are taken in range (min, max), and the user priority is related to the QoS attributes. The D.M.S. system is comprised of four phases, i.e., (1) filtration, (2) evaluation, (3) integration and ranking, (4) selection and recommendation. Figure 2 shows the internal working of CS-SR, and the detailed discussion of each stage in CS-SR discussed below: The decision-making system (D.M.S.) helps in ranking the service and provide the optimal service to the user, as shown in Figure 2. The D.M.S. system will act as the central coordinating point by maintaining the request of all the users and concurrently finding out the service for each customer. The D.M.S. gets activated as soon as the user request the service. The user requirements are taken through, and the QoS attributes are taken in range (min, max), and the user priority is related to the QoS attributes. The D.M.S. system is comprised of four phases, i.e., (1) filtration, (2) evaluation, (3) integration and ranking, (4) selection and recommendation. Figure 2 shows the internal working of CS-SR, and the detailed discussion of each stage in CS-SR discussed below.

Filtration Step
The first step where requirements and the priority for the QoS objective taken from the user. The outcome of the filtration step is (1) this step will significantly reduce unnecessary services from the list; (2) this step will help decision-makers in finding optimal service quickly; (3) the filtered candidate service are only those who fit into the user requirements; therefore, it significantly improves the efficiency of the decision maker.

Evaluation of the Fitness Function
The second step involves identifying and assessing the fitness function separately for both the objective and the subjective attributes [59]. The computation of the fitness function is the crucial step for deciding as it has a direct influence on the ranking of the service. The fitness function is calculated for objective function using the QoS attribute, and the priority of the attribute entered by the user and the fitness function in the case of the subjective attribute is the QoS attribute and the feedback collected from the experienced user regarding the service. The feedback of all the services are taken and stored is shared by the provider to the D.M.S. Appl. Sci. 2021, 11, x FOR PEER REVIEW 6 of 17

Filtration Step
The first step where requirements and the priority for the QoS objective taken from the user. The outcome of the filtration step is (1) this step will significantly reduce unnecessary services from the list; (2) this step will help decision-makers in finding optimal service quickly; (3) the filtered candidate service are only those who fit into the user requirements; therefore, it significantly improves the efficiency of the decision maker.

Evaluation of the Fitness Function
The second step involves identifying and assessing the fitness function separately for both the objective and the subjective attributes [59]. The computation of the fitness function is the crucial step for deciding as it has a direct influence on the ranking of the service. The fitness function is calculated for objective function using the QoS attribute, and the priority of the attribute entered by the user and the fitness function in the case of the subjective attribute is the QoS attribute and the feedback collected from the experienced user regarding the service. The feedback of all the services are taken and stored is shared by the provider to the D.M.S.

Integration and Ranking
This step integrates the fitness function computed for both objective and subjective attributes for each service. The rank of the service will depend upon the final value received after the integration of both objective fitness function and subjective fitness function.

Integration and Ranking
This step integrates the fitness function computed for both objective and subjective attributes for each service. The rank of the service will depend upon the final value received after the integration of both objective fitness function and subjective fitness function.

Selection
This step helps in selecting the appropriate service from candidate services. The candidate service having the highest rank is taken as an appropriate or the best service according to the user requirements.
The decision-making system (D.M.S.) will pick the highest-ranked service and will pass the service as the execution to the cloud user.

Assumption Involved in CS-SR
The entities involved in the proposed algorithm (CS-SR) in Section 3 include users, cloud service providers, and the decision-making system. The primary objective of the algorithm is to filter out the candidate services and rank those services.

Modeling Variables Used in CS-SR
The variables used in the CS-SR method are the requirements taken from the user in the pre-defined range (with the minimum and the maximum) QoS attributes [23]. The priority of the QoS attributes requested is also given in numeric form.
The number of cloud users is shown in Equation (1): where U is the set containing the number of users in which u Q is one of the users from the is the total number of users Q requesting the cloud services. The requirements raised by one of the cloud users are shown in Equation (2): where U r refers to the requirements of the user in the given range [min, max]. The u qr[min,max] represents the qth user requirements for the rth attribute taken in range, and M represents the total number of attributes. The QoS priority given by the cloud user is shown in Equation (3).
The priority is taken from the user for each attribute because some attributes are more critical to the user. The attributes with the lowest priority are considered more important than others.
The total number of services is N stored in the service set S, and S j is one of the services from the total services from 1 to N. The service S j also has QoS attributes associated with the service, and there can be total M QoS attributes for the service S j . The QoS attribute q m is one of the QoS attributes for service S j. The cloud services and their QoS attributes offered by the provider are shown in Equations (4) and (5): The candidate set C.S. containing the list of candidate services received after the filtration step, and the feedback associated with each candidate service is shown in Equation (6). s j q j f j represents the jth service with the q m QoS attribute, and F j is the feedback for the service taken from an experienced user.

Filtration of Candidate Service in CS-SR
The user sent the requirement and priority to the decision-making system. The D.M.S. will check the user requirements from the available service list and will return the candidate service, and will store their feedback collected from the service provider. The filtration of the required candidate services is shown in Algorithm 1.

Algorithm 1: Filtration of Candidate Services
Input : U r , S j , P u Ensure : candidate services CS j , feedback (f n S n ); 1 : for all services in S j list do 2 : if S j found in a user-specified range of U r 3 : add S j to set of candidate services 4: end if 5: end for 6: return candidate set and feedback to D.M.S.
The above Algorithm 1 shows that every available service is checked to find if the service matches the user requirement, then it is shown in lines 1 and 2. In case if the available service falls in the required range, it is included in the candidate services set shown in line 3. Lastly, the candidate services with respective feedback are stored in D.M.S. for further action.

Evaluation of Candidate Service in CS-SR
The candidate service received from the filtration step will go for the evaluation step. Here fitness function is evaluated for candidate services by considering both the quantitative and qualitative assessment.
The quantitative assessment of the fitness function is performed using the QoS value of the service assigned, and the priority given by the provider is shown below: The qualitative assessment of the fitness function is performed using the feedback collected for the service:

Integration and Ranking of Candidate Service in CS-SR
As mentioned in Algorithm 2 steps, the total fitness function is calculated by adding FF qn and FF ql from Equations (7) and (8). The ranking of the services is performed based on the service value received from the full fitness function:

Algorithm 2: Integration and Ranking Candidate Services by D.M.S.
Require : FF qn , FF ql Ensure Total Fitness function TFFS i , Ranked services (RS i ); 1 : Summing up. TFFS i = FF qn + FF ql ) 2 : r = 1; 3 : for services S i 4 : if TFFS i > = compared services 5: set Service Rank to R 1 and remove service from comparison 6 : r = r + 1 7: repeat step 3-6 for remaining services 8: end if 9: end for 10: return the rank of candidate services

Selection of Candidate Service in CS-SR
The value of the computed TFFS i for the service will decide its ranking. The service having the highest TFFS i is considered to be the appropriate service or the best service according to the customer requirements.

Illustration of CS-SR through Example
This section shows the overall working of CS-SR. Suppose we have a total of 10 services (s1, s2, . . . , s10). This service list is provided by different cloud providers and only one active user. Each service has at least two quality attributes, and the feedback stored for all these 10 services, which is shown in Table 1.
The user requirements are taken range from them for their desired attributes; for example, in the above Table 1, the range for Attribute 1 given by the user is in between (96-110), and the range for Attribute 2 mentioned by the user ranges between (6)(7)(8)(9)(10). In case the user mentioned the priority for any QoS attributes, he can also mention that in case if there are only two attributes, the user can give only priority high priority to any one of them. In case if we have three attributes, then there should be three priorities represented in the numerical form (1, 2, and 3). In this example, Attribute 1 is given priority 1, and Attribute 2 is given 2nd priority. 10. S10 85 6.5 4 Step 1: As shown in Table 2, we have four filtered candidate services from step 1. These candidate services carry their quality attributes and feedback, and later these candidate services will be used as input for further steps and finally ranking the service Attribute 1 (96-110) and for Attribute 2 (6-10). Step 2: Table 3 shows the fitness function applied for qualitative and quantitative assessment on the filtered services shown in Table 2. The feedback is used for the qualitative evaluation, and QoS are used for the quantitative assessment. Step 3: Table 4 calculates the total fitness value of each candidate service, and rank is assigned to the service. The service that has the highest total fitness value will be ranked 1, and the process continues till all the candidate services are entrusted to their respective rank. Step 4: Based on the total fitness function and ranking of the services, we can see that the S1 has the highest fitness function; therefore, rank 1 is assigned to S1, and S2 has the lowest rank shown in Table 4, and the D.M.S. will send an execution to the user.

Implementation Details
To validate the performance of the CS-SR algorithm, we compare CS-SR with three known algorithms from the literature: A.H.P., ENS-SS [39], and B.W.M. The experiments were carried out on a Windows 10 P.C. with a 3.30 GHz Intel i5 processor and 4 G.B. of RAM. There are two experiments conducted for all four algorithms: In the first experiment, the number of candidate services is increased from  with an increment of 10, and the execution time is calculated for bi-objective [m = 2]. In the second experiment, the number of candidate services is  with an increment of 10, and execution time for multi-objective [m = 5]. The data set used to evaluate the execution time calculated in (milliseconds) is taken from Github. The proposed algorithm CS-SR will find the optimal services even if the number of services or number of objectives is increased.
The performance analysis of the proposed CS-SR approach is performed for two parameters (a) Execution Time: Execution time is the time the user request for the service and the execution (optimal service) the user gets from the system. (b) Energy Computation:-The total amount of energy or power consumed for finding services through execution time.

Analysis of CS-SR through Execution Time
The CS-SR algorithm is compared with three existing approaches A.H.P., ENS-SS, and B.W.M. algorithm [70]. Table 5    with an increment of 10. Table 5 represents the total execution time the CS-SR approach takes in finding the best services according to the user requirements. The execution time increases if the number of candidate services increases. Therefore, we can see from Table 5 and the graph in Figure 3 that for the bi-objective problem, there is a linear increase in the execution time. Table 6 represents the total execution time for all four approaches A.H.P., ENS-SS, B.W.M., and CS-SR for m = 5. Each approach is executed separately for the same number of candidate services from , and the execution time is noted for them.  Table 6 represents the total execution time the CS-SR approach takes in finding the best services according to the user requirements. The execution time increases if the number of candidate services increases. Therefore, we can see from Table 5 Table 5 represents the total execution time the CS-SR approach takes in finding the best services according to the user requirements. The execution time increases if the number of candidate services increases. Therefore, we can see from Table 5 and the graph in Figure 3 that for the bi-objective problem, there is a linear increase in the execution time.  Table 6 represents the total execution time for all four approaches A.H.P., ENS-SS, B.W.M., and CS-SR for m = 5. Each approach is executed separately for the same number of candidate services from , and the execution time is noted for them.

Analysis of CS-SR through Energy Consumption
The energy consumption required for finding the optimal service can be calculated through the execution time. Therefore, the amount of energy consumed using a constant of proportionality calculated using an execution time is obtained in Equation (10). Table 7 shows the energy consumption in (Joules) for each of the algorithms for the service .
where E is the energy consumption, T is the execution time, and α is the constant of proportionality, in this case, α = 1. The above Tables 5-7 shows that for m = 2, A.H.P. has the highest energy consumption and highest execution time, and CS-SR has the lowest energy consumption and lowest execution time. In addition, for M = 5, the CS-SR approach outperforms the other three existing approaches in terms of energy consumption and execution time.
The following Figure 4 is a graph plotted for the energy consumption for four approaches that shows that A.H.P. consumes the maximum energy for both m = 2 and m = 5. CS-SR approach is found as an efficient approach as compared to the other three approaches. The experiment was conducted on CS-SR, A.H.P., and ENS_SS by using a sample size of services from [10-160] with 10 jumps. The total execution time taken by all three algorithms is shown in Figures 3 and 5 and measured against service. The experiments conducted for two attributes in Figure 3 and five attributes in Figure 5, the execution time is evaluated for both the scenario with an increasing number of services. The experiment results in Figure 3 depict the ENS-SS approach is capable of responding initially to the smaller number of services, but the execution time increases later. The A.H.P. approach is also efficient with a lesser number of services but not with a large number of services, and it needs more time to respond and find service. The CS-SR selects are found to be efficient as compared to A.H.P. and ENS-SS in finding an optimal service by reducing execution time. The experiment was conducted on CS-SR, A.H.P., and ENS_SS by using a sample size of services from [10-160] with 10 jumps. The total execution time taken by all three algorithms is shown in Figures 3 and 5 and measured against service. The experiments conducted for two attributes in Figure 3 and five attributes in Figure 5, the execution time is evaluated for both the scenario with an increasing number of services. The experiment results in Figure 3 depict the ENS-SS approach is capable of responding initially to the smaller number of services, but the execution time increases later. The A.H.P. approach is also efficient with a lesser number of services but not with a large number of services, and it needs more time to respond and find service. The CS-SR selects are found to be efficient as compared to A.H.P. and ENS-SS in finding an optimal service by reducing execution time.  The experiment was conducted on CS-SR, A.H.P., and ENS_SS by using a sample size of services from [10-160] with 10 jumps. The total execution time taken by all three algorithms is shown in Figures 3 and 5 and measured against service. The experiments conducted for two attributes in Figure 3 and five attributes in Figure 5, the execution time is evaluated for both the scenario with an increasing number of services. The experiment results in Figure 3 depict the ENS-SS approach is capable of responding initially to the smaller number of services, but the execution time increases later. The A.H.P. approach is also efficient with a lesser number of services but not with a large number of services, and it needs more time to respond and find service. The CS-SR selects are found to be efficient as compared to A.H.P. and ENS-SS in finding an optimal service by reducing execution time. Moreover, CS-SR is energy efficient in comparison with A.H.P. and ENS-SS as it reduces energy consumption in context to Jules. The proposed service selection and recommendation model supports QoS along with ensuring reduced execution time and use of idle cloud servers. Henceforth, the CS-SR model is proficient to total execution time helps in creating an energy-efficient and economically sustainable cloud ecosystem.

Conclusions and Future Scope
The research paper proposed a novel algorithm (CS-SR) that is based in D.M.S. for finding appropriate cloud service that meets user requirements. The proposed approach aims to lower down the total execution time in finding the service. The proposed approach CS-SR also reduced the unnecessary comparison using the filtration step. In addition, CS-SR used both the quantitative and qualitative parameters to find the result and turned out to be an efficient approach.
The proposed approach finds the total fitness value by using qualitative and quantitative parameters. The research considers the feedback taken from an experienced user to calculate the fitness value for qualitative parameters. The user feedback can be biased sometimes, and in such cases, the result we obtain by using biased values will not provide an accurate result and can be considered the limitation of the proposed approach. Moreover, the proposed cloud service selection mechanism ensures energy conservation and facilitates reduced carbon emission at cloud data center levels, thus resulting in sustainable smart cities.
The research work can be expanded by classifying the user requirements into essential and non-essential requirements [63][64][65]. The consideration of different parameters improves the accuracy level and improves the trust between the provider and service user. In addition, the research work can be extended to the optimal composition of service, which will further assist the user is not only in identifying a single service but the group of services.