1 Introduction

Currently, cloud computing is a dominant, utility-based computing service model around the world. This is evidenced by the projection of 3.6 billion cloud consumers in the year 2018 which has been recorded 2.4 billion in the year 2013 [1]. Primary reasons for its widespread adoption are the ease of use of the cloud-based services freely in a quantifiable manner, any-time from anywhere and the availability of underlying technologies to set up and optimize high-end data centers [2]. Both the primary participating entities in cloud i.e. cloud service providers and consumers are duly benefitted from its service architecture. Service consumers obtain the benefits of higher scalability, availability, flexibility, and the low upfront cost [3], whereas, service providers obtain the benefits from the virtualization and time-sharing technologies, which enable them to accommodate enormous consumers. Virtualization technology partitions a physical resource into multiple virtual resources that are provisioned to the consumers as per their needs [4]. Time-sharing technology enables multiple consumers to share common resources concurrently.

Over the years, a big surge has been seen in the number of consumers as well as service providers and their resource capacities in cloud. Cloud has emerged as a big service market with the scope of large-scale revenue generation. Gartner reported 206.2 billion USD revenue generation from cloud in the year 2019 which is further expected to reach 278.3 billion USD by the year 2021 [5]. Thus, the cloud has a strong business perspective [6, 7] where service providers earn from the services while consumers pay for the services. The relationship between the service provider and consumer is the primary trait for any business process and fundamentally governed from their mutual quality attributes. Therefore, there must be a mechanism for evaluating the quality of the participating entities in a business process before the inception of service between them. The identification and retention of the high value and potential customers are important for the competitive industry [8]. Sohrabi and Khanlari [9] stressed upon the importance of determining the profitability of customers before deploying the resources to them in accordance with their customer value. Further, for increasing the revenue, Zunk and Koch [10], suggested customer’s ranking as a key factor to the business organizations where valuable customers are identified and promoted. The consideration of preference/choice of the service provider for the consumer has due importance which is clearly evident from different online commercial sites such as eBay, Zol, and Amazon [11] which are actively using different consumer evaluation strategies as part of their online business processes to enhance the revenues by classifying the potential consumers. Therefore, a service transaction governed through the mutual quality evaluation of the participating entities results in the improvement of their satisfaction level and establishes a long-term relationship between them. Similar strategies if followed in cloud will surely generate a strong faith and relationship between the participating entities and consequently, the objective of service satisfaction will be achieved at both end (provider and consumer).

The presence of a huge number of service providers and consumers complicates the process of service mapping in cloud [12]. Cloud service mapping is the process of selecting a suitable service provider for a consumer based on certain mutually acceptable parameters. Quality of service (QoS) is a highly used parameter for evaluating service providers [1315]. For evaluating the QoS of the service providers, Cloud Service Measurement Initiative Consortium (CSMIC) has introduced Service Measurement Index (SMI) attributes which is a set of business-relevant Key Performance Indicators (KPIs) [16]. SMI attributes have been used in many existing research works [1719] as standardized attributes to evaluate the QoS of the service providers for service mapping. Although this approach is proved to be useful for the consumers to obtain a satisfactory solution, it does not address the service satisfaction of the service providers. There is no consideration of the preference/choice of the service provider about the selection of a suitable consumer (i.e. to which consumer it wants to provide the service). For example, SMICloud [18] framework selects a suitable service provider among the available by ranking them based on their QoS parameters. It is a unidirectional service selection process. Service providers have not been given the option to put the preference for the consumer. From literature, it is observed that very limited research work is contributed to evaluate the consumers along with service providers. For the first time, this issue has been discussed by Yadav and Goraya in paper [17], where authors have used three imaginary attributes Turnover, Duration, and Transaction to evaluate the quality of consumers along with evaluating the service providers using SMI attributes for their mutual mapping. Also, in [17], the service satisfaction of the service providers and consumers involved in a service transaction is not considered.

In this paper, we endeavor to achieve a mutual evaluation-based selection of service providers and consumers based on their mutual preference in terms of the required QoS parameters. To achieve this objective a bidirectional service mapping framework MECSM is proposed. During service mapping, the proposed framework uses the Analytical Hierarchy Process (AHP) for evaluating the ranking of service providers and RFM (recency, frequency, and monetary) [20] model for evaluating the ranking of consumers. RFM is a well-established marketing analysis tool for evaluating consumers. The attributes used by the RFM model are easily applicable to the online cloud environment where service transactions are recorded for cost management considerations [21]. Rank-based service mapping (RBSM) algorithm is developed to finalize the service mapping with the objective to map the suitable service providers to consumers. The service satisfaction of service providers and consumers is evaluated at the end of a service transaction. To prove the robustness of the service mapping through the MECSM framework, sensitivity analysis is performed on the case study data using Super Decisions Software [22]. The purpose of the sensitivity analysis is to identify the entities for which a small variation causes a drastic variation in the model’s output measure [23].

1.1 Motivation and prime contributions of the research work

The prime motivating factors for the present research are: (a) dearth of explorations in parallel evaluation of service providers and consumers during their mapping, (b) evaluation of the consumers using standard RFM model applicable in the peer business processes, and (c) the expected improvement in the service satisfaction of both the service providers and consumers using mutual evaluation based service mapping. The primary contributions of the research work are

  • A mutual evaluation-based cloud service mapping (MECSM) framework is proposed.

  • A mathematical model is evolved for evaluating the service satisfaction of service providers and consumers in cloud.

  • Sensitivity analysis is performed for the validation of service mapping through the proposed MECSM framework.

  • Scalable service selection in cloud with controlled overhead in comparison to the existing SMICloud and TRCSM frameworks.

