1 Introduction

Fig. 1
figure 1

Customized broker federated architecture

Federation of Cloud refers [1, 2] a pool of cloud providers that are combined together based on common standards to provide decentralized computing environment where every tasks are determined by limitations and agreements. Federated architecture resource provision-ing model consists of three phases namely (i) Discovery of cloud service providers (ii) ranking the shortlisted service provider and (iii) assigning the service to the best service provider. The customized broker based federated architecture [3,4,5] is shown in Fig. 1. Broker Manager (BM) collects the various levels of services information offered by cloud service providers through broker learning algorithm. Brokers manage the cloud provider’s resources; collect their information and update in Broker Status Registry (BSR). Broker Manager communicates with brokers, discovers the appropriate providers for the requests and shortlists the providers. Broker based Learning Algorithm (BLA) [3] helps to study the workload of the providers, understands the requirement of resources for the service requests, analyses the suitability of the providers automatically and shortlists it. The clouds are managed by Cloud-Brokers (CBs) which are capable of handling service requests and managing virtual machines within federated cloud systems [3, 4]. The components of the Broker Managers are Differentiated Module (DM), Discovery of the Providers (DP) and Ranking the providers. Federated Cloud Architecture must support the management of the collaboration that includes all involved service providers, partners, and end users or consumers. Cloud clients are the users of the cloud services which offer different services towards business goals that is driven to resource sharing. Application Program Interface (API) acts as an interface point for all kinds of users to interact with services or offerings.

2 Grading based provider selection quality model

In the proposed model, the grading is assigned for the providers based on the computed values on the considered SMI attributes [6] that used to evaluate the performance of the providers in terms of user, application and service. Three different grading values are considered such as 1, 0.5, and 0.25. These grade values are distributed to the considered SMI attributes by invoking Grade Distribution Algorithm. After computing the total grade values, the providers may fall on any one of the category namely Gold, Silver and Bronze. Grade distribution algorithm works as follows, first case, when availability of the resource is either sufficiently enough or moderately higher to compute the requests, then the value of the weight ‘1’ is to be assigned to that specific SMI attribute. When the available resource is approximately equal or moderately equal, then the value of the weight ‘0.5’ is assigned to that specific SMI attribute. Third case, when available resource is very much lower than the request then the value of the weight ‘0.25’ is assigned to that SMI attribute. In similar way, other considered measurable SMI attributes are distributed with grade values as per the threshold and limit. These tolerate values are not fixed, any time it variable is based on the range of user submission. Based on the total grade values, the providers may be fall on any of the type namely Gold, Silver and Bronze.

figure e
Fig. 2
figure 2

Grade distribution based ranking model

Broker Manager in Fig. 2 collects the user request and compares with brokers of services providers based on the GDA service providers distributed with grade values and Quick sort technique applied to arrange descending order.User may select the provider who belongs to the category Gold, Silver and Bronze depending on their requirement. If there are more than one gold, silver and bronze category providers, there is tie in the selection of the providers. To resolve this, Priority Feedback based Decision Tree ranking model is applied in each category, selects one provider in each category.

Quick sort (Fig. 2) is the best sorting algorithm that placing the providers in order. This algorithm takes O (n log n) comparisons to sort n providers. In the worst case, it makes O (\(n^{2})\) comparisons, though this behavior is rare, in this work, quick sort technique is used to arrange service providers based on the total grade value. If there is more than one provider in each category having similar total grade value, then selection of the optimal provider is recognized by applying Priority Feedback Decision Tree (PFDT). At the last stage of the process, there is a provider in each category. User may select the category first and subsequently the provider in the category as need of the user, application and service requirement. Time complexity of the grade distribution algorithm is O (k*n*d*i) where ‘k’denotes the number of grades, ‘n’ refers the number of providers” denotes the number of considered SMI attributes and ‘i’ refers the number of iterations needed.

3 Probability based Bayesian ranking model

In this section, the probabilistic framework of Bayesian networks is applied to rank the providers based on the actual value of the SMI attributes [7, 8] obtained from the federated architecture. A Bayesian network is a graphical representation of a joint probability distribution over a finite set of variables with finite domains [9]. The federated cloud itself is a directed, acyclic graph that reflects the conditional interdependencies between the SMI attributes associated with the providers of the federated cloud. A directed edge from the provider associated with SMI attribute \(\hbox {X}_{1}\) to the provider associated with SMI attribute \(\hbox {X}_{2}\) means that \(\hbox {X}_{2}\) stochastically depends on \(\hbox {X}_{1}\).

Each provider contains a conditional probability table that quantifies the influence between the SMI attributes [9]. The joint probability distribution p of a Bayesian network over \(\{\hbox {X}_{1}\ldots \hbox {X}_{\mathrm{n}}\}\) is given by

$$\begin{aligned} p(x_{1},x_{2}\ldots x_{n})=\prod \limits _{i=1}^{n}p(x_{i}\, |\, {\textit{par}}(x_{i})) \end{aligned}$$

Where, par(\(\hbox {x}_{\mathrm{i}}\)) denotes the set of providers that have communication outside the federated cloud that points into \(\hbox {X}_{\mathrm{i}}\) . The structure of Bayesian network for ranking the providers is shown in Fig. 3.

Fig. 3
figure 3

Structure of Bayesian network for ranking the providers in federated cloud

Fig. 4
figure 4

Priority feedback based decision tree

The joint probability distribution for Bayesian network is given as below

$$\begin{aligned} \hbox {P}(\hbox {X}_{{\mathrm{RT}}}, \hbox {X}_{\mathrm{R}}, \hbox {X}_{{\mathrm{C}}},\hbox {X}_{{\mathrm{A}}},\hbox {X}_{{\mathrm{CA}}},\hbox {X}_{{\mathrm{ES}}})= & {} \hbox {P}(\hbox {X}_{{\mathrm{ES}}}{\vert }\hbox {X}_{\mathrm{CA}}) * \hbox {P}(\hbox {X}_{{\mathrm{CA}}})\\&* \hbox {P}(\hbox {X}_{{\mathrm{RT}}}{\vert }\hbox {X}_{{\mathrm{R}}},\hbox {X}_{{\mathrm{C}}}) \\&* \hbox {P}(\hbox {X}_{{\mathrm{R}}}{\vert }\hbox {X}_{{\mathrm{A}}}) *\hbox {P}(\hbox {X}_{{\mathrm{C}}}{\vert }\hbox {X}_{{\mathrm{A}}}) \\&* \hbox {P}(\hbox {X}_{{\mathrm{A}}}) \end{aligned}$$