The rest of the paper is structured as follows. Section 2 includes the related work. Section 3 introduces the research background. A mathematical model is formulated in Sect. 4 to evaluate the service satisfaction of service providers and consumers during a service transaction. Section 5 describes the proposed MECSM framework. Section 6 depicts the process of service mapping using a case study and validates the robustness of the proposed framework through sensitivity analysis along with the evaluation of service satisfaction of service providers and consumers. Section 7 presents the ranking overhead through the simulation experiments. A comparative analysis of the proposed framework with existing frameworks is also presented in Sect. 7. The last section concludes the paper and presents some future directions.

2 Related study

This section is organized around QoS based service selection in the cloud and the evaluation of consumers in the cloud and other peer business models.

QoS based mapping has been proposed in many frameworks and algorithms in the literature. Garg et al. [18] proposed the SMICloud framework which uses the QoS based selection of an efficient provider for a consumer. Although, this framework selects an efficient provider for a consumer but does not consider the selection of a consumer for the provider. In paper [24], the NMCDA framework based on the AHP method is developed for estimating the performance of cloud services. For comparing the alternatives, a group of decision-makers is consulted and then the evaluation of decision-makers is aggregated. The estimation process is modeled using triangular neutrosophic numbers. Chan and Chieu [25] proposed a service selection method, Scalar Value Decomposition for ranking the service providers and consequently making a selection based on application matching. Shetty and D’Mello [26] proposed a ranking mechanism for selecting cloud-based services using the REMBRANDT approach. A flexible and dynamic ranked voting method for service selection is proposed by Baranwal and Vidyarthi [19] which selects the best service provider based on the user’s requirement.

In the cloud, service level agreement is the key factor that decides the efficiency of service selection. In paper [27], a service level agreement aware ontology-based cloud service discovery method is proposed. Ontology to service discovery is used to improve the service semantic information. The proposed method selects the service which is closer to the consumer’s requirement in the QoS aspect. Consumer selection along with provider selection is also important in the business perspective. Yadav and Goraya [17], proposed the TRCSM framework which evaluates both the participating entities i.e. provider and consumer in parallel during service mapping. QoS being an important selection parameter, many QoS monitoring tools such as CloudStone [28], CloudSleuth [29], CloudCmp [30], and CloudHarmony [31] are available to evaluate the QoS of the service providers. Some online websitesFootnote 1 are also available for evaluating the QoS of the cloud service providers. QoS is also mostly used parameter in another area of research [32, 33]. The service providers offer performance of their services in terms of multiple QoS attributes. Multi-attribute driven QoS based evaluation and selection of service providers is a multi-criteria decision making (MCDM) problem. In literature many MCDM methods such as AHP [34], VIKOR [35], SMART [36], SVD [25], TOPSIS [37], PROMETHEE [38], ELECTRE [39], and Hypergraph based technique [40] are used to evaluate the ranking of service providers during service selection.

In the cloud, research is converged into two major trends i.e. Information Technology (IT) efficiency (better utilization of computing resources) and IT delivery (business being held to sell IT resources) [6]. In paper [41], Hoberg et al. focused on the wide understanding of cloud as an IT delivery model i.e. business perspective and concluded that there is a lack of research towards investigating its business perspective. RFM model has been widely used in business management for extracting valuable consumers so that the organizations can develop more feasible strategies (marketing programs) for different consumers [20, 42, 43]. In business, the identification of valuable consumers plays an important role for organizations to maximize their profit [44]. Many researchers worked on profit maximization problem [45, 46] and concluded that the profit of the service providers is directly proportional to the request arrival rate. Consumer satisfaction is one of the indirect factors that affect the request arrival rate. Research proposals are available in which consumer satisfaction is estimated for maximizing the profit [46, 47]. Consumer satisfaction is also used for solving many issues such as predicting the efficient cloud service selection [46] and availability zone selection [48].

3 Research background

The ranking of service providers and consumers is intuitively different than the others because of dynamism in the market demand. In this section, QoS based ranking of service providers using the AHP method and transaction attribute-based ranking of consumers using the RFM method is explored.

3.1 QoS based ranking of service providers

The ranking of service providers is one of the key features of the MECSM framework. The ranking of service providers is based on QoS attributes accountability, agility, assurance, cost, performance, and security. The QoS attributes are evaluated by many sub-attributes. The sub-attributes evaluation matrix is given in paper [16, 49] and QoS attributes are defined as follows:

3.1.1 Accountability

Accountability ensures the consumers that their data is handled by the provider as per their expectations. It is estimated in terms of auditability, compliance, governance, ownership, and sustainability, etc.

3.1.2 Agility

Agility of the cloud organization shows how quickly the resources are scaled with less expenditure. It is composed of adaptability, elasticity, extensibility, flexibility, probability, and scalability, etc.

3.1.3 Assurance

It assures that the performance of the delivered service is the same as promised in service level agreement. Assurance is evaluated in terms of availability, maintainability, recoverability, reliability, resiliency, etc.

3.1.4 Cost