Let \(\hbox {X}_{\mathrm{RT}}\) denotes the response time of the provider, \(\hbox {X}_{\mathrm{R}}\) refers the reliability of the provider, \(\hbox {X}_{\mathrm{C}}\) refers the cost of the provider, \(\hbox {X}_{{\mathrm{A}}}\) refers the cost of the provider, \(\hbox {X}_{{\mathrm{CA}}}\) refers the checking of the availability of the resources in the provider, and \(\hbox {X}_{{\mathrm{ES}}}\) refers the execute service in the provider. The SMI attributes that considered for evaluating the providers are given as availability, reliability, accuracy, response time and cost [10, 11]. Consider the situation where the request is assigned to the optimal provider in the pool of shortlisted providers in the federate cloud .Availability of the resource in the provider is sufficient to execute the request (\(\hbox {P}_{{\mathrm{CA}}}=1\) and \(\hbox {P}_{{\mathrm{ES}}}= 1\)).Even the cost of the provider is low, user may comprise with the accuracy but the reliability is essential to the providers and provider may also takes more response time ((\(\hbox {P}_{\mathrm{C}}=0\), \(\hbox {P}_{\mathrm{A}}=0\), \(\hbox {P}_{\mathrm{R}}= 1\) and \(\hbox {P}_{\mathrm{R}}=0\))

$$\begin{aligned} \hbox {X}= (\hbox {P}_{{\mathrm{CA}}}=1,\hbox {P}_{{\mathrm{ES}}}= 1, \hbox {P}_{\mathrm{C}}=0,\hbox {P}_{{\mathrm{A}}}=0, \hbox {P}_{\mathrm{R}}= 1,\hbox {P}_{\mathrm{R}}=0) \end{aligned}$$

To execute the task successfully and obtain top at the list with the probability

$$\begin{aligned} {{\uppsi }_{\mathrm{t}}}(\mathrm{x})= & {} \hbox {f}_{\mathrm{t}}(x) \times \,\hbox {p(x)} \\= & {} \hbox {p}(\hbox {X}_{{\mathrm{ES}}} = 1{\vert }\hbox {X}_{\mathrm{R}} = 1, \hbox {X}_{{\mathrm{C}}} = 0) \\&\times \,\hbox {p}(\hbox {X}_{{\mathrm{R}}} = 1{\vert }\hbox {X}_{{\mathrm{A}}} = 0) \times \,\hbox {p}(\hbox {X}_{\mathrm{C}}= 0{\vert }\hbox {X}_{{\mathrm{A}}} = 0) \\&\times \,\hbox {p}(\hbox {X}_{{\mathrm{A}}} = 0) \times \,\hbox {p}(\hbox {X}_{\mathrm{RT}} = 0{\vert }\hbox {X}_{{\mathrm{CA}}} = 1)\times \,\hbox {p}(\hbox {X}_{{\mathrm{CA}}} = 1) \\= & {} 0.2 \times 0.5 \times (1 - 0.5) \times (1 - 0.3) \times (1 - 0.9) \times 0.6 \\= & {} 0.0021. \end{aligned}$$

Decision trees are intelligent and unsupervised learning tools for classification and prediction. Decision trees are formulated on rules, by considering that, the similar total grade value providers are distinguished and optimal provider is selected for servicing the request. The structure of the priority based decision tree is shown in Fig. 4.To resolve the conflict among the providers at top, consider the prioritization of SMI attributes and its value, selects the optimal provider and assign the requests. SMI attributes prioritization is computed based on the feedback about the previous performance of the providers. Each attribute falls on any of the status high, medium or low by considered the threshold values and limit. Later, the status of the attribute for each provider is counted.

The provider which has the maximum number of status called high compared to other providers in each category of grade is selected as optimal. Suppose, the number of status “high” is equal with other providers, then the status of “Medium” and “low” is calculated and find distinguished among the providers and find the optimal to assign the request for computation. The priority feedback decision tree is shown in Fig. 4. User decides the priority attributes and root values to be considered from the grade distribution algorithm and if the attribute value is ‘1’ tree root attribute set as high. This process continues for all priority attributes selected by the user. The root will be switch over to the right side when the attribute value less than one such as medium and low. This process continues for all similar highest rank providers. Hence if tree traverse at left side for all attributes for any service provider, that to fixed as best service provider. Once traverse switch over to the left side then next best service provider to be fixed for service request.

4 Related work

Federated cloud computing environment named Inter-Cloud support the scaling of applications across multiple vendor clouds. The idea behind their introduced federation concept was to enhance cloud providers provisioning capabilities in case of sudden spikes in workload by leasing available computational and storage capabilities from other service providers [12], preference based selection of cloud service providers discussed by the authors [4], It uses a holistic multi-criteria decision making approach [13, 14] for offering optimization as a brokerage service. In fuzzy AHP approach used to solve problem of service ranking and allows the multi objective assessment of cloud services. This approach provides more expressive and unified way to capture and process user opinions and preferences than traditional service ranking methods.

[3, 15] Cloud Broker Manager (CBM) assigned for take up responsibility of resource provisioning and ranking [6]. Proposed a system that calculates the priority weights for each quality attribute according to the Quality of Service(QoS) preference of a user easily and consistently and reflects the weights in selecting the web service. To calculate the weights, apply a pairwise comparison matrix and an eigenvector of the matrix. Collaborative web service QoS prediction [19] via Neighbourhood Integrated Matrix Factorization’ Quality-of-service (QoS) prediction approach for web services [2, 20] proposed a framework and a mechanism that measure the quality and prioritize Cloud services. The outranking approach [18] is based on the principle of the grade of one alternative’s dominance over another, rather than considering that a single best alternative can be identified [19] applied the fundamental principles in accordance with the fuzzy set theory and modelled the decision making problem with the Fuzzy Multiple Criteria Decision Making (FMCDM) model.

5 Simulation results and discussion

The proposed ranking mechanism is implemented in CloudSim [20] using Java discussed by Rodrigo et al. (2010). This method can be determining the performance of service providers through the average execution time of SLA members. The proposed model has implemented in CloudSim and shows the performance evaluation for different cloud users and requests. In this general evalu-ation considered parameters for the experiment are number of cloud service providers, cloud users of cloud service providers, deadline of tasks etc. Each request assigned the arbitrary completion time between 0.15 and 0.45 ms. Every cloud service provider consider for the experiment has 60 computing hosts, 10 GB of memory, 2 TB of storage, Quad processor with 1000 MIPS of capacity, and a time-shared VM scheduler. Cloud broker on behalf of user request consist of 256 MB of memory, 1GB of storage, 1 CPU, and time-shared Cloudlet scheduler. The broker requests instantiation of 25 VMs and companions one Cloudlet to each VM to be executed.

Cloud computing is a model which has been working on subscription basis. In current scenario, there are several cloud providers that support various kinds of services with different quality of services. Hence, selection strategy is essential to pick up the optimal provider automatically and satisfies the performance factors such as flexibility and scalability with variable number of users and services. The concept of ranking the cloud providers is a new and challenging area of research in current scenario. Users have been operating different applications with different range of requirements on user, service and capacity of resources. Based on this, simulation of the proposed work is carried out under CloudSim [20] using JAVA, it evaluates the proposed work based on the SMI metrics such as flexibility, scalability and also using other metrics such as availability, processor speed, storage capacity, response time, processing memory like primary memory, back up, resource provisioning type and storage types. It also finds that the selected provider by the proposed strategy is effective or not using SMI metrics.

The number of requests submitted to the federated cloud dynamically changing and observes the deviations. The deviation shows in Fig. 5 that depicts the number of services violating the SLA using proposed strategy. The number requests violating the SLA policy are reduced exponentially after implementing the concept of ranking in federated architecture.

Fig. 5
figure 5

Number of requests vs. SLA violations

The experiment results analyze the success rate of the proposed algorithms. In nature, there may be chance of failure to choose cloud services in the process of given algorithms, the preferred cloud service provider by the proposed algorithm cannot be completely successful, but the successful rate of cloud service selections is based on the value of the performance metric considered to evaluate it. The successful delivery rate is defined as the ratio between number of successful selections and the total number of selections.

$$\begin{aligned} \hbox {Successful delivery Rate (SDR)} =\hbox {N}_{{\mathrm{suc}}} / \hbox {N}_{{\mathrm{TOT}}} \end{aligned}$$

In other terms, let \(\hbox {N}_{{\mathrm{suc}}}\) denotes the exchanges of messages between user and cloud provider. In this experiment, the value of \(\hbox {N}_{{\mathrm{suc}}}\) is decided based on the average rate of throughput. \(\hbox {N}_{{\mathrm{TOT}}}\) refers the number of cloud selections attempted. The probability value is greater than 0.5 then the SSR is considered as efficient. In this experiment, there are 4 cloud providers and 25 requests were exchanged between user and provider. It is applied in the above equation and the value of the probability of SSR for the grade based ranking and Bayesian network is 0.525, 0.575 respectively. It is compared with the value of SSR in fuzzy logic set ranking approach [18] and found that the proposed ranking providing with better selection of optimal provider. Hence, it is concluded that the selection rate of cloud provider for the service is effective and efficient by the proposed ranking algorithm.

Table 1 Average response time of the ranking mechanisms

The average response time taken by the various ranking mechanisms is shown in Graph 2. In this simulation, work, there are 500 requests submitted for processing the tasks in federated cloud. The Grade based ranking scheme yields better average response time compared to other proposed ranking mechanisms. The number of providers that matched the specific service request in the federated cloud is inversely proportional to the average response time. In other word, the number of providers in the federated cloud increases the average response time decreases. Hence, the number of providers that matched the specific request is non-linearly proportional to the average response time (Table 1).

Fig. 6
figure 6

Average response time of the ranking mechanisms

Fig. 7
figure 7

Performance of throughput in federated cloud

Table 2 Average throughput of the ranking mechanisms

The performance of the Response time and throughput in different ranking methods is shown in Figs. 6 and 7. Throughput is generally defined as the number of requests computed per second. In this simulation, it is calculated by the amount of network traffic simulated away from the providers. The performance of Throughput in the federated cloud without the concept of ranking is less compared to the ranking federated cloud models with ranking because the requests are directed to the popular providers irrespective of their user and QoS requirements. In common, the small variation is observed in measuring the throughput using different ranking mechanisms in federated cloud (Table 2).

6 Conclusion

Computing has becoming an emerging and attractive model for outsourcing various IT needs of the organization. At present, there are several cloud providers offering different services with different Quality of Service and SLAs. Therefore, many authors proposed different ranking frame work to select best service providers based on the user, application and service requirements. In this paper, two different ranking mechanisms are discussed to sort the providers and select the optimal provider automatically. Grade distribution ranking, based on the total grade value, user able to select best service provider. The proposed techniques yielded better performance results compared with all other methodologies. If there is more than one provider at the top, priority feedback based decision tree applied to resolve it. In the second ranking mechanism, joint probability distribution mechanism is used to rank the providers. Simulation results shows that the proposed ranking mechanism provides 17–22 % better performance compared to the existing mechanisms than fuzzy logic set, regression tree and AHP method.