It is the most important attribute whose value is dependent on all the attributes. It refers to transition cost, recurring cost, and the usage cost of a service or group of services.

3.1.5 Performance

It defines the functions and features of the provider. Performance is evaluated in terms of reliability, response time, suitability and functionality.

3.1.6 Security

It is defined as the control of the service provider to the user’s data. Security depends on access control, data geographic, data integrity, and data privacy, etc.

Service providers are ranked using well established AHP method [34]. Using AHP the hierarchal structure of offered QoS attributes is prepared at each level. The steps to rank the service providers are as follows

Step 1:

Construct the relative value vector matrix (RVVM):

If there are n number of service providers, k number of attributes, \(w_{i}^{k}\text{ and } w_{j}^{k}\) are the weights of kth QoS attribute for the provider i and j respectively. The RVVM matrix is defined as

$$x_{ij}^{k} = \frac{{w_{i}^{k} }}{{w_{j}^{k} }} |i,j = 1,2, \ldots n$$
(1)
$$RVVM_{k} = \left( {\begin{array}{*{20}c} {x_{11}^{k} } & \cdots & {x_{1n}^{k} } \\ \vdots & \ddots & \vdots \\ {x_{n1}^{k} } & \cdots & {x_{nn}^{k} } \\ \end{array} } \right)$$

where \(x_{ij}^{k}\) denotes the weight of provider i over provider j for the kth attribute.

Step 2:

Construct the relative value vector (RVV) matrix: RVV is evaluated in two phases

First, normalize the RVVM matrix

$$y_{ij}^{k} = \frac{{x_{ij}^{k} }}{{\mathop \sum \nolimits_{i = 1}^{n} x_{ij}^{k} }}$$
(2)

where, \(y_{ij}^{k}\) is the normalized RVVM matrix for the kth attribute.

Second, normalize score of service providers for each attribute

$$Z_{ik} = \frac{{\mathop \sum \nolimits_{j = 1}^{n} y_{ij}^{k} }}{n}$$
(3)

where, \(Z_{ik}\) is the relative score for kth attribute of provider i relative to rest other competitive service providers.

The RVV for weighted criteria is defined as

$$RVV_{k} = \left[ {\begin{array}{*{20}c} {Z_{1k} } \\ {Z_{2k} } \\ {Z_{3k} } \\ \vdots \\ {Z_{nk} } \\ \end{array} } \right]$$
Step 3:

Construct the option performance matrix (OPM): The OPM matrix is given by

$$\left[ {\begin{array}{*{20}c} {RVV_{0} } & {RVV_{1} } & \ldots & {RVV_{k} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {Z_{11} } & \cdots & {Z_{1k} } \\ \vdots & \ddots & \vdots \\ {Z_{n1} } & \cdots & {Z_{nk} } \\ \end{array} } \right]$$
Step 4:

Value for Money (VFM): VFM is the final ranking score generated from multiple criteria of the service providers including the user’s requirement. The VFM is derived as

$$VFM = OPM \times RVV_{required}$$
(4)

where RVVrequired is the relative weights of the attributes required by the consumer.

3.2 RFM model-based ranking of consumers

The research in cloud computing is moving beyond its technical perspective to the business perspective. Valuable consumers play an important role to earn more profit. Therefore, the proposed framework in this paper uses the RFM model [20] to evaluate the consumers. Using the RFM model, consumers are segmented to find out the valuable consumers. The RFM model is constituted from recency, frequency, and monetary which are defined as

  1. (a)

    Recency Recency shows the last transaction period of the consumer. It is assumed that the consumer who has made a transaction recently will have the next transaction soon.

  2. (b)

    Frequency It is the number of transactions a consumer has made in a certain period. The high value of frequency is assumed to be very beneficial to the service providers.

  3. (c)

    Monetary Monetary is defined as the direct measurement index for the benefit given by the consumer to the provider. A consumer whose transaction amount is high is supposed to be very beneficial to the provider.

The steps for ranking consumers using the RFM model are as follows:

Step 1:

Sort the consumers in descending order based on recency, frequency, and monetary value.

Step 2:

For each attribute, classify the consumers into 5 groups such as G1, G2, G3, G4, and G5 where G1 contains the top consumers 80% < G1≤ 100%, second group contains 60% < G2 ≤ 80%, third group contains 40% < G3≤ 60%, the fourth group contains 20% < G4≤ 40% and the fifth group contains 0% < G5≤ 20%.

Step 3:

Assign a number to each group in 1 to 5 scales. First group G1 is given number 5, and second group G2 is given number 4 and so on

Step 4:

Calculate the RFM score using the equation given below

$$RFM_{i} = 100 \times RT_{{G_{i} }} + 10 *F_{{G_{i} }} + 1 \times M_{{G_{i} }}$$
(5)

where, \(RT_{{G_{i} }}\), \(F_{{G_{i} }}\), and \(M_{{G_{i} }}\) is the group value of ith consumer for recency, frequency, and monetary respectively.

In the RFM model, the consumers are classified into five quantiles (20% in each group) and presented by 555, 554, 553, …, 111. Thus, 125 unique scores (5 × 5 × 5) are created. If the consumers are more than 125 at a time, then some consumers will obtain the same score. Dealing with consumers having the same score is more complex. In the cloud environment, the number of consumers easily increases beyond 125. The proposed MECSM framework efficiently deals for more than one thousand consumers at a time by extracting the competitive consumers and hence reduces the solution space for each provider.

4 Mathematical model for service satisfaction evaluation

The satisfaction of participating entities in a service affects the market share of the business organizations. The performance and cost are two factors that lead to a high impact on satisfaction. Both factor’s performance and cost are dependent on each other such that if the cost of service is high then performance should also be high in comparison to the other alternatives and vice versa. Satisfaction measures the level of discrepancy between the offered performance attributes and received performance attributes per unit cost [50]. If after getting the service, the received performance surpasses the offered performance then the performance is considered as high. The high performance makes satisfaction high and vice versa. Thus, the key factor that affects satisfaction is the discrepancy between the received and offered performance. Based on the Oliver Theory of Expectancy Disconfirmation [50] the satisfaction is formulated as

$$S_{ij}^{k} = e^{{ - \left| {\frac{{R_{ij}^{k} - O_{i}^{k} }}{{O_{i}^{k} }}} \right|}}$$
(6)

where \(S_{ij}^{k}\) denotes the satisfaction of jth entity for the kth attribute after taking service from the ith entity, \(R_{ij}^{k}\) is the received performance by jth entity for kth attribute after taking the service from ith entity, and \(O_{i}^{k}\) is the offered performance by the ith entity for kth attribute.

In the cloud, the performance of services is measured by QoS parameters. The QoS offered by different service providers may be represented in different data formats such as Numeric, Boolean, Unordered set, Range, etc. The QoS attribute can also be different in tendency such as positive (higher data value is better) or negative (lower data value is better) e.g. response time 0.5 ns is better than 0.7 ns which shows that the tendency of better response time is negative while availability 99% is better than 97% which shows that the tendency of better availability is positive. Using Eq. 6, the evaluation of consumer satisfaction for different data types used in representing the QoS attributes with their tendency is defined as follows.

Boolean:

These type of data values is estimated by the subjective assessment whose numeric value is either 0 or 1. Satisfaction for the boolean data type is estimated as:

$$S_{ij}^{k} = \left\{ \begin{aligned} 1\quad if\,\,R_{ij}^{k} \cong O_{i}^{k} \hfill \\ 0\quad elsewhere \hfill \\ \end{aligned} \right.$$
(7)
Numeric:

It is used for both in the subjective and objective assessment. If the values are evaluated by the subjective assessment, then the values are defined within a scale of 1 to 9. If the values are evaluated by the objective assessment, these must be with some unit e.g. 3 ns, 2 $/h. The service satisfaction level of numeric data type is computed as

If the tendency of QoS attribute is negative, then

$$S_{ij}^{k} = \left\{ \begin{aligned} 1\quad if \,\,R_{ij}^{k} \le O_{i}^{k} \hfill \\ e^{{ - \left| {\left( {R_{ij}^{k} - O_{i}^{k} } \right)/R_{ij}^{k} } \right|}} \quad elsewhere \hfill \\ \end{aligned} \right.$$
(8)

If the tendency of QoS attribute is positive, then

$$S_{ij}^{Q} = \left\{ \begin{aligned} 1\quad if\,\,R_{ij}^{k} \ge O_{i}^{k} \hfill \\ e^{{ - \left| {\left( {R_{ij}^{k} - O_{i}^{k} } \right)/O_{i}^{k} } \right|}} \quad elsewhere \hfill \\ \end{aligned} \right.$$
(9)
Range:

If the QoS attributes are represented in a range by defining the lower and upper boundary. Then the service satisfaction is defined as:

$$S_{ij}^{k} = \left\{ \begin{aligned} 1\quad if\,\,L\_R_{ij}^{k} \ge L\_O_{i}^{k} \hfill \\ 0\quad if\, U\_R_{ij}^{k} \le L\_O_{i}^{k} \hfill \\ e^{{ - \left| {\left( {R_{ij}^{k} - O_{i}^{k} } \right)/O_{i}^{k} } \right|}} \quad elsewhere \hfill \\ \end{aligned} \right.$$
(10)

where, \(L\_R_{ij}^{k}\), \(U\_R_{ij}^{k}\) is the lower and upper boundary of kth QoS attribute value received by the jth entity after taking service from the ith entity and \(L\_O_{i}^{k}\) is the lower boundary of \(k^{th}\) QoS attribute value offered by the \(i^{th}\) entity.

4.1 Service satisfaction of consumers

In the cloud environment, the services are offered in terms of multiple QoS attributes, therefore, the overall satisfaction Sij of the consumer for a provider is evaluated by the cumulative product of the required weights wk of the attribute with the satisfaction value of consumer (using Eq. 6) based on each QoS attributes.

The overall satisfaction of the jth consumer after taking service from the ith provider is given by:

$$S_{ij} = \mathop \sum \limits_{k = 1}^{n} \left( {w_{k} \times e^{{ - \left| {\frac{{R_{ij}^{k} - O_{i}^{k} }}{{O_{i}^{k} }}} \right|}} } \right)$$
(11)

4.2 Service satisfaction of service providers

The service satisfaction of service provider is evaluated based on the mapped consumer’s score generated using the RFM model. Let \(S_{ij}\) denotes the satisfaction of the ith provider for the jth consumer, \(R_{ij}\) is the received score of the mapped consumer and \(T_{j}\) is the top possible score (in case of RFM model it is 555) of the jth consumer. The satisfaction of the ith provider from the \(j^{th}\) consumer is given as:

$$S_{ij} = e^{{ - \left| {\frac{{R_{ij} - T_{j} }}{{T_{j} }}} \right|}}$$
(12)

5 Mutual evaluation-based cloud service mapping (MECSM) framework

The proposed mutual evaluation-based service mapping framework (MECSM) is shown in Fig. 1. The MECSM framework represents the complete cloud environment where consumers obtain cloud services from the available service providers. The service transactions between service providers and consumers are decided by service broker based on the QoS attributes. The service broker may be implemented as a third party in the real cloud environment. Service broker performs the mapping as “best fit” consumers to the “best fit” service providers. The framework uses the cloud adoption service model similar to IBM’s framework for cloud adoption [51]. The scope of IBM’s framework is limited to the individual organization, where the usage of the public cloud is assumed to be exclusive or open for the consumers within the organization. The exclusive public cloud provides the shared services exclusively to the members of the same organization on the pre-negotiated terms. Therefore, the relationship between a service provider and consumer is perceived to be one to one. The open public cloud provides services to an organization but the individual consumers within the organization are permitted to do service level negotiations. Therefore, the relationship is perceived to be one to many.

Fig. 1
figure 1

Proposed MECSM framework

The presently proposed MECSM framework has a wider scope where a consumer can obtain the services from one of the multiple service providers based on its required QoS. Similarly, a service provider can decide to offer the service to one of the multiple consumers. In the presence of multiple consumers and service providers in the cloud environment, the concept of service mapping is applied based on the QoS attributes of service providers and consumers. MECSM framework consists of the entities-service consumers, service broker, service provider–consumer relationship, public cloud, and service provider. Figure 1 depicts the layered architecture of the proposed MECSM framework. Layer 1 represents the service consumer(s) entity that submits the requests for cloud services. Layer 2 corresponds to the service broker and service relationship entity. The service broker receives the service requests from the service consumers and performs service mapping based on the QoS attribute values of consumers and service providers. The broker consists of the following components

  • Observer The observer component contains the provider’s directory and consumer’s directory. The provider’s directory contains all the information of service providers such as provider id, offered QoS attributes value, the status of being free, etc. and consumer’s directory contains the information about the consumers such as consumer id, past transaction history, etc.

  • Ranking evaluator This component evaluates the ranking score of service providers and consumers using AHP and RFM method respectively.

  • Mapping logic The service mapping logic is implemented through the RBSM algorithm. The probable relationships between service providers and consumers (1:1, 1: m, n:1, and n:m) are realized through the service mapping logic

  • Satisfaction evaluator It evaluates the satisfaction of service providers and consumers at the end of a service transaction in the cloud.

During service mapping between service providers and consumers, the broker set up the probable relationship between them in the following ways

  • One to one (1:1) The relationship between provider and consumer is said to be 1:1 if one consumer is requesting service and only one service provider is available to provide the service (no competitive consumers for a provider and vice versa). This cloud service scenario comes under an exclusive public cloud.

  • One to many (1:m) The relationship between provider and consumer is said to be 1: m if many consumers are requesting a service from a provider. This service scenario comes under an open public cloud.

  • Many to one (n:1) In this relationship, the multiple service providers are in competition for providing the requested service to a consumer. This service scenario comes under an exclusive public cloud.

  • Many to many (n:m) In this relationship, multiple consumers submit the request for the cloud service and multiple service providers are available to provide the requested service. This scenario is very complex and exists in the open public cloud.

Layer 3 represents the public cloud. The public cloud may be accessed as an exclusive cloud or open cloud. Layer 4 represents the available cloud service providers.

5.1 Proposed RBSM algorithm

This section represents the RBSM algorithm which is used during service mapping.

figure d

The algorithm takes multiple passes to complete the service mapping process. In the first pass, the flag of all service providers is set to 1 (see line 1) to show that initially all the service providers are available to deliver the service. The number of participating service providers and consumers are counted. For a single If the number of service providers are one and the number of consumers are also one. The scenario comes under one to one mapping. The algorithm maps the service provider to the consumer directly and sets the flag of provider to 0 (see lines 2 to 4). If the number of consumers are one and the number of service providers are greater than one. The scenario comes under one to many. The proposed algorithm ranks the service providers using AHP method and maps the top-ranked provider to consumer and after mapping, the flag of provider is set to Zero (see line 6 to 11). If the number of consumers are greater than one and the number of service providers are only one, then the RFM score of the consumers is calculated. The top rank consumer is mapped to the provider and after mapping the flag of provider is set to 0 (see line 12 to 17). If the number of consumers are greater than one and the number of service providers are also greater than one, then for each consumer compute the ranking of service providers and get the list of competitive consumers for each provider (see line 19 to 25). If there are no competitive consumers for a provider, then the algorithm verifies the competitive list of consumers for the next provider. If there is only one consumer and flag of provider is one then it maps the consumer to the service provider and after mapping, the flag of provider is set to zero (see line 26 to 32). If the number of competitive consumers are more than 1 then the algorithm ranks the consumers using the RFM model and maps the top rank consumer to the service provider and after mapping the flag of provider is set to 0 (see line 33 to 38). In the next pass of mapping, the second top rank service provider is mapped to the consumer and this process is repeated until all the service providers are mapped to the consumers (see lines 40 to 42).

5.2 The time complexity of the RBSM algorithm

In this section, the time complexity of the proposed RBSM Algorithm is discussed. The time complexity of the proposed RBSM algorithm depends on the complexities of ranking the service providers using AHP, the ranking of consumers using RFM, and the mapping process. Algorithmic time complexity is described through distinct phases as

  • Phase 1 The complexity of ranking the service providers using AHP The complexity of AHP depends on four parameters which are number of levels in QoS hierarchy, number of elements in each level, number of elements in each group (at the same level the number elements whose parent node is same), and the number of service providers. The operations deriving the time complexity of AHP are computing QoS property weighting (relative, absolute, and arbitrary), computing the relative ranking of service providers, aggregating relative ranking for QoS properties, and QoS groups [52].

    Computing weighting of QoS property: Suppose QoS hierarchy has l levels and each level has Nl number of attributes. The number of attributes for group i at kth level is nki then in case of relative weighing there is no need of calculating the relative weighting of QoS property, therefore, the time complexity is linear. For absolute weighting, the time complexity of normalizing the weight vector for the kth level of the ith group is O(nki) and for the group i at level k is \(O \left( {\mathop \sum \limits_{i = 1}^{k - 1} n_{ki} } \right)\). Then, for all levels for all groups, the time complexity is \(O( \left( {\mathop \sum \limits_{k = 1}^{l} \mathop \sum \limits_{i = 1}^{{N_{l - 1} }} n_{ki} } \right)\). For arbitrary weighting, the time complexity of normalizing the weight vector for the kth level of the ith group is O (nki)3 and the time complexity for all groups at kth level is \(O\left( { \mathop \sum \limits_{i = 1}^{{N_{l - 1} }} \left( {\left( {n_{ki} } \right)^{3} } \right)} \right)\). Then, for all levels and for all group the time complexity is \(O( (\mathop \sum \limits_{k = 1}^{l} \mathop \sum \limits_{i = 1}^{{N_{l - 1} }} \left( {\left( {n_{ki} } \right)^{3} } \right)\).

    Computing relative ranking of service providers: The relative ranking of m service providers is calculated by estimating the eigenvector of m size whose complexity is derived as \(O\left( {m^{3} N_{l} } \right)\).

    Aggregating relative ranking for QoS properties and QoS groups: The time complexity of aggregating a group i at level k is \(O\left( {mn_{ki} } \right)\), then time complexity for all groups at level k is \(O\left( {\mathop \sum \limits_{i = 1}^{{N_{k - 1} }} n_{ki} } \right) = O\left( {mN_{k} } \right)\). For all levels and all groups, the time complexity is \(O\left( {m\mathop \sum \limits_{k = 1}^{l} N_{k} } \right)\).

  • Phase 2 The complexity of ranking consumers using RFM Let p number of consumers are requesting the cloud service with each request having q number of parameters. Then the time complexity of the RFM model (sorting each parameter value in decreasing order, assigning rating) is \(O\left( {p q\log p} \right)\).

  • Phase 3 The complexity of the Mapping process The complexity of the mapping process depends on getting a competitive consumer for the service providers is \(O\left( {p m\log m} \right)\) and a number of passes to map the service providers to consumers (in worst case m passes). The worst-case time complexity of the mapping process is \(O\left( {m^{2} p\log m} \right)\).

Therefore, the worst-case time complexity of RBSM algorithm over three phases is computed as

  • For relative ranking: \(O\left( {m^{3} N_{l} + m\sum\nolimits_{k = 1}^{l} {N_{k } + p q \log p + m^{2} p \log m} } \right)\).

  • For absolute ranking: \(O\left( {\sum\nolimits_{k = 1}^{l} {\sum\nolimits_{i = 1}^{{N_{k - 1} }} {n_{ki} + m^{3} N_{l} + m\sum\nolimits_{k = 1}^{l} {N_{k } + p q \log p + m^{2} p \log m} } } } \right).\)

  • For arbitrary ranking: \(O \left( {\sum\nolimits_{k = 1}^{l} {\sum\nolimits_{i = 1}^{{N_{k - 1} }} {\left( {\left( {n_{ki} } \right)^{3} } \right) + m^{3} N_{l} + m\sum\nolimits_{k = 1}^{l} {N_{k } + p q \log p + m^{2} p \log m} } } } \right).\)

6 Case study

In the case study, the offered QoS data of the three IaaS public service providers: Amazon EC2, Rackspace, and Windows Azure is considered. The standard QoS attributes accountability, agility, assurance, cost, performance, and security, as proposed in SMI, are considered for ranking the service providers. The QoS data is collected from the paper [18]. The unavailable data such as accountability and security are randomly assigned to each provider. The QoS data comparison rules are taken from the paper [52]. The QoS data offered by provider1, provider2, provider3 and relative weights of consumer’s requirement is depicted in Table 1. For the ranking estimation of consumers, the transaction attributes recency, frequency and monetary are considered and data values are assigned randomly as presented in Table 2. After applying the AHP method, the relative performance of service providers as shown in Fig. 2a, relative required QoS attribute as shown in Fig. 2b, the ranking score of service providers as shown in Fig. 2c, and the ranking of service providers are shown in Fig. 2d. The performance of provider1 is better in terms of Assurance and Cost, provider2 is better in terms of Accountability and Security, and provider3 is better in terms of performance and agility as shown in Fig. 2a. Attribute preference requirement of the consumers is considered during service mapping. In business perspective, every consumer follows a cost-quality tradeoff [53, 54]. Thus cost-quality based service ranking is considered as the final stage of selection of service providers. In this case study, the cost offered by the service providers is different based on their offered QoS. In this work, the value of quality (QoS attribute value) for the per-unit cost is computed. The ranking of service providers per unit cost is considered at the final stage of mapping. The ranking score of service providers per unit cost (Fig. 3a) and the ranking of service providers (Fig. 3b) are shown in Fig. 3. From Fig. 3, it is seen that provider1 is ranked as the first choice for consumer6, provider2 is ranked as the first choice for consumer3, and for provider3 multiple consumers are competing. For provider1 and provider2, there is no consumer in competition. Thus, there is no need of considering RFM scores of consumer3 and consumer6. For provider3 the competitive consumers are consumer1, consumer2, consumer4, consumer5, consumer7, consumer8, consumer9, and consumer10. A valuable consumer for provider3 is selected by evaluating the ranking of consumers using the RFM model based on the transaction values given in Table 2. Each transaction value (recency, frequency and monetary) is divided into quantiles and given a score in the scale 1 (low) to 5 (high). RFM score of the consumers is evaluated using Eq. 5 as shown in Table 3. The RFM Score of consumer8 is highest among competitive consumers. Therefore, consumer8 is mapped to provider3.

Table 1 Offered QoS of the cloud service providers
Table 2 The transaction values of consumers
Fig. 2
figure 2

Ranking of service providers

Fig. 3
figure 3

Ranking of service providers per unit cost

Table 3 RFM score of consumers

6.1 Service satisfaction of consumers and service providers

At the completion of cloud service mapped through the proposed framework, the service satisfaction of consumers for a single attribute is evaluated using the Eq. 11. The overall service satisfaction of consumer by considering all QoS attributes is evaluated using Eq. 12. The offered QoS parameter of the provider is presented in Table 1 and the actual QoS parameter received by the consumer from the provider during the service transaction is presented in Table 4. The satisfaction of consumers and service providers using the ranking of their counterpart and without using the ranking of their counterpart is presented in Fig. 4. From Fig. 4a, it is observed that the satisfaction of consumer3 is increased by 0.60%, the satisfaction of consumer6 is increased by 13.8%, and the satisfaction of consumer8 is increased by 21.33% after using the ranking of their counterpart. Figure 4b shows that after considering the consumer’s ranking the satisfaction of provider3 is increased from 81.87% to 95.94% while there is no change in satisfaction of provider1 and provider2 due to the absence of any competing consumers.

Table 4 Received QoS
Fig. 4
figure 4

Satisfaction of the participating entities

6.2 Sensitivity analysis of service providers

The sensitivity analysis is performed on the case study data to show the stability (i.e. robustness) of the proposed framework. The term stability is measured by observing the variation in ranking corresponding to the variation in the required attributes of consumers. The higher variation in ranking score indicates the lower stability of the framework and vice versa. To observe the sensitivity analysis in the present research work, a step size in variation in the attribute value is set to 0.1 (i.e. 0.0001, 0.11111, 0.22222, …, 0.9999). The sensitivity analysis is performed for service providers with respect to the mapped consumers (consumer3, consumer6, and consumer8) for each of the attributes- accountability, agility, assurance, cost, performance, and security.

Firstly, the sensitivity of service providers is observed by varying the required value of the attributes for consumer3. For the attribute accountability, it is observed that the ranking score of provider1 decreases by 0.001 in each step, the ranking score of provider2 is increased by 0.002 in each step and the ranking score of provider3 decreases by 0.001 in each step. Thus, the attribute accountability negatively impacts provider1 and provider3 and positively impacts the provider2. But their ranking remains the same as shown in Fig. 5a. For the attribute agility, it is observed that the ranking score of provider1 remains the same in each step, the ranking score of provider2 decreases by 0.001 in steps 4, 6, 9, and the ranking score of provider3 increases by 0.001 in each step. Thus, the attribute agility doesn’t impact provider1, negatively impact provider2, and positively impact provider3. But the ranking of service providers remains the same as shown in Fig. 5b. For the attribute assurance, the ranking score of provider1 increases by 0.001 in some steps, the ranking score of provider2 decreases by 0.001 in each step and the ranking score of provider3 increases by 0.001 in some steps. Thus, the attribute assurance positively impacts provider1 and provider3, and negatively impacts provider2. But the ranking of service providers is not affected as shown in Fig. 5c. For the attribute cost, the ranking score of provider1 increases by 0.001 in each step, the ranking score of provider2 decreases by 0.001 in some steps and the ranking score of provider3 decreases by 0.001 in each step. Thus, the attribute cost negatively impacts provider2 and provider3 and positively impacts provider1. But the ranking of service providers is not affected as shown in Fig. 5d. For the attribute performance the ranking score of provider1 decreases by 0.001 in some steps, the ranking score of provider2 decreases by a maximum of 0.003 in each step, and the ranking score of provider3 increases by a maximum of 0.004 in each step. Thus, the attribute performance negatively impacts provider1 and provider2 and positively impacts provider3. But the ranking of service providers is not affected as shown in Fig. 5e. For the attribute security, the ranking score of provider1 decreases by 0.001 in each step, the ranking score of provider2 increases by 0.002 in each step, and the ranking score of provider3 decreases by 0.001 in each step. Thus, the attribute security negatively impacts provider1 and provider3 and positively impacts provider2. But the ranking of service providers is not affected as shown in Fig. 5f. The impact (i.e. negative or positive or no change) of attributes in the ranking of service providers is shown in Table 5. The negative impact of attribute decreases the ranking score of the service provider, the positive impact of attribute increases the ranking score of the service provider, and no change impact of the attribute does not affect the ranking score of the service provider.

Fig. 5
figure 5

Sensitivity analysis of service providers considering the priorities of consumer3

Table 5 Impact on provider’s ranking for variation on required attributes of consumer3

Similarly, the sensitivity of service providers is observed by varying the required values of the attributes for consumer6 as shown in Fig. 6 and consumer8 as shown in Fig. 7. The variations in the required attribute value have marginal positive and negative impacts on the provider’s ranking scores as shown in Table 6 (for consumer6) and Table 7 (for consumer8).

Fig. 6
figure 6

Sensitivity analysis of service providers considering the priorities of consumer6

Fig. 7
figure 7

Sensitivity analysis of service providers considering the priorities of consumer8

Table 6 Impact on provider’s ranking for variation on required attributes of consumer6
Table 7 Impact on provider’s ranking for variation on required attributes of consumer8

7 Experimental results and discussion

For performance evaluation of the proposed framework, results are obtained in terms of its ranking overhead. Time to make the hierarchy of the performance parameters is structure dependent and cannot be predicted. Therefore, it is difficult to analyze the exact execution time of the proposed framework [52]. However, we attempt to calculate the execution time of the framework through simulation experiments using CloudSim 3.0 toolkit on the Intel Core i7-2.60 GHz having 8 GB RAM. The data for each QoS attribute and their relative weights are uniformly distributed. Variation in the number of service providers and consumers with constant QoS attributes for each provider is considered. In the proposed framework, worst-case time complexity highly depends on the number of service providers and consumers. For the performance evaluation, the number of service providers and consumers is varied while their attributes are fixed. In the existing SMICloud framework [18], the overhead of 10 s has been justified as the ideal overhead for the online selection of cloud services. Taking the overhead of 10 s as a benchmark, we perform a comparative analysis of the proposed MECSM framework with TRCSM [17] frameworks on the account of scalability in the number of service providers and consumers during service mapping. For 10 s overhead (benchmark) results are observed for the following cases

Case 1:

Scaling in service providers for the fixed number of consumers (Fig. 8a)

Fig. 8
figure 8

Ranking overhead of MECSM framework

Case 2:

Scaling in consumers for the fixed number of service providers (Fig. 8b)

Case 3:

Scaling in both service providers and consumers (Fig. 8c)

The results clearly prove better scalability of the proposed MECSM framework in comparison to the existing TRCSM framework. Scalability indicates the number to which the participating service providers and consumers can be increased for their mapping under the controlled overhead. In the first case within the controlled overhead of 10 s, the TRCSM framework achieves the scaling of 150 service providers and 1800 consumers while MECSM framework achieves the scaling of 1800 service providers and consumers each. In the second case, TRCSM framework achieves the scaling of 1800 service providers and 500 consumers while MECSM framework achieves the scaling of 1800 service providers and consumers each. In the third case, TRCSM framework achieves the scaling of 700 service providers and consumers each while MECSM framework achieves the scaling of 1800 service providers and consumers each.

The improvement in scaling in MECSM framework is attributed to the use of RFM model (simple in computation) for evaluating the service consumers, the use of AHP only for evaluating the service providers, and the use of less iterative RBSM algorithm for service mapping. TRCSM framework uses AHP method (which is complex in computation) to evaluate both the service providers as well as consumers. Further, TRSM algorithm used in TRCSM framework for service mapping is more iterative. The controlled overhead of 10 s is considered as a benchmark which is suggested by the SMICloud framework (unidirectional service mapping framework). The scaling range in the controlled overhead of 10 s shows the better efficiency of the proposed MECSM framework (bidirectional service mapping framework) in comparison to the existing TRCSM framework (bidirectional service mapping framework).

8 Conclusion

In this paper, a mutual evaluation-based cloud service mapping (MECSM) framework is presented. This research work is an endeavor to find a valuable service partner for both the service providers and consumers to their satisfaction. The rank-based organization of the service providers and consumers is carried out to complete their mutual mapping for the service transaction. AHP method is applied to rank the service providers in the context of consumers who submit the service requests and the RFM model is used to rank the consumers in the context of the available service providers. The service satisfaction of both the service providers and consumers is evaluated at the end of a service mapping. Sensitivity analysis is performed on the outcome of the service mapping performed through MECSM to prove its stability. The feasibility of the proposed MECSM framework in the selection of online services is established through ranking overhead. Results show that for a ranking overhead of 10 s the proposed MECSM framework scales up to 1800 service providers and 1800 consumers which is quite better than the existing SMICloud and TRCSM frameworks. Since MECSM framework tries to map the service providers and consumers as per their QoS based ranking, thus  they can be self-motivated for performance improvement. In the future, a reputation-based service mapping framework will be developed by considering both the subjective and objective assessment of service providers. A punishment mechanism will also be implemented for identifying malicious service providers and consumers who pretend to provide enhanced QoS